关于看不懂信息,知识体系的总结

📅 2026/7/2 13:40:12 👁️ 阅读次数 📝 编程学习
关于看不懂信息,知识体系的总结

我们看一个新的技术栈,博客
很多时候,并不理解,这个技术栈是干啥的
里面提到的很多信息
看不懂,不理解

为什么呢
我们用全景视角来解释一下
我们拆分两个点:
1.对于一个技术栈,符合人的认识学习是啥样的
2.我们现实里遇到的情况是直接怼,技术栈提供的机制概念

符合人认识的:

第一层要理解的东西:

基础概念的本质:
我这里列举出一些,
1.关系型数据库
这个实际上,就是存数据的一种思路
解决的是数据存的问题
衍生除了,表结构,字段类型,主键

2.工程化springboot
这个实际上,是一个web服务器,用户接收和请求来自浏览器的请求
衍生出了工程目录结构,来实现数据流转的路径

第二层要理解的东西

写这个博客,总结这个技术栈的人的信息环境
1.潜在的工程,架构信息
是在一个工程里
架构部署好了,工程架子比方说springboot这些,
都已经弄好了

2.潜在的业务,需求背景
技术栈背后的需求是什么。

实际情况,写技术,或者官网文档的人在做什么:
他完全在博客中,不说完整这些东西
他在说什么:
技术栈内部的拓扑结构
这个技术栈,里面创造出来的技术概念和名词是什么
注意:
这里完全没有操作对象,需求
直接说明,这个技术概念的内涵是什么

第三层要理解的:
这个技术栈,为了全域,深刻的解决,这个领域遇到的问题
发明了哪些,概念和机制


现象:我们读技术博客,经常被一堆新名词(分区、副本、IoC、AOP)砸懵。
本质原因:写博客的人站在“已经搭好的舞台”上,向你描述“舞台内部的机械结构”;而初学者连这个“舞台是搭给什么演员、演什么戏”都不知道。
结论:看技术栈,必须反过来,从需求场景倒推机制设计

第一层:基础概念的本质——它替代了现实中的什么笨办法?

博客喜欢直接给定义,比如“关系型数据库是一种基于关系模型的数据存储系统”。

你写博客时,可以这样给读者补这一刀:

  • 关系型数据库
    • 本质:为了解决“数据如何有条理地存放,并且能快速跨表格查找”的问题。
    • 现实笨办法:Excel表格。一张表放用户,一张表放订单,用“用户ID”把两张表粘起来。
    • 衍生物的由来:既然要存得像Excel,就必须规定每一列叫什么(字段)、是什么类型(字段类型)、用什么来唯一标识这一行(主键)。
  • SpringBoot(Web服务器)
    • 本质:为了解决“如何接收远处浏览器发来的网络消息,并给出回复”的问题。
    • 现实笨办法:你写一个Java程序,死循环监听8080端口,拿到字符串后自己手动解析HTTP协议。
    • 衍生物的逻辑:既然要接收请求,就要有专门的门卫(Controller);既然要处理业务,就得有专门的车间(Service);既然要操作数据库,就得有仓库管理员(Mapper/DAO)。这就是工程目录结构的本质——不同人干不同的活,代码才不会乱

第二层:博客隐藏的信息环境——他们省略了什么?

写技术博客的人,脑子里其实装着一个默认前提,但他没写出来。你可以这样向读者拆解:

  • 隐藏的工程架构:博主假设这套代码已经跑在公司的服务器上了,Maven/Gradle依赖已经下载好了,数据库连接密码已经配置在application.yml里了。他谈论的是这个既定系统内部怎么流转,而不是这个系统怎么从零搭建出来
  • 隐藏的业务需求(这才是源动力)
    • 没有“双十一秒杀”这个需求,就不会有缓存(Redis)消息队列(MQ)
    • 没有“几十个人同时改同一份代码”这个麻烦,就不会有Git分支Spring的IoC(控制反转)
    • 读者看不懂的根本原因:是因为博主直接说了“IoC是为了解耦”,但没告诉读者,“解耦”的本质是因为老板老改需求,A业务改了不能影响B业务

第三层:内部概念与机制——他们在造什么“轮子”?

这是博客最常写、也是读者最头疼的地方。你可以告诉读者一个通用公式:

任何一个复杂的技术概念,都是为了解决该领域里一个“极其顽固的核心矛盾”而造出来的“妥协方案”。

你可以用这两个例子把读者点醒:

  • 以Redis为例
    • 核心矛盾:内存(速度快)太小,硬盘(速度慢)太大。
    • 为了解决这个矛盾,它造出了:
      • 过期策略:内存不够了,必须把不常用的踢出去(LRU/LFU)。
      • 持久化(RDB/AOF):既然内存会丢,那我把内存里的数据定时拍个照(RDB)或者记个操作日志(AOF)存到硬盘上,重启时再读回来。
  • 以Spring事务(@Transactional)为例
    • 核心矛盾:数据库要求多条SQL要么全成功要么全回滚,但Java代码是一行一行执行的。
    • 为了解决这个矛盾,它造出了事务传播机制:如果当前没有事务,就新建一个(REQUIRED);如果当前有事务,就加入进去(REQUIRED)。本质就是决定这个方法是当大哥(新建)还是当小弟(加入)
  1. 第一步先找“土办法”:拿到新框架,先问自己,如果没有它,我用最原始的文件读写、Socket通信、或Excel手工操作该怎么干?找到这个答案,你就抓住了本质
  2. 第二步找“规模压迫”:什么情况下土办法会崩溃?是数据量太大了?还是并发请求太多了?还是代码改不动了?这就是这个技术栈诞生的业务原点
  3. 第三步再翻开内部原理:只有走完前两步,当你看到“分区”、“副本”、“屏障”这些词时,你才能自动翻译成——“哦,原来是在解决机器宕机时数据怎么不丢的问题”。