本文以創用 CC 姓名標示-非商業性-相同方式分享 4.0 國際授權釋出
讀者您好
在開源專案開發的旅途中,保持工作和生活的平衡非常重要。為了避免奔耗,開發者應該要定期反思開發動機,識別壓力源,並尋找社群支援。Maintaining Balance for Open Source Maintainers 訪問了幾十位開發者,請他們提供如何在工作中維持平衡、保持節奏以及能量的建議。即使不是開源專案的維護者,也可以從中獲得有用的資訊。
👽開源專案
🔹System Design 101
ByteByteGo 擅長以精美的圖案和易懂的文字,介紹軟體設計和系統開發的知識。如今將他們的系統設計教材 System Design 101 開源,內容包含架構設計、測試部署、模式架構以及實際案例等等,題材豐富適合學習精進。
🔹Patat
Patat 是一個藉由 pandoc 來解析的文字模式簡報工具。支援 pandoc 可以解析的純文字簡報,具有程式碼著色顯示以及自動重新載入功能。支援講者小抄、過場效果等特色,適合著重文字呈現的簡報。
🔹Localpilot
Localpilot 是一個簡單的應用程式,讓使用者可以利用常駐在系統的本地伺服器,自由地選擇不同的 LLM 模型幫助程式撰寫,過程中無需上網與遠端服務連線。
🆕科技見聞
🔸「無用」的價值
成為一個軟體工程師後,整天忙於打造有用的軟體,試著為世界解決真正的問題。然而本文作者認為,每天做這些「有用」的事情會澆熄源於新奇科技的熱情。
許多人會進入科技產業,不外乎是被新奇的科技吸引。為了維持熱情,作者認為應該擺脫打造有用東西的義務,以玩樂有趣的方式撰寫軟體。在玩樂中盡情探索,一旦失去了熱情可以隨時喊停而不需感到愧疚。
荷蘭歷史學家 Johan Huizinga 認為遊戲在人類文化中非常重要,人類文化活動藉由遊戲而建立。盡情地創造更多「無用」的軟體,軟體工程師就能夠擺脫日常生活的束縛,自由地探索、學習和享受程式設計的樂趣。
🔸開發新進化,打破協作僵局
一種 Meta 以及 Google 內部使用的開發方式,正逐漸解放多人協作以及複雜開發任務的瓶頸。這個新興的開發方式被稱為 Stacked Diffs,有別於傳統以分支為核心的開發模式,而是以 commit(Diff)為 Code Review 的基本單位。
過往以分支為 Code Review 的開發方法,常面臨內容過於龐大或不同功能間的依賴問題。改用 Stacked Diffs 開發策略之後,開發者必須將大的改動拆小,不僅錯誤更少,也更容易整合於系統之中。
雖然 Stacked Diffs 已經在開源社群以及一些先進的團隊中得到採用,目前的工具以及開發平台尚未完全支援,仍須靠著第三方工具與現有開發平台整合,才能發揮 Stacked Diffs 強大的威力。
以上就是本期的內容,喜歡的話請給❤️,分享或轉寄本電子報給有興趣的朋友。如果您有想要介紹的開源專案,也請來信與我們分享,或是在 Twitter 留言給我們,感謝!