做点事
共 2946字,需浏览 6分钟
· 2021-04-13
一直都有一个心愿,就是想认认真真地做个开源项目。不论是从无私分享帮助他人的角度,还是造轮子吹牛逼的角度,都特别想有一个。
但一直很懒,就没有动手去做,看着 GitHub 上零零散散的绿点点,心里没有一丝波澜。
目前星标数最高的是 JavaBooks,里面主要是一些开源的 PDF,涉及版权问题的基本上都已经删除。剩下的像《教妹学Java》,是我自己写的,像《GitHub 上标星 115k+的 Java 教程》,是我从开源项目里花了很长时间整理出来的,像《SpringMVC 入门指南》、《Spring 入门指南》、《MyBatis 入门指南》(SSM 三件套)是好朋友松哥写的,还有像《JavaGuide 面试突击》是好朋友 Guide 哥写的。
在我看来,JavaBooks 的价值其实不在这些开源的 PDF 上,而在于它是一条丝滑般的学习路线。入门、工具、框架、数据库、并发编程、底层、性能优化、设计模式、操作系统、计算机网络、数据结构与算法、面试、架构、活着(最重要),Java 初学者只需要从一个模块中挑出一本自己喜欢的 PDF 来读,假以时日,就能学有所成!
但有一说一,JavaBooks 不是一个好的开源作品。真正好的开源作品应该是下面这样的。
1)mall
一套完整的电商项目,包括前台商城和后台管理系统,非常成熟,可以直接拿来作为电商项目的雏形。采用的技术有 SpringBoot、SpringSecurity、MyBatis、Redis、RabbitMQ 等等,都非常新颖,涉及到的技术该怎么用,也有非常全面详细的文档。
mall 的作者和我一样,都在三线城市,因此我们还蛮有共同话题的,交流得比较多。项目的 GitHub 地址我贴一下,感兴趣的可以去学习一下:
https://github.com/macrozheng/mall
2)vhr
一套全后端分离的人力资源管理系统,采用 Spring Boot 和 Vue 开发。企业级应用所涉及到的技术点,vhr 里面都用到了,比如说 Redis、RabbitMQ 等。这个项目除了文档齐全外,还配套了视频,可以在 B 站上白嫖。
vhr 的 GitHub 地址我就不贴了,直接去搜就对了,我推荐过很多次,这次贴一下 B 站的视频地址:
https://www.bilibili.com/video/BV1Xi4y1b7Y3
3)miaosha
高并发大流量如何进行秒杀架构?作者对这部分知识做了一个系统的整理,写了这套 miaosha 系统,目前在 GitHub 上已经星标 19.8k 了。因为秒杀、大促、打折等活动对高性能高并发要求比较高,所以这个项目还是很值得去学习的。
GitHub 地址我贴一下:
https://github.com/qiurunze123/miaosha
4)halo
halo,[ˈheɪloʊ],意为光环,也可以当成拼音读(哈喽),是一款现代化的个人独立博客系统。配套的有后台管理系统、主题仓库、官方文档等,论坛也维护得非常好。可以直接部署到服务器上,也可以部署到 Docker 环境下。
主题都还蛮漂亮的,大家想搭个人博客的话,可以考虑下。GitHub 地址如下所示:
https://github.com/halo-dev/halo
4)JavaGuide
一份涵盖了大部分 Java 程序员所需要掌握的核心知识都在里面,大家想学习 Java 或者准备 Java 面试的话强烈推荐。目前已经 100k+ 的 star 了,应该能排在国内开源仓库的前三名,非常强。
据 Guide 哥说,他是大三的时候开始维护这个开源项目的。tql,我一点都不酸!所以想出名的话,一定要趁早,大家行动起来。GitHub 地址如下所示:
https://github.com/Snailclimb/JavaGuide
那从这些优秀的开源项目中,我总结出来了一点小心得,所以打算做点事。
第一,我要做一个学习网站。网站长什么样子呢?
嗯,就长上面这样,很简洁,有没有?一眼看上去,就感觉对初学者非常的友好。关键是底部可以直接运行代码,这是这个网站的点睛之笔。
记得我刚参加工作那会,技术功底特别烂,但日企很有耐心,愿意花时间培养新人,所以我那时候的学习时间还是很充分的。有一个叫“编程入门网”学习网站,里面有大量的实例代码,我就一个个照着敲,没怎么看书,硬是通过大量的练习在很短的时间内把编程水平给提高了。
这个网站给我帮助很大,所以我心里也一直有这么一个愿望,我也要做这么一个对初学者非常友好的学习网站,嗯,今年我一定做出来,大家监督!
第二,我要把这个网站的源码开源出来,并且尽量做成“U盘”式的产品,以后大家想搭网站的话,直接就像使用 WordPress 那样,很快就能搭出来。希望能做成像 halo 那样的。
第三,给网站注入灵魂,也就是填满优质的内容。内容从哪里来呢?
可以翻译外文网站,比如说上面我提到的这个 learnjavaonline.org 这个网站,里面的内容虽然简单,但很适合初学者。
初版可以借助机器翻译。可能很多人会对机器翻译有偏见,认为机器翻译的质量肯定很一般,但我相信随着科技的发展,机器翻译可能会成为常态,像“译者”这种角色以后可能就不存在了,只存在校对。
我本身阅读英文的能力还行,再加上技术水平也还可以,所以可以在机器翻译的基础上进行校对。
另外,这么多年,我也积攒了不少优质的原创文章,这些沉淀的内容也可以直接搬到网站上去。
第一版包含了 20 篇内容:
hello world(机翻后校对) 变量和类型(机翻后校对) 条件语句(机翻后校对) 数组(原创) 循环语句(菜鸟教程) 方法(机翻后校对) 对象(机翻后校对) 编译和运行(机翻后校对) 继承(原创) 异常(机翻后校对) 抽象类(原创) 接口(原创) 泛型(原创) 集合框架(菜鸟教程) ArrayList(原创) LinkedLit(原创) HashMap(原创) TreeMap(原创) LinkedHashMap(原创) IO 流(CS-Notes)
我已经把第一版的内容放到了 GitHub 上,虽然比较简陋,但毕竟走出了第一步。
GitHub 地址我贴一下,大家可以去 star 支持下,让我实现从 0 到 1 的小目标,哈哈哈。
https://github.com/itwanger/learn-java-online
接下来,就是不断的完善,不断的迭代,让内容更丰富,成为 Java 初学者的一站式学习基地。
第四,让更多的人看到开源的学习内容和学习网站。我在公众号、知乎、CSDN、掘金都积攒了一些信誉,可以在这些地方做宣传。只要内容不管完善,慢慢就会形成口碑效应,然后就会不断的扩散出去~~~~~~
虽然我知道这并不容易,但能迈出去这第一步,我就觉得自己很了不起!
希望以后,我的 GitHub 趋势图可以绿油油的,希望能给大家带来一些真正有帮助的开源项目,共勉~