1K star+ 的项目是如何炼成的?

1K star+ 的项目是如何炼成的?_第1张图片

前言

首先标题党一下,其实这篇文章主要是记录我的第二个过 1K star 的项目 Java-Interview,顺便分享下其中的过程及经验。

1K star+ 的项目是如何炼成的?_第2张图片

需求选择

Java-Interview

之所以要做这个项目主要是当时我正在面阿里的两个部门,非常幸运的是技术面都过了。其中的过程真是让我受益匪浅更是印象深刻,所以就想把期间的问题记录下来,加上自己的理解希望能对其他朋友起到帮助。

正好那段时间也是传说中的金三银四,所以无形中也叫顺势而为吧。

SSM

这个项目的历史就比较悠久了,我看了下第一次提交差不多是两年前。

从这个名字也可以看出当初还是一个刚入行没多久的小菜鸟,因为之前在学 Java 的时候真的走了很多冤枉路,所以从头开始记录到现在整个过程所学到的东西,踩过的坑。

由于是面向小白,入门简单,上手较快也取的了一定的关注。

其实从这两个项目可以看出选择一个方向是很重要的

以及该项目解决了什么问题,长期的规划,受众是哪些都要考虑清楚(怎么有点像做产品,其实这就是你自己的产品)。

比如这两个项目的目标:

  • Java-Interview:持续更新面试问题,希望能让面试者知其然也知其所以然。
  • SSM:博主从小白到现在实际开发所遇到的问题记录,以及实战经验,现在逐渐会分享一些难点以及底层。受众大多是小白。

文档很重要

既然项目做出来是给人用的,那文档就显得至关重要了。

就像日常和前端怼接口时,有一个标准的文档输出比在白板上折腾半天要高的多。

1K star+ 的项目是如何炼成的?_第3张图片

其实仔细观察 GitHub 上热门的项目,会发现他们的文档几乎都有一些共同结构:

  • 简单描述项目是干什么的。
  • 快速启动。
  • 最近更新。
  • Q/A 答疑。
  • 项目截图。

主要目的就是要简单易读,快速上手。

然后把一些复杂的如系统设计、开发指南等可以放到 wiki 中。

切记不要什么东西都往 README.MD 中写,保持一个简洁的文档可以加分哦。

当然也可以在首页加入一些徽章如:

3.png

也能起到一些积极作用。

积极推荐

代码质量这个就不多说了,这应该是最基本的要求。

俗话说:酒香不怕巷子深。

但对于做开源项目来说就不太适应了,当你幸辛苦苦做了一个自认为很不错的项目,结果一年过去了都无人问津,这不免会有点打击积极性。

所以适当的自我推荐就很有必要了。

1K star+ 的项目是如何炼成的?_第4张图片

1K star+ 的项目是如何炼成的?_第5张图片

1K star+ 的项目是如何炼成的?_第6张图片

上图是我博客、项目的主要流量来源。

下面是我自身体验比较优质的推荐渠道:

  • 开发者头条:由于截图的时候没有新发文章,之前那篇秒杀架构实践发了之后博客 80% 的流量都是从头条过来的,而且质量很高,不得不点个赞。
  • 并发编程网: 并发编程网是由阿里大牛清英(买了那本《并发编程的艺术》就被圈粉了)创办的,其中的文章质量普遍较高(导致也会有一点写作门槛)。由于网站的流量也比较高,只要你的文章质量不错肯定会得到好处。
  • 掘金:掘金这两年也比较火,是专门做开发者内容的,也是网站流量不错。
  • 开源中国:开源中国的博客也不错,自己也有代码托管,但我还是更喜欢用 GitHub,一般上了编辑推荐都会有不错的访问量。
  • V2EX:大名鼎鼎的 V 站,其实受众较少,正因为如此也形成了独有的文化,因此也是我每天比逛(摸鱼)的网站,由于受众大多是开发者所以也能得到很多有用的反馈。
  • 大佬推荐:最快捷的方式其实就是口口相传,其中当然是大佬的效率最高。之前有个纯洁的微笑程序猿DD 都投过稿,也能带来不错的流量。
  • 简书:本来不想推荐简书的(之前的事件以及现在鸡汤太多),但是流量还可以,现在就纯粹当做博客备份的工具了。
坚持下来之后会发现:只要自己坚持、保证质量最后会形成自己的阅读圈子,到后面甚至会有其他朋友主动来找你分享,这些都是自我提升的过程。

不忘初心

当初做的第一个开源项目就是 SSM,完全受够学习时找资料的痛苦,也得到了很多人的帮助,所以才有了该项目。

平时工作中或多或少都会用到开源项目,其实我们大部分人也写不出 Spring、Guava 这样的项目,只是再这过程中可以参与进去,收获也是非常丰富的。

两年前参与开源到现在有收到面试邀请、物质奖励这些都是正面积极的,可以鼓励我们接着做下去。

但最多的还是在这过程中结识了很多朋友,技术能力提升也很明显,这些都是保持自我可持续发展的必要条件。

1K star+ 的项目是如何炼成的?_第7张图片

你可能感兴趣的:(github)