本文以創用 CC 姓名標示-非商業性-相同方式分享 4.0 國際授權釋出
讀者您好
Refactor Like a Superhero 是一本關於重構的免費電子書,在書中讀者可以學習到重構的好處。跟著書中的範例,讀者將會學習到如何找出程式碼中的問題,進而找到可能的解決方法。讀者若是對於現行龐雜的程式碼感到頭痛,從這本書中說不定可以找到解藥。
🔹JSONCanvas
JSONCanvas 是一種開放檔案格式,專為無限畫布資料而設計。無限畫布工具可視為數位白板,用於空間化地查看和組織資訊。此格式由 Obsidian 創立,提供了資料的長久性、可讀性、互通性和擴展性,並設計為易於解析。
🔹Rolldown
Rolldown 是一款用 Rust 編寫的 JavaScript 打包工具,未來將成為 Vite 的一部分。它提供了與 Rollup 兼容的 API 和介面,性能接近 esbuild,還提供了快速的預打包和轉換功能。具備內建的 CommonJS 支援和模組解析,未來還將支援 TypeScript / JSX 轉換和壓縮。
🔹LocalSend
LocalSend 讓使用者可以在區域網路內安全地與附近裝置分享檔案和訊息,無需網際網路連線。它利用 REST API 和 HTTPS 加密達成裝置間的安全通訊。與依賴外部伺服器的其他訊息應用程式不同,無需網際網路連線或第三方伺服器。
🔸Facebook 版本管理系統的轉變
Facebook 為何不使用 Git 而選擇 Mercurial 作為其版本管理系統,一直是個引人注目的問題。起初,Facebook 使用 Git,但在 2012 年左右,由於程式碼庫規模擴大,Git 操作開始變慢。Facebook 團隊發現,Git 在處理大量檔案時的效能不足,並試圖與 Git 維護者合作改進,但未獲積極回應。因此,他們開始尋找替代方案。
Mercurial 成為了 Facebook 的選擇,原因是它在性能上與 Git 相當,但架構更為簡潔且易於擴展。Facebook 團隊參加了一場 Mercurial 黑客松,並對 Mercurial 社群的開放性和接受性留下了深刻印象。他們決定將整個工程組織遷移到 Mercurial,並通過周密的溝通和規劃,成功獲得了其他工程師的支持。
這次遷移讓 Facebook 能夠對 Mercurial 進行性能改進,並創造了一種新的程式碼審查方法,即基於「差異」的「堆疊」模式。這個故事凸顯了技術決策往往是由人際關係和合作驅動的,而不僅僅是技術性能。Facebook 的例子表明,在開發工具領域,開放性和友善的態度具有重要價值。
🔸開源開發者的心靈抗戰
這篇文章是作者在開源領域工作四年後的個人感悟,並不是抱怨更像是一本個人日記。作者提到,儘管他對開源仍然充滿興趣,但這條路也充滿了挑戰,包括技術問題、溝通、團隊管理等方面。他坦言自己是個內向的人,在英語溝通和團隊管理方面並不擅長,但出於對開源的熱愛,他努力克服這些困難。
作者在文章中提到,隨著開源專案的範圍不斷擴大,他感到自己的能力越來越吃力,時常感到壓力和挑戰。他建議,當感到接近奔耗(Burnout)時,應該休息一下,與他人交談,並在必要時尋求專業幫助。他還強調,降低期望並感激自己已經達成的成就是保持快樂的重要方式。
作者還談到了他對開源專案的期望以及隨著時間和成就的增長,這些期望是如何變化的。他指出,一開始時,他對成就的期望較低,因此比較容易感到滿足。但隨著時間推移,他的期望不斷提高,導致他對一些簡單的事情不再感到滿足。他認為,降低對自己的期望並感激所擁有的,是保持心情愉快的好方法。此外,他還討論了如何處理因自我期望過高而帶來的壓力和挑戰,並建議設定優先順序,專注於最重要的事情。
以上就是本期的內容,喜歡的話請給❤️,分享或轉寄本電子報給有興趣的朋友。如果您有想要介紹的開源專案,也請來信與我們分享,或是在 X (前 Twitter) 留言給我們,感謝!