我和 HelloGitHub

我?

我是一個本科學歷、無大廠經歷,普通的 Python 程序員。前端

雖然是計算機專業,可是大學玩了四年(Dota)後,發現本身無一技能傍身,要餓死啦!偶然間接觸了 Python 這門編程語言,發現編程還能這麼簡單!自學了幾個月,而後就光榮的成爲了一名 Pythoner,終於能開始本身養活本身,那麼下一步就但願用雙手實現本身天馬星空的想法git

當時個人編程能力,不製造 Bug 坑害別人就是萬幸了。談何實現本身的宏圖偉業,索性就開始矇頭‘打錢’、‘升級’。打’小boss‘卡住的時候,在網上求助,而後就發現不少大牛都在一個叫作 GitHub 的地方‘佈道傳技’,本着看看不要錢的心態,我註冊了帳號。程序員

第一次見它的時候,絲毫沒有體會到它的魅力:‘語言不通’、‘高冷’、拒人千里以外。打了幾回照面以後,我開始慢慢地知道這個網站是幹什麼的,是一個開源項目分享(託管)的平臺,就是別人上傳本身的代碼給別人用,使用者也能夠提交代碼幫這些項目修復 bug。最開始的時候我只是在上面遊蕩、瞎看,雖然不少東西我看不懂,可是我知道人以類聚、物以羣分的道理。大牛混的平臺,沾沾光也是極好的。github

就像看遊戲視頻,看久了就會手癢,就想打兩把,而後我就照貓畫虎地學會了 Git。編程的東西就這點好,原理啥都不明白也能行,跟着教程一個字母一個字母的輸入完成,只要沒有抄錯,就能運行成功,達到你預想的結果。chrome

當我能打開這個‘遊戲’,不玩出個樣子,都對不起我以前學 Git 所花費的時間。而後我就開始往 GitHub 上傳本身寫的東西,都是簡單瑣碎的東西,好比:當時我在學 Python 我就把本身的 demo 代碼上傳上去,就算沒人看最起碼還能讓我熟悉 Git 的命令。而後天天都會花一些時間去瀏覽別人的項目,發現好的項目我就會收集起來。當時天天都處於兩眼冒光的狀態:這個教程寫的真好、這個工具真炫、這個功能他怎麼實現的、這個...這個...這個大牛的頭像真醜。
數據庫

👶🏻 你好,GitHub編程

HelloGitHub

此時的 GitHub 對我來講就是一個看着很好吃,但又是不知道從何處下口的蛋糕🍰,徒咽口水。後端

我在上面閒逛的過程當中不知不覺,收集了 10 幾個本身以爲很好玩的項目。我就想會不會有人還不知道這些項目、會不會有人還沒發現這個讓人天天眼前一亮的平臺?再加上我記性很差,我得找個地方記下來,若是有幸我收集的項目幫助了和我同樣的小白,那真是 give me five ✋。服務器

本着上面的想法,2016 年 5 月,我在 GitHub 上面建立了 HelloGitHub 開源項目。它就是一個分享 GitHub 上入門、有趣的開源項目,沒有一行代碼。名字的含義就是:學習編程語言的輸出的第一句話通常都是 ‘Hello World’,Hello GitHub 就是但願新手能夠從這裏開始你的開源之旅,傳達開源對新手友好的信息。微信

而後我提交了第一個 commit,發佈了第一期月刊。

開始的時候 GitHub 上根本就沒人給我留言、star、更不知道有多少看了個人項目。一個月後我意外的收穫了差很少 20 個 star,我特別開心:「嗯,太好了。我寫的項目有人看和關注,搞起來。「

而後我天天就固定花 1 個小時逛 GitHub,晚上總結一些學習心得,而後發到個人博客(博客園)上。我特別感謝在我第一期月刊下面給我留言的小夥伴,他們對新手真的十分友好,都是鼓勵和點讚的。固然也有衝着個人美女頭像來的🙈,下面這個頭像是樸信惠,不是我!

就是這些鼓勵評論和 star,後來決定每月 28 號發一期,由於無論是平年仍是閏年,每月都有 28 號,不給本身不發月刊找藉口。下面這個截圖是博客園上面的一位讀者——馬三小夥兒,他從第一期開始幾乎每期都會來評論和支持 HelloGitHub 月刊,讓我一度覺得他是機器人🤪

第一行代碼

寫完第 01 期,我以爲我應該寫一個模版,開頭啊、結尾啊。好歹我也是個程序員,重複性的工做就應該會用編程來解決。而後我就寫了個生成月刊內容的腳本,其實就是開篇和結尾是固定的,每期的內容我按照固定的格式編寫好,運行腳本生成最終的月刊。下面就是個人模版:

興趣是最好的老師,而《HelloGitHub》 就是幫你找到興趣!
xxxx

簡介
最開始只是我本身瀏覽github過程當中收集的一些有中文介紹,通俗易懂,簡單容易上手的項目。後來一想,若是每一個github都有個簡單的效果圖,或者一些通俗易懂(中文的介紹)。這樣應該更容易讓我這樣的新手接受。

因此,我就想作一個月刊的形式,面向新手的github月刊,月刊的內容主要包括:中文項目、少量英文項目、翻譯的書籍以及教程。項目越容易上手越好,看起來越cool越好!主要是能動手用起來,我以爲這樣會有助於編程能力的提升。《HelloGithub月刊》這個項目就誕生了!😄

內容:
bala 吧啦啦啦啦啦啦

聲明
xxx

而後第 02 期開始就是用腳本生成的,當時我就以爲本身把本身給坑了。那個腳本太難用了,修改、調試腳本的時間比寫月刊的內容還長😢!可是本身的寫的程序,含着眼淚也要用。

自動收集項目腳本

就這樣堅持每月更新,第 03 期更新了下月刊的模版,差很少也就是這個時候 star 數破百啦!🤩

慢慢的我發現本身看能懂的項目愈來愈多了,因此推薦的項目數量能維持在 10 個左右。後來有人也在文章下面留言給我推薦項目,可是處理起來不是很方便。

我就想經過 issues 來接受其餘小夥伴發現的有趣的項目。我就增長了能夠經過 issues 給我推薦項目,其實這個功能應該是提 Bug 用的 😂。這是第一個經過 issues 給我推薦項目的人——zhbzz2007

可是推薦項目的仍是不多,由於每期要推薦 10 個以上的項目。我天天都要花一部分時間去收集、整理項目,我想能不能天天彙總項目而後給我發郵件。這樣就不須要輪詢的去看 GitHub 首頁了(一方面也是工做上任務多了)。而後我就寫了一個天天彙總,我關注的大牛 star 的項目,而後發一封郵件給我。這樣我就又回覆自由身了,能夠摸魚了(低調、低調)

第 05 期的時候,朋友幫我製做了第一個版的月刊封面:

第一年,我本身說的算的網站

不知不覺,維護 HelloGitHub 這個項目已經到了第一個年頭,月刊也來到了第 12 期。項目的 star 數居然破千了,我當時覺得這個項目須要 2 年纔能有 1k 個star,激動之餘我開始頭疼之後項目該如何維護和編輯項目

由於當時數據的仍是經過文檔維護,我有時都不知道本身新收集的項目,是否是以前推薦過。就在這時候,我程序猿的 Web 開發技能點亮了!當時我都是在別人搭建好的項目下,進行模塊開發。我工做中使用的 tornado,可是我沒有用它寫,我選用了我以前沒用的 Flask 框架。由於它夠小,那就說明我須要從頭開發一個 Web 項目,ORM 的選擇、中間件的選擇、項目的結構等。

這個項目一方面爲了我編輯項目方便,另外一方面是爲了讓我練習從頭開發一個 Web 網站。網站分前臺展現月刊,後臺編輯管理項目。我不知道打雞血是什麼狀態和感受,我就記得當時白天上班,晚上下班寫本身的網站,有的時候寫着寫着聽見早晨的鳥叫了、有的時候一擡頭髮現天亮了、還有的時候想功能和實現方法想的太興奮,致使睡不着覺,睡不着就爬起來寫代碼。

我發現本身真的熱愛寫代碼,寫本身的代碼。

我用了兩個星期左右,開發完了網站的功能。後端是 Flask + peewee,前端使用 jQuery + Flask 的 template(Jinja),CSS 寫的我快瘋了我是真的不會寫前端。

期間買了域名、服務器,當時是我去辦理備案的手續,備份是要拍照的。拍照的時候我盡力憋着不讓本身笑出來,我覺得拍完網站就能上線了。可是後來發現手續辦理速度還真沒有我發開的速度快。而後大約一個月的時間等待域名備案完成、部署服務器,個人網站於 2017 年 6 月 15 日 18:44 時上線了—— hellogithub.com。我還和本身的網站拍了個合影記念(我露臉了,就不放合影了),下面是個人網站初版樣子:

上線後訪問寥寥無幾,可能部署在個人國外服務器上,訪問速度太慢了。我就遷移到了國內,又花了一筆銀子💰。而後我就繼續出月刊,並在月刊中推廣個人網站。

小夥伴

再後來我就把網站的源碼開源到了 GitHub 上面,雖然代碼寫的很很差,可是也有一些人的鼓勵性質的 star,讓我備受鼓舞。訪問量穩健的上上升,從最開始只有我本身發刊用和 Debug,基本沒什麼訪問量。到後來一個月能有近 1 萬的訪問量,讓然有一大部分仍是機器人😄,但我也是很開心的,最起碼有人訪問了。

由於我實在是不會寫前端,正好有人聯繫我要一塊兒作 HelloGitHub 這個網站。咱們就一塊兒開發了網站上的收藏功能,便於用戶的收集和查看。後來我忘了什麼緣由,他就退出不一塊兒作了。

以後的一段時間項目每次發佈,沒什麼特別多的關注度,處於平穩上升的階段。這個時候我也一度想放棄,以爲有些無趣。其實對於開源項目的維護者來講,使用者、關注的反饋真的是特別重要的,這些反饋能證實他的努力沒有白費。

當時我就給本身猛灌雞湯:如今已經開發了本身的網站,我不想本身寫的東西沒人用。並且已經一部分人關注了個人項目好比:馬三同窗,我不能就這樣‘太監了’,我得堅持作下去,能作一期是一期吧。並且我研究下當下很流行的開源項目,大多數都是一點一滴作起來的,有作 5 年、10 年的纔可能被你們承認、熟知和使用。他們最初都是默默無聞的在作,就像維護本身的小菜園。終有開花結果的時候,就算是結出的果實很小,沒有‘買’來的品相好、個頭大,可是這種味道是‘買’不來的。

可能作開源最難的是堅持吧!

尋求改變,才能激發鬥志。我以前一直是被動招募專欄負責人,後來一個偶然的機會我看到這個貨 的博客。我以爲他必定是個前端大牛,我要把他拉來拯救我,讓我再也不寫前端。後來他就成爲了 HG 的第一位專欄負責人,負責 JS 專欄 —— 小猴,咱們一塊兒出刊、想各類方法提升咱們的項目知名度、頭腦風暴。

每當我和朋友聊起 HelloGitHub 這個項目,我都會告訴別人小猴是一個對我、對這個項目很重要的人,咱們榮辱與共。固然還有雷神這個老發「給大佬端茶」表情的大佬負責 Go 專欄,他就跟他的微信頭像同樣‘猥瑣’。

固然還有咱們的的設計師遠哥,他設計了 HelloGitHub 的 logo,專業的就是不同:

咱們一塊兒讓 HelloGitHub 從新恢復了活力和繼續前進的力量。

人一輩子都在路上,有的人走着走着就走散了。有的人走着走着就並肩做戰了。

第二年,信心滿滿

真是應證了那句:「人多力量大」 的口號,基於咱們一直堅持不斷的出刊、並在保證質量的狀況下更多的推薦項目、各位專欄負責人的加入使得項目內容更加豐富。

從而 HelloGitHub 迎來了第一個迅猛的增加和大量的關注。截止 2018 年 3 月 HelloGitHub 兩週年的時候,項目的 star 數增加了 3k。連續 3 天 GitHub 趨勢首頁、Python 分類名列前茅;一天飆升 300 stars,個人整個首頁都被 star 信息填滿,往下滑了好幾頁;HelloGitHub 項目共有 4k 的 stars、《HelloGitHub》月刊系列博文共 4萬 閱讀量;

在 17 年末的時候,這段時間我工做上遇到了不少的挑戰。咱們須要重構一個很老的項目,老的項目代碼真的很爛、沒有文檔、近 6 萬行。我負責的那部分,還有 Java 的項目重構爲 Python 項目,當時我連 Java 的基本語法都記不全,可是最終咱們(最後就兩我的了)把這個項目啃完了。

當時我才真正的意識到,在作 HelloGitHub 項目時,個人那些能力獲得了提高:在篩選項目的時候,我閱讀代碼的能力獲得了很大程度地提升、對項目的結構和理解能力提高特別多、編碼和動手能力、學習新技術的能力、讓我對源碼沒有了恐懼,我還能經過閱讀源碼找出使用的第三方庫致使的問題和解決辦法。這些都是我在收集項目和開發網站中一點一滴積累起來的,而後在工做中受益不淺,可以委以重任。

不積跬步,無以致千里。

第三年,新的高度,從新起航

這一年加入了不少新的小夥伴:喜斌、小飛、小季、小豬蹄、阿龍,負責相應專欄的項目篩選和 issues 管理。制定了推薦項目的審覈標準、專欄合刊的整個流程。開了知乎專欄,歷史內容遷移到了專欄,新內容也會同步上去。

隨着用戶的增多,我也但願可以給用戶更好的閱讀體驗。而後網站的功能增長了:搜索、公告欄、RSS、語言排行榜、數據庫排行榜、服務器排行榜、API 接口服務,如今每月能有近 10 萬的 PV。

與 D2 開源組織合做開發了推薦項目的 chrome 插件,相互取長補短,共同進步。每期同步推薦到阮一峯老師的週刊,可是收錄不收錄要看老師的心情😅。

基於上述的努力和合做組織的推薦 HelloGitHub 項目也迎來了高光時刻和斷崖式成長,這一年增了 8k star,成爲了 10000 星項目:

我在建立這個項目的時候根本沒想過它會有今天的成就,這只是個推薦 GitHub 上入門、有趣的開源項目的開源項目,我最初爲了方便本身收集有趣、看的懂的項目的想法,作到如今的樣子。於此同時 HelloGitHub 也時刻在督促我不斷的成長、用程序解決效率問題。

在這個過程當中,我更加深入的體會到編程是用來解決實際問題的解決方式,它會讓工做流程更加順暢和便捷。

對,是我建立了這個萬星的項目 HelloGitHub,但我就是個只會 Python、本科學歷、無大廠經驗的普通程序員。作開源項目不難,我這種普通的程序員均可以,你固然也能行!咱們 HelloGitHub 還在路上,加入咱們或者開啓本身的項目。

種一棵樹最好的時間是十年前,其次就是如今。

將來

咱們但願 HelloGitHub 項目將來可以成爲開源項目發起者和使用者的溝通的橋樑,後續會增長月刊讀者的溝通和互動。同時讓更多人知道 HelloGitHub 項目,讓開源的信息更方便的傳遞到程序員的手中。

讓走在開源路上的開發者再也不孤單,讓想進入開源世界的人再也不畏懼。

這是咱們 HelloGitHub-Team 的願景和努力的方向,只要前進就會攀登到更高的高峯,看到更美的景色。中途會遇到種種困難和走錯的彎路,但畏懼不能讓人成長。加入開源的世界,你必定會變強,並且天天都會有發現新大陸的感受。

路漫漫其修遠兮,吾等將上下而求索。

最後

這就是我和 HelloGitHub 的故事,未完待續。。。(下次不知道幾年後纔會更新,因此須要掃描下面的二維碼關注 HelloGitHub 的最新動態和文章,掃描它和咱們並肩前行😁)

每個關注、留言、轉載、點贊都是對咱們最大的鼓勵和確定!

鳴謝

感謝 GitHub 上面的貢獻者和項目發起者們,大家讓世界更美好。

感謝給 HG 推薦項目的小夥伴,貢獻者列表,大家讓優秀的項目被更多人所發現。

感謝每期月刊下面的評論、點贊、star、轉發的小夥伴,大家是 HelloGitHub 維護下去的動力。

最後,下面的平臺記錄了 HelloGitHub 成長的每個階段。特別感謝 GitHub、博客園、掘金、即刻、V2EX 這些平臺,提供了優秀的程序員社區和交流平臺,讓 HG 可以在平臺的基礎上獲得了更多的曝光,幫助了更多的人。

相關文章
相關標籤/搜索