剛剛在整理筆記的時候,發現兩年半前還在前公司就應該要發的文章一直躺在筆記裡面,快點整理一下 po 出來。
---
這是第三篇關於 log 的文章,應該也是最後一篇了,這次來聊聊如何讓開發者用 log 了解自己發出的 API 流程是否正確及如何提升效率。
強者小編同事用 python 寫的 log 整理工具,其實就是把 AP 吐出來的一堆多行 debug log,轉成只有 header、url、執行時間的單行 log。所以其實可以把產生出的 API log 再用其他 Linux 指令,即時顯示給開發者看。
---
這麼做的好處不少,對 frontend 來說,可以避免下列問題發生:
1. API 誤用:A 畫面應該是要串 a API,可是卻串到了 b API,又或是串成了 a' API。串成 b 是有點誇張啦,但最近 review 後發現 a' API 倒是比較常出現,像是參數帶錯之類的。
2. 誤解 API 流程:流程應該是串 abc,可是卻串成了 acb。有時候這不是什麼大問題,但在注重流程的 App 上這就很嚴重了。
3. API 狂發:流程應該是串 abc,但卻變成了 abbbcc。這個問題在使用上比較難發現,因為會有這類問題的大都是 GET API,依 RESTful GET API 的 idempotent 特性,無論執行多少次 GET,結果都會是一樣,所以也就更難發現問題了。
---
對 backend 來說的好處也不少:
1. 了解 cache 設計方向:像是剛剛的第 3 點問題,在 frontend 還沒更版前,backend 可以先加上 Cache-Control 機制,把大量的無效 request 從資料庫轉移到 Cache 裡面,當然 frontend 本來就要有這機制才行。
2. 了解每支 API 的效率:開發 API 沒幾個重點,就是流程正確、執行速度快,其中執行速度也是最難處理的一塊。所以了解 API 的處理速度,才有辦法做最佳化。
用這套工具就可以把上面提到的幾個重點一一檢視,也發了十幾個 issue 給 frontend 及 backend,算是 CP 值很高的一個開發。
---
至於技術細節,其實也就下面兩個重點而已:
1. 用 SocketIO 建置一套 WebSocket Server,然後放兩個輸入框,表示要訂閱 (subscribe) 的 log 來源及要監視的 user id
2. 用 tail -f 將 log 即時 pipe 到強者同事寫的 log 整理工具,再用 awk 把需要的欄位輸出,最後將輸出的欄位發送到 WebSocket Server
這個即時顯示 log 的網頁從發想到完成,工時應該只有兩三個小時吧,但發揮的效用可說是非常的大,今天就靠這個網頁開了十幾張單,算是最近小編蠻能說嘴的一項工作了吧 XDDD
* https://www.facebook.com/kewang.information/posts/2058766574399706
* https://www.facebook.com/kewang.information/posts/2085843121692051
#socketio #websocket #log
同時也有1部Youtube影片,追蹤數超過61萬的網紅{{越煮越好}}Very Good,也在其Youtube影片中提到,⬇️⬇️English recipe follows⬇️⬇️ 姬松茸淮山雞湯: 材料: 姬松茸30克 冰鮮雞1隻 鮮淮山1支 杞子1兩 茨實1兩 無花果4粒 處理: 1. 姬松茸,用40度暖水,沖洗1次。 2. 清水沖洗乾淨。 3. 姬松茸,再用40度暖水再浸,保留碗中水分。 4. 無花果,清水...
tail -f log 在 純靠北工程師 Facebook 的精選貼文
#純靠北工程師2ly
A:您好 現在我們網頁系統卡加載中 可以協助查看嗎
Me:好的 稍等
(Ping xxx.Xxx. com
Psping xxx.xxx.com
tail - f /... /...log)
A:這邊又好囉
Me:(?????) 好的
-----第2次
A:您好 現在我們網頁系統又再卡加載 可以協助查看嗎
Me:好的
(請rd協助,測試系統正常,ping...,服務重啟...)
Me:再試一次
A:還是一樣
Me:好的 我們再看看
(10min)
A:這邊正常囉
Me:(??????)
Me:好的...
----第三次
A:這邊卡...
Me:好的 這邊幫您轉接中華電信
👉 去 GitHub 給我們🌟用行動支持純靠北工程師 https://github.com/init-engineer/init.engineer
📢 匿名發文請至 https://kaobei.engineer/cards/create
🥙 全平台留言 https://kaobei.engineer/cards/show/3382
tail -f log 在 {{越煮越好}}Very Good Youtube 的最讚貼文
⬇️⬇️English recipe follows⬇️⬇️
姬松茸淮山雞湯:
材料:
姬松茸30克
冰鮮雞1隻
鮮淮山1支
杞子1兩
茨實1兩
無花果4粒
處理:
1. 姬松茸,用40度暖水,沖洗1次。
2. 清水沖洗乾淨。
3. 姬松茸,再用40度暖水再浸,保留碗中水分。
4. 無花果,清水浸。
5. 茨實,清水浸約15~20分鐘。
6. 冰鮮雞:
a. 切去頸及尾部不要。
b. 斬出雞腳
c. 從胸骨打直切一刀,除去雞肺及肥膏。
d. 撕去雞皮。
e. 用粗鹽1湯匙,乸一乸雞殼,去除雪味及腥味。
f. 清水沖洗乾淨。
g. 雞腳切去趾甲。
h. 大火煲滾1煲水,放雞落煲出一出水,20秒後取出,清水沖洗乾淨,擎乾水。
烹調:
1. 放雞入煲。
2. 無花果,清水沖洗乾淨,剪開,放人煲。
3. 茨實,清水沖洗乾淨,放入煲。
4. 姬松茸,連同碗中水分,放入煲內。
5. 加入水4升。
6. 大火滾滾。
7. 轉慢火,煲1小時30分鐘。
8. 杞子,清水浸10分鐘。
9. 鮮淮山,清水沖洗乾淨,戴上手套,刮去皮。
10. 杞子,清水沖洗乾淨。
11. 鮮淮山,斜刀切條。
12. 加入鮮淮山及杞子落煲。
13. 再煲10分鐘,熄火,焗30分鐘。
14. 完成,可享用。
Fresh yam chicken broth with argaricus blazel:
Ingredients:
Argaricus blazel 30g
Frozen chicken 1 No.
Fresh yam 1 log
Wolfberrries 1 tael
Gorgon fruit 1 tael
Dried figs 4 Nos.
Preparation:
1. Argaricus blazel, rinse with 40 C water once.
2. Rinse with tap water.
3. Argaricus blazel, rinse with 40 C again, retain the water in bowl.
4. Dried figs, soak in tap water.
5. Gorgon fruit, soak in tap water for 15~20 minutes.
6. The chicken:
a. Cut off its neck and tail.
b. Cut off both feet.
c. Divide the chicken alongside the breast bone into 2 shares. Remove its lung and fat.
d. Remove its skin.
e. Season the chicken with cooking salt 1 tbsp removing the unpleasant smells and taste.
f. Rinse thoroughly.
g. Cut its nails.
h. Heat up a pot of water at high flame. Put chicken into pot. Take it out after 20 seconds. Rinse thoroughly and hang dry.
Steps:
1. Put chicken into pot.
2. Dried figs, rinse with tap water. Cut into small pieces with a pair of scissors. Put into pot.
3. Gorgon fruit, rinse and put into pot.
4. Argaricus blazel, together with the water in bowl, put into pot.
5. Add water 4L.
6. Boil up at high flame.
7. Boil for 1.5 hours at low flame.
8. Wolfberries, soak in tap water for 10 minutes.
9. Fresh yam, rinse with tap water Wearing a pair of gloves and get it peeled.
10. Wolfberries, rinse with tap water.
11. Fresh yam, slantly cut into pieces.
12. Add fresh tam and wolfberries into pot.
13. Boil for 10 more minutes. Turn off fire. Leave it for 30 minutes.
14. Complete. Serve.
?湯水/老火湯?
(系列)播放清單?
https://www.youtube.com/playlist?list=PLkU_SdeTtB_TYB-XcaVDXmGNO0Xe6-1F6
Chicken Soup with Agaricus Blazei Mushrooms??Helps in a Wide Range of Disease Conditions✅
Chicken Soup with Agaricus Blazei Mushrooms??Helps in a Wide Range of Disease Conditions✅