第 152 期 - 要打!去練舞室打!
本週專欄
用 JavaScript 玩轉設計模式 | 如果你用了 Tree 結構,就不能錯過 Composite Pattern(組合模式)
Hi!大家好,我是神 Q 超人!這次要介紹的設計模式是 Composite Pattern(組合模式),當你的需求要求你將資料組成一個類似 tree 的結構時,即使你或是 tree 中的任一個節點都不理解自己以下的結構到底長什麼樣子,也還是能直接透過 tree 的 root 來操作或取得整體的行為或資料。
前端開發
How to write maintainable JavaScript code in 2023 — Web or Node.js
作者提出幾個他認為寫出可維護的 JavaScript 的幾個要素,以下列出其中幾個:
- 善用 TypeScript 帶來的各種好處
- 好好學習 JavaScript 和使用的 Framework
- 定義好撰寫的程式碼風格
- 撰寫單元測試或 E2E 測試
雖然有些要素看似比較沒那麼重要,但是我也認為在學習一樣新的語言、工具或是 Framework 的話,好好的閱讀文件是絕對需要的!
Hacking JWT
JSON Web Tokens 經常用於前端對後端的 API 請求中確認權限,而作者會使用 jwt_tool 來進行各種 JWT 的攻擊,在文章裡會介紹以下幾種攻擊方式:
- None Algorithm
- Weak Secret
- Key Confusion
- Kid Parameter Injection
- JKU Parameter Injection
HOW HTTPS WORKS
超級無敵宇宙霹靂可愛,如果你在上班閱讀被主管看到還可以說你是在學習 https 的相關知識!這篇網站用漫畫的方式一格一格解釋為什麼需要 https 以及它能夠做什麼!閱讀起來完全沒有負擔,如果你已經受不了看那一堆非常 hardcode 的介紹文章,那絕對不能錯過這個!
Rust
Rust and Neovim - A Thorough Guide and Walkthrough
雖然 Vim 已經是很古老的編輯器,但因為他的 plugin 非常多,而且又可以跟終端機很好的整合,所以還是有很多人在用。而這邊有一篇詳細的教學,教你怎麼把 Neovim + Rust 的開發環境設定好,讓你可以在 Vim 中舒服的寫 Rust~
6 Recommendations to Improve Your Rust Code
這篇是給 Rust 新手的一些 tips 跟建議,可以讓你寫出更好更漂亮的程式碼,文章不長,但內容很實用~
試用 Load testing 工具 - Drill
因為 Rust 的速度很快,又可以編譯成單一 binary 檔,所以很適合用來寫 CLI 工具,像 Drill 這個 load testing 工具就是用 Rust 寫的,特性是使用起來非常簡單,有流量測試需求的話不妨試試看~
OpenSource
workerd
workers 是 CloudFlare 所推出的 serverless runtime 解決方案,當初看到時覺得 CDN 這樣算不算撈過界了XD 而官方在最近宣布將其開源了,所以大家可以在自己的環境中使用 workderd 來架設 serverless 服務,不過現在還在 beta 階段,所以還是要小心使用!
whisper
Whisper 是最近由 OpenAI 所發表的自動語音辨識(ASR)系統,他透過大量的語音資料所訓練而來,而且他的模型也是開源的,所以大家可以自己來訓練一個模型,或是直接使用他來做一些有趣的事情,例如我就看到馬上有人利用他來將 youtube 影片變成文字版!
mixctl
mixctl 是一個使用 golang 所開發的小巧 TCP Load Balancer,他主要是希望可以幫助使用者將架設於不同地方的多個服務透過單一個 TCP Tunnel 給串接起來,使用起來滿簡單的,只需要透過 yaml 格式將 routing 設定好,然後就可以透過 mixctl 來啟動這個 TCP Tunnel 了,感覺是本地端開發的好幫手!
Hacker News
120: Burned Out Tech CEO → Warehouse Associate
有著傑出的 23 年經驗的 CEO Philip Su 他對技術感到筋疲力盡(Burned out)了,取而代之的是一個不這麼理想的工作,一個 Amazon 的零售工作。
Codebase as Database: Turning the IDE Inside Out with Datalog | Pete’s Blog
作者製作了一個 Datalog 的 IDE,Datalog 是一種大型資料庫的規範,正如 SQL 一樣。這個 IDE 能夠簡化 Datalog 的語法。
hckr news - Hacker News sorted by time
hckr news 是一個可以讓你依照時間排序瀏覽 Hacker News 的網站。介面滿舒服的,可以快速看到每天有哪些新的文章。
StarBugs Weekly
StarBugs Weekly 由一群不寫文章就會想要亂花錢,但是又沒有那麼多錢,只好繼續寫文章的開發者所創立。
內容包含 Web 前端、中端、後端、DevOps、產品開發、精實創業,一切跟產品有關的知識,都是我們的守備範圍!
不想漏追科技新聞的人,趕緊把 StarBugs Telegram Bot 訂閱起來 https://t.me/starbugs_weekly_bot (對機器人說 /subscribe 即可)
另外,為了讓 Starbugs 的專欄有更多豐富、優質的內容,我們決定要開始誠徵 Writer 了。如果你本來就有在寫文章,對於文章的品質有要求、而且也樂於分享討論技術,那很歡迎你以 Writer 的身份加入我們。請動動手指頭私訊我們粉專 星巴哥技術週刊,並附上自我介紹跟最近寫的文章,就有機會加入我們唷 🙌
Writers:
- @HannahLin - 從台灣到矽谷,熱愛前端的工程師女孩。
- @KyleMo - 雜食性軟體工程師,喜歡的技術我都想學。
- @Airwaves - Hi~我是 Airwaves,熱愛研究如何造輪子的前端工程師。
- @Andy - 目標成為用嘴巴工作的工程師,專長為網頁開發以及 K8s。
- @lazypro - 從 embedded 到 kernel,從 device 上雲端,程式無涯、無法靠岸,軟體的求道者。
- @ianchen0119 - 5G 領域研究生,同時也是喜歡學習不同領域技術的工程師。
- @00-talk - 我是 00,脖子痠痛的前端生命鬥士。
Maintainers:
- @GQSM - Hi!我是神 Q 超人,一個先衝再說的男人。
- @LarryLu - 我是 Larry,傳說中的 0.1 倍工程師!
- @LukaTW - 一名全身都是死角的工程師。
- @smalltown - 熱愛鑽研各種可以提升雲端服務品質及增進團隊開發效率的開源技術。
- @RicoChen - 熱愛許多技術且努力看透技術的本質,如果有什麼好玩的技術,還請各位歡迎直接找我聊聊。
Feedback
本週呈現主題方式做了一些改變,希望讓讀者能夠更快速精準的找到自己要的資訊。也加入社群活動這個區塊,每週更新社群活動的資訊。如果有任何建議,歡迎私訊 星巴哥技術週刊 FB 粉絲專頁 與我們聯繫。