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