Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/itwanger/codingmore-learning

编程猫的学习教程
https://github.com/itwanger/codingmore-learning

java mybatis spring spring-boot

Last synced: about 2 months ago
JSON representation

编程猫的学习教程

Awesome Lists containing this project

README

        

# codingmore-learning

codingmore(编程喵🐱)实战项目专属学习路线,主流技术一网打尽!

最近经常有小伙伴问我,codingmore(编程喵)项目该如何学习,按照什么样的顺序学习?我都会把这份《编程喵学习教程》的目录发给他。

在我看来,只有通过真刀真枪的项目实战才能真正掌握一门技术。所以我就和两位合同人共同孕育了这个编程喵喵实战项目,学习它不仅能让大家掌握技术,更能获得宝贵的项目经验。

为了让大家在学习的时候少走弯路,我就整理了这个学习路线,希望能给大家亿点点帮助。

### 一、推荐资料

由于 codingmore 项目融合了绝大多数现阶段流行的技术点,所以如果你是个初学者的话,最好先去看一下《Java 程序员进阶之路》打个基础。

>- 在线网址:[https://tobebetterjavaer.com/](https://tobebetterjavaer.com/)
>- 开源知识库:[https://github.com/itwanger/toBeBetterJavaer](https://github.com/itwanger/toBeBetterJavaer)

### 二、后端技术栈

如果你已经有一定的 Java 基础了,那么就可以直接学习 codingmore 项目中所选用的技术了。

学习开源项目主要的目的有:

- 将所学的知识通过实践进行检验
- 拓宽自己的技术边界
- 一个真正有用的实战项目是怎样从 0 到 1 的?
- 为以后搭建项目打下坚实的基础
- 掌握阅读源码的技巧

而业务逻辑反而是最其次的东西,毕竟不同的项目,业务上是千差万别。

来看看 codingmore 项目都选用了哪些主流技术吧!

![](http://cdn.tobebetterjavaer.com/codingmore/codingmore-technology.png)

为了减轻大家在导入主流技术时的成本,我花了大量的时间来写下面这些硬核教程,所以遇到了新的技术点,一点也用慌,一步一个脚印跟着动手做就对了!

项目框架搭建方面的技术可以参考这些文章:

- [搭建第一个Spring Boot项目](http://www.codingmore.top/65.html)
- [Spring Boot整合MyBatis-Plus,并通过AutoGenerator生成骨架代码](http://www.codingmore.top/76.html)
- [Spring Boot整合Swagger,并使用Knife4j进行美化](http://www.codingmore.top/74.html)
- [Lombok(代码功能增强库)使用教程](https://mp.weixin.qq.com/s/gGLNKzowq2LWNsMGsIyTkg)
- [Hutool(简化每一行代码)使用教程](https://mp.weixin.qq.com/s/8VcaWhtiaiO6CWOAZJEGvg)

项目数据存储方面的技术可以参考这些文章:

项目运维部署方面的技术可以参考如下文章:

[Nginx 使用教程](https://mp.weixin.qq.com/s/OYOcjUwPZyPo8K4KAgJ4kw)

其他项目中运用到的技术可以参考:

### 三、项目骨架搭建

学会了项目骨架的搭建,离一名“能动手咱就不哔哔”的程序员不远了。按照下面的教程,一步步搭建,你就可以搭建出一个 codingmore 项目正在使用的项目骨架了!

先看下都有哪些步骤:

项目骨架搭建可以参考如下文章:

- [Codingmore整合Spring Boot+MyBatis-Plus搭建基本骨架](https://mp.weixin.qq.com/s/9Ls12B9qT1Gx_yBQBPZfiw)
- [Codingmore整合Spring Boot+Swagger+Knife4j实现在线API文档](https://mp.weixin.qq.com/s/gWPCg6TP3G_-I-eqA6EJmA)

### 四、项目部署

骨架搭建完毕后,就可以将项目部署在本地或者服务器上跑起来了,这里提供了多种部署方式,总有一种方式会适合你的。

codingmore 后端服务项目的部署:

codingmore 前端服务项目的部署:

### 五、学习网站的业务

codingmore(编程喵喵)是一个编程类的学习型网站,那么当项目可以顺利跑起来后,我们不妨来学习下网站的业务,如果能把表结构、业务功能、源码实现全部关联起来的话,那让你独立自主研发任何一个其他业务的项目都轻而易举了。

下面是 codingmore 中已经实现的业务模块:

如果你想知道更细致的数据库表和功能的对应关系,可以参考:

### 六、技术要点全解析

了解了项目业务后,接下来就是阅读项目的源码了,通过阅读源码,了解技术背后真正运作的原理,那么你就成为一名可以独当一面的工程师了!

来看看有哪些技术要点是值得解析的:

这些文章都是业务与技术结合比较多的技术解析:

- [前后端分离项目,如何解决跨域问题?](https://mp.weixin.qq.com/s/HTMDZaukCb7pyfHefVcfyg)
- [仅用四步整合SpringSecurity+JWT实现登录认证](https://mp.weixin.qq.com/s/mb69xPhzrFeuD2S1VxHYjg)
- [Spring Boot 整合 OSS 实现文件上传](https://mp.weixin.qq.com/s/4qz44y2mpRwCrPgkNJ9vaQ)
- [Spring Boot 整合 JWT 实现登录认证](https://mp.weixin.qq.com/s/Nsk43BHIqVxEHUVIfHJTTQ)
- [SpringBoot中处理校验逻辑的两种方式,真的很机智!](https://mp.weixin.qq.com/s/m5cWcIl3xX6h9zUG1OV5qQ)
- [Spring AOP 扫盲](https://mp.weixin.qq.com/s/wfT6eVWJqL3p_rckkUCgew)

### 七、计算技术栈

如果你希望学习一些前端的技术栈,以帮助自己成为一名可以前后端都能打的程序员的话,可以学习一下 codingmore 的前端分离项目 [codingmore-admin-web](https://github.com/itwanger/codingmore-admin-web)。

### 八、开源工具

工欲善其事必先利其器,熟练掌握一些开发工具,对生产效率会有非常大的帮助。在开发 codingmore(编程喵喵)项目的过程中,我把一些用的顺手的工具都分享了出来,希望对大家有所帮助。

IDEA使用技巧可以参考:

[会了这4个 Intellij IDEA 调试魔法,阅读源码都简单了](https://mp.weixin.qq.com/s/KG0yzb_9XhhTSzjHr4DkIQ)

Navicat使用技巧可以参考:

Postman使用技巧可以参考:

Git仓库的两种搭建方式和使用可以参考:

- [我在工作中是如何使用 Git 的](https://tobebetterjavaer.com/git/git-qiyuan.html)

其他工具使用技巧可以参考:

- [Spring Boot Admin,贼好使!](https://mp.weixin.qq.com/s/IbeT4sWjrQvddAnh6_Uaww)
- [Redis 官方可视化工具来啦,功能真心强大](https://mp.weixin.qq.com/s/xO6koJotr99KsRFhWoTZtQ)
- [Tabby:一款逼格更高的开源终端工具](https://tobebetterjavaer.com/gongju/tabby.html)
- [chiner:一款开源的数据库设计神器](https://tobebetterjavaer.com/gongju/chiner.html)
- [DBeaver:一款免费的数据库操作工具](https://tobebetterjavaer.com/gongju/DBeaver.html)
- [Forest:一款极简的声明式HTTP调用API框架](https://tobebetterjavaer.com/gongju/forest.html)

### 九、拓展学习

除了Codingmore项目中涉及到的一些技术,我把工作中的一些常用的技术也写成了文章,大家感兴趣的话,也可以看下。

MySQL:

MyBatis增强工具:

日志收集工具:

API文档生成工具:

Docker相关实用技术:

定时任务框架的使用:可参考对应model的README.md帮助文件

其他实用技术:

### 十、总结

codingmore(编程喵喵)实战项目的专属学习路线已经收录了超过 100 篇原创文章,算是一个实战驱动的 Java 学习教程。大家可以尝试把其中的一些技术融合到自己的项目当中,当然,如果你有一些不错的技术想要推荐,可以提交 issue。

>- codingmore:[https://github.com/itwanger/coding-more](https://github.com/itwanger/coding-more)
>- codingmore-admin-web:[https://github.com/itwanger/codingmore-admin-web](https://github.com/itwanger/codingmore-admin-web)
>- codingmore-learning:[https://github.com/itwanger/codingmore-learning](https://github.com/itwanger/codingmore-learning)

技术群人数快破万了,公众号回复「**加群**」和小伙伴们一起交流学习吧!

![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xingbiaogongzhonghao.png)