Avatar 💻

recca0120 技術筆記

Software Developer / 技術筆記

  1. 首頁
  2. 彙整
  3. 分類
  4. 標籤
  5. 搜尋
  6. 關於我
    1. 夜晚模式

紀錄

2026 3
2024 3
2023 11
2022 13
2020 15
更多

分類

Laravel PHP Testing Database DevOps Frontend MacOS Windows

標籤雲

Laravel PHP Testing PHPUnit Blade Guzzle Mockery SQLite Composer Docker Linux Migration MySQL Redis Validation Alpine.js AWS Eloquent JavaScript MacOS
Featured image of post Eloquent Macro:saveQuietly 後手動觸發特定 Event
Laravel

Eloquent Macro:saveQuietly 後手動觸發特定 Event

用 saveQuietly 存資料不觸發任何事件,再透過 Builder macro 定義 fire 方法,選擇性地手動觸發 created 或其他 Eloquent event。

2023 年 1 月 20 日
English
Laravel Eloquent
Featured image of post S3 Storage::exists 拋出 403 UnableToCheckFileExistence 的解法
Laravel DevOps

S3 Storage::exists 拋出 403 UnableToCheckFileExistence 的解法

IAM 缺少 s3:ListBucket 時,S3 對不存在的檔案回傳 403 而非 404,[Flysystem](https://flysystem.thephpleague.com) 因此拋出例外。補上權限後 exists() 即可正常回傳 false。

2023 年 1 月 19 日
English
Laravel Flysystem AWS
Featured image of post 修復 PHPUnit 出現 gRPC thread pool idle 警告的方法
PHP Testing

修復 PHPUnit 出現 gRPC thread pool idle 警告的方法

PHPUnit 測試時不斷出現 gRPC "Waiting for thread pool to idle" 警告,原因是 gRPC 版本過高,降版到 1.49.0 即可消除。

2023 年 1 月 18 日
English
PHP PHPUnit
Featured image of post 在 WSL2 安裝 Docker CE 取代 Docker Desktop
DevOps Windows

在 WSL2 安裝 Docker CE 取代 Docker Desktop

不用 Docker Desktop,直接在 WSL2 安裝 Docker CE 的完整步驟,包含加入 docker 群組免 sudo、啟用 systemd 讓 Docker 開機自動啟動。

2023 年 1 月 15 日
English
Docker WSL2 Linux
Featured image of post Laravel Facade 底層如何透過 Container 取 instance
Laravel PHP

Laravel Facade 底層如何透過 Container 取 instance

Facade 透過 getFacadeAccessor 從 Container 解析 instance 的機制,以及 bind 與 singleton 的差異。

2023 年 1 月 12 日
English
Laravel PHP
Featured image of post PHPUnit 測試含 sleep() 的程式:2 種 mock 解法比較
Testing PHP

PHPUnit 測試含 sleep() 的程式:2 種 mock 解法比較

程式裡有 sleep() 讓每次測試都要多等幾秒,可抽出 Clock class 用 Mockery spy 替換,或用 php-mock 直接 mock 內建函式,無需改動原始碼。

2023 年 1 月 6 日
English
PHP PHPUnit Mockery Testing
Featured image of post 用 Laravel Container bind 解決第三方套件無法自動注入
Laravel PHP

用 Laravel Container bind 解決第三方套件無法自動注入

第三方 class constructor 需要參數時 Container 無法自動 resolve。在 ServiceProvider 用 bind 註冊,即可在任何地方 type-hint 注入。

2023 年 1 月 6 日
English
Laravel PHP Composer
Featured image of post macOS PHP 執行 HTTP 請求噴出 NSCFConstantString 錯誤的解法
MacOS PHP

macOS PHP 執行 HTTP 請求噴出 NSCFConstantString 錯誤的解法

macOS artisan tinker 用 Guzzle 噴 NSCFConstantString 錯誤,設環境變數關閉 fork safety 即可解決。

2022 年 12 月 26 日
English
PHP Guzzle
Featured image of post 用 PSR-7 message 格式讓 Python requests 結果無縫傳給 PHP
PHP

用 PSR-7 message 格式讓 Python requests 結果無縫傳給 PHP

Python 爬蟲、PHP 後續處理的跨語言架構:讓 Python 輸出 PSR-7 message 字串,PHP 用 parseResponse 解析,免手動拆 header 和 body。

2022 年 12 月 26 日
English
PHP PSR-7 Guzzle Symfony
Featured image of post 用 PDO::exec 載入 Schema 讓 Laravel 測試快 7 倍
Laravel Testing

用 PDO::exec 載入 Schema 讓 Laravel 測試快 7 倍

透過 PDO::exec 把 schema dump 直接載入 SQLite in-memory database,跳過逐一跑 migration 的瓶頸,實測從 2 分 21 秒降到 18 秒。

2022 年 12 月 19 日
English
Laravel SQLite Testing Migration
1 2 3 4 5
© 2020 - 2026 recca0120 技術筆記
recca0120 on GitHub
使用 Hugo 建立
主題 Stack 由 Jimmy 設計