發表文章

目前顯示的是 12月, 2019的文章

[Laravel] 如何自己做套件

圖片
剛好最近公司內部有提需求,希望我自己可以把一些功能包成套件 這樣後面的人需要的話,就可以直接掛在 vendors 底下 就不需要重工了! 有鑑於此,我去看了一下 官方文件 ,好像沒有寫得很清楚 如果有人看到官方哪邊有提供,可以在底下回覆我,我會非常感謝QQ 於是乎,我跟著別人寫好的文章 1. 可以先產一個 laravel 的專案,或是用原有的專案都行,目的只是可以用指令產一些需要的檔案,比較方便 composer composer create-project laravel/laravel TestPackage 2. 在這個專案內新增一個 packages 的目錄,存放要做的套件,我這裡用 neil/text2address 當範例,先建立目錄之後,執行 composer init,初始化套件 mkdir -p packages/neil/text2address && composer init composer 範例可能會像下面 { "name": "neil/text2address", "description": "Translate text to address component of google", "license": "MIT", "authors": [ { "name": "Neil", "email": "neil@test.com" } ], "minimum-stability": "dev", "require": { "php": "^7.1", "illuminate/support": "~5.4|~6.0" }, "autoload

[wrk] 壓力測試工具 - wrk

Ref:  https://github.com/wg/wrk 基本的指令就不太多闡述,github裡面有 主要是需要在 wrk 送出時新增 header, 可以透過 -s 去呼叫自己寫的 .lua 腳本 現在有個情境,驗證時需要將其他變數md5並放入 header 中,該怎麼做? 範例: -- 這行必須設定,因為 md5.lua 會放在同層目錄,方便引入 package.path = '/Users/neil/Desktop/all_projects/project/wrk/?.lua' -- 引入同層的 md5.lua md5 = require 'md5' a = "a" b = "b" -- 取得系統時間 time = os.time() -- 做 md5, 字串串接是使用 .. checksum = md5.sumhexa(a .. b .. time) wrk.method = "POST" wrk.headers["time"] = time wrk.headers["checksum"] = checksum wrk.headers["a"] = a wrk.headers["b"] = b wrk.headers["Content-Type"] = "application/json" -- 以下是將 response 寫入到檔案中 -- file = io.open('/Users/neil/Desktop/all_projects/project/test.log', 'a') -- io.output(file) -- response = function(status, header, body) -- -- io.write("status:" .. status .. "\n"); -- io.write(body .. "\n"); -- end -- done = function(summa

[Mac] 使用 wrk 時,出現 Too many open files

Ref:  https://superuser.com/questions/433746/is-there-a-fix-for-the-too-many-open-files-in-system-error-on-os-x-10-7-1 可以使用 sysctl -w kern.maxfiles=60000 sysctl -w kern.maxfilesperproc=60000 來增加可開啟檔案的上限, 如果是一般 linux 的話,可以使用 ulimit -HSn 60000