1. 程式人生 > >《HelloGitHub》第 21 期

《HelloGitHub》第 21 期

國外 延遲 圖片 nco 套件 機制 日誌解析 logs string

公告

元旦快樂!

《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 期