Coder Social home page Coder Social logo

itwanger / codingmore-learning Goto Github PK

View Code? Open in Web Editor NEW
93.0 4.0 40.0 437 KB

编程猫的学习教程

Home Page: http://www.codingmore.top

License: Apache License 2.0

Java 62.96% HTML 0.21% PLpgSQL 36.81% Dockerfile 0.02%
java mybatis spring spring-boot

codingmore-learning's Introduction

codingmore-learning

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

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

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

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

一、推荐资料

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

二、后端技术栈

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

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

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

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

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

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

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

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

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

Nginx 使用教程

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

三、项目骨架搭建

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

先看下都有哪些步骤:

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

四、项目部署

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

codingmore 后端服务项目的部署:

codingmore 前端服务项目的部署:

五、学习网站的业务

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

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

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

六、技术要点全解析

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

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

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

七、计算技术栈

如果你希望学习一些前端的技术栈,以帮助自己成为一名可以前后端都能打的程序员的话,可以学习一下 codingmore 的前端分离项目 codingmore-admin-web

八、开源工具

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

IDEA使用技巧可以参考:

会了这4个 Intellij IDEA 调试魔法,阅读源码都简单了

Navicat使用技巧可以参考:

Postman使用技巧可以参考:

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

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

九、拓展学习

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

MySQL:

MyBatis增强工具:

日志收集工具:

API文档生成工具:

Docker相关实用技术:

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

其他实用技术:

十、总结

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

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

codingmore-learning's People

Contributors

itwanger avatar silencefire avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.