我和 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 ✋。bash

本着上面的想法,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 可以在平台的基础上获得了更多的曝光,帮助了更多的人。

相关文章
相关标签/搜索