Contents
這是 Soft & Share 為訂閱會員所推出的服務,小編週一到週五會每天整理一篇開源專案的摘要說明整理 (中午 12 點前會發佈在 Soft & Share 網站 ) ,讓你可以利用中午休息時間快速掌握目前開源專案的焦點。
學習資源
Go 程式語言效能最佳化電子書
這本電子書也有簡中翻譯
學習 Vue 的原始碼
雖然小編不喜歡 Vue ,但是對於這種深入系統背後的運作原理學習精神是不排斥的,你也可以用同樣的方法去探究 React 跟 Angular
工具
Duplicacy – 雲端備份工具
這個工具主要可以將資料備份到目前知名的雲端服務商的雲端硬碟,這種軟體很多,這個開源專案有何特別之處?
- Duplicacy 是唯一允許多台電腦備份到同一雲端儲存的備份工具,,儘可能利用跨電腦重複資料刪除,而不需要透過它們之間的直接通訊。 這個功能實際上將任何只支援一組基本檔案操作的雲端儲存伺服器變成了一個複雜的支援重複資料刪除的伺服器。
- 與其他 chunk-based 備份工具不同的是,Duplicacy 採用無資料庫的方法,每個 chunk 都使用雜湊作為檔名獨立儲存,以方便快速查詢。 缺少一個集中的 chunk 資料庫不僅使得實現更不容易出錯,而且還產生了一個高度可維護的軟體,它有很大的空間來開發新功能和可用性增強。
- Duplicacy 是快速的。 雖然效能不是設計目標的最高優先順序,但是 Duplicacy 比其他備份工具的效能要好很多,正如下面使用複製效率和其他3個開源備份工具支援 Linux 程式碼庫的基準測試結果所示。
這個專案說明裡面還有更多雲端備份工具比較資訊,看到最後發現這個工具是要付費的,可是專案中沒有說明開源專案跟付費的差別在哪裡?
你可以看這篇 how-to 將這個軟體 buid 出來試看看

可以將網頁存成單一檔案的 Chrome/Firefox 外掛與命令列工具
幾乎支援了目前的瀏覽器,還有命令列工具

Warcreat – 可以將網頁存成 WARC 格式的 Chrome 外掛
什麼是 WARC 格式檔案?請參考這個網頁說明
由於WARC通常僅限於 Internet Archive 的 Herritrix 檔案抓取工俱生成,因此這個工具提供了另一種方法可以簡單達成
這個工具可以
- 儲存爬蟲無法訪問的內容(例如,深層網路內容)
- 避開終端使用者設定 heritagrix 實例所需的複雜性和開銷
- 允許在儲存之前與網頁進行互動(例如,展開 Facebook 的評論) ,確保最初可能不出現在頁面中的內容可以被捕獲
Goaccess – 一個即時 Web 日誌分析器和互動式檢視器
支援所有 Unix base 的作業系統,它為需要動態視覺化伺服器報告的系統管理員提供了快速且有價值的 HTTP 統計資訊,你可以在終端機上看,也可以透過瀏覽器看報告
Web 應用程式開發
完全使用 Javascript 開發的 OCR ( 文字辨識 ) 引擎- 支援超過 100 種語言
也有支援繁體中文,最近小編是使用 Google 雲端硬碟的 OCR 功能來做紙本書跟 Kindle 電子書的閱讀筆記,辨識率也很高
如果你是 C/C++ 開發者可以參考 C/C++ 版本 https://github.com/tesseract-ocr/tesseract

Dumper.js – 讓你的 Node.js 應用程式支援使用更漂亮的變數檢查器
在 Debug Node.js 應用程式時,大概都會習慣用 console.log 來觀察程式執行中的變數變化,但是有些變數是物件,陣列,要看就要寫比較多的 code ,這個模組可以讓你用比較漂亮的方式觀看這些變數
比較有趣的是,這個模組支援兩種模式,一個是 dd() ,顯示變數後就結束程式,dump() 則是顯示變數後繼續讓程式執行
行動應用程式設計
FloatingPanel – 一個簡潔易用的 iOS 浮動面板 UI 元件
FloatingPanel 是一個簡單易用的 UI 元件,目前在 Apple Maps、Shortcuts 和股票應用程式中可以看到這種 UI 的使用案例。 新介面可以根據使用者的需要並行顯示相關的內容和實用工具。

程式設計語言
使用 C 語言實作垃圾收集器
這位開發者最初是要開發 LIST 語言編譯器而需要這個垃圾收集器
有些大型的軟體公司的面試會考這種比較底層功能背後原理,理解系統運作的原理對 Debug 程式很有幫助
小編介紹過兩堂課,裡面的講師都有提到他們去大公司面試時被問到垃圾收集器是如何實作的
Watermill – 在 Go 語言中使用事件驅動的方式建立應用程式
這是一個高效能處理訊息流的 Go 程式庫。 它旨在建立事件驅動的應用程式,啟用事件源( event sourcing ),RPC over messages,sagas,基本上任何你想到的東西。 你可以使用傳統的 pub/sub 實現,如 Kafka 或 RabbitMQ,但也可以使用 HTTP 或 MySQL binlog,如果它們適合你的使用案例
嵌入式系統
電子書閱讀器開源平台
這個開源專案將硬體,軟體全部開源,如果你有 Maker 精神,在家裡也可以自己組一台電子書閱讀器
看一下它的介紹還蠻有趣的
這個開發板的目的是建立一個可容易獲得的開源裝置用於閱讀書籍。 這些周邊的選擇考慮到了這些使用案例(顯示文字的螢幕; 儲存文字閱讀的 MicroSD; 語言支援的 Flash 晶片; 播放有聲書籍的耳機插孔; 語音控制的麥克風輸入)。 話雖如此,這塊開發板的功能更強大; 你可以把它變成音樂播放器或語音備忘錄; 使用 STEMMA 埠新增感測器並將其變成空氣品質監測器; 插入 AirLift wing,讓它顯示體育比賽成績或交通警報。 我真的很好奇人們會想出什麼用途。
現在台北街頭的公車站出現了一些顯示器也是用電子紙,所以這個開源硬體專案,應該用途不限於電子書閱讀器

喜歡今天小編整理的開源報報嗎?歡迎給小編意見與回饋