興趣是最好的老師欲账,HelloGitHub 就是幫你找到興趣轿钠!
簡介
最開始我只是想把自己在瀏覽GitHub過程中,發(fā)現(xiàn)的有意思涕滋、高質(zhì)量睬辐、容易上手的項(xiàng)目收集起來,這樣便于以后查找和學(xué)習(xí)。后來一想溯饵,如果給這些GitHub項(xiàng)目都加上簡單的效果圖和一些通俗易懂的中文介紹侵俗。應(yīng)該能夠幫助到我這樣的新手激發(fā)興趣去參與、學(xué)習(xí)這些優(yōu)秀丰刊、好玩的開源項(xiàng)目坡慌。
所以,我就做了一個(gè)面向編程新手藻三、熱愛編程、對(duì)開源社區(qū)感興趣 的人群的月刊跪者,月刊的內(nèi)容包括:各種編程語言的項(xiàng)目棵帽、各種讓生活變得更美好的工具、書籍渣玲、學(xué)習(xí)筆記逗概、教程等。這些項(xiàng)目都是非常容易上手忘衍,而且非常Cool逾苫,主要是希望大家能動(dòng)手用起來,加入到開源社區(qū)中枚钓。會(huì)編程的可以貢獻(xiàn)代碼铅搓,不會(huì)編程的可以反饋使用這些工具中的bug、幫著宣傳你覺得優(yōu)秀的項(xiàng)目搀捷、star項(xiàng)目??星掰。同時(shí)你將學(xué)習(xí)到更多編程知識(shí)、提高自己的編程技巧嫩舟、發(fā)現(xiàn)自己的興趣氢烘。
最后《HelloGitHub》這個(gè)項(xiàng)目就誕生了!??
以下為本期內(nèi)容|點(diǎn)擊查看往期內(nèi)容
Python項(xiàng)目
1家厌、reddit:reddit.com網(wǎng)站的源碼播玖,通過這個(gè)項(xiàng)目,可以學(xué)習(xí) python 在構(gòu)建大型項(xiàng)目中的使用饭于、項(xiàng)目結(jié)構(gòu)蜀踏、代碼風(fēng)格、python技巧的使用方法等镰绎。安裝教程
2脓斩、httpstat:httpstat 美化了curl
的結(jié)果,使得結(jié)果更加可讀畴栖。同時(shí)它無依賴随静、兼容Python3、一共才300+行。還可以顯示 HTTP 請(qǐng)求的每個(gè)過程中消耗的時(shí)間燎猛,如下圖:
3恋捆、PyMySQL:純 pyton 寫的 mysql 庫,純 python 的好處就是可以運(yùn)行在任何裝有 python 解釋器(CPython重绷、PyPy沸停、IronPython)的平臺(tái)上。相對(duì)于 MySQLdb 性能幾乎一樣昭卓,使用方法也一樣愤钾,但是** PyMySQL 安裝方法極其簡單**——pip install PyMySQL
,PyMySQL 使用示例代碼:
# 下面為例子需要的數(shù)據(jù)庫的建表語句
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(255) COLLATE utf8_bin NOT NULL,
`password` varchar(255) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
AUTO_INCREMENT=1 ;
# -*- coding: utf-8 -*-
import pymysql.cursors
# 連接數(shù)據(jù)庫
connection = pymysql.connect(host='localhost',
user='user',
password='passwd',
db='db',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
try:
with connection.cursor() as cursor:
# 創(chuàng)建一個(gè)新的紀(jì)錄(record)
sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
cursor.execute(sql, ('webmaster@python.org', 'very-secret'))
# 連接不會(huì)自動(dòng)提交候醒,所以你想下面要調(diào)用 commit 方法能颁,存儲(chǔ)對(duì)數(shù)據(jù)庫的改動(dòng)
connection.commit()
with connection.cursor() as cursor:
sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s"
cursor.execute(sql, ('webmaster@python.org',))
# 獲取一條的紀(jì)錄(record)
result = cursor.fetchone()
print(result) # 結(jié)果輸出:{'password': 'very-secret', 'id': 1}
finally:
connection.close() # 操作完數(shù)據(jù)庫一要記得調(diào)用 close 方法,關(guān)閉連接
Go項(xiàng)目
4倒淫、kcptun:也許是世界上最快的UDP傳輸工具伙菊,支持 macOS/Linux/Windows/FreeBSD/ARM/Raspberry Pi/OpenWrt。
Ruby項(xiàng)目
5敌土、discourse:Ruby 語言寫的論壇镜硕,百分之百開源、免費(fèi)返干。
Javascript項(xiàng)目
6兴枯、WeFlow:微信出品的一個(gè)高效、強(qiáng)大犬金、跨平臺(tái)的 Web 前端開發(fā)工作流工具念恍,官網(wǎng):
7、atrament.js:極小的Js畫板晚顷,在線演示
C峰伙、C++項(xiàng)目
8、libco:libco 是微信后臺(tái)大規(guī)模使用的 c/c++ 協(xié)程庫该默,2013年至今穩(wěn)定運(yùn)行在微信后臺(tái)的數(shù)萬臺(tái)機(jī)器上瞳氓。
無需侵入業(yè)務(wù)邏輯,把多進(jìn)程栓袖、多線程服務(wù)改造成協(xié)程服務(wù)匣摘,并發(fā)能力得到百倍提升;
支持CGI框架,輕松構(gòu)建web服務(wù)(New);
支持gethostbyname裹刮、mysqlclient音榜、ssl等常用第三庫(New);
可選的共享?xiàng)DJ剑瑔螜C(jī)輕松接入千萬連接(New);
-
完善簡潔的協(xié)程編程接口
- 類pthread接口設(shè)計(jì)捧弃,通過co_create赠叼、co_resume等簡單清晰接口即可完成協(xié)程的創(chuàng)建與恢復(fù)擦囊;
- __thread的協(xié)程私有變量、協(xié)程間通信的協(xié)程信號(hào)量co_signal (New);
- 語言級(jí)別的lambda實(shí)現(xiàn)嘴办,結(jié)合協(xié)程原地編寫并執(zhí)行后臺(tái)異步任務(wù) (New);
- 基于epoll/kqueue實(shí)現(xiàn)的小而輕的網(wǎng)絡(luò)框架瞬场,基于時(shí)間輪盤實(shí)現(xiàn)的高性能定時(shí)器;
C#項(xiàng)目
9、Newtonsoft.Json:Newtonsoft.Json 是一款 .NET 平臺(tái)中開源的 JSON 序列化和反序列化類庫涧郊,示例代碼:
public class Account
{
public string Email { get; set; }
public bool Active { get; set; }
public DateTime CreatedDate { get; set; }
public IList<string> Roles { get; set; }
}
Account account = new Account
{
Email = "james@example.com",
Active = true,
CreatedDate = new DateTime(2013, 1, 20, 0, 0, 0, ateTimeKind.Utc),
Roles = new List<string>
{
"User",
"Admin"
}
};
string json = JsonConvert.SerializeObject(account, Formatting.Indented);
// {
// "Email": "james@example.com",
// "Active": true,
// "CreatedDate": "2013-01-20T00:00:00Z",
// "Roles": [
// "User",
// "Admin"
// ]
// }
Console.WriteLine(json);
Objective-C贯被、Swift項(xiàng)目
10、aria2gui:Aria2 的 Mac 客戶端(下載工具)妆艘,介紹彤灶、使用方法,特點(diǎn):
- 集成了 aria2批旺,運(yùn)行后即完成配置工作
- 多線程下載
- 未完成任務(wù)退出可以自動(dòng)保存
- 支持迅雷離線枢希,百度,115朱沃,360等網(wǎng)盤的aria2導(dǎo)出(需要瀏覽器插件支持)
- 支持PT/BT,BT速度跟種子熱度有關(guān)茅诱,如果沒有速度網(wǎng)盤離線后再下載
- 在Badge顯示整體下載速度
- 任務(wù)完成通知
Java項(xiàng)目
11逗物、AndroidUtilCode:Android 開發(fā)人員不得不收集的代碼,中文介紹
12瑟俭、DanmakuFlameMaster:Bilibili 開源的翎卓,Android 開源彈幕引擎·烈焰彈幕使,特性:
- 使用多種方式(View/SurfaceView/TextureView)實(shí)現(xiàn)高效繪制
- B站xml彈幕格式解析
- 基礎(chǔ)彈幕精確還原繪制
- 支持mode7特殊彈幕
- 多核機(jī)型優(yōu)化摆寄,高效的預(yù)緩存機(jī)制
- 支持多種顯示效果選項(xiàng)實(shí)時(shí)切換
- 實(shí)時(shí)彈幕顯示支持
- 換行彈幕支持/運(yùn)動(dòng)彈幕支持
- 支持自定義字體
- 支持多種彈幕參數(shù)設(shè)置
- 支持多種方式的彈幕屏蔽
其它
13失暴、提問的智慧
14、jstraining:阮一峰微饥,全棧工程師培訓(xùn)材料
15逗扒、PTVS:Visual Studio 下的 python 開發(fā)工具
16、the-swift-programming-language-in-chinese:中文版 Apple 官方 Swift 教程《The Swift Programming Language》
17欠橘、styleguide:百度前端研發(fā)團(tuán)隊(duì)的文檔與源碼編寫風(fēng)格
18矩肩、weex:移動(dòng)端,跨平臺(tái)前端框架肃续,詳細(xì)的中文檔
19黍檩、macOS-Security-and-Privacy-Guide:A practical guide to securing macOS.(英文)
聲明
如果你發(fā)現(xiàn)了好玩、有意義的開源項(xiàng)目始锚,點(diǎn)擊這里分享你覺得有意思的項(xiàng)目刽酱。
- 分享項(xiàng)目格式:項(xiàng)目名稱——項(xiàng)目地址:項(xiàng)目描述(中文),追求完美??項(xiàng)目上手demo瞧捌、有圖有真相~
或許你分享的項(xiàng)目會(huì)讓別人由衷的感慨:“原來還有這么有意思的項(xiàng)目棵里!編程可以這么酷!”
歡迎轉(zhuǎn)載,請(qǐng)注明出處和作者衍慎,同時(shí)保留聲明和聯(lián)系方式转唉。