自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大模型全栈工程师 · Thanks_ks

专注 RAG 全链路优化与 Agent 架构设计,擅长 LoRA 微调、vLLM 部署及 LangGraph 复杂工作流编排。

  • 博客(217)
  • 收藏
  • 关注

原创 一切皆对象:函数也能当参数传的真正含义——从一等公民到装饰器的本质

本文系统讲解 Python “一切皆对象” 的设定与函数一等公民待遇:从函数的赋值、传参与返回推导出闭包与高阶函数,进而揭示 @decorator 只是 func = deco(func) 的语法糖,拆解带参数装饰器必须三层嵌套的成因,并补上 functools.wraps 保全元信息的收尾细节。

2026-11-04 21:33:15 53

原创 Python 的 dict 凭什么快——从哈希表一路推导到 “可变对象不能当键”

本文系统讲解 Python 字典的底层实现:从哈希表定位数据、开放寻址化解冲突,到三分之二即扩容的机制,推导出 O(1) 查找的真正来源;再通过思想实验剖析可变对象不能当键的必然性,并延伸到 __hash__ 与 __eq__ 的契约及 set 的同源原理。

2026-11-04 21:09:25 70

原创 MySQL 的 REPEATABLE READ 到底能不能防幻读——从快照读、当前读到 Next-Key Lock

本文系统讲解 InnoDB 可重复读级别下的幻读问题:从三类读异常切入,剖析快照读依赖 MVCC、当前读依赖 Next-Key Lock 的双防线机制,用双会话实验复现幻读仍会出现的边界场景,并解释各数据库在幻读防护上行为分歧的根源。

2026-11-04 20:28:13 14

原创 为什么 Python 的默认参数只初始化一次——从 def 语句的执行时机讲透可变默认参数

本文系统讲解 Python 可变默认参数的经典陷阱:从 def 语句的执行时机入手,剖析默认值在函数定义时求值一次并存入 __defaults__ 的机制,结合字节码验证结论,分析该设计的合理性,并给出 None 哨兵模式与类型注解的标准写法。

2026-11-03 23:15:31 226

原创 Python 的 is 和 == 到底差在哪——从 id() 谈到那些不写进文档的优化

本文系统讲解 Python 中 is 与 == 的本质差异:is 比较对象身份,== 比较对象值。通过 id() 函数切入,剖析小整数缓存池、字符串驻留、常量合并三项 CPython 优化机制,解释 a is b 在不同运行环境下结果不一致的根因,并给出 is 的正确使用场景与避坑建议。

2026-11-03 20:44:59 265

原创 TCP 三次握手和四次挥手——为什么偏偏是三次和四次

三次握手为什么不能是两次?四次挥手为什么比握手多一次?本文从可靠性与半关闭语义出发讲透原理,深入半连接、全连接队列与 SYN Flood、端口耗尽、连接泄漏等真实故障的排查方法,配 ss、tcpdump 实操命令与完整时序图,让面试八股变成排障能力。

2026-11-02 20:34:07 257

原创 【第 003 讲】全面认识 Python:语言起源与设计哲学 | 行业地位与流行趋势 | 技术优势与应用领域 | 技术边界与工程局限

本文系统讲解 Python 的起源与设计哲学,解读《Python 之禅》的核心格言,结合 TIOBE 指数分析其行业地位与二十年的流行趋势,梳理语法简洁、生态繁荣、可扩展、跨平台等核心优势,介绍其在人工智能、数据分析、Web 开发等领域的应用,并客观说明其运行效率与代码保密性方面的工程局限。

2026-11-02 18:00:00 968

原创 Cookie 和 Session 到底是什么关系——登录态是怎么维持的

登录后为什么关掉浏览器就掉线?本文从 HTTP 无状态讲起,拆解 Cookie 传凭证、Session 存状态的配合机制,澄清“关浏览器掉登录”的真正原因,图解分布式下 Session 的三种解法与 Redis 集中存储,对比 JWT 的取舍,并附 curl 抓包与 Spring Boot 实验动手验证。

2026-11-01 23:26:53 309

原创 常见 HTTP 状态码的坑:301/302、401/403、500/502 之间差的那一个词

301 和 302 差的是 “永久还是临时”,401 和 403 差的是 “认证还是授权”,500 和 502 决定你该翻应用日志还是网关日志。本文成对拆解这些高频状态码的语义与坑,图解协商缓存 304 的完整流程,并附 curl 排查命令与常见面试追问,助你排障少走弯路。

2026-11-01 20:00:00 349

原创 SYN Flood 的防御链条:从半连接队列到 syncookies 的边界与盲区

压测时机器很闲,连接却大面积超时?病根可能藏在内核的半连接队列。本文拆解三次握手与两条队列的分工,讲清 SYN Flood 打满队列的原理,用 ss 与 netstat 定位病因,剖析 syncookies 的工作方式与代价边界,最后用 hping3 复现攻击并验证防御效果。

2026-11-01 19:00:00 584

原创 从一行代码慢十倍说起:CPU 缓存行与伪共享

同一段多线程计数代码,仅调整内存布局就产生四倍性能差距,病根藏在 CPU 缓存行里。本文从缓存一致性协议讲起,拆解伪共享的成因——变量逻辑独立却在 64 字节缓存行内被迫耦合,并用 C 代码复现与验证,最后给出 @Contended、alignas 等修复手段与排查工具。

2026-11-01 18:00:00 307

原创 正则回溯:一个看起来无害的表达式如何拖垮服务

一个单元测试全绿的正则表达式,为何能让 CPU 被单条请求打满?本文从事故复盘切入,拆解 NFA 引擎的回溯机制与灾难性回溯的成因,给出嵌套量词识别方法、表达式改写技巧、RE2 引擎替换与架构层防线,帮你审出代码里埋着的指数级性能地雷。

2026-10-31 21:45:02 249

原创 线程池提交任务之后发生了什么:把 execute 的分流逻辑讲透

线程池线程数为何不动、队列为何悄悄涨、任务为何被静默拒绝?本文拆解 ThreadPoolExecutor 的 execute 分流顺序:“核心线程 → 队列 → 非核心线程 → 拒绝”,纠正 “线程优先于队列” 的直觉误区,覆盖无界队列 OOM 隐患、四种拒绝策略选型与生产级构造模板。

2026-10-31 20:07:00 272

原创 一致性哈希:让数据位置与节点数量解耦

普通取模分摊数据,扩缩容即引发缓存雪崩。本文从这一痛点切入,讲解一致性哈希如何借助哈希环与虚拟节点,将数据位置与节点数量解耦,并提供带虚拟节点的完整 Python 实现,附迁移量对比实验与生产环境实践经验,为分布式缓存的平滑扩容给出一套可落地的方案。

2026-10-30 22:29:59 354

原创 【第 002 讲】从机器语言到 Python:编程语言的演进 | 程序的执行机制

本文系统讲解编程语言的演进与程序的执行机制:梳理机器语言、汇编语言与高级语言的演进脉络及核心特征,分析编译型、解释型及混合型程序的执行方式,并以 CPython 为例,说明 Python 源代码如何被隐式编译为字节码,再由虚拟机逐条执行,为读者后续正式编写 Python 程序打好基础。

2026-10-30 22:00:20 838

原创 布隆过滤器:用可控的误差,换取一百倍的内存节约

布隆过滤器为什么说 “没有” 就一定没有,说 “有” 却可能误判?本文从缓存穿透的真实痛点切入,完整推导误判率公式与最优参数选择,附零依赖的 Python 实现与双重哈希技巧详解,并总结容量规划、误判下游处理、删除需求替代方案等工程实践要点。

2026-10-29 22:51:35 300

原创 为什么 MySQL 索引偏偏选了 B+ 树:一次从需求倒推数据结构的思考

索引为什么选 B+ 树?本文不从结论出发,而是站在数据库设计者视角,从磁盘 I/O 这一物理约束入手,逐一分析哈希表、红黑树、B 树、跳表被排除的原因,推演 B+ 树的必然性。文章结合 InnoDB 页结构与聚簇索引机制给出量化估算,并用 SQL 实验验证树高,最后将最左前缀、覆盖索引等高频实践问题统一收编进一条推导链路。

2026-10-29 22:30:45 311

原创 从 0.1+0.2 不等于 0.3 说起:聊聊浮点数精度问题

本文从 0.1+0.2 不等于 0.3 这一经典现象切入,深入剖析计算机存储小数的底层机制:二进制小数的天然局限、IEEE 754 标准的舍入规则,并借助 Python 与 Java 代码逐层还原误差产生的完整过程。在此基础上给出金额计算、浮点数比较、连续求和三类典型场景的工程应对方案,帮助读者真正理解并掌握浮点数精度问题的处理之道。

2026-10-28 23:28:08 244

原创 【第 001 讲】初识计算机系统:计算机系统概述 | 计算机硬件系统 | 计算机软件系统

本文系统讲解计算机系统的基础知识:从计算机与程序的基本概念入手,依次介绍存储程序思想、冯·诺依曼结构的五大硬件部件、内存与外存的区别、系统总线,以及系统软件与应用软件的分工与协作,帮助初学者在正式编写代码前建立整体认知,为后续 Python 编程学习打好基础。

2026-10-28 20:00:00 1529

原创 从 CPU 缓存行到 False Sharing —— 并发编程中隐藏的性能杀手

两个互不相关的变量,仅因内存地址相邻便导致数倍性能退化 —— 这就是 False Sharing。本文从 CPU 缓存行与 MESI 协议出发,剖析伪共享的成因与代价,通过 C++ 完整实验复现问题并给出缓存行填充等解法,同时结合 Go、Java 标准库的防御性设计,帮助开发者在并发编程中规避这一隐形性能杀手。

2026-07-21 23:32:15 442

原创 【第 007 讲】Python 数据类型基础:变量与对象 | 数值类型 | 类型判断 | 字符串类型 | 字符串驻留

本文系统梳理 Python 数据类型体系。从变量与对象的绑定机制出发,解析整数任意精度与小整数池、浮点数精度缺陷与 Decimal 方案、布尔类型与假值规则;对比 type() 与 isinstance() 的适用场景;最后深入字符串的转义处理、驻留机制及单字符缓冲池,揭示其背后的内存优化逻辑。

2026-07-21 01:37:37 626

原创 深入理解 WAL:数据库如何保证你的数据不丢失

数据库执行 UPDATE 后,数据究竟如何被持久化到磁盘?本文深入剖析 WAL(预写式日志)的核心原理,从写入流程、Checkpoint 机制到崩溃恢复策略,系统讲解数据库保障数据不丢失的底层逻辑,并附 Python 实现的简易 WAL 引擎代码,帮助开发者从工程视角真正理解这一经典存储设计模式。

2026-07-20 23:08:35 410

原创 深入理解一致性 Hash 算法:从理论到虚拟节点的工程实践

文从传统取模哈希的缺陷切入,深度剖析一致性 Hash 算法的核心原理与圆环模型,并详细推演虚拟节点机制如何巧妙化解数据倾斜难题。结合完整的 Go 语言工程级代码实现,全方位解析节点增删、数据迁移及边界回绕等关键设计,助你彻底打通分布式负载均衡的理论与实践闭环。

2026-07-20 22:39:08 388

原创 深入理解 Go Context:从设计哲学到工程实践

本文从设计哲学与源码实现视角深度剖析 Go Context 机制,解析 emptyCtx、cancelCtx 等四种核心类型的内部运作原理及取消信号级联传播逻辑。结合并发任务编排的完整代码示例,系统梳理超时控制、goroutine 泄漏防御等工程实践中的常见陷阱与最佳实践,帮助开发者构建更具健壮性的并发系统。

2026-07-19 23:32:32 367

原创 从零手写一个 Promise:深入理解 JavaScript 异步编程的本质

Promise 是 JavaScript 异步编程的基石,但多数开发者只停留在 API 使用层面。本文从零手写一个符合 Promises/A+ 规范的迷你 Promise,用约 150 行代码覆盖状态机、链式调用、递归解析、微任务调度、错误穿透等核心机制,并结合 async/await 原理分析,帮助读者真正吃透 JavaScript 异步编程的底层本质。

2026-07-19 21:34:39 367

原创 深度剖析 Python 内存管理:从引用计数到分代回收的底层逻辑

本文深入 CPython 底层,系统拆解 Python 内存管理的三道防线:引用计数实现实时回收、标记-清除解决循环引用、分代回收大幅提升 GC 效率。结合弱代假说与三代晋升机制,剖析底层设计哲学,并揭示全局缓存、闭包引用、C 扩展泄漏、异常追踪等 GC 无能为力的四大内存泄漏陷阱,助你写出更健壮的 Python 代码。

2026-07-17 19:58:32 380

原创 【第 006 讲】整数底层编码:机器数与真值 | 原码反码补码 | 补码优势 | 特殊位模式 | 原码补码互转 | 快速转换工具

本文讲解有符号整数在底层的编码与转换。首先界定机器数与真值,区分无符号与有符号解释。随后讲解原码、反码、补码三种编码规则,分析补码在加减法统一运算与存储格式方面的核心优势,归纳两种特殊位模式。最后演示原码与补码互转的方法,并介绍工具辅助验证。

2026-07-17 18:40:09 894

原创 Python 告别 GIL:Free-threaded 多线程从原理到实战全解析

Python 3.13 起引入 Free-threaded 模式,3.14 正式支持(PEP 779),终于打破了困扰开发者多年的 GIL 瓶颈。本文从 GIL 的由来与影响出发详细讲解无 GIL 的环境搭建方式,并通过 CPU 密集型基准测试实测多线程近线性加速效果。同时覆盖线程安全、C 扩展兼容性、内存开销等常见坑点,附最佳实践代码,助你顺利拥抱 Python 的无 GIL 时代。

2026-07-16 23:57:47 399

原创 【第 005 讲】Python 中的进制表示与转换:整数进制 | 前缀表示 | 进制转换算法 | 小数转换 | 进制转换工具

本文系统讲解 Python 中进制的表示与转换方法。涵盖四种常见进制系统及其数学定义、整数常量前缀表示、bin() 等内置转换函数。深入讲解按权展开法与除基取余法两种人工转换算法,以及二进制与八进制、十六进制之间的分组转换技巧,最后介绍常用进制转换工具及其操作方法。

2026-07-16 01:04:07 1040

原创 【第 004 讲】Python 基础语法三要素:注释机制与规范 | 变量引用与赋值 | 常量命名与约定

本文系统讲解 Python 注释、变量与常量三类基础语法要素。注释从词法分析阐明单行注释剥离与多行注释字符串本质及嵌套限制;变量解析动态类型、引用绑定与平行赋值;常量阐述基于 PEP 8 命名约定与非强制约束的工程实践。全文围绕这三要素,助读者构建准确概念模型,为后续学习奠基。

2026-07-14 22:35:59 735

原创 消息队列的进阶修炼:从 “不可靠交付” 到 “分布式最终一致性”

消息队列在微服务中扮演着解耦重任,但跨网络的可靠投递一直是技术痛点。本文深度剖析消息从发送、落盘到消费端的丢失陷阱,结合代码实战构建严密的防丢与幂等体系。同时,深入探讨如何利用本地消息表及 RocketMQ 事务消息机制,优雅攻克微服务分布式事务难题,实现全局数据的最终一致性。

2026-05-19 17:02:06 624

原创 分布式锁:Redis 与 Redisson 的工程实践与避坑指南

本文深入探讨微服务架构中保障数据一致性的关键技术 —— Redis 分布式锁。从基础原理出发,剖析死锁、原子性破坏及误删他人锁等常见自研陷阱,并详细解析企业级客户端 Redisson 如何通过内置 Lua 脚本与 “看门狗” 机制优雅解决上述痛点。旨在帮助开发者避开工程实践陷阱,构建高可用、高并发的分布式系统。

2026-05-13 00:06:23 649

原创 【第 003 讲】第一个 Python 程序:PyCharm 项目创建 | 程序编写与运行 | 交互模式 | 脚本模式 | -m 运行模式 | 常见错误排查

本文系统讲解第一个 Python 程序的落地流程:先在 PyCharm 中创建项目、认识虚拟环境、编写并运行程序;再在命令行中演示交互模式、脚本模式与 -m 参数三种运行方式;最后剖析文件或路径未找到、名称拼写错误、标点符号混用等新手常见错误,帮助读者掌握异常报错的阅读与排查方法。

2026-05-07 18:40:00 1399

原创 【第 002 讲】Python 开发环境搭建:Python 安装与验证 | 环境变量 | PyCharm 安装与配置 | 常用快捷键

本文系统讲解 Windows 平台下 Python 开发环境的搭建流程:先安装 Python 3.12.8,并在终端验证安装结果;再解析环境变量的工作原理,厘清用户变量与系统变量的差异,并演示配置方法;随后下载安装 PyCharm 并完成初始配置;最后介绍主题、字体、快捷键等常用基础设置,为后续编程学习打下基础。

2026-05-05 23:52:02 2270

原创 穿透海量数据的迷雾:深入理解布隆过滤器的架构哲学与工程权衡

如何在十亿级海量数据中极速判断元素是否存在?本文深入剖析布隆过滤器的底层原理,带你透彻理解位图与哈希的精妙结合。结合 Guava 源码落地实践,文章深度探讨了准确率与内存空间的极限博弈,并盘点其在抵御 Redis 缓存穿透、爬虫 URL 去重等高并发架构中的真实应用,助你掌握这把解决海量数据难题的架构利器。

2026-04-30 23:06:24 454

原创 透过 Copy-On-Write 机制:理解并发编程中的性能与一致性权衡

并发编程中的读写冲突令人头疼,读写锁也会带来上下文切换开销。本文深入剖析 Java 并发包中 CopyOnWriteArrayList 的核心源码,带你透彻理解 Copy-On-Write 写时复制机制。文章解读了其读写分离的设计哲学,并辩证分析了无锁读的性能优势与一致性妥协,助你掌握最佳工程实践。

2026-04-30 22:48:39 445

原创 分布式系统中的并发控制与分布式锁机制深度剖析

本文深度剖析分布式并发控制难题,全面对比 MySQL、Redis 与 ZooKeeper 分布式锁原理。不仅拆解看门狗与防误删机制,更探讨了 Redlock 争议、时钟漂移及隔离令牌等高阶议题。带你看透 AP 与 CP 模型差异,助你在高并发场景下做出合理架构权衡。

2026-04-29 23:57:56 513

原创 软件系统中的熵增定律:技术债的形成与重构的艺术

软件系统如同物理世界,难以逃脱熵增的命运。本文深入探讨了技术债的形成机制及其隐性危害,并指出状态管理是代码复杂度的核心来源。文章提出通过单元测试防腐与持续重构对抗系统衰退,强调组织文化与康威定律对系统架构的深远影响。旨在帮助开发者在业务交付与技术健康之间找到平衡,实现卓越的系统工程设计。

2026-04-29 23:23:36 691

原创 从 “聊天” 到 “编程”:写给普通人的提示词工程与自动化实战

很多人习惯像聊天一样使用 AI,但这难以应对严谨的商业工作流。本文带你完成从 “聊天” 到 “编程” 的认知跃迁,深度剖析如何利用 CREATE 框架编写降熵的结构化提示词。结合 Python 代码实战,教你将提示词封装为可批量处理数据的自动化脚本,真正把大语言模型变成你的高效数字员工。

2026-04-28 21:00:00 499

原创 破局大模型幻觉:基于 Python 与 Neo4j 构建 GraphRAG 实战指南

本文深度解析了 GraphRAG 核心架构与技术流派,直击传统 RAG 在复杂推理和全局视野上的痛点。结合 Python 与 Neo4j 图数据库,为你提供从文本知识抽取、图谱构建到多跳检索的端到端落地指南。文章附带完整的 LangChain 核心代码,并分享了成本控制与并发调优的实战经验,助你彻底破局大模型幻觉。

2026-04-28 20:21:27 441

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除