前两天看到一位朋友分享了他在开源圈做过的一些事,整理了他参与过的开源项目,以及他是如何通过参与开源提升自己技术的。
我看完后觉得蛮有意思,于是便想把这篇文章转给大家看看,希望能对大家有所帮助。
前言
最著名的开源软件平台 GitHub 也成为了程序员聚集地,甚至于 GitHub 上的 Star 数量一度成为了招聘加分项,以至于出现了专业刷 Star 的现象。
尽管我体验开源世界的日子并不长,但是依然想介绍一下我融入开源、做开源项目的过程。因为我猜测有很多同学和当年的我一样有以下特点:
对于开源软件好奇
想参与到开源软件的开发中
但是又不知从何下手
开源软件协会
研一时候,最开始了解开源软件,是加入了中科院开源软件协会。
当时的我是及其懵懂的状态,说两个例子就大概知道我的水平了。
还不会用 Git
还不会科学上网
加入协会之后,大概了解了当时在做的开源镜像站是什么,开源软件都有什么,知道了 GitHub 的存在。
后来研二我又继续留了下来,作为负责人之一,尝试着做开源项目,我的第一次尝试是刷算法题。
当时建了一个 QQ 群叫做中科院开源软件自习室,每天都以作业的形式发一道算法题和题解,群里一度有 500 多人,当时主要的目的就是希望督促自己刷题为找工作做准备,另外也号召了一些研一的学弟学妹一起做事情。
在有了一定的基础之后,第二次尝试就是做开源软件推荐,同样是每天推荐一个软件,然后分好任务大家值班完成,同时还有同学使用上述内容去每天更新协会的公众号,上述事情大概做了有几个月的时间,后来由于种种原因没有继续做下去。
研二结束后也结束了我的协会生涯,总体来说协会给了我机会让我去了解开源,也让我迈出了第一步。
首先要感谢乐神,尽管码蜂社的工作我做的很少,但是官网开发是我参与的第一个有协作相关的项目,正式开启了我的 GitHub 之旅。
在整个过程中熟悉了 JavaScript 的使用,更多的接触了前端开发并对之产生兴趣。后续就开始接触了更多的开源工具:
使用 GitBook 维护文档
使用 GitHub Page 建立博客
将一些相关的文档放到 GitHub 上
大量使用在线工具,包括石墨文档、nodeppt、draw.io 等
在整个过程中了解了 React、Koa 等开源框架,使用 hexo 做博客并开发了一个主题,看到了 two.js、three.js 等图形库的使用,可以说这个阶段几乎是我个人的前端之旅。
idea 与产出
开源平台在那里,但是做什么往往是最难想到的一件事情,而我又是一个希望做有意义项目的人,所以在很久一段时间除了写写博客、上传一些文档之外,并无其他建树。
直到刚上研三找工作的那段时间,idea 渐渐成熟,一直到毕业的这一年,产出了大概 10 个左右的小开源项目,说起来感觉很多,实际上都是基于平时生活中的经验和知识向前走了一小步,列举一下我的开源产出(只列举作为主要参与者参与开发的项目):
简介:开发者推荐阅读的书籍,整理了相关技术书单,并提供电子版下载和购买链接
类型:收集资料
相关技术:Node.js
Star:447
简介:支持自定义样式的在线微信 Markdown 排版工具,这个工具绝对是 Phoebe 的良心之作,开发的原因是为了用 Markdown 写公众号且苦于没有好用的工具
类型:网页应用
相关技术:React
Star:119
简介:支持 Markdown 和富文本的在线简历排版工具,这个 idea 绝对是我的独创,基于对设计和简历的理解,因为排版 Word 写简历麻烦故而开发了该工具
类型:网页应用
相关技术:React
Star:91
https://github.com/guanpengchn/markdown-resume
简介:这是一本书《实战 Java 高并发程序设计》的笔记和源码整理,在我整理前是没有现成的源代码可用的。
类型:收集资料
相关技术:Java
Star:63
https://github.com/guanpengchn/java-concurrent-programming
简介:力扣精选题解,画解算法合集。除此之外还记录了公众号的全部原创文章
类型:生活记录
相关技术:VuePress
Star:42
https://github.com/guanpengchn/LeetCodeDrawing
简介:明确计算机词汇发音,收集了大量的计算机词汇和音标,并制作了一个小测试页面,欢迎体验。
类型:收集资料
相关技术:Vue.js
Star:34
https://github.com/guanpengchn/awesome-pronunciation
简介:个人的 2019 年春招和秋招的全部面试经历,记录了面试时间、公司、题目和体验。
类型:收集资料
相关技术:Markdown
Star:20
简介:用于获取 GitHub 2018 年度代码报告的网页 H5,和网易云音乐的年度报告很像,这个是我网页应用开源的开端。
类型:网页应用
相关技术:React
Star:13
https://github.com/guanpengchn/github-annual-report
简介:通过读取 GitHub Issue 渲染 GitHub Page 的博客系统,曾经想过是否可以做成类似 hexo 一样的工具,后来发现没有 SEO 是硬伤,所以作罢。
类型:网页应用
相关技术:Vue.js
Star:11
https://github.com/guanpengchn/guanpengchn.github.io
简介:主要存放自己的读书、观影和 idea 记录,并且每月增加书单,这是我督促自己读书的仓库
类型:生活记录
相关技术:Markdown
Star:1
https://github.com/guanpengchn/reading-list
不知不觉 3 年的研究生时光过去了,已经入职工作了 1 个月有余,回想自己的开源世界经历,本质是督促自己前进、学会宣传自我的过程。
最后送给大家一句话:参与开源,学会分享,乐在其中。
以上,便是今天的分享,觉得内容对你有所帮助的,还请点个「在看」支持,谢谢各位。
推荐阅读:
「GitHub 交流群」已开放
想入群的可在公众号后台回复「入群」