公告
網站新增了簡單的搜索功能,可以通過項目名稱或地址搜索、查看項目。歡迎star和推薦項目,我們一只在路上,希望志同道合者加入進來。
現招募專欄負責人:
- C#
- Java
《HelloGitHub》第 27 期
興趣是最好的老師,HelloGitHub 就是幫你找到興趣!

簡介
分享 GitHub 上有趣、入門級的開源項目。
這是一個面向編程新手、熱愛編程、對開源社區感興趣 人群的月刊,月刊的內容包括:各種編程語言的項目、讓生活變得更美好的工具、書籍、學習筆記、教程等,這些開源項目大多都是非常容易上手,而且非常 Cool。主要是希望大家能動手用起來,加入到開源社區中。
- 會編程的可以貢獻代碼
- 不會編程的可以反饋使用這些工具中的 Bug
- 幫着宣傳你覺得優秀的項目
- Star 項目⭐️
在瀏覽、參與這些項目的過程中,你將學習到更多編程知識、提高編程技巧、找到編程的樂趣。
🎉 最后 HelloGitHub 這個項目就誕生了 🎉
以下為本期內容|每個月 28 號發布最新一期|點擊查看往期內容
C# 項目
1、Rosin:一個 Fiddler 插件,用於協助開發者進行移動端頁面開發、調試

2、SiteServer-CMS:開源、免費、企業級內容管理平台。基於該工具可以快速、方便地搭建搭建一個性能優異、頗具規模、易於維護的網站平台

C++ 項目
3、MyTinySTL:用 C++11 實現的小型 STL(容器庫+算法庫)。代碼結構清晰規范、包含中文文檔與注釋,並且自帶一個簡單的測試框架,適合新手學習與參考。示例代碼如下:
// 在尾部插入元素
template <class T>
void vector<T>::push_back(const value_type& value)
{
if (end_ != cap_)
{
data_allocator::construct(mystl::address_of(*end_), value);
++end_;
}
else
{
reallocate_insert(end_, value);
}
}
Go 項目
4、appify:該項目能夠方便的把 Golang 項目包裝成 MacOS 可以直接運行的軟件。可以用來把自己寫的小工具包裝成一個其他人可以直接下載並雙擊使用的軟件。提供自定義 logo、名字,分分鍾發布自己的 Golang 軟件。使用步驟如下:
# 1.安裝命令
$ go get github.com/machinebox/appify
# 2.封裝命令
$ appify -name "My Go Application" -icon ./icon.png /path/to/bin

5、usql:通用SQL命令行客戶端。支持以下所有數據庫和協議:
| 數據庫 (scheme/driver) | 協議別名 [real driver] |
|---|---|
| Microsoft SQL Server (mssql) | ms, sqlserver |
| MySQL (mysql) | my, mariadb, maria, percona, aurora |
| Oracle (ora) | or, oracle, oci8, oci |
| PostgreSQL (postgres) | pg, postgresql, pgsql |
| SQLite3 (sqlite3) | sq, sqlite, file |
安裝方法
1. 根據你的系統下載最新的 binary
2. 解壓縮出 `usql` 或者 `usql.exe`
3. 把binary放到你的 `$PATH` (Linux/macOS) 或 `%PATH%` (Windows)路徑下
4. 然后就可以用`usql`鏈接到你喜歡的SQL數據庫啦~
Java 項目
6、RetrofitUrlManager:以簡潔的 API 讓 Retrofit 同時支持多個 BaseUrl,動態改變 BaseUrl

JavaScript 項目
7、v-region:使用 Vue 創建的中國省市區選擇組件,組件復用程度高、可直接引入項目中使用。使用場景適用於需要用戶選擇地址,采用該組件可以提高交互程度。文檔,示例代碼:
<v-region :city="false" :area="false" class="form-control"></v-region> // 只顯示省份
<v-region :area="false" class="form-control"></v-region> // 顯示省市
<v-region class="form-control"></v-region> // 顯示省市區

8、whistle:基於 Node.js 實現的跨平台 web 調試代理工具,類似於 Windows 平台上的 Fiddler。主要用於查看、修改HTTP、HTTPS、Websocket的請求、響應,也可以作為 HTTP 代理服務器使用。不同於 Fiddler 通過斷點修改請求響應的方式,whistle 采用的是類似配置系統 hosts 的方式,一切操作都可以通過配置實現。通過該工具,可以現實復雜的前端環境、生產、開發、bugFix 一鍵切換。
9、simpread:讓你瞬間進入沉浸式閱讀的擴展,還原閱讀的本質,提升你的閱讀體驗。使用它可以為你剔除頁面上無關的干擾信息,讓用戶專注於閱讀主要的內容。通過這個項目,還可以學習如何開發 Chrome 擴展

10、incubator-echarts:使用 JavaScript 實現的開源、流行、強大的可視化庫。可以流暢的運行在 PC 和移動設備上,兼容當前絕大部分瀏覽器。提供直觀、交互豐富、可實現高度個性定制化的數據可視化圖表,也可將其封裝為任何 MVVM 框架的組件方便適用。官網

Objective-C 項目
11、KafkaRefresh:內置多種動畫、可自定義和靈活的 iOS 下拉刷新框架。中文文檔

Python 項目
12、tenacity:使用該庫可以優雅地實現各種需求的重試。示例代碼如下:
from tenacity import retry, stop_after_attempt
# 通過裝飾器,實現遇到異常重試3次
@retry(stop=stop_after_attempt(3))
def get_data(url):
response = requests.get(url)
response_json = response.json()
13、unimatrix:模擬“黑客帝國”影片中的終端動畫腳本

14、pudb:基於控制台的全屏 Python 可視化調試器。比 pdb 好用太多了,特性:
- 源碼語法高亮,棧、斷點、變量可見並且一直動態更新。變量展示還有很多可以定制化的功能。
- 基於鍵盤,簡單高效。支持 VI 的鼠標移動。還支持 PDB 的某些命令
- 支持查找源代碼,可以使用 m 代用 module browser 查看載入的模塊
- 斷點設置。鼠標移到某行代碼,按 b,然后可以在斷點窗口編輯斷點

Ruby 項目
15、hacker101:(英文)一個免費的 Web安全課程。無論你是一個程序員、對 bug 懸賞感興趣,或是一個經驗豐富的安全專業人員,在 HACKE101 課程中都可以學到東西。包涵大量示例代碼和在線 Demo,示例代碼為 Ruby。
Swift 項目
16、IBAnimatable:一個幫助我們在 Interface Builder 和 Swift Playground 里面設計 UI、交互、導航模式,、換場和動畫的開源庫。下圖的整個 App 都是通過 IBAnimatable 在 Interface Builder 設計完成,沒有任何一行代碼。

17、TuringCalendar:圖靈教育推出的限量款編程日歷 2018,因為簡約大氣的設計和每周一個編程語言的介紹,在程序員中廣受歡迎。現在日歷 PDF 的源文件已經該源,於是就有了這個項目。一個 macOS 桌面上的日歷 widget,效果圖如下:

其它
18、project-guidelines:JavaScript 工程項目的一系列最佳實踐策略,中文版。其它編程語言的項目也有可以借鑒的地方
19、Android_Data:這個集合主要能夠幫助初學者在初學 Android 開發的時候,能夠快速、方便地找到適合自己的學習資料
20、Front-End-Checklist:一份在網站發布到生產環境之前,前端部分需要測試、檢查的詳盡清單。中文版
21、build-your-own-x:(英文)費曼:“我不能創造的東西,我就不了解。”該項目收集了不同編程語言造輪子的教程
機器學習
22、simplified-deeplearning:《DeepLearningBook》讀書筆記
23、elasticsearch-spark-recommender:使用 Apache Spark 的機器學習庫 (MLlib) 來訓練一個協同過濾推薦系統模型 和 Elasticsearch 構建一個推薦系統教程,中文版閱讀

換種方式閱讀
- 網站: https://hellogithub.com
- GitBook: https://gitbook.hellogithub.com
聲明
如果你發現了好玩、有意義的開源項目 點擊這里 分享你覺得有意思的項目。
歡迎轉載,請注明出處和作者,同時保留聲明。
