{"id":16422688,"url":"https://github.com/itwanger/codingmore-learning","last_synced_at":"2025-03-16T17:34:20.187Z","repository":{"id":39345687,"uuid":"451725870","full_name":"itwanger/codingmore-learning","owner":"itwanger","description":"编程猫的学习教程","archived":false,"fork":false,"pushed_at":"2023-09-21T02:34:06.000Z","size":437,"stargazers_count":107,"open_issues_count":0,"forks_count":42,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-16T04:14:02.756Z","etag":null,"topics":["java","mybatis","spring","spring-boot"],"latest_commit_sha":null,"homepage":"http://www.codingmore.top","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itwanger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-25T03:48:18.000Z","updated_at":"2025-03-07T14:34:39.000Z","dependencies_parsed_at":"2024-10-27T11:05:10.980Z","dependency_job_id":"171252c0-95d2-46a0-a0bf-b5608fb552f7","html_url":"https://github.com/itwanger/codingmore-learning","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itwanger%2Fcodingmore-learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itwanger%2Fcodingmore-learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itwanger%2Fcodingmore-learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itwanger%2Fcodingmore-learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itwanger","download_url":"https://codeload.github.com/itwanger/codingmore-learning/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243908670,"owners_count":20367454,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","mybatis","spring","spring-boot"],"created_at":"2024-10-11T07:37:23.995Z","updated_at":"2025-03-16T17:34:19.626Z","avatar_url":"https://github.com/itwanger.png","language":"Java","readme":"# codingmore-learning\n\ncodingmore（编程喵🐱）实战项目专属学习路线，主流技术一网打尽！\n\n最近经常有小伙伴问我，codingmore（编程喵）项目该如何学习，按照什么样的顺序学习？我都会把这份《编程喵学习教程》的目录发给他。\n\n在我看来，只有通过真刀真枪的项目实战才能真正掌握一门技术。所以我就和两位合同人共同孕育了这个编程喵喵实战项目，学习它不仅能让大家掌握技术，更能获得宝贵的项目经验。\n\n为了让大家在学习的时候少走弯路，我就整理了这个学习路线，希望能给大家亿点点帮助。\n\n### 一、推荐资料\n\n由于 codingmore 项目融合了绝大多数现阶段流行的技术点，所以如果你是个初学者的话，最好先去看一下《Java 程序员进阶之路》打个基础。\n\n\u003e- 在线网址：[https://tobebetterjavaer.com/](https://tobebetterjavaer.com/)\n\u003e- 开源知识库：[https://github.com/itwanger/toBeBetterJavaer](https://github.com/itwanger/toBeBetterJavaer)\n\n\n### 二、后端技术栈\n\n如果你已经有一定的 Java 基础了，那么就可以直接学习 codingmore 项目中所选用的技术了。\n\n学习开源项目主要的目的有：\n\n- 将所学的知识通过实践进行检验\n- 拓宽自己的技术边界\n- 一个真正有用的实战项目是怎样从 0 到 1 的？\n- 为以后搭建项目打下坚实的基础\n- 掌握阅读源码的技巧\n\n而业务逻辑反而是最其次的东西，毕竟不同的项目，业务上是千差万别。\n\n来看看 codingmore 项目都选用了哪些主流技术吧！\n\n![](http://cdn.tobebetterjavaer.com/codingmore/codingmore-technology.png)\n\n为了减轻大家在导入主流技术时的成本，我花了大量的时间来写下面这些硬核教程，所以遇到了新的技术点，一点也用慌，一步一个脚印跟着动手做就对了！\n\n项目框架搭建方面的技术可以参考这些文章：\n\n- [搭建第一个Spring Boot项目](http://www.codingmore.top/65.html)\n- [Spring Boot整合MyBatis-Plus，并通过AutoGenerator生成骨架代码](http://www.codingmore.top/76.html)\n- [Spring Boot整合Swagger，并使用Knife4j进行美化](http://www.codingmore.top/74.html)\n- [Lombok（代码功能增强库）使用教程](https://mp.weixin.qq.com/s/gGLNKzowq2LWNsMGsIyTkg)\n- [Hutool（简化每一行代码）使用教程](https://mp.weixin.qq.com/s/8VcaWhtiaiO6CWOAZJEGvg)\n\n\n项目数据存储方面的技术可以参考这些文章：\n\n项目运维部署方面的技术可以参考如下文章：\n\n[Nginx 使用教程](https://mp.weixin.qq.com/s/OYOcjUwPZyPo8K4KAgJ4kw)\n\n其他项目中运用到的技术可以参考：\n\n### 三、项目骨架搭建\n\n学会了项目骨架的搭建，离一名“能动手咱就不哔哔”的程序员不远了。按照下面的教程，一步步搭建，你就可以搭建出一个 codingmore 项目正在使用的项目骨架了！\n\n先看下都有哪些步骤：\n\n\n\n项目骨架搭建可以参考如下文章：\n\n- [Codingmore整合Spring Boot+MyBatis-Plus搭建基本骨架](https://mp.weixin.qq.com/s/9Ls12B9qT1Gx_yBQBPZfiw)\n- [Codingmore整合Spring Boot+Swagger+Knife4j实现在线API文档](https://mp.weixin.qq.com/s/gWPCg6TP3G_-I-eqA6EJmA)\n\n### 四、项目部署\n\n骨架搭建完毕后，就可以将项目部署在本地或者服务器上跑起来了，这里提供了多种部署方式，总有一种方式会适合你的。\n\ncodingmore 后端服务项目的部署：\n\n\ncodingmore 前端服务项目的部署：\n\n### 五、学习网站的业务\n\n\ncodingmore（编程喵喵）是一个编程类的学习型网站，那么当项目可以顺利跑起来后，我们不妨来学习下网站的业务，如果能把表结构、业务功能、源码实现全部关联起来的话，那让你独立自主研发任何一个其他业务的项目都轻而易举了。\n\n下面是 codingmore 中已经实现的业务模块：\n\n如果你想知道更细致的数据库表和功能的对应关系，可以参考：\n\n### 六、技术要点全解析\n\n了解了项目业务后，接下来就是阅读项目的源码了，通过阅读源码，了解技术背后真正运作的原理，那么你就成为一名可以独当一面的工程师了！\n\n来看看有哪些技术要点是值得解析的：\n\n这些文章都是业务与技术结合比较多的技术解析：\n\n- [前后端分离项目，如何解决跨域问题？](https://mp.weixin.qq.com/s/HTMDZaukCb7pyfHefVcfyg)\n- [仅用四步整合SpringSecurity+JWT实现登录认证](https://mp.weixin.qq.com/s/mb69xPhzrFeuD2S1VxHYjg)\n- [Spring Boot 整合 OSS 实现文件上传](https://mp.weixin.qq.com/s/4qz44y2mpRwCrPgkNJ9vaQ)\n- [Spring Boot 整合 JWT 实现登录认证](https://mp.weixin.qq.com/s/Nsk43BHIqVxEHUVIfHJTTQ)\n- [SpringBoot中处理校验逻辑的两种方式，真的很机智！](https://mp.weixin.qq.com/s/m5cWcIl3xX6h9zUG1OV5qQ)\n- [Spring AOP 扫盲](https://mp.weixin.qq.com/s/wfT6eVWJqL3p_rckkUCgew)\n\n\n### 七、计算技术栈\n\n如果你希望学习一些前端的技术栈，以帮助自己成为一名可以前后端都能打的程序员的话，可以学习一下 codingmore 的前端分离项目 [codingmore-admin-web](https://github.com/itwanger/codingmore-admin-web)。\n\n### 八、开源工具\n\n工欲善其事必先利其器，熟练掌握一些开发工具，对生产效率会有非常大的帮助。在开发 codingmore（编程喵喵）项目的过程中，我把一些用的顺手的工具都分享了出来，希望对大家有所帮助。\n\nIDEA使用技巧可以参考：\n\n[会了这4个 Intellij IDEA 调试魔法，阅读源码都简单了](https://mp.weixin.qq.com/s/KG0yzb_9XhhTSzjHr4DkIQ)\n\nNavicat使用技巧可以参考：\n\nPostman使用技巧可以参考：\n\n\n\nGit仓库的两种搭建方式和使用可以参考：\n\n- [我在工作中是如何使用 Git 的](https://tobebetterjavaer.com/git/git-qiyuan.html)\n\n\n其他工具使用技巧可以参考：\n\n- [Spring Boot Admin，贼好使！](https://mp.weixin.qq.com/s/IbeT4sWjrQvddAnh6_Uaww)\n- [Redis 官方可视化工具来啦，功能真心强大](https://mp.weixin.qq.com/s/xO6koJotr99KsRFhWoTZtQ)\n- [Tabby：一款逼格更高的开源终端工具](https://tobebetterjavaer.com/gongju/tabby.html)\n- [chiner：一款开源的数据库设计神器](https://tobebetterjavaer.com/gongju/chiner.html)\n- [DBeaver：一款免费的数据库操作工具](https://tobebetterjavaer.com/gongju/DBeaver.html)\n- [Forest：一款极简的声明式HTTP调用API框架](https://tobebetterjavaer.com/gongju/forest.html)\n\n### 九、拓展学习\n\n除了Codingmore项目中涉及到的一些技术，我把工作中的一些常用的技术也写成了文章，大家感兴趣的话，也可以看下。\n\nMySQL：\n\nMyBatis增强工具：\n\n日志收集工具：\n\nAPI文档生成工具：\n\nDocker相关实用技术：\n\n定时任务框架的使用：可参考对应model的README.md帮助文件\n\n其他实用技术：\n\n### 十、总结\n\n\ncodingmore（编程喵喵）实战项目的专属学习路线已经收录了超过 100 篇原创文章，算是一个实战驱动的 Java 学习教程。大家可以尝试把其中的一些技术融合到自己的项目当中，当然，如果你有一些不错的技术想要推荐，可以提交 issue。\n\n\u003e- codingmore：[https://github.com/itwanger/coding-more](https://github.com/itwanger/coding-more)\n\u003e- codingmore-admin-web：[https://github.com/itwanger/codingmore-admin-web](https://github.com/itwanger/codingmore-admin-web)\n\u003e- codingmore-learning：[https://github.com/itwanger/codingmore-learning](https://github.com/itwanger/codingmore-learning)\n\n技术群人数快破万了，公众号回复「**加群**」和小伙伴们一起交流学习吧！\n\n![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xingbiaogongzhonghao.png)\n\n\n\n\n\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitwanger%2Fcodingmore-learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitwanger%2Fcodingmore-learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitwanger%2Fcodingmore-learning/lists"}