- 博客(25)
- 收藏
- 关注
原创 用 Go 从零构建一个终端 AI 财务助手:Agent Loop、MCP 与 TUI 的完整实践
本文是一份关于「如何从零构建 AI Agent 应用」的设计手记,分享从零构建Agent应用的完整体感。项目采用五层架构(TUI、MCP、tools、agent、data),核心创新包括:元工具路由优化Token使用、两阶段会话压缩防数据丢失、MCP配置驱动实现无代码接入、事件驱动UI避免阻塞,并通过纯文本图表在终端实现可视化。文章深入剖析了工具选择、错误降级、并发安全等关键取舍,强调“错误是一等公民”的工程哲学。项目已开源,欢迎交流与贡献。
2026-11-07 09:54:04
297
原创 MySQL 进阶学习|索引、SQL 调优、InnoDB 内核深度总结
本文基于MySQL 8.0,结合实战场景,系统梳理了后端开发中高频的性能问题:存储引擎应统一使用InnoDB;深入解析聚簇索引、二级索引与回表机制,强调覆盖索引优化;揭示联合索引失效的常见陷阱(如最左前缀、函数运算、模糊查询等);介绍explain执行计划分析方法,掌握type、key_len、Extra等关键字段;提供批量插入、主键设计、大分页、count统计、update锁表等优化方案;最后剖析行锁、间隙锁、MVCC机制,强调理解SQL执行链路比盲目加索引更重要。
2026-10-31 09:17:00
301
原创 MySQL 完整入门指南|从库表操作、SQL 查询到事务,打好数据库基本功
本文系统梳理MySQL核心知识点,涵盖数据库基础、SQL四大分类、DDL/DML/DQL操作、表约束、多表查询与事务ACID特性,结合实战案例与避坑指南,帮助后端、测试、数据分析人员掌握建表、CRUD、关联查询及事务管理能力,为索引优化、主从复制等进阶学习奠定坚实基础。
2026-10-24 09:45:07
221
原创 Docker Compose 容器编排完全指南:从入门到实战,一篇吃透
摘要:本文由浅入深讲解 Docker Compose 单机多容器编排。从 Compose 诞生背景、解决的痛点、核心概念、YAML 配置字段、全套常用命令入手,先用 Nginx 简单示例带你快速上手;再结合真实 Go 语言 IM 即时通讯项目目录结构,完整演示多阶段镜像构建、自定义网络、健康检查、交互式客户端、服务分组 profile 等实战能力。同时梳理大量新手高频踩坑点与生产最佳实践,适合后端 / 云原生初学者一次性掌握 Compose,为后续学习 K8s 打下基础。
2026-10-16 19:49:47
329
原创 Docker 网络深度梳理:从基础使用到底层原理
Docker网络解决容器联网、外部访问及容器间通信三大核心问题。通过bridge模式默认创建docker0网桥,实现容器与宿主机互通;使用端口映射(-p)使外部访问容器服务;推荐自定义网络结合DockerDNS,以容器名而非IP通信,避免因IP变动导致故障。底层依赖Linux的NetworkNamespace、vethpair、LinuxBridge、NAT等技术,实现网络隔离与流量转发。掌握四种网络模式(bridge/host/none/container)及选型原则,是构建稳定容器化应用的关键。
2026-10-06 22:54:34
347
原创 Linux 基础学习全景笔记:从命令入门到 CentOS Stream 10 环境实战
本文为零基础Linux入门课程笔记,涵盖目录结构、常用命令、文件操作、权限管理、软件包管理、网络配置、进程监控等核心内容。强调“动手实践”重要性,建议在虚拟机中边学边练。重点包括:路径与命令格式、vim/nano编辑器使用、用户权限控制、yum/dnf仓库配置(含国内镜像源与EPEL)、VirtualBox网络模式切换及系统监控工具。总结指出,掌握Linux关键在于理解“一切皆文件”与“小工具组合完成任务”的思想,通过反复操作实现真正入门。
2026-10-03 16:32:55
313
原创 从零构建 Go TCP 聊天室:架构、并发与协议设计实战
本文基于Go语言实现一个功能完整的命令行聊天室,系统解决TCP网络编程中的粘包、并发写冲突、请求响应匹配、广播效率等核心问题。采用分层架构与接口抽象,结合策略模式、命令模式及依赖倒置,实现可扩展、易测试的工程化设计。通过JSON行协议、ReqID+pending表、Sendchan+writePump等机制,保障通信可靠与并发安全。项目支持群聊、私聊、离线留言、在线列表等功能,具备良好的可维护性与扩展性,适合作为Go网络编程与并发实践的参考范例。
2026-09-25 17:41:52
316
2
原创 Go 语言实战:从零实现一个命令行 IM 聊天室(TCP + JSON + 并发模型详解)
本文实现了一个基于TCP+JSON的命令行聊天室,解决Go网络编程中的典型问题:通过换行分帧处理TCP字节流边界;用writePump协程串行写入避免并发写冲突;借助ReqID+pending表区分同步请求与异步推送;支持离线留言、在线用户列表、注册登录等核心功能。服务端采用读写协程分离、共享状态加锁机制,客户端通过互斥锁保护输出,确保提示符不混乱。项目结构清晰,覆盖协议设计、并发模型、生命周期管理,是学习Go网络编程与高并发架构的优质实践。
2026-09-19 09:49:04
251
原创 Go 网络编程:从 TCP Socket 到并发即时通讯系统
本文系统讲解Go语言网络编程,从TCP/IP基础出发,深入并发TCP服务端设计,通过一个可运行的即时通讯系统示例,涵盖粘包处理、并发安全、连接管理等核心问题。结合常见坑点与解决方案,帮助开发者掌握高效、可靠的网络编程实践。
2026-09-12 21:33:19
113
原创 Go并发编程一篇打通:GMP调度、Channel、Context、GC全掌握
本文系统讲解Go并发编程核心知识,涵盖GMP调度模型、Goroutine生命周期、Channel通信模式、Context控制、GC垃圾回收及并发安全方案,并总结常用工具与调优实践,帮助读者构建完整知识体系。
2026-09-04 08:37:48
342
原创 Go 语言实现一个支持括号、负数、小数的命令行计算器
本文介绍了一种基于双栈结构实现中缀表达式计算器的方法。该计算器完整支持四则运算、括号嵌套、负数和小数处理,并能进行全面的语法错误校验。文章详细阐述了双栈算法的核心原理:数字栈存储数值,运算符栈存储运算符和括号,通过优先级控制计算时机。重点解析了负数识别、小数解析、括号处理和栈计算逻辑等关键难点,以及完整的错误处理机制,包括除零错误、括号不匹配、多小数点等场景的检测。最后提供了完整的Go语言实现代码,可直接运行,适合作为数据结构学习和Go语言实践的参考项目。
2026-08-21 14:02:00
163
原创 途友 (Tuyou) 后台系统 SSE 消息通知落地实战:选型、分层实现与问题复盘
摘要:途友后台系统(tuyou-admin)基于SSE实现实时未读数推送,技术选型对比WebSocket与轮询后选择SSE方案,因其单向推送特性与低维护成本更契合业务需求(仅需更新红点计数)。架构分四层:流服务层处理SSE连接与重连逻辑,Hook层实现SSE优先、轮询降级的容错机制,Redux全局管理状态,布局层统一接入。关键解决代理层问题:Nginx需关闭缓冲与gzip压缩,Vite开发环境需独立配置。稳定性设计包括自动重连、错误隔离、权限联动及资源清理,确保网络异常或页面休眠时不失效。经验强调代理层配置
2026-08-14 23:57:44
288
原创 从菜单树到运行时路由:途友后台权限管理系统设计复盘
本文详细介绍了途友(Tuyou)后台管理系统权限模块的设计与实现方案。核心采用"菜单驱动路由、权限键驱动操作"的闭环设计:通过menu_tree动态生成用户可访问的路由结构,避免静态路由的割裂问题;用perm_keys控制按钮级权限,实现细粒度控制。方案重点解决了运行时路由重建、安全白名单映射、权限数据同源等关键问题,并在菜单管理、角色授权等配置层面形成完整闭环。文章分享了技术选型背后的思考,包括动态路由与静态守卫的取舍、权限分层的必要性等,并总结了配置校验、缓存同步等实践中的经验教训。
2026-08-14 21:40:04
434
原创 LeetCode 224 基本计算器|Go 切片模拟栈解题
本文介绍了一种解决带括号加减法字符串表达式计算的栈解法。核心思路是使用符号栈保存括号层级的正负状态:遇到数字时乘以当前符号累加;遇到括号压栈/弹栈切换符号状态。该方法只需一次遍历,时间复杂度O(n),空间复杂度O(n),巧妙处理了一元负号、多位数字和空格等问题。相比传统双栈法更简洁高效,特别适合处理大规模输入。文章提供了完整的Go实现代码和详细步骤解析,并通过示例演示了符号栈的工作原理。
2026-08-07 08:15:00
323
原创 Go 语言基础笔记:包、init、匿名函数、容器、结构体与错误处理
本文是《Go语言基础入门笔记》的续篇,重点梳理Go项目开发中的核心知识点。主要内容包括:1. 包管理机制与Go Module模块化规范,详解包访问权限、初始化命令和工程目录结构;2. init()函数的特性与执行顺序,及其在初始化场景中的应用;3. 匿名函数与闭包的使用方法和核心特性;4. 数组、切片和Map三大容器的底层原理及操作技巧;5. 结构体的定义、访问权限控制和标签使用;6. Go特有的错误处理体系,包括error和panic/recover机制。文章还总结了开发中的常见坑点,如init执行顺序、
2026-08-01 14:57:45
225
原创 Go 语言基础入门笔记:从编译运行到函数流程控制
本文系统梳理了Go语言的核心基础知识点,涵盖程序编译运行、语法规范、数据类型、运算符、流程控制等核心内容。重点包括:1. Go程序的两种执行方式和工程目录规范;2. 强制性的语法规则如大小写敏感、左大括号位置等;3. 变量声明与基础数据类型详解;4. 类型转换规则和指针常量使用;5. 完整的运算符和控制结构说明;6. 函数定义与调用规范。文章特别整理了新手常见易错点,如:=的使用限制、类型转换要求等,帮助开发者快速掌握Go语言特性并规避常见错误。该内容既适合系统学习,也可作为日常开发的速查手册。
2026-07-25 08:30:00
212
原创 Git全套核心知识点:从入门到精通
本文系统梳理Git全栈知识体系,涵盖基础概念、高频命令、团队协作规范及实战场景。核心内容: 基础概念 Git分布式特性与SVN对比,三大工作区(工作区/暂存区/版本库) HEAD指针作用,--hard重置风险及reflog恢复方法 高频命令 代码提交三连(add/commit/push)、分支管理(checkout/merge/rebase) 撤销操作场景化方案(工作区/暂存区/已提交/远程撤回) 冲突解决与.gitignore配置 企业级实践 多环境分支策略(main/de
2026-07-18 20:16:26
236
原创 JS原型核心笔记:prototype、__proto__、constructor
JS原型核心概念速记:构造函数(工厂)创建实例对象(产品),通过prototype关联原型对象(公共仓库)。三大属性:构造函数.prototype指向原型对象;实例.__proto__指向原型对象;原型对象.constructor指回构造函数。高频误区:构造函数内方法不可共享,不同构造函数的原型对象独立。原型链查找规则:实例→原型→Object.prototype→null。口诀:prototype是共享仓库,__proto__是查找通道,constructor是溯源标记。
2026-05-23 14:27:24
180
原创 React 状态管理:Redux Toolkit 标准写法与实战案例
Redux是一个状态管理工具,主要解决组件间共享数据、状态修改混乱和维护困难三大问题。核心概念包括Store(全局仓库)、State(数据)、Slice(业务模块)、Reducer(修改函数)和Action(指令)。使用流程分为:创建Store、全局注入Provider、定义Slice(包含初始状态和修改规则)、编写异步Action、组件通过useSelector获取数据、通过useDispatch修改数据。
2026-05-21 21:57:41
328
原创 JS原型+继承+this操控|3大难点拆解,前端实战再也不慌
本文深入解析JavaScript原型、继承和this操控三大核心难点。原型是JS面向对象的基础,通过构造函数、原型对象和实例的关系实现方法复用。继承分为属性继承(call方法)和方法继承(推荐Object.create标准写法)。call/apply/bind用于改变this指向,区别在于执行时机和参数传递方式。文章结合代码实例详细讲解了原型链、constructor修复、instanceof原理等关键概念,并指出常见易错点,帮助开发者夯实面向对象编程基础,解决实际开发中的this指向问题。
2026-03-29 14:46:29
401
原创 JS函数避坑指南|普通函数VS构造函数VS箭头函数3大区别,this指向再也不懵(新手友好)
本文系统讲解了JavaScript中三种函数的区别与用法:普通函数用于处理逻辑直接调用,构造函数必须用new创建实例,箭头函数继承外层this不可new。重点剖析了new的底层机制、this指向规则和箭头函数特性,并对比了剩余参数与arguments的差异。通过代码实例和易错点分析,帮助开发者掌握函数的核心应用场景,避免常见陷阱,夯实前端基础。核心结论包括构造函数必须配合new、箭头函数this不可变、剩余参数优于arguments等实战要点。
2026-03-28 22:24:45
638
原创 前端HTML+CSS仿QQ音乐网页设计(作业)
本项目是一个类似QQ音乐的音乐网站,包含音乐推荐、新歌展示、排行榜和MV展示等功能。项目采用HTML5、CSS和少量JavaScript实现,结构清晰,功能模块划分明确。HTML部分通过语义化标签(如<header>、<div>等)构建页面结构,包括头部导航、轮播图、新歌列表、排行榜和MV列表等模块。CSS部分使用base.css定义通用样式,确保跨浏览器一致性,并通过Flexbox布局、绝对定位和动画效果增强用户体验。响应式设计采用vw单位,使页面在不同设备上自适应。
2025-05-16 21:57:27
1536
原创 Python数据可视化:pyecharts动态时间线柱状图构建
调控画面,实现灵活控制,完善元素,设置时间间隔(1秒切换)解决方式:使用try-except捕获KeyError。重点:在遍历过程中动态修改数据结构和多列表的嵌套处理。重点:坐标系反转原理,保持数据正确对应关系。重点:保留top8国家,按gdp降序排列。难点:需要同时处理新键创建和已有键追加。从数据加载到时间线动画的分析理解(
2025-03-23 23:33:51
656
原创 Python构建基础折线图、地图、柱状图
json:是一种轻量级的数据交互格式,采用完全独立于编程语言的文本格式来存储和表示数据(就是字符串)json格式数据转化:通过json.dumps(data)方法把python数据转化为了json数据。解决:改进方法,建立"分阶段验证"机制,每完成一个函数调用即进行print()输出调试。解决:数据中的省份名称要输入完整,如:要输入“北京市”而不能是“北京”解决:利用工具,通过格式化和视图,逐一分析框架结构,多加练习。1、问题:地图的板块颜色或具体数据无法显示。2、问题:数据层次复杂,分析困难。
2025-03-15 21:22:08
572
TCP网络编程-IM聊天室源码
2026-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅