目前的話,已經把 Spring MVC 相關常用的注解比如
@GetMapping、@PostMapping、@PathVariable寫完了,我也已經將專案開源出來了,地址:https://github.com/Snailclimb/jsoncat ,原創開源不易,覺得不錯的話,歡迎給良心作者 1 個 star 鼓勵一下!

今天是晴天,我像往常一樣坐在窗臺,看著電腦“發呆”,畢竟是周末,就不分享技術干貨了,
簡單和小伙伴們聊聊自己最近正在做,已經開始做的事情,
01 重構 JavaGuide
我們經常會對自己早期寫的代碼感覺惡心,這是導致很多專案爛尾、不好維護很重要的一個原因之一,
寫作也是一樣,我也經常覺得自己早期寫的文章像一坨翔,造成這個現象的原因很簡單!我覺得主要可能有兩方面原因:
- 自己沉淀的知識更多,對于某個知識點的理解更加深刻,
- 不同于其他型別文章,技術類文章本身就需要不斷完善,文章內容才會更好,
所以,最近幾個月我一直抽空對 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 我的開源專案
- JavaGuide :「Java學習+面試指南」一份涵蓋大部分Java程式員所需要掌握的核心知識,準備 Java 面試,首選 JavaGuide!
- guide-rpc-framework :A custom RPC framework implemented by Netty+Kyro+Zookeeper.(一款基于 Netty+Kyro+Zookeeper 實作的自定義 RPC 框架-附詳細實作程序和相關教程)
- jsoncat :仿 Spring Boot 但不同于 Spring Boot 的一個輕量級的 HTTP 框架
- programmer-advancement :程式員應該有的一些好習慣+面試必知事項!
- springboot-guide :Not only Spring Boot but also important knowledge of Spring(不只是SpringBoot還有Spring重要知識點)
- awesome-java :Collection of awesome Java project on Github(Github 上非常棒的 Java 開源專案集合).
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/144759.html
標籤:其他
