第 148 期 - 月圓人團圓,烤完臉更圓
本週專欄
在 React Native 中以指定父元素絕對定位子元素,打破 View 的 Position 限制
Hi!大家好,我是神Q超人!最近因為工作的關係,又重回 React Native 的懷抱 😂,雖然 React Native 主打可以用貼近開發 Web 的語法去寫手機 APP,但其實真正開發起來面臨到的坑還是挺多的。這篇文章要分享的絕對定位就是在 React Native 內排版時,遇到的狀況,感覺網路上資源不多,就寫下文章來記錄一下處理的過程囉!
前端開發
How to Lazy Load Images in React
優化靜態資源的載入是提高網站效能最好的方式之一,只要處理好這部分的優化,能夠在第一時間快速載入頁面、增強使用者體驗、對 SEO 也有幫助!在文章裡會以 unsplash 網站的圖片 lazy load 為例子,實現與它類似的效果。
Micro Frontends
最近 Micro Frontends 出現的頻率越來越高了,如果你只是想要先大略知道 Micro Frontends 能夠帶給團隊開發上什麼幫助,或是架構會對專案的影響等等,可以先看這篇文章了解,如果要實作的話可以再參考 Andy 寫的 後端有 Microservices,那前端呢?初探 Micro Frontends 的世界!
16+ JavaScript snippets to save your time
作者整理了 16 種以上的程式碼片段,用來處理一些實務上常見的非常小的需求,好奇的話也可以看看作者如何用簡單的寫法來實現需求,也有些寫法也可以再透過修改,變成新的功能喲!畢竟每則程式碼片段都是最簡短的實現。
軟體工程
為了讓世界更好,你應該優先選擇 tab 而不是 space 做程式碼縮排
好久沒有看到這麼有趣又精闢的文章了!雖然現在大部分的程式碼都是用 space 進行縮排,但其實這樣對於有視覺障礙的工程師是非常不友善的,如果我們可以透過像 prettier 的自動排版工具以及稍微改變自己的習慣,就能讓世界變得更好,那何樂而不為呢?
《A Philosophy of Software Design》心得 I — 寫出複雜度低的軟體
當一個專案隨著開發時間越久,程式碼變得越來越多、當中的業務邏輯也會逐漸變得複雜,而且技術債累積久了之後甚至會到難以修改的程度。既然如此,那要怎麼在一開始設計時就避免這種情況呢?這篇讀書心得簡單介紹了 《A Philosophy of Software Design》一書中的一些觀念,也提供了一些實際的範例~
Dependency Inversion vs. Dependency Injection
在軟體工程裡面很常聽到 Dependency Inversion 跟 Dependency Injection,雖然他們的縮寫都是 DI,但其實有一點不一樣,這篇短短的文章就簡單介紹了這兩個概念,並且提供了一些範例~
Coding
Top 10 Celebrities Who Code
一開始看到標題覺得好新鮮,仔細看內文才知道原來是個英文諧音笑話梗XD 這篇文章介紹了美國十個最有名而且他們的職涯當中也曾經擔任過開發工程師的名人 (惡搞)
- Mr. JavaBean (Java developer)
- Brad Git (GitOps expert)
- Nathalie Postman (Backend developer)
- Matt Daemon (OS programmer)
- Kanye Jest (Unit tester)
- Taylor Swift (iOS developer)
- Json Mraz (Fullstack developer)
- Vim Diesel (Unix developer)
- Jay-C (C developer)
- Miley Cypress (E2E tester)
9 No-Code Tools You should definitely try in 2022 🔥💯
No-Code 這一兩年來很常被提起,通常被提到的還有 Low-Code,他們兩者分別指 「不需寫任何程式碼」情況下就可以開發應用程式,以及「少量的程式碼」就可以做到程式開發,讓不是專業的軟體工程師也可以開發出應用程式。這篇文章介紹了 9 個 No-Code 工具,讓你可以在不寫程式碼的情況下開發出應用程式。
- Google AppSheet
- Zapier
- Webflow
- Thunkable
- Bravo Studio
- ToolJet
- Knack
- Bubble
- Miro
15 Best Data Structure, Algorithms, and Programming Courses to Crack Coding Interviews in 2022
即將進入年底的換職潮啦!這篇文章條列了 15 個資料結構、演算法和程式設計課程,讓你可以在 2022 年年底前準備好面試~
- Data Structure and Algorithms Analysis — Job Interview
- Grokking the System Design Interview
- Software Engineer Interview Unleashed
- Grokking the Coding Interview: Patterns for Coding Questions
- Master the Coding Interview: Data Structures + Algorithms
- The Coding Interview Bootcamp: Algorithms + Data Structures
- Break Away: Programming And Coding Interviews
- Intro To Dynamic Programming — Coding Interview Preparation
- Python for Data Structures, Algorithms, and Interviews!
- 11 Essential Coding Interview Questions + Coding Exercises!
- 200+ SQL Interview Questions
- Algorithms and Data Structures — Part 1
- 200+ Java Interview Questions for Beginners
- Grokking Dynamic Programming Patterns for Coding Interviews
- 50 coding problems
DevOps
How to Handle Kubernetes Health Checks
DoorDash 在黑色星期五因為 readiness health check 而導致服務不正常,他們一開始從 metrics 和 tracing 做調查但因 health check request 導致呈現的資訊很雜,最後不得已才去 log 抓出問題。因用 Spring Boot Framework 預設的 health check,而預設它會一次檢查很多地方,其中一個就是 Redis 且剛好檢查的 path 已經是 legacy 的狀態了,所以服務延遲增加導致危機。最後他們有探討應該深度了解 health check 的行為,以及觀測服務應該要消除 health check 雜訊。
Kubernetes Removals and Major Changes In 1.25
Kubernetes 1.25 重要的變動有 PodSecurityPolicy 正式被移除因為使用體驗容易讓人困惑,其功能將被 Pod Security Asmission 取代;In-tree CSI (意思是指和 Kuberentes 專案寫在一起的 CSI 功能)將拆出來交給其他專門做儲存廠商的專案;IPTables 裡這些 KUBE-MARK-DROP
、KUBE-MARK-MASQ
和 KUBE-POSTROUTING
chains 照理上來說只限於給 Kubernetes 使用才對,但是卻有些工具卻會依賴這些 chains 的行為,所以現在要漸漸改成這些 chains 只給 Kubernetes 內部情境使用。
Kubernetes 1.25: cgroup v2 graduates to GA
Kubernetes 1.25 版本的 cgroup v2 邁向 GA(general availability),新版本有更好的資源配置外,升級也十分輕鬆,只要 worker node 的作業系統 cgroup v2 是預設的、以及 container runtime 也有支援以及 kubelet 和 container runtime 設定使用 cgroup driver 就可以無痛升級了(強烈建議 cgroup driver 使用 systemd 來運行)。另外升級完畢後也務必更新監控或開發語言的版本以便支援 cgroup v2。
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 粉絲專頁 與我們聯繫。