GitHub標(biāo)星1.6w+項(xiàng)目HelloGitHub,讓開(kāi)發(fā)更簡(jiǎn)單的開(kāi)源啟蒙手冊(cè)!
本文轉(zhuǎn)自雷鋒網(wǎng),如需轉(zhuǎn)載請(qǐng)至雷鋒網(wǎng)官網(wǎng)申請(qǐng)授權(quán)。
最近,一個(gè) GitHub 標(biāo)星 1.6w+的項(xiàng)目火了起來(lái),它叫做 HelloGitHub。聽(tīng)名字不難猜到,這個(gè)項(xiàng)目源于 『Hello World』,寓意為 GitHub 初次接觸者指南。
如果你恰好是一個(gè)編程新手,并糾結(jié)于該如何開(kāi)始 GitHub 開(kāi)源項(xiàng)目的學(xué)習(xí)與研究,這本手冊(cè)就恰恰能很好解決這一難題,它的最大亮點(diǎn)就在于 GitHub 入門(mén)。
Hello!HelloGitHub
據(jù) HelloGitHub 的創(chuàng)建者自述,他本科就讀于計(jì)算機(jī)專(zhuān)業(yè),目前是一名 Python 程序員。與很多開(kāi)發(fā)新手類(lèi)似的是,他與 GitHub 之間也是由起初的好奇與困惑、到了解再到之后開(kāi)始上傳自己的項(xiàng)目,逐漸由小白成了可以熟練運(yùn)用這一工具的能人。
也正是因此,他將自己的摸索過(guò)程整理出來(lái),希望能夠讓更多開(kāi)發(fā)者通過(guò) HelloGitHub 這一項(xiàng)目,更好的運(yùn)用開(kāi)源工具,提高自己的開(kāi)發(fā)能力。
從最初在 GitHub 上面創(chuàng)建 HelloGitHub 開(kāi)源項(xiàng)目;再到后期不斷更新月刊;再到之后項(xiàng)目更加成熟后,作者編寫(xiě)了 Web 網(wǎng)站,界面更加友好。
當(dāng)前,開(kāi)發(fā)者既可以通過(guò) GitHub 直接訪(fǎng)問(wèn)該項(xiàng)目,也可以直接訪(fǎng)問(wèn) HelloGitHub 網(wǎng)站;兩個(gè)訪(fǎng)問(wèn)平臺(tái)上內(nèi)容大致相同,主要分為了 3 個(gè)板塊:
-
18 個(gè)分類(lèi)
在這一欄目中,作者將推薦的項(xiàng)目進(jìn)行了分類(lèi),類(lèi)別包括了:C 項(xiàng)目、C# 項(xiàng)目、C++項(xiàng)目、CSS 項(xiàng)目、Go 項(xiàng)目、Java 項(xiàng)目、JavaScript 項(xiàng)目、Kotlin 項(xiàng)目、Objective-C 項(xiàng)目、PHP 項(xiàng)目、Python 項(xiàng)目、Ruby 項(xiàng)目、Rust 項(xiàng)目、Swift 項(xiàng)目、開(kāi)源書(shū)籍、機(jī)器學(xué)習(xí)、教程以及其它。
每個(gè)項(xiàng)目中,都涵蓋了大量適合新手的開(kāi)源項(xiàng)目和其對(duì)應(yīng)地址,網(wǎng)站還設(shè)置了收藏功能,便于用戶(hù)查找。
-
44 期推薦更新
每月 28 號(hào),專(zhuān)欄作者會(huì)將這個(gè)月收集的精彩項(xiàng)目,例如:流行項(xiàng)目、入門(mén)級(jí)項(xiàng)目、讓生活變得更美好的工具、企業(yè)級(jí)項(xiàng)目等匯總為一篇文章,并發(fā)布為期刊。項(xiàng)目?jī)?nèi)容幾乎涵蓋了 18 個(gè)分類(lèi)中的所有類(lèi)別,推薦項(xiàng)目也會(huì)隨當(dāng)下開(kāi)發(fā)者們的關(guān)注熱度及項(xiàng)目性能體驗(yàn)多方面進(jìn)行相應(yīng)的考量,可以當(dāng)做「新手程序員雜志」月刊進(jìn)行閱讀。
-
個(gè)性推薦欄目
除了作者每月的更新之外,每個(gè)人也可以推薦自己喜歡的 GitHub 開(kāi)源項(xiàng)目;當(dāng)然也可以在這一 part 中,分享自己開(kāi)發(fā)的項(xiàng)目。
有趣的 github 項(xiàng)目列舉
當(dāng)我把這一項(xiàng)目推薦給身邊的開(kāi)發(fā)者朋友之后,他也給了我很多積極的反饋。他在這個(gè)項(xiàng)目中,發(fā)現(xiàn)了很多有趣實(shí)用的項(xiàng)目。在此,我選擇了部分項(xiàng)目進(jìn)行詳細(xì)的分享與展示。
-
Wrk
現(xiàn)代 HTTP 基準(zhǔn)測(cè)試(實(shí)現(xiàn)對(duì)一類(lèi)測(cè)試對(duì)象的某項(xiàng)性能指標(biāo)進(jìn)行定量的和可對(duì)比的測(cè)試)工具。它集成了多線(xiàn)程設(shè)計(jì)與事件通知系統(tǒng)(如 epoll、kqueue)提升并發(fā)量,可以通過(guò)編寫(xiě) Lua 腳本來(lái)進(jìn)行擴(kuò)展,例如 HTTP 請(qǐng)求的生成、響應(yīng)處理、自定義報(bào)告。
這是很多開(kāi)發(fā)者都曾經(jīng)推薦過(guò)的 HTTP 性能測(cè)試工具,并且操作也非常簡(jiǎn)單。在開(kāi)源地址中下載然后進(jìn)入項(xiàng)目目錄,再執(zhí)行 make 編譯,就能在當(dāng)前目錄中生成一個(gè) wrk 可執(zhí)行文件了。
Wrk 目前已有 22.8k 的星標(biāo)數(shù),地址為:
https://github.com/wg/wrk
Wrk 使用示例
-
machine-learning-for-software-engineers
一個(gè)自上而下的學(xué)習(xí)路線(xiàn),軟件工程師的機(jī)器學(xué)習(xí)教程(中文版)。
項(xiàng)目作者的主要目標(biāo)是希望找到一種以實(shí)踐為主的學(xué)習(xí)方法,并為初學(xué)者抽象掉大多數(shù)的數(shù)學(xué)概念。項(xiàng)目中包含了:機(jī)器學(xué)習(xí)概論、機(jī)器學(xué)習(xí)方法、機(jī)器學(xué)習(xí)項(xiàng)目實(shí)踐等內(nèi)容,并整理了大量與機(jī)器學(xué)習(xí)相關(guān)的學(xué)習(xí)資料、視頻與心得等,非常適合新手機(jī)器學(xué)習(xí)工程師研讀。
該項(xiàng)目已獲得 23k 的星標(biāo)數(shù),項(xiàng)目地址為
https://github.com/ZuzooVn/machine-learning-for-software-engineers
項(xiàng)目部分內(nèi)容
-
Newtonsoft.Json
一款 .NET 平臺(tái)中開(kāi)源的 JSON 序列化和反序列化類(lèi)庫(kù)。它支持使用 Json.NET 的 JObject,JArray 和 JValue 對(duì)象創(chuàng)建,解析,查詢(xún)和修改 JSON;使用類(lèi)似 XPath 的語(yǔ)法查詢(xún) JSON;如果需要,Json.NET 支持在 XML 和 JSON 之間進(jìn)行轉(zhuǎn)換。
其性能可以實(shí)現(xiàn)比 DataContractJsonSerializer 快 50%,比 JavaScriptSerializer 快 250%。目前,Json.NET 的下載量和下載量均超過(guò) 1 億,是 NuGet 上排名第一的庫(kù)。
Newtonsoft.Json 的星標(biāo)數(shù)為 7.4k,地址為
https://github.com/JamesNK/Newtonsoft.Json
性能比較圖
-
Simhash
此項(xiàng)目用來(lái)對(duì)中文文檔計(jì)算出對(duì)應(yīng)的 simhash 值。simhash 是谷歌用來(lái)進(jìn)行文本去重的算法(詳見(jiàn) simhash 算法原理及實(shí)現(xiàn)),現(xiàn)在廣泛應(yīng)用在文本處理中。
特征包含:使用 CppJieba 作為分詞器和關(guān)鍵詞抽取器、使用 jenkins 作為 hash 函數(shù)、hpp 風(fēng)格(所有源碼都是 .hpp 文件里面,方便使用)、項(xiàng)目副產(chǎn)品項(xiàng)目 simhash_server 提供簡(jiǎn)單的 simhash HTTP 服務(wù)。
項(xiàng)目地址為
https://github.com/yanyiwu/simhash
-
SQLAdvisor
美團(tuán)開(kāi)發(fā)維護(hù)的一個(gè)分析 SQL 索引索引優(yōu)化建議的工具,目前已在內(nèi)部廣泛應(yīng)用,該工具性能較為成熟、穩(wěn)定。在數(shù)據(jù)庫(kù)運(yùn)維過(guò)程中,優(yōu)化 SQL 是 DBA 團(tuán)隊(duì)的日常任務(wù)。例行 SQL 優(yōu)化,不僅可以提升程序性能,還能夠降低線(xiàn)上故障的概率。
SQLAdvisor 項(xiàng)目則基于 MySQL 原生態(tài)詞法解析,結(jié)合分析 SQL 中的條件,聚合條件,多表加入關(guān)系給出索引優(yōu)化建議。它支持支持常見(jiàn)的 SQL(Insert/Delete/Update/Select),支持多表 Join 并自動(dòng)邏輯選定驅(qū)動(dòng)表,同時(shí)也支持支持聚合條件 Order by 和 Group by。
該項(xiàng)目獲得了 4k+的星標(biāo),開(kāi)源地址為:
https://github.com/Meituan-Dianping/SQLAdvisor
SQLAdvisor 架構(gòu)流程圖
-
beijing_bus
適用于 Python 的「北京實(shí)時(shí)公交」代碼。相對(duì)于基礎(chǔ)工具,這是一款擁有具體功能較為成熟的應(yīng)用型項(xiàng)目。這一項(xiàng)目向我們展示了實(shí)時(shí)公交系統(tǒng)開(kāi)發(fā)的原理。這一貼合生活的開(kāi)發(fā)內(nèi)容難度適中且富有趣味,非常適合新手進(jìn)行摸索與學(xué)習(xí)。
項(xiàng)目地址為:
https://github.com/wong2/beijing_bus
代碼示例界面
-
Python-goose
文章提取器,goose 可以獲取任何新聞文章或文章類(lèi)型的網(wǎng)頁(yè)。不僅是提取文章的主體,它可以還提取所有元數(shù)據(jù)和最有可能的圖像候選者,例如:文章的主要圖片、文章中嵌入的電影、元描述、元標(biāo)記等。
該項(xiàng)目已獲得 3.5k 的星標(biāo)數(shù),項(xiàng)目地址為:
https://github.com/grangier/python-goose
使用界面
更多實(shí)用功能
目前,HelloGitHub 網(wǎng)站每個(gè)月有超過(guò) 10w 的訪(fǎng)問(wèn)量。隨著用戶(hù)的增多,網(wǎng)站的功能也有了更新,增加了:搜索、公告欄、RSS、語(yǔ)言排行榜、數(shù)據(jù)庫(kù)排行榜、服務(wù)器排行榜、API 接口服務(wù)等功能。其中部分內(nèi)容詳情如下——
-
編程語(yǔ)言月報(bào)
該欄目整理了最新的 TIOBE 編程語(yǔ)言排行榜,并發(fā)布了 TOP 50 榜單。通過(guò)編程語(yǔ)言排名、流行度等數(shù)據(jù)的了解,可以幫助我們更好的預(yù)測(cè)這個(gè)不斷變化地時(shí)代下,編程的未來(lái)發(fā)展方向。
Top 10 編程語(yǔ)言排名走勢(shì)圖
-
Web server 月報(bào)
為關(guān)注關(guān)注服務(wù)器流行動(dòng)態(tài)的開(kāi)發(fā)者們,提供最新 Netcraft 服務(wù)器流行度報(bào)告。其中,Netcraft 公司官網(wǎng)每月發(fā)布的調(diào)研數(shù)據(jù)報(bào)告——Web Server Survey 系列,已成為當(dāng)今人們了解全球網(wǎng)站的服務(wù)器市場(chǎng)份額、排名情況的主要參考依據(jù),時(shí)常被諸如華爾街雜志、英國(guó) BBC、Slashdot 等知名媒體引用。
2019 年 11 月 Web 服務(wù)器排行榜——活躍網(wǎng)站的排名
-
數(shù)據(jù)庫(kù)月報(bào)
提供了最新 DB-Engines 數(shù)據(jù)庫(kù)排行榜,便于關(guān)注數(shù)據(jù)庫(kù)流行動(dòng)態(tài)的開(kāi)發(fā)者了解相關(guān)資訊。
DB-Engines 排名是按人氣排名數(shù)據(jù)庫(kù)管理系統(tǒng),涵蓋 340 多個(gè)系統(tǒng)。排名標(biāo)準(zhǔn)包括搜索系統(tǒng)名稱(chēng)時(shí)搜索引擎結(jié)果的數(shù)量、Google 趨勢(shì)、 Stack Overflow 網(wǎng)站、LinkedIn、Twitter 等社交網(wǎng)絡(luò)中的提及的情況,綜合比較、排名。
往期 DB-Engines 排名數(shù)據(jù)
更多詳情查看,相關(guān)地址整理如下
HelloGitHub 項(xiàng)目地址:
https://github.com/521xueweihan/HelloGitHub
HelloGitHub 網(wǎng)頁(yè):
https://hellogithub.com/
排行榜月報(bào)快捷查看地址:
https://hellogithub.com/report/db-engines/?url=/periodical/category/C%20%E9%A1%B9%E7%9B%AE/