剛剛在整理筆記的時候,發現兩年半前還在前公司就應該要發的文章一直躺在筆記裡面,快點整理一下 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
同時也有9部Youtube影片,追蹤數超過0的網紅7Car小七車觀點,也在其Youtube影片中提到,Porsche 今日 7/20 推出二度小改款 Macan 車系,台灣保時捷同步公布國內編成與建議售價分別是 Macan (新台幣 284 萬元起)、Macan S (新台幣 348 萬元起) 及 Macan GTS (新台幣 461 萬元起)。 #Porsche #Macan #二度小改款 外...
「python %f」的推薦目錄:
- 關於python %f 在 Kewang 的資訊進化論 Facebook 的最佳貼文
- 關於python %f 在 超知識 Facebook 的最讚貼文
- 關於python %f 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
- 關於python %f 在 7Car小七車觀點 Youtube 的最佳貼文
- 關於python %f 在 prasertcbs Youtube 的精選貼文
- 關於python %f 在 Lâm Python Youtube 的最讚貼文
- 關於python %f 在 Python- %s %f %d % etc - Stack Overflow 的評價
- 關於python %f 在 String Formatting in Python - YouTube 的評價
- 關於python %f 在 f-string debugging in Python 3.8 - xtreak blog 的評價
- 關於python %f 在 String Formatting in Python.ipynb - Colaboratory 的評價
- 關於python %f 在 Python 3.7 - f-strings do not work as expected · Issue #1131 的評價
python %f 在 超知識 Facebook 的最讚貼文
今年暑假滿班爆炸的「大學生必備python 六堂課」是超知識團隊的第一套課程
經過六個月的規劃與整理
景超陸續整理這段期間很多粉絲與學生的需求後
有了以下的新課程規劃
希望大家幫忙景超
針對下列的規劃課程
預選你最想上的項目 (可多選
A. 零基礎ok! 全新python 6堂特訓班 (保證考取微軟證照)
B. 舊生回娘家!python 3堂特訓班 (針對已上過暑假課程的微軟證照特訓)
C. Ai技能必備6堂課 (影像、圖文辨識)
D. Python 大數據專攻班 (搭配大數據暢銷經典「真確」書籍導讀)
E. Power Bi 資料分析圖像化專攻 (搭配商務、工程實務案例)
F. 零基礎ok!網路爬蟲專家特訓課程 (收集網站大數據資料整合技能)
G. 景超精靈歌唱秀 (預計...在小巨蛋舉辦)
請大家幫忙辛苦規劃課程的景超精靈和超知識團隊
選擇你最想上的課程 在下方留言 (可多選
只要有留言的朋友們
景超一定會給大家最優惠的早鳥專案哦!
python %f 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
👨🏫 ในรูปได้ยกตัวอย่าง ช่องโหว่ของการเขียนโปรแกรม
ที่เปิดโอกาสให้ผู้ประสงค์ร้ายสามารถโจมตีด้วยวิธี
Command Injection
.
ช่องโหว่นี้เกิดจากในหลายๆ ภาษาโปรแกรมมิ่ง
ได้อนุญาติให้เรียกคำสั่งของระบบปฏิบัติการได้โดยตรง
ซึ่งสุ่มเสี่ยงให้ผู้โจมตีฉวยโอกาสนี้ฉีดคำสั่งเข้าไปในโค้ด
ด้วยการต่อท้ายด้วยข้อความ &&
จึงทำให้แทรกคำสั่งอันตรายเข้าไปได้ เช่น
:
del /F * บน window
หรือ rm -rf * บน linux
:
ในรูปได้ยกตัวอย่างโค้ดภาษา Java
ซึ่งทำงานบน Window
จะเห็นว่าสามารถใช้ && แล้วต่อท้ายด้วยคำสั่งอะไรก็ได้
เช่น && tasklist && dir เป็นต้น
.
แล้วถ้าโปรแกรมมันรันใน linux/Unix
ก็สามารถต่อคำสั่งเป็นลูกโซ่ด้วยข้อความ && หรือ ; ก็ได้
:
และไม่ใช่ Java ภาษาเดียว ที่มีช่องโหว่ประเภทนี้
มันเกิดได้หลายภาษา
ที่อนุญาติให้เรียกคำสั่งของระบบปฏิการโดยตรง
เช่น C#, Python, PHP และหลายๆ ภาษาที่ไม่ได้เอ่ยถึง
:
++++วิธีป้องกัน+++
🤔 ต้อง validate ข้อมูล input อย่างเข้มงวด เช่น
- กรอง input ที่เข้ามา กำหนดว่ามีอะไรได้บ้าง?
- input ที่เข้ามา ห้ามเป็นคำสั่งของระบบปฏิบัติการเด็ดขาด
- ห้ามมี && และ ; อยู่ใน input ที่เข้ามา
- เป็นต้น
.
😏 หรือจะเลี่ยงวิธีเขียนเรียกคำสั่งของระบบปฏิบัติการโดยตรง ไม่ต้องใช้ก็ย่อมได้
++++
เขียนโดย โปรแกรมเมอร์ไทย thai programmer
.
ดูตัวอย่างเพิ่มเติม
https://www.owasp.org/index.php/Command_Injection
👨 🏫 In the photo, for example, the loophole of programming.
Open doors for the evil wills to attack by the way.
Command Injection
.
This loophole is born in many programming languages.
Permission to call direct order of operating system
Who randomly risked this opportunity attacker to inject an order into code.
By ending with a text &&
It's so dangerous to insert like
:
del / F F on window
or rm-rf rf on linux
:
In the picture, for example, Java language code.
Which works on Window
Will see that I can use && and then end up with any order.
Like && tasklist && dir etc.
.
And if the program runs in linux / Unix
Can continue with chain order with text && or; either.
:
And not Java the only language has this type of loophole
It can be born in many languages.
Allowing to call direct command of the operational system.
Like C #, Python, PHP and many languages that are not mentioned.
:
++++ How to prevent +++
🤔 Must strictly validate input information like
- Input filter that comes to determine what's available?
- Input that comes to prohibit is an order of an operating system.
- Don't have && and; stay input that comes.
- etc.
.
😏 or avoid the way to write, call direct command of an operating system. No need to use it.
++++
Written by Thai programmer thai coder
.
See more previews
https://www.owasp.org/index.php/Command_InjectionTranslated
python %f 在 7Car小七車觀點 Youtube 的最佳貼文
Porsche 今日 7/20 推出二度小改款 Macan 車系,台灣保時捷同步公布國內編成與建議售價分別是 Macan (新台幣 284 萬元起)、Macan S (新台幣 348 萬元起) 及 Macan GTS (新台幣 461 萬元起)。
#Porsche
#Macan
#二度小改款
外觀方面,二度小改款 Macan 換上重新設計的車頭造型,透過黑色與車身同色飾板營造更寬闊的視覺效果,Macan GTS 將前氣壩施以全黑處理,而車側在前後門下方配置刀刃造型飾板,Macan 搭配 19 吋胎圈組,Macan S 為 20 吋,Macan GTS 則為 21 吋,車尾換上重新設計的保險桿下擾流造型,保時捷動態照明系統 (PDLS) 及 Sport Design 車外後視鏡也在配備之列。車色部分,二度小改款 Macan 提供包括金屬木瓜橘 (Papaya Metallic) 及金屬龍膽藍 (Gentian Blue Metallic) 在內的 14 款車色,Macan GTS 可搭配 GTS 運動套件及 蟒蛇綠 (Python Green)。
延伸閱讀:https://www.7car.tw/articles/read/75613
更多車訊都在【小七車觀點】:https://www.7car.tw/
【七哥試駕都在這邊】:https://reurl.cc/O1xnWr
--------------------------------------
「小七哥」親自實測嚴選的商品都在【七車坊】
https://shop.7car.tw/
台灣商用車專屬網站【商車王】
https://www.truck.tw/
記得訂閱追蹤YouTube唷 》》》
7Car →https://reurl.cc/pdQL7d
7Car新聞頻道 →https://reurl.cc/MvnRrm
台灣車文庫 →https://reurl.cc/ar61QQ
python %f 在 prasertcbs Youtube 的精選貼文
มาดูหลากหลายเทคนิคในการเขียนโปรแกรมแสดงค่า googol (1 ตามด้วยเลข 0 อีก 100 ตัว) ไม่ว่าจะเป็น
00:51 การใช้ตัวดำเนินการ (operator) * เพื่อทำซ้ำตัวสตริงที่กำหนดตามจำนวนครั้งที่ต้องการ
01:57 การใช้ string.format
02:40 การใช้ f-string สำหรับไพธอน 3.6 ขึ้นไป
05:18 การเขียนฟังก์ชันสำหรับทำซ้ำตัวสตริงตามจำนวนครั้งที่ต้องการ ด้วย for loop
ดาวน์โหลดโค้ดได้ที่ ► http://bit.ly/2mw8vEH
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
playlist สอนภาษา Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
playlist สอนภาษาไพธอน Python OOP ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEIZzlTKPUiOqkewkWmwadW
playlist สอน Python 3 GUI ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFB1Y3cCmb9aPD5xRB1T11y
playlist สอนภาษา C เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GHHgz0S1tSyIl7vkG0y105z
playlist สอนภาษา C++ ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEfZwqM2KyCBcPTVsc6cU_i
playlist สอนภาษา C# ► https://www.youtube.com/playlist?list=PLoTScYm9O0GE4trr-XPozJRwaY7V9hx8K
playlist สอนภาษา Java ► https://www.youtube.com/playlist?list=PLoTScYm9O0GF26yW0zVc2rzjkygafsILN
playlist สอนภาษา PHP เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH_6LARFxozL_viEsXV2wgO
playlist สอนภาษา R เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GF6qjrRuZFSHdnBXD2KVICp
python %f 在 Lâm Python Youtube 的最讚貼文
Đây là chuyến bay về nhà đáng nhớ của mình.
Facebook Page: https://www.facebook.com/lampython
Group: https://www.facebook.com/groups/176605879712116
Instagram: lampython
python %f 在 f-string debugging in Python 3.8 - xtreak blog 的推薦與評價
f -string debugging in Python 3.8. May 8, 2019. print style debugging is a form of debugging where print statements are inserted to print values of ... ... <看更多>
python %f 在 Python- %s %f %d % etc - Stack Overflow 的推薦與評價
... <看更多>