Fork me on GitHub

我和 HelloGitHub

我?

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

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

當時我的編程能力,不制造 Bug 坑害別人就是萬幸了。談何實現自己的宏圖偉業,索性就開始蒙頭‘打錢’、‘升級’。打’小boss‘卡住的時候,在網上求助,然后就發現很多大牛都在一個叫做 GitHub 的地方‘布道傳技’,本著看看不要錢的心態,我注冊了賬號。

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

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

當我能打開這個‘游戲’,不玩出個樣子,都對不起我之前學 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 能夠在平臺的基礎上得到了更多的曝光,幫助了更多的人。

posted @ 2019-06-19 10:43 削微寒 閱讀(...) 評論(...) 編輯 收藏
内部期期公开一波中特