《HelloGitHub》第 21 期
公告
元旦快樂!
《HelloGitHub》第 21 期
興趣是最好的老師,HelloGitHub 就是幫你找到興趣!
簡介
分享 GitHub 上有趣、入門級的開源項目。
這是一個面向編程新手、熱愛編程、對開源社區感興趣 人群的月刊,月刊的內容包括:各種編程語言的項目、讓生活變得更美好的工具、書籍、學習筆記、教程等,這些開源項目大多都是非常容易上手,而且非常 Cool。主要是希望大家能動手用起來,加入到開源社區中。
- 會編程的可以貢獻代碼
- 不會編程的可以反饋使用這些工具中的 Bug
- 幫著宣傳你覺得優秀的項目
- Star 項目??
在瀏覽、參與這些項目的過程中,你將學習到更多編程知識、提高編程技巧
?? 最後 HelloGitHub 這個項目就誕生了 ??
以下為本期內容|每個月 28 號發布最新一期|點擊查看往期內容
C 項目
1、kcp:純算法實現的快速可靠協議。能以比 TCP 浪費 10%-20% 的帶寬為代價,換取平均延遲降低 30%-40%,且最大延遲降低 3 倍的傳輸效果
C++ 項目
2、OpenCC:中文簡繁轉化開源項目,在線嘗試
- 嚴格區分 “一簡對多繁” 和 “一簡對多異”
- 完全兼容異體字,可以實現動態替換
- 嚴格審校一簡對多繁詞條,原則為 “能分則不合”
- 支持異體字和地區習慣用詞轉換,如 “裏” “裡”、“鼠標” “滑鼠”
- 詞庫和函數庫完全分離,可以自由修改、導入、擴展
- 支持 C++、Python、PHP、Java、Ruby、Node.js 等
- 兼容 Windows、Linux、Mac 平臺
Go 項目
3、mattermost-server:采用 Go 語言開發的團隊通訊服務項目,可用於自行搭建服務。為團隊帶來跨 PC 和移動設備的消息收發、文件分享,搜索等功能的通訊服務平臺
Java 項目
4、android-material-design-icon-generator-plugin:IntelliJ/Android Studio 生成、設計 icon 的插件,安裝簡單使用方便。如下圖所示:
5、Blade:輕量級、高效、簡潔優雅的 Java Web 框架,致力於為個人開發者更快捷地開發 Web 應用提供便利。詳盡的中文文檔及入門視頻。示例代碼:
public static void main(String[] args) {
Blade.me().get("/", (req, res) -> {
res.text("Hello Blade");
}).start();
}
6、canal:MySQL 數據庫 binlog 的增量訂閱、消費組件。模擬 MySQL salve 方式,實現 MySQL 的主從同步,同時加入了增量日誌解析等功能。MySQL 原始主備機制,示意圖如下:
7、RxGalleryFinal:Android 圖片、視頻文件選擇器,支持多選、單選、拍攝和裁剪等
8、grain:極簡的、組件式的 RPC 框架,靈活且適合學習。包含系統通用多線程模型與消息通訊、多對多關系的分布式鎖、基於系統通用多線程模型的 Websocket 框架、支持行級鎖的多線程鎖等組件
JavaScript 項目
9、numeric-keyboard:手機數字鍵盤,包含一個純鍵盤 UI 和輸入框套件。有純 JavaScript、React、Vue 三個版本
10、git-point:基於 React Native 開發的非官方開源 GitHub 客戶端,功能豐富包含查看項目和用戶信息、接收通知、管理
Issues 和 PR。支持 Android、iOS,選擇對應的客戶端下載使用
11、wepy:微信官方的開源項目,該項目是為了讓小程序支持組件化開發的框架,特征如下:
- 類 Vue 開發風格
- 支持自定義組件開發
- 支持引入 NPM 包
- 等等
12、webster:一款可以抓取網頁中 AJAX 異步內容的分布式爬蟲框架
13、anyupload:該項目是一款上傳插件,使用方便、簡單。支持多文件上傳、上傳速率動態控制、真實進度監控 kb/s、分塊生成 MD5、分塊上傳、MD5 校驗、暫停、取消等功能。在線體驗
Kotlin 項目
14、github-profile-summary:GitHub 賬號數據可視化服務,很新穎地增加了 star 後可見(回復可見)??
Python 項目
15、thefuck:在 Linux 命令行中,當你輸入的命令有錯誤後,直接輸入 fuck
就可以自動執行修復後的命令,效果圖如下:
16、youtube-dl:強大的視頻下載工具,支持幾百個國內外主流視頻網站。正如名字一樣,最初是為了下載 youtube 上的視頻而開發的。如果有國外服務器的朋友,可以充分利用這個工具,下載 youtube 上的視頻,速度不要太爽。下面介紹安裝、下載視頻等命令:
# 1. 安裝命令:sudo pip install youtube-dl
Installing collected packages: youtube-dl
Successfully installed youtube-dl-2017.12.14
# 2. 查看 URL 支持格式:youtube-dl --list-formats URL
format code extension resolution note
134 mp4 450x360 DASH video 449k , avc1.4d4015, 25fps, video only
17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k
36 3gp 300x240 small , mp4v.20.3, mp4a.40.2
18 mp4 450x360 medium , avc1.42001E, mp4a.40.2@ 96k
43 webm 640x360 medium , vp8.0, vorbis@128k (best)
# 3. 選擇格式下載視頻:youtube-dl -f 18 URL (18為mp4 450x360格式)
[youtube:playlist] Downloading playlist PLF90USSyuoYzPhhFG7XFBRn63Zvs--lNP - add --no-playlist to just download video JyLducMVYVg
[youtube:playlist] PLF90USSyuoYzPhhFG7XFBRn63Zvs--lNP: Downloading webpage
[download] Downloading playlist: 情滿四合院完整版
[youtube:playlist] playlist 情滿四合院完整版: Downloading 42 videos
[download] Downloading video 1 of 42
...
# 4. 下載完成後,最後使用 https://github.com/houtianze/bypy 庫把下載的視頻同步到百度網盤上
17、jieba:強大的 Python 分詞庫,拿來直接用就好。示例代碼如下:
# encoding=utf-8
import jieba
seg_list = jieba.cut("我來到北京清華大學", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list)) # 全模式
seg_list = jieba.cut("我來到北京清華大學", cut_all=False)
print("Default Mode: " + "/ ".join(seg_list)) # 精確模式
seg_list = jieba.cut("他來到了網易杭研大廈") # 默認是精確模式
print(", ".join(seg_list))
seg_list = jieba.cut_for_search("小明碩士畢業於中國科學院計算所,後在日本京都大學深造") # 搜索引擎模式
print(", ".join(seg_list))
【全模式】: 我/ 來到/ 北京/ 清華/ 清華大學/ 華大/ 大學
【精確模式】: 我/ 來到/ 北京/ 清華大學
【新詞識別】:他, 來到, 了, 網易, 杭研, 大廈 (此處,“杭研”並沒有在詞典中,但是也被Viterbi算法識別出來了)
【搜索引擎模式】: 小明, 碩士, 畢業, 於, 中國, 科學, 學院, 科學院, 中國科學院, 計算, 計算所, 後, 在, 日本, 京都, 大學, 日本京都大學, 深造
18、pydu:該庫將平時常用的數據結構和工具都收錄其中,可供日常開發的使用,同時方便學習與借鑒,豐富的文檔能幫助新手更好的理解和使用它。這些實用的模塊都是來自於開源項目和貢獻者們的智慧,快來加入到這個項目中,讓它變得更加實用和豐富
其它
19、vscode:Visual Studio Code 是微軟出品的支持多平臺的開源編輯器,體積小、功能豐富、性能強大、擴展性很強。我是用著挺爽,寫些代碼片段、文章、文檔開箱即用。個人感覺編寫中型項目、代碼調試的話還是 IDE 更方便些,總之推薦下載和使用。下載地址
20、hello-comic:程序員有關的漫畫的集合,希望有更多的人可以加入該項目分享有意思程序員漫畫
21、android-training-course-in-chinese:Android 官方培訓課程中文版,在線閱讀
22、go-advices:Go 建議中文版
23、git-flight-rules:Git 飛行規則,所謂飛行規則就是特定場景的非常詳細的標準處理流程。該項目記錄了使用 Git 過程中,如果遇到問題的解決辦法和步驟,中文
24、coding-interview-university:一套完整的學習手冊,項目發起者是為了讓自己通過 Google 的面試而制定的計劃。最後,他去了 Amazon。感謝 掘金翻譯的中文版
開源書籍
25、pydata-notebook:《利用Python進行數據分析 2017 第二版》中文翻譯筆記
換種方式閱讀
- 網站: https://hellogithub.com
- GitBook: https://gitbook.hellogithub.com
聲明
如果你發現了好玩、有意義的開源項目 點擊這裏 分享你覺得有意思的項目。
歡迎轉載,請註明出處和作者,同時保留聲明。
《HelloGitHub》第 21 期