前言
HelloGitHub 項目已經累積到 3k+ Stars。本項能夠走到今天,幫助到越來越多的人。少不了熱愛開源、不斷為本項目貢獻項目的小伙伴們。
很多人都有想法,付諸於行動在少數,能夠十年如一日的去做的人鳳毛麟角。念念不忘,必有回響!
同樣,種一顆樹最好的時間是十年前,其次是現在。所以,動起手來,終究你會得到自己的一片森林。以下為本期內容,歡迎討論、加入、貢獻項目。
《HelloGitHub》第 20 期
興趣是最好的老師,HelloGitHub 就是幫你找到興趣!
簡介
分享 GitHub 上有趣、入門級的開源項目。
這是一個面向編程新手、熱愛編程、對開源社區感興趣 人群的月刊,月刊的內容包括:各種編程語言的項目、讓生活變得更美好的工具、書籍、學習筆記、教程等,這些開源項目大多都是非常容易上手,而且非常 Cool。主要是希望大家能動手用起來,加入到開源社區中。
- 會編程的可以貢獻代碼
- 不會編程的可以反饋使用這些工具中的 Bug
- 幫着宣傳你覺得優秀的項目
- Star 項目⭐️
在瀏覽、參與這些項目的過程中,你將學習到更多編程知識、提高編程技巧、找到編程的樂趣。
🎉 最后 HelloGitHub 這個項目就誕生了 🎉
以下為本期內容|每個月 28 號發布最新一期|點擊查看往期內容
C# 項目
1、csharplang:C# 語言設計官方項目,在這里你可以直接參與討論。同時還有:
- 語言特色提議
- C# 語言設計會議記要
- 完整的 C# 6 語言規范(草案)
- 語言版本歷史摘要
C++ 項目
2、robomongo:免費、開源的 MongoDB 跨平台桌面管理工具,支持 Windows、Linux、Mac
CSS 項目
3、milligram:極簡風格的 CSS 框架,而且文件很小
4、magic-of-css:一套可以讓你成為‘魔術師’的 CSS 教程(英文)
Go 項目
5、monkey:用 Go 語言寫的解析器,包含諸多語言特性。入門實踐項目,適合新手熟悉 Go 語言和語言解析器入門
Java 項目
6、Android-Pay:支持微信和支付寶兩種主流支付的集成庫,示例代碼如下:
//1.創建微信支付請求
WechatPayReq wechatPayReq = new WechatPayReq.Builder()
.with(this) //activity實例
.setAppId(appid) //微信支付AppID
.setPartnerId(partnerid)//微信支付商戶號
.setPrepayId(prepayid)//預支付碼
// .setPackageValue(wechatPayReq.get)//"Sign=WXPay"
.setNonceStr(noncestr)
.setTimeStamp(timestamp)//時間戳
.setSign(sign)//簽名
.create();
//2.發送微信支付請求
PayAPI.getInstance().sendPayRequest(wechatPayReq);
//關於微信支付的回調
//wechatPayReq.setOnWechatPayListener(new OnWechatPayListener);
7、AndroidSwipeLayout:代碼家開源的滑動布局庫,不用多說什么了。動起手來試試,然后通過閱讀代碼學習大神們的編程技巧,有一天你也可以做出有價值、流行的開源庫
JavaScript 項目
8、IDValidator:中國大陸個人身份證號驗證,支持 15、18 位身份證號,API 如下:
isValid
驗證號碼是否合法,合法返回 True,不合法返回 FalsegetInfo
號碼合法時返回分析信息(地區、出生日期、性別、校驗位),不合法返回 FalsemakeID
偽造一個符合校驗的 ID
9、livepython:可視化、實時追蹤展示 Python 代碼
10、React-Cnode:適合新手的 React 全家桶項目學習,同時附有作者在開發中的一些思考
11、nba-go:可以用命令終端查看 NBA 比賽,包括比賽開始時間表、實時比分情況、文字直播(英文)等。終端看 NBA,你才是最潮的。安裝命令 npm install -g nba-go
12、hub.js:僅 6KB 通過簡單的 API & 自由組合的鏈式寫法,輕松訂閱管理各類事件流。示例代碼如下:
import $hub from 'hub-js';
// 定義一個 “test” 監聽器
$hub.listen('test', ( data ) => {
console.log( 'test', data );
});
setInterval(( ) => {
// 發出 “test” 事件
$hub.emit('test', { code: 1 });
}, 1000);
Kotlin 項目
13、kotlin-guides:這份指南提供了在使用 Kotlin 編寫 Android 程序時要遵循的一系列規則
14、Flesh:如果你是一位想學習一下 Kotlin 的同學,那么 Flesh 是一個適合學習、練手、入門的項目。從中可以學到 Java 與 Kotlin 間的相互調用、爬蟲操作。這是個誠意(福利)滿滿的項目,快去下載、加入到這個項目中吧
Python 項目
15、records:Kenneth Reitz 大神的for Humans™
系列,Records 是一個支持大多數主流關系數據庫的原生 SQL 查詢第三方庫。API 友好,使用簡單、支持命令行模式、功能多樣。與此同時該庫只有 500 行代碼,可以當作入門閱讀源碼的項目,同時學習大神的編程技巧與習慣,示例代碼如下:
import records
db = records.Database('postgres://...') # 連接數據庫
rows = db.query('select * from active_users') # 執行原生 SQL
# 遍歷結果
for r in rows:
print(r.name, r.user_email)
# 友好的 print 格式
print(rows.dataset)
# username|active|name |user_email |timezone
# --------|------|----------|-----------------|--------------------------
# model-t |True |Henry Ford|model-t@gmail.com|2016-02-06 22:28:23.894202
# 支持將結果導出成不同格式
print(rows.export('json')) # json
print(rows.export('csv')) # csv
print(rows.export('yaml')) # yaml
rows.export('df') # pandas 的 df 對象
with open('report.xls', 'wb') as f:
f.write(rows.export('xls')) # xls
16、zdict:方便的終端字典工具,支持多種字典和參數、翻譯結果高亮、以及交互模式查詢。安裝命令 pip install zdict
(僅支持 Python3)。查詢效果如下圖所示:
17、joblib:使用 Python 方便的進行並行計算,示例代碼如下:
from joblib import Parallel, delayed
from math import sqrt
Parallel(n_jobs=1)(delayed(sqrt)(i**2) for i in range(10))
18、tldr-python-client:Linux man 解釋一般都太長了,很多時候我們就想用一些比較常用的命令,但卻記不起來。這個時候如果不 Google,就可以用 tldr(簡化 man 的工程)。該項目為 Python 客戶端實現
其它
19、hangzhouYunQi2017ppt:2017 杭州雲棲大會精華 PPT,移步到阿里雲下載與瀏覽
20、vim-game-code-break:Vim 中的打磚塊游戲
21、github-cheat-sheet:GitHub 和 Git 的秘籍,中文
22、nodebestpractices:Node.js 最佳實踐列表(英文)
機器學習
23、angel:騰訊開源的高性能分布式機器學習平台,具有廣泛的適用性和穩定性,模型維度越高。它將高維度的大模型合理切分到多個參數服務器節點,並通過高效的模型更新接口和運算函數,以及靈活的同步協議,可以實現各種高效的機器學習算法
換種方式閱讀
- 網站: https://hellogithub.com
- GitBook: https://gitbook.hellogithub.com
聲明
如果你發現了好玩、有意義的開源項目 點擊這里 分享你覺得有意思的項目。
歡迎轉載,請注明出處和作者,同時保留聲明。