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