芋道源码 精尽学习指南

1. 概述

无论我们是工作多久的工程师,我们总是在某一刻会大呼“学不动了学不动了”。

并且,我们是无可避免需要有大量加班,比较好的是 985 ,比较苦逼的是 996 。一旦陷入其中,我们可能就忘却了学习这个事情。

另外,我们还会有一个困扰,技术栈这么多,我们应该怎么学习呢?

艿艿的想法是:

  • 线
  • 立体

什么是点?我们平时会在技术社区、公众号、博客上,学习一些技术,但是大家普遍会觉得比较琐碎。

什么是线?当我们学习了同一个技术的多个点之后,我们会逐渐形成这个知识线,对这个知识会相对有整体的认识。

什么是面?当我们学习了多个技术之后,我们会逐步自己的知识面,脑海里会有一颗若隐若现的知识树。

什么是立体?当我们形成自己的知识面之后,我们肯定会惊呼“老子会很多东西,但是好像没有什么擅长的”。有木有?哈哈哈。这个时候,我们需要针对自己感兴趣的技术栈,做深入的理解,慢慢形成某几个技术的深度,这样,我们就开始立体了。当然,一定是几个技术的深入,而不是方块,而是一个锥子,一锥刺骨的那种,杀手锏。

当然,本文暂时先对这个泛泛而谈,本文的重心在于如何先形成自己的“点 -> 线 -> 面”。我们先来看一个图:

  • 一切的核心,都是为了实战。
  • 入门,是为了让我们能够实战。
  • 原理,是为了让我们更好的实战。
  • 源码,是为了让我们更具象的理解原理,从而更好的实战。
  • 所以,一切的核心,都是为了实战。

也因此,一个技术栈的学习的逐步顺序是:入门 => 实战 => 原理 => 源码。

那么,这个和本文又有什么关系呢?我们再来看一张图:

路线图

  • 1、可能胖友会懵逼,卧槽,要学习的有这么多。
  • 2、可能胖友会说,为什么没有 Dubbo、Zookeeper 等等
  • 3、可能胖友会说,怎么没有 AI、大数据呢?

这个路线图,我们定位是让业务开发工程师,有一条相对明确的学习路线,最终实现搭建自己的知识体系。

2. 路线图

下面,我们来分块来看看路线图。

第一步,单体应用

第一步,我们先要学习,能够搭建一个最基本的单体应用。如下图所示:单体应用

在这个过程中,我建议观看视频。

在这一步中,我们需要对每个技术点只要达到“入门”和“实战”两点。

第二步,微服务架构

第二步,我们要再学习,能够搭建一个微服务架构的应用。如下图所示:微服务架构

在这个过程中,我建议以观看视频为主,同时能够认真看完 Spring Cloud 相关的书籍。

为什么要推荐开始看书?因为,到了这个阶段,我们要开始从被动的从视频学习,慢慢变成主动的观看书籍。

《精尽 Spring Cloud 学习指南》

  • Eureka
  • Hystrix
  • Zuul
  • Spring Cloud Config
  • RabbitMQ
  • Zipkin

那么,可能对微服务技术选型有一定的了解会问,为什么不是学习 Dubbo 呢?注意噢,我们是为了搭建知识体系,从这方面上来说,艿艿觉得 Spring Cloud 更适合达成这个目标,周边的书籍、资料更加完善。

当然,等未来回过头,艿艿还是建议大家去学习下 Dubbo 。

在这一步中,我们需要对每个技术点只要达到“入门”和“实战”和“原理”三点。

还有啊,其实每个类型的组件,还有其他的选择,胖友后续也要去学习下:

不要慌,知识这个东西,总是一通百通的。

还有噢,到了这个阶段的学习,我们要关注每个组件怎么实现高性能,怎么实现高可用。

第三步,其它中间件

第三步,我们还要学习,微服务架构需要的其他中间件。如下图所示:其它中间件

在这个过程中,我建议以看书、看博客为主,以视频为辅助。

为什么不再以视频为主呢?我们要能够更加更加更加主动的学习能力。

  • Quartz 或者 Elastic-Job 或者 XXL-Job

    TODO 待补充

  • Elasticsearch

    TODO 待补充

  • Sharding Sphere

    TODO 待补充

  • TCC Transaction

    TODO 待补充

  • ELK

    TODO 待补充

在这一步中,我们需要对每个技术点只要达到“入门”和“实战”和“原理”三点。

也就是说,在这一步中,我们已经不能简单的只会实战,要对原理有一定的认知。

关于工具

工具

Maven、Git、Jenkins ,学会常用的即可。

关于运维

运维

Linux 学会常用的命令即可。

Docker 和 Kuberante ,选择性,非必须。

关于基础

基础

关于如下的基础:

实际上,? 我们更多使用到的是面试的时候,哈哈哈哈。

当然,我们希望成为一个有趣的程序员,35 岁不被淘汰,这些基本功肯定要去补的。

不过呢,艿艿个人的建议是,基础放在【第一步】【第二步】【第三步】学习完之后,在回过头来干。

补充说明

在我们搭建知识体系,请对着每个知识点,认真看每个技术对应的《精尽 XXX 学习指南》里面推荐的书,踏踏实实在把每个技术栈体系化学习下。

在我们搭建知识体系,请对着每个知识点,认真看每个技术对应的《精尽 XXX 学习指南》里面推荐的书,踏踏实实在把每个技术栈体系化学习下。

在我们搭建知识体系,请对着每个知识点,认真看每个技术对应的《精尽 XXX 学习指南》里面推荐的书,踏踏实实在把每个技术栈体系化学习下。

另外,为了验证学习的结果,以及将来有复习的可能性,请做好笔记,可以下载一个【印象笔记】应用,记录、狠狠的记录。

再另外,也可以看看每个技术栈对应的《精尽 XXX 面试题》,验证验证自己学习的咋样~

什么时候看源码?

艿艿一开始看源码,单纯觉得好玩。后来一想,对于一个有追求的工程师,每年看掉几套源码,那么工作 5 年之后,基本主流的源码,都已经看过了。虽然这个过程会比较痛苦,但是前几年确实是我们时间最多的时候。我们不需要考虑家人、孩子。

关于选择看什么源码的顺序,我建议从应用层到基础层。我举个例子:

  • 先看 Spring MVC 源码,在看 Spring 源码。
  • 先看 Dubbo 源码,在看 Netty 源码。

然后呢,如果胖友真的不知道看什么源码,我建议可以星球给艿艿留言。

如下,是艿艿自己经历的,看源码的顺序,可能不一定能成为参考:

  • Spring Security
  • Spring MVC
  • Shiro
  • RocketMQ
  • MyCAT
  • Sharding JDBC
  • TCC Transaction
  • Eureka
  • Hystrix
  • Spring Cloud Gateway
  • SkyWalking
  • Dubbo
  • Netty
  • Spring
  • MyBatis

彩蛋

写的有点杂乱,但是想想,先出一个版本。省得自己的想法丢失。

万一的万一,对胖友有一些些帮助呢?

希望,我们至少能成为有趣的工程师,再然后,贪心一点,成为厉害的工程师。

开发指南文档-2023-10-27更新》是针对软件开发者和IT专业人士的一份详尽的资源集合,旨在提供最新的开发实践、范例代码和最佳策略。这份2023年10月27日更新的文档集,包含了丰富的模板和素材,帮助开发者在日常工作中提高效率,保证项目的顺利进行。 让我们深入探讨这份文档的可能内容。""可能是一个开源项目或一个专业的技术社区,其开发指南涵盖了多个方面,例如: 1. **编程语言指南**:可能包括Java、Python、JavaScript、C++等主流语言的编码规范、最佳实践以及常见问题的解决方案。 2. **框架与库的应用**:可能会讲解React、Vue、Angular等前端框架,以及Django、Spring Boot等后端框架的使用技巧和常见应用场景。 3. **数据库管理**:涵盖了SQL语言的基本操作,数据库设计原则,以及如何高效使用MySQL、PostgreSQL、MongoDB等数据库系统。 4. **版本控制**:详细介绍了Git的工作流程,分支管理策略,以及与其他开发工具(如Visual Studio Code、IntelliJ IDEA)的集成。 5. **持续集成与持续部署(CI/CD)**:包括Jenkins、Travis CI、GitHub Actions等工具的配置和使用,以实现自动化测试和部署。 6. **云服务与容器化**:可能涉及AWS、Azure、Google Cloud Platform等云计算平台的使用,以及Docker和Kubernetes的容器化部署实践。 7. **API设计与测试**:讲解RESTful API的设计原则,Swagger的使用,以及Postman等工具进行API测试的方法。 8. **安全性与隐私保护**:涵盖OAuth、JWT认证机制,HTTPS安全通信,以及防止SQL注入、
### 源码技术文档查找方法 源码提供了丰富的技术文档,帮助开发者快速上手和理解项目。以下是获取源码相关技术文档的途径及方法: #### 1. 官方文档 源码的官方文档是最权威的技术资料来源。可以通过访问其官方网站或代码托管平台中的 Wiki 页面获取详细说明[^2]。 - 官网地址:[https://gitee.com/yudaocode](https://gitee.com/yudaocode) - 在 Gitee 仓库中,通常会有专门的 `README.md` 文件以及 `docs` 或 `wiki` 目录,包含项目架构、模块设计、开发指南等内容。 #### 2. 同步项目中的文档 如果已经同步了 `yudao-boot-mini` 项目,可以在项目的根目录下找到相关文档文件,例如 `README.md` 和其他 Markdown 格式的文档[^2]。这些文档通常包括: - 项目简介 - 环境搭建指南 - 快速入门教程 - 模块功能说明 #### 3. 下载资源包中的文档 根据提供的资源链接,可以下载包含源码教程 PDF 的文件包[^1]。这些 PDF 文件可能是对官方文档的整理和补充,适合初学者系统学习。 - 网盘链接:[https://pan.baidu.com/s/1dbmqpvaMSCInaS-xDH-ecA](https://pan.baidu.com/s/1dbmqpvaMSCInaS-xDH-ecA) - 提取码:v45z #### 4. 社区与博客 除了官方文档,还可以参考社区贡献者撰写的博客文章和技术分享。以下是一些常见的资源渠: - **优快云**:搜索关键词“源码 技术文档”,可找到许多开发者总结的经验。 - **掘金**:源码相关的技术文章和案例分析。 - **知乎**:关于源码的问答和深入解析。 #### 5. 示例代码与注释 源码的代码本身也是一种技术文档形式。通过阅读项目中的注释和示例代码,可以更好地理解其实现细节。例如,在 `yudao-boot-mini` 项目中,可以查看以下关键模块: ```java // 示例:Spring Boot 配置类 @Configuration public class MyConfig { @Bean public MyService myService() { return new MyServiceImpl(); } } ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值