目前的话,曾经把 Spring MVC 相干罕用的注解比方@GetMapping@PostMapping@PathVariable 写完了。我也曾经将我的项目开源进去了,地址:https://github.com/Snailclimb/jsoncat 。_原创开源不易,感觉不错的话,欢送给良心作者 1 个 star 激励一下!_

明天是晴天,我像平常一样坐在窗台,看着电脑“发愣”。毕竟是周末,就不分享技术干货了。

简略和小伙伴们聊聊本人最近正在做,曾经开始做的事件。

01 重构 JavaGuide

咱们常常会对本人晚期写的代码感觉恶心,这是导致很多我的项目烂尾、不好保护很重要的一个起因之一。

写作也是一样,我也常常感觉本人晚期写的文章像一坨翔。造成这个景象的起因很简略!我感觉次要可能有两方面起因:

  1. 本人积淀的常识更多,对于某个知识点的了解更加粗浅。
  2. 不同于其余类型文章,技术类文章自身就须要不断完善,文章内容才会更好。

所以,最近几个月我始终抽空对 JavaGuide 上晚期的一些文章进行大篇幅重构,比方 Java根底、Java汇合框架、 Zookeeper 、Redis等等。

毕竟,工夫无限,本人也还是把次要精力放在写代码上。所以,局部文章还没有开始重构,比方数据结构局部的内容。

就十分期待小伙伴们一起奉献出本人的力量啊!让 Guide哥 能多点工夫写代码,嘿嘿!

02 写了个简略的 RPC框架

我在大学的时候,就应用过 Dubbo 这类 RPC 框架,对于 RPC 框架的原理也有一点的意识。

于是乎!疫情那会工作也不是很忙,我就想着说本人要不要也写一个 RPC 框架玩玩。

说做就做!前前后后花了 3 个月,我利用业余时间手写一个简略的 RPC 框架(玩具),名字叫做 guide-rpc-framework。这个框架是基于 Netty+Kyro+Zookeeper 并且整合了 Spring 来做的。

讲真!的确,破费了不少精力。尽管,这玩意的原理不难,然而,想写好的确要花工夫。

目前的话,这个我的项目曾经有 0.7k 的 star。感激小伙伴们的反对!

像这样的开源我的项目,放到简历上相对是加分项!

而且,我在本人去写 RPC 框架的时候,加深了本人对于 RPC 框架原理的意识。具体落实到代码实现的过程中,遇到了很多问题,解决问题的过程中也进步了本人的编程能力和解决问题的能力。总而言之,造轮子是一种特地可能进步本人零碎编程能力的伎俩。

03 写一个简易版的“Spring Boot”

是的!我筹备开始造下一个轮子了,一个简易版的“Spring Boot”!名字我都起好了,叫做“jsoncat”。

名字没有特地含意,只是因为这个框架目前定位是只返回 json 类型数据给前端,所以就在名字中加上了 json。

其实,说是简易版的 Spring Boot ,不过是简略模拟 Spring Boot 提供的性能,本人手写一个相似的轻量级 HTTP 框架而已。(性能、生态、稳定性等方面必定不能和 Spring Boot 比照啦!

具体实现的话,先简略聊聊,前面会独自写文章来分享。 我会应用 Netty 来写一个繁难的 HTTP Server,次要用来解决 HTTP 申请。其余模块的话,我会在兼顾代码可读性的状况下,尽量减少第三方依赖。所以,整个框架会比拟轻量。

另外,代码也会尽量写直白点,不成心秀技。我也会将本人写这个繁难的HTTP框架学到的货色分享进去。当然啦!大家想要看源码的话,我也会将其开源。

写这个货色只是本人集体的兴趣爱好使然,次要也是为了进步本人的编码能力。举荐小伙伴们也要尽量可能将本人的想法付诸于口头。

实践诚然重要,然而脱离于实际的实践,并不牢靠。

相比于 CRUD ,本人造个轮子,必定是更有意思,也更能锤炼本人的编程能力和解决问题的能力。

目前的想法是,第1版至多是可能让其正确处理 Get 申请 和 Post 申请。目前的话,我根本曾经写完了。相比于之前实现的 RPC 框架来说,这个总体来看,还是略微简略一些。

不过,大部分工夫还是在思考怎么让代码更强壮、更易读、更容易保护!

说句题外话,要想让代码更易读,除了要理解面向对象编程的思维之外,那必然少不了对设计模式的使用。

04 闲聊

当你们看到这篇文章的时候,我曾经出门和大学最好的敌人一起进来嗨皮了。

半年多没见,不晓得敌人当初长胖了不?反正,我是长胖了。

05 我的开源我的项目

  1. JavaGuide :「Java学习+面试指南」一份涵盖大部分Java程序员所须要把握的外围常识。筹备 Java 面试,首选 JavaGuide!
  2. guide-rpc-framework :A custom RPC framework implemented by Netty+Kyro+Zookeeper.(一款基于 Netty+Kyro+Zookeeper 实现的自定义 RPC 框架-附具体实现过程和相干教程)
  3. jsoncat :仿 Spring Boot 但不同于 Spring Boot 的一个轻量级的 HTTP 框架
  4. programmer-advancement :程序员应该有的一些好习惯+面试必知事项!
  5. springboot-guide :Not only Spring Boot but also important knowledge of Spring(不只是SpringBoot还有Spring重要知识点)
  6. awesome-java :Collection of awesome Java project on Github(Github 上十分棒的 Java 开源我的项目汇合).

我是 Guide 哥,一 Java 后端开发,会一点前端,自在的少年。咱们下期再见!微信搜“JavaGuide”回复“面试突击”支付我整顿的 4 本原创PDF