大家好,我是程序员鱼皮。从我第一次在 GitHub 上开源项目,至今已有 8 年,也从来没有想到过,自己能登上 GitHub 中国区域关注榜前 8 名!
虽然还有很多我国的开源大神是由于区域不在国内,没有统计到这个榜中。而且这个榜单排名并不代表作者技术水平的高低或者对开源社区的贡献。但不管怎么样,这也是大家对我的认可,是我努力过的证明,也会让我有更多前进的动力,谢谢大家!
随着开源项目越来越多,我也精心装饰了自己的主页哈哈。这个主页已经被很多同学拿去用了,感兴趣的同学可以直接 copy 复刻~
下面聊聊我做开源这么多年的经历、心得,以及开源过的项目介绍,有很多值得学习和参考的项目哦~
我的开源故事
GitHub 上开源的高星仓库大致可以分为 4 类:
- 技术轮子(研究方向)
- 真实项目(实战方向)
- 资源整合(实用方向)
- 整活娱乐(创意方向)
不可否认,每种类型的仓库都有自己的价值。我至今开源过近百个仓库,这些方向的内容都有覆盖,也有 10 多个千 star 项目,也算是不拘一格了。
1、初入开源
然而,在最开始的时候,我开源的都是一些自己写的小破玩意,像什么会议管理系统、个人小网站、魔改的小游戏、某个小算法、有用的前端和 Python 小工具什么的。
还有自己做过的算法题、用过的云服务客户端、Linux 命令练习等等,基本上写过的代码都通过 GitHub 保存了下来,纯把 GitHub 当网盘用了哈哈。
这些东西虽然非常水,但也帮我养成了开源分享的好习惯,算是为我后面分享更多高质量开源项目做了铺垫吧~ 我也建议所有学编程的同学,不要把 "开源" 这件事想的太复杂,大胆提交分享代码,熟悉平台和 Git 工具,对以后工作中团队协作也有很大的帮助。
2、渐入佳境
20 年我开始做自媒体,那会儿我也是刚拿到了腾讯正式 Offer,有了更多的经验和更多的时间给大家做分享。也是那段时间,我把自己学到的东西、做过的项目都毫无保留地分享出来,收获了第一批原始粉丝。
比如表情包搜索神器、后端常见面试题、魔改游戏工具、表情包网站、免费编程资源大全、前端小组件等:
这个阶段虽然我已经做过了很多项目,但技术知识还是存在不足,所以我选择通过持续开源分享这种 输出 方式来倒逼自己 输入 知识,不断做新的项目。利他的同时,也是利己。
我现在看到很多年轻人(特指比我年轻的人,我也才 26 哈哈)才刚刚做了一个开源项目,就已经拿来做课程卖米了。不是说这样做不好,但有些过于功利和急躁了,反而可能会影响自己学习技术和做项目的心态。至少在我看来,边学习边输出、不在意数据的时光是最快乐的,也是进步最大的时候。
3、开源狂魔
时间到了 22 年,那时我已经在腾讯工作 3 年了,独立负责过完整项目,也在技术上有了不小的进步。所以在那之后,我开源的项目无论是功能完整度、还是代码规范性、还是复杂度都上了一个台阶,也是因为收获了更多朋友的关注,我开源的项目会更注重【可学习性】,希望能作为教学项目给大家参考。
这个阶段我开源的项目就非常多了,分享一些值得学习的:
1)智能协同云图库
25 年的王牌项目,基于 Vue 3 + Spring Boot + COS + WebSocket 的全栈项目。项目应用场景广泛,可作为表情包网站、设计素材网站、壁纸网站、个人云盘、企业活动相册等。
用户可以在平台公开上传和检索图片素材;管理员可以上传、审核和管理分析图片;个人用户可将图片上传至私有空间进行批量管理、检索、编辑和分析;企业可开通团队空间并邀请成员,共享图片并实时协同编辑图片。
技术栈包括 MySQL 分库分表、Redis + Caffeine 多级缓存、COS 对象存储、Sa-Token 权限控制、DDD 领域驱动设计、WebSocket 实时通讯、JUC、Disruptor、AI 绘图大模型、设计模式等,干货十足。
项目附有全套视频教程、文字教程、简历写法和面试题解,而且讲解非常细致,从入门到进阶一条龙学习,可在 编程导航 获取。
2)yuindex Web 终端
基于 Vue 3 + Node.js 全栈项目,自实现 Web 终端 + 命令系统,可以作为极客范儿的浏览器主页,很适合想进阶前端的朋友学习。
这也是当年的一个热门项目,帮你在一个 web 终端中高效完成所有的事情!比如快速跳转链接、收藏网站、管理任务、听音乐、玩游戏等等。
3)编程导航
没错,这是我们团队现在的核心产品 ------ 编程导航的前身,程序员一站式编程学习交流社区。本项目前后端均开源,基于 React + Node.js + Java + 小程序云开发的全栈项目。
整个项目包括文档网站、主页网站、小程序、微信服务端、编程导航主站,当时不知道熬了多少个夜才肝出来的,这些网站里到处都是我掉落的头发。。。
4)闯关式 SQL 自学网
免费的闯关式 SQL 自学教程网站,从 0 到 1 带大家掌握常用 SQL 语法,纯前端 Vue 实现,简单易学~
这个网站也是广受好评,甚至被一些人 100% 盗版,改个作者名字就是自己的了?
5)复杂 SQL 生成器
这是鱼皮当年为了解决工作中编写复杂 SQL 的问题,临时开发的一个小项目。用 JSON 来生成结构化的、复杂嵌套的 SQL 语句,基于 Vue3 + TypeScript + Vite + Ant Design + MonacoEditor 实现,项目开发成本低(重逻辑轻页面)、适合练手~
这个项目的思维还是挺值得学习的,算是实践了下 "树" 这种数据结构的主流应用场景吧~
6)鱼皮的编程宝典
基于 VuePress 的文档网站项目,包含原创编程学习路线、经验分享、技术知识、学习资源、学习建议、项目教程等,适用于所有学习编程 & 求职的同学。
附赠一套开箱即用的文档网站建设模板,想做自己博客、知识库的同学可以直接拿来用~
7)面试鸭刷题神器
这也是我们团队核心产品 - 程序员面试刷题工具《面试鸭》的前身,早在 22 年的时候我就已经做了这样一个企业高频面试题库网站,只不过由于当时精力有限没有坚持维护。这个开源项目是基于 React + Node.js + 云开发的全栈项目,也是比较值得学习的。
不过现在大家要刷题的话,直接来我们精心维护的面试鸭网站就行了~
8)用户中心网站
前端入门级 Vue 3 项目,从 0 带你熟悉前端开发流程,附免费的视频教程。
9)AI 答题应用平台
基于 Vue 3 + Spring Boot + Redis + ChatGLM + RxJava + SSE 的全栈项目,用户可以基于 AI 快速制作并发布答题应用,支持检索、分享、在线答题并基于 AI 得到回答总结;管理员可以集中管理和审核应用。
项目附有全套视频教程、文字教程、简历写法和面试题解,可在 编程导航 获取。
10)智能面试刷题平台
基于 Next.js + Spring Boot + Redis + MySQL + Elasticsearch 的全栈项目。
管理员可以创建题库、题目和题解;用户可以注册登录、分词检索题目、在线刷题并查看刷题记录日历图。 此外,后端使用 Druid 数据库连接池、HotKey 热 Key 探测、多级缓存、Redisson 高级数据结构等来提升性能;通过 Sentinel 流量控制 + 熔断、Nacos 动态 IP 黑白名单过滤来提升安全性;前端运用 SSR 服务端渲染提升性能和 SEO。
项目附有全套视频教程、文字教程、简历写法和面试题解,可在 编程导航 获取。
11)测试鸭
免费的交互式网络安全自学网,助你成为网络安全达人!纯前端实现,简单易学~
12)手写 RPC 框架
基于 Java + Etcd + Vert.x 的高性能 RPC 框架,用新颖的技术栈从 0 到 1 带大家开发轮子。相比于其他的 RPC 框架,讲解更细致、技术更新颖、特性更丰富。
配套的教程由浅入深,可以学习并实践基于 Vert.x 的网络服务器、序列化器、基于 Etcd 和 ZooKeeper 的注册中心、反射、动态代理、自定义网络协议、多种设计模式(单例 / 工厂 / 装饰者等)、负载均衡器设计、重试和容错机制、Spring Boot Starter 注解驱动开发等,大幅提升架构设计能力。
13)代码生成器共享平台
基于 React + Spring Boot + Picocli + 对象存储的全栈项目,又分为 3 个循序渐进的子项目:基于命令行的本地代码生成器 + 代码生成器制作工具 + 在线代码生成器平台。实践 Java 命令行应用开发、FreeMarker 模板引擎、多种设计模式、对象存储、十几种优化方法、复杂业务的拆解和系统设计、分布式任务调度系统、Vert.x 响应式编程等。
一键生成个 "XX 外卖" 项目,你说刺激不刺激?
项目附有全套视频教程、文字教程、简历写法和面试题解,可在 编程导航 获取。
14)AI 自动回复工具
这是我在 23 年 AI 刚流行的时候做的小工具了。支持灵活配置多个平台的监控和回答,并且利用 AI 自动回复。目前已支持知识星球自动回复、OpenAI(ChatGPT)自动回答,后面有时间的话我可能会增强一些功能~
本项目采用多种设计模式,解耦监控者及回答者,可以灵活配置多个不同平台的监控,并绑定不同类型的自动回复。适合后端方向的同学快速学习。
15)SQL 数据生成器
通过可视化点击来快速生成 SQL 和模拟数据的全栈网站,大幅提高开发测试效率!
这也是当年的热门项目了,无论是前端还是后端我做的都很用心,导致很多人贩卖我这免费开源的代码。。。
注意,上面开源的这些项目,几乎都是我 一人全役 的!无论是做开源还是做教程,我确实花了很大的心血用心在做,所以才能有这样的一些成果吧~ 也希望我今天的分享对大家有帮助,后面我还会陆续开源一些 AI 相关的新项目,敬请期待吧!