所有分类
  • 所有分类
  • 未分类

写开源项目

写开源项目是简历的加分项,在面试官眼里绝对是亮点,竞争力爆棚!很多招聘里写着:有开源项目的优先

IT行业,大家的共识是:有开源项目的,一定是技术大佬!事实也确实是这样,有开源项目的同事,技术比其他同事强了不是一点点。

无论是求职、职业生涯、还是对技术的追求,三年以上的开发者,极其有必要学写开源项目!

开源项目有哪些种类?

开源项目有以下几种。

第一种:工具(组件)

比如:fastjson、hutool、Mybatis-Plus、Shiro

一般没有管理页面。

第二种:中间件

比如:Xxl-Job、Nacos、RabbitMQ

一般有管理页面。

第三种:框架

比如:Spring、SpringBoot、Vue。

第四种:实际项目

比如:若依

第五种:特定需求

比如:MySQL数据库、编辑器。

开源项目参考

站长写了9个开源项目,8个组件类,1个中间件类。我写开源项目的初衷:没有相关工具,或者现有的工具太难用了。下边的开源项目大部分已经在生产环境稳定使用了,得到了同事极高的评价。

组件

  • nicetool:超好用的Java工具类:稳定、方便。最大程度利用SpringBoot原生工具。
  • nicelog:强大的Java日志组件。支持:手动打印日志;自动收集Controller、XXL-JOB、Feign、RabbitMQ、RocketMQ、Kafka的日志等等。
  • nicelimit:Java限流组件。
  • nicelock:一个注解,即可使用Java的分布式锁。(基于Redisson)
  • nicerefresh:自动刷新。比如:Spring项目中@Value的值。
  • nicecommon:SpringBoot Web项目的公共代码。包括:配置类、全局响应处理、全局异常处理等。
  • nacos-open-api:封装Nacos的Api。
  • niceauth:Java权限工具,方便、快捷、开箱即用。

中间件

  • router4j:动态路由的平台,用于提高Java后端开发和调试效率。 使用router4j,可以将某个url请求路由到指定的机器上,只需在可视化页面上将path绑定到应用实例的ip和端口上即可。

写开源项目必备技能?

写开源项目不是一蹴而就的,需要掌握必备技能,否则可能面临问题:1.bug多 2.不优雅 3.不实用 4.难扩展。

需要掌握的技能如下:

技能说明参考文章参考书籍
Java反射在开源项目中很常用。比如:获得对象的值。https://way2j.com/a/2673《Java开发实战经典》
Java注解新写注解,或者读取注解内容,就会用到。https://way2j.com/a/2730《Java开发实战经典》
Spring的AOP用于对方法之前、之后、异常等处理。https://way2j.com/a/966
https://way2j.com/filter?c=273&c2=147&c3=153&c4&c5&c6&t
SpringBoot的StarterStarter可以做到:引入依赖即可使用。https://way2j.com/a/994
SpringBoot条件注入可以通过配置进行Bean的开关(功能开关)。https://way2j.com/a/2483
SpringBoot时间和大小可以用2s、3k等表示时间和大小,很方便。https://way2j.com/a/3354

自己写一个开源项目

之前介绍过如何写一个日志组件,地址:SpringBoot-手写日志组件 – 自学精灵

这里发布一个课后作业:将这个日志组件,改写为开源项目。

成果参考:https://gitee.com/knifeedge/nicelog

1

评论0

请先

站点公告

🪐更新啦~  Java高级实战=> 写开源项目🪐 ✨开源项目,简历的亮点~~~✨
显示验证码
没有账号?注册  忘记密码?

社交账号快速登录