作者:HelloGitHub-小魚乾
摘要:說到學習之道,方法很重要,好的學習方法能讓你比他人更快地入門到精通,比如本週被 3k 多人 pick 的 learngo 專案,它收錄了多個例子和練習,新手 Go 開發可快速習得 Go 程式設計之法。本週 TheAlgorithms 開源的 C-Plus-Plus、Python、Java 等也明示另外一條學習之路,雖然不如標準快效率高,但是演算法絕對是學習一門語言的不二之選。當然,前人言傳身教的最佳實踐也是不一個不可放過的耗資源,比如 Jetpack MVVM 最佳實踐。本期的主題專案為你選擇了 macOS 神器,工欲善其事必先利器,好用的開發環境也提升你的學習效率。
以下內容摘錄自微博@HelloGitHub 的 GitHub Trending,選項標準:新發布
| 實用
| 有趣
,根據專案 release 時間分類,釋出時間不超過 7 day 的專案會標註 New
,無該標誌則說明專案 release 超過一週。由於本文篇幅有限,還有部分專案未能在本文展示,望周知 ?
- 本文目錄
-
- 本週特推
- 1.1 Go 新手起手式:learngo
-
- GitHub Trending 周榜
- 2.1 git 終端:gitui
- 2.2 C++ 學演算法:C-Plus-Plus
- 2.3 Windows 工具集:PowerToys
- 2.4 Jetpack MVVM 最佳實踐:Jetpack-MVVM-Best-Practice
- 2.5 React 狀態管理:Recoil
- 2.6 Apple & Google 合力:exposure-notifications-server
- 2.7 統計學習方法:Statistical-Learning-Method_Code
- 2.8 輕量級 Web 伺服器:TinyWebServer
-
- 本週 GitHub Trending #macOS 神器# 主題的主力軍
- 3.1 Touch Bar 廢物再利用:Pock
- 3.2 資源訂閱:NetNewsWire
- 3.3 視窗管理器:Rectangle
-
- 推薦閱讀
-
1. 本週特推
1.1 Go 新手起手式:learngo
本週 star 增長數:3400+
騷年,學 Go 嗎?#GitHub Trending# Go 新手起手式:learngo 收錄了 1000+ Go 相關的例子、練習和測驗,可幫你快速習得 Go 程式設計之法。
GitHub 地址→https://github.com/inancgumus/learngo
2. GitHub Trending 周榜
2.1 git 終端:gitui
本週 star 增長數:400+
gitui 是一個由 rust 編寫的 git 終端,gitui 的特性
- 快速直觀的僅鍵控制
- 基於上下文的幫助,沒有必要記住任何快捷鍵
- 檢查/提交更改(包括鉤子:commit-msg / post-commit)
- (取消)階段檔案/大塊,還原/重置檔案/大塊
- 瀏覽提交日誌
- 可擴充套件的 UI 佈局
- 非同步輸入輪詢和非同步 git API 用於流體控制
GitHub 地址→https://github.com/extrawurst/gitui
2.2 C++ 學演算法:C-Plus-Plus
本週 star 增長數:1100+
C-Plus-Plus 是一個用 C++ 實現的演算法實踐,如果你想了解演算法的話,不妨看下這個專案。
GitHub 地址→https://github.com/TheAlgorithms/C-Plus-Plus
2.3 Windows 工具集:PowerToys
本週 star 增長數:3000+
PowerToys 是微軟開發者開發的免費實用工具集,可以用於高階使用者調整和簡化 Windows 操作,以提高效率。2019 年 5 月,微軟宣佈以官方名義重啟該專案。微軟表示,此次重啟對 PowerToys 的研發,將會提供一些提高效率的實用程式,並且可以通過 Windows 10 shell 使用,同時讓使用者可以自定義各個工作流。
GitHub 地址→https://github.com/microsoft/PowerToys
2.4 Jetpack MVVM 最佳實踐:Jetpack-MVVM-Best-Practice
本週 star 增長數:450+
專案作者擁有 3 年的移動端架構踐行和設計經驗,領導團隊重構的中大型專案多達十數個,對 Jetpack MVVM 架構在 確立規範化、標準化 開發模式以減少不可預期的錯誤所作的努力,有著深入的理解。在這個專案中,作者將展示 Jetpack MVVM 是如何蘊繁於簡地將原本十分容易出錯、一出錯就會耽擱半天時間的開發工作,通過寥寥的幾行程式碼輕而易舉地完成。除了在蘊繁於簡的程式碼中掌握 MVVM 最佳實踐,你還可以從這個開源專案中獲得的內容 包括:
- 整潔的程式碼風格和標準的資源命名規範。
- 對檢視控制器知識點的深入理解和正確使用。
- AndroidX 和 Material Design 2 的全面使用。
- ConstraintLayout 約束佈局的最佳實踐。
- 優秀的使用者體驗 互動設計。
- 絕不使用 Dagger,絕不使用奇技淫巧、編寫艱深晦澀的程式碼。
- The one more thing is:
GitHub 地址→https://github.com/KunMinX/Jetpack-MVVM-Best-Practice
2.5 React 狀態管理:Recoil
本週 star 增長數:3700+
Recoil 為 React 的外部狀態管理提供了一種分散式 + 函式式的新的解決方案。特性
- 最小和反應(Reactish):Recoil 像 React 一樣工作和思考。將一些新增到您的應用程式並獲得快速靈活的共享狀態。
- 資料流圖:派生資料非同步查詢已通過純函式和高效訂閱方式實現。
- 跨應用觀察:過觀察應用程式中所有狀態的變化來實現永續性,路由,時間旅行除錯或撤消,而不會影響程式碼拆分。
GitHub 地址→https://github.com/facebookexperimental/Recoil
2.6 Apple & Google 合力:exposure-notifications-server
本週 star 增長數:1100+
New
:exposure-notifications-server 是 Google 開源的曝光通知服務,利用藍芽技術幫助政府和衛生機構減少病毒的傳播,使用者隱私和安全是設計的核心,並在 iOS 和 Android 應用程式提供了參考程式碼。參考伺服器原始碼可以在 GitHub 上獲得,可以部署在公共衛生機構選
GitHub 地址→https://github.com/google/exposure-notifications-server
2.7 統計學習方法:Statistical-Learning-Method_Code
本週 star 增長數:1700+
Statistical-Learning-Method_Code 是手寫實現李航《統計學習方法》書中全部演算法專案。專案力求每行程式碼都有註釋,重要部分註明公式來源。具體會追求下方這樣的程式碼,學習者可以照著公式看程式,讓程式碼有據可查。
GitHub 地址→https://github.com/Dod-o/Statistical-Learning-Method_Code
2.8 輕量級 Web 伺服器:TinyWebServer
本週 star 增長數:150+
TinyWebServer 是 Linux 下 C++ 輕量級 Web 伺服器,助力初學者快速實踐網路程式設計,搭建屬於自己的伺服器。特性:
- 使用 執行緒池 + 非阻塞 socket + epoll(ET 和 LT 均實現) + 事件處理(Reactor 和 Proactor 均實現)的併發模型
- 使用狀態機解析 HTTP 請求報文,支援解析 GET 和 POST 請求
- 訪問伺服器資料庫實現web端使用者註冊、登入功能,可以請求伺服器圖片和視訊檔案
- 實現同步/非同步日誌系統,記錄伺服器執行狀態
- 經 Webbench 壓力測試可以實現上萬的併發連線資料交換
GitHub 地址→https://github.com/qinguoyi/TinyWebServer
3. 本週 GitHub Trending #macOS 神器#主題的主力軍
在本期的主題專案中,小魚乾選擇了 3 個用 swift 開發的 macOS 工具,壯哉,macOS。
3.1 Touch Bar 廢物再利用:Pock
本週 star 增長數:100+
Pock 是一個可把 Touch Bar 當作 Dock 直接用來切換和啟動 App 的小工具。Pock 具有以下特性:
- 支援顯示通知角標
- 提供了 ESC 按鈕,所以不必隱藏 Pock 來使用系統的 ESC
- 可設定是否在進入系統時啟動 Pock
GitHub 地址→https://github.com/pigigaldi/Pock
3.2 資源訂閱:NetNewsWire
本週 star 增長數:50+
NetNewsWire 是一款免費的 RSS 閱讀器,除了支援 RSS,它也支援 Atom,JSON Feed 和 RSS-in-JSON 格式。
GitHub 地址→https://github.com/Ranchero-Software/NetNewsWire
3.3 視窗管理器:Rectangle
本週 star 增長數:150+
Rectangle 是一個開源的視窗管理器,基於Spectacle應用,用Swift語言編寫。Rectangle 可讓使用者使用鍵盤快捷鍵來移動和調整視窗大小。
GitHub 地址→https://github.com/rxhanson/Rectangle
推薦閱讀
- GitHub 熱點速覽 Vol.20:VSCode 外掛全家桶新增畫圖小能手
- GitHub 熱點速覽 Vol.19:如何叩響大廠的門?
- GitHub 熱點速覽 Vol.18:刷 LeetCode 的正確姿勢
以上為 2020 年第 21 個工作周的 GitHub Trending ?如果你 Pick 其他好玩、實用的 GitHub 專案,記得來 HelloGitHub issue 區和我們分享下喲 ?
HelloGitHub 交流群現已全面開放,新增微訊號:HelloGitHub 為好友入群,可同前端、Java、Go 等各界大佬談笑風生、切磋技術~