我的 Github 经历
我是 2010 年加入的 Github,应该是比较早的一批了。2013 年开始提交第一个 commit,到现在差不多 6 年的时间。期间因为全职读了一个 master,同时在全职工作(国外允许这种情况,因为第一年修完了大部分课程)有一段时间空白。其余的时间,只要有空,都会提交。
我对 Github 上中文项目的情感
早先的几年是很少在 Github 的 trending 上看到中文项目的,印象中是 2017 年前后,中文项目才开始逐渐崭露头角。记得之前有一次在 trending 上看到几个中文项目,我还特别兴奋的截图通知群里的伙伴(几个程序员)。虽然是 Markdown 项目,但是我觉得是一个好的开始,我相信今后会有越来越多的中文项目出现。
事实也确实如此,最近两年不断涌现大厂的开源项目,以及很多个人的优秀项目。比如:coc.nvim,因为我是 vim 用户,这个项目好到让我忍不住的去给作者捐款。
我的 Github 心路历程
- 最初,Github 只是一个工具,一个找 JavaScript 图片轮播,css 特效的地方,和博客园没有太大的区别
- 随后,我发现 Github 还是一个展示自己的平台,同时期,也面临着求职。所以会希望自己有更多的 follower,自己的项目有更多的 star,会觉得这样有影响力。期间因为想要刷提交记录,还写过一些没有太大意义的项目。这个阶段的我使用 Github 带有功利性。本质上还是对自己的不自信。
- 现在,随着生活和工作稳定,GitHub 又回到了一个工具。一个认识陌生人的地方,一个学习的地方,一个互相帮助的地方。对于自己写的代码,会希望能够帮助到别人和得到别人的肯定。更多的还是一种内心的满足。所以不会强求 star,反而非常希望有人能够和我交流讨论,毕竟业余时间除了玩会游戏,就是写代码。接下来也只会增加撸猫这个活动,主子 10 月份请回家。
我写的一些项目
vim 相关
- vim.sh - https://github.com/vim-sh/vim.sh 我持有 vim.sh 这个域名,想把它贡献给 vim 社区有需要的人,类似于js.org。免费提供二级域名给 vim 相关的项目。
- coverage.vim 类似于 wallaby,在编辑器上展示 line coverage 的信息
- vim-sort-imports 自动排序 js/ts 的 import 语句
- vim-fixmyjs 自动修复 linting error
- vim-gh-line vim 中打开当前行所在的 Github/Gitlab/Bitbucket 页面地址
- bigvim 我的 vim 配置
JS/TS 相关
- reapex 一个轻量级的 React/Redux 框架,之前在 v2 上发过,引发过一些讨论。
- universal-data-loader React 数据加载 /缓存组件
- react-keyboard React keyboard event handling,基于 mousetrap.js ,可以很方便的处理快捷键组合
- tushare.js 开源金融数据平台 tushare 的 nodejs 版,因为个人精力的问题,已经很少维护(抱歉),其实希望 tushare 社区能够接管。
以及还有一些其它杂七杂八的小项目。这里就不列举了。其中 1,2,3 用在了我们的生产环境,队伍内成员的评价都挺好的。
这里我还想再介绍一下Reapex,因为它帮助我所在的 team 解决几个很重要的痛点,我觉得它肯定也能帮助到更多的人。同时也期望看到不同的意见和建议。
- Reapex 大量的减少了使用 Redux 过程中的 boilerplate,使 state 的创建更加直观
- 可复用的逻辑和状态,大大提高了代码的复用性
- 模块的隔离降低了代码的复杂度,同时使得动态加载变得更加简单
- 基于 typescript 的强类型检查
围绕 Reapex,我还创建了Reapex 社区,我会持续的在上面发布 Reapex 相关的插件和代码。
以上就是一个普通程序员的 Github 自白,有人可能会问,为什么项目在没人关注的情况我还能坚持下去?动力在哪里?我的回答是:开始,坚持,然后习惯坚持。