- 博客(272)
- 资源 (5)
- 收藏
- 关注
原创 浅谈 Buffer Pool
缘由MySQL 是个典型的关系型数据库,自 5.5 版本起,默认的存储引擎由 MyISAM 改为 InnoDB。InnoDB 存储引擎中数据以页的形式存储在硬盘上,页的默认大小为 16KB。但是,基于硬盘和 CPU 巨大的速度差异(以上图 HDD 为例,相差千万倍 ),需得把数据缓存在内存里以提高性能,于是便引出了今天的主题 — Buffer Pool。注:1ms(毫秒) = 1000 us(微秒) = 1000 * 1000 ns(纳秒)Buffer Pool 是什么Buffer Pool
2021-03-04 22:26:45
534
1
原创 浅谈 Redis
前言Redis 作为一个高性能的内存数据库,其读效率达到 10w qps/s,写也能到达 4-5w qps/s。今天就来简单的聊下其底层的实现,达到知其然并知其所以然。redisServerRedis 作为典型的 C/S 模式,客户端连接到服务端,然后进行交互。那么就来看看服务端的数据结构// server.hstruct redisServer { …… redisDb *db;...
2020-03-20 19:13:07
442
1
原创 浅谈 PHP
这篇博客分三个部分陈述,分别是PHP进程管理器、PHP启动流程和PHP优化。 谈到PHP进程管理器,不得不讲下它的进化过程,CGI--->FastCGI--->PHP-FPM。 CGI全称是“公共网关接口”(Common Gateway Interface),是外部应用程序(CGI程序)与Web服务器之间的接口标准。...
2015-11-15 15:35:37
1148
1
原创 微信支付趟过的坑
这段时间在做微信支付开发,在公司的公众号审批下来后,我这边的测试用例也已经开发完毕,于是拿着具体的数据来调试了,大段大段的代码就不贴了,demo里有,这里就说说调试过程中遇到的坑。 第一坑:redirect_url参数错误。因为我选择的的“JS API”支付,这种支付需要网页授权,先获取code,再拿code去获取openid和prepay_id。这个网页授权需要登录微信
2015-01-21 15:49:48
91276
5
原创 统一调度:用 EasyCLI + CLIProxyAPI 打造你的私人“AI 路由器”
本文详细介绍如何利用 EasyCLI 与 cliproxyapi 搭建私有 AI 代理,实现多平台 Key 的统一管理与透明分发。通过本地路由联动 OpenCode,助你一键聚合官方及三方模型,彻底解决多模型切换繁琐与网络连通难题。
2026-02-04 02:29:05
1790
原创 别再给 Claude Code 交租了:OpenCode + oh-my-opencode 实战手册
记录 opencode 实战,配合 oh-my-opencode 深度定制 Agent 架构。揭秘模型调度策略、MCP 数据库扩展及避坑经验,带你摆脱厂商锁死,打造高性价比、全自动的终端编程外脑。
2026-01-31 02:04:00
1209
原创 从 Stdio 到 HTTP:用 Go 打造按需加载的 SQLite MCP Server
本文实战演示用 Go 构建 SQLite MCP Server,对比 Stdio 与 HTTP 模式,详解 SDK 选型及按需加载实现,助你标准化打通 AI 与私有数据的连接。
2026-01-29 02:44:30
689
原创 万字长文解析:Redis 8.4 网络 IO 架构深度拆解
Redis 8.4 坚持 Reactor 模型,主线程单线程顺序解析并执行命令以确保强一致性 。多线程仅用于辅助网络 I/O 与数据搬运,且 8.x 版本引入了 connection 抽象层与 privdata 机制,实现了事件驱动与业务逻辑的深度解耦 。
2026-01-25 06:42:41
962
原创 告别大模型幻觉:深度解析 RAG 文档切割艺术与 Milvus 高性能实战
本文深度解析 RAG 架构与 Milvus 实战,涵盖文档切割、向量嵌入及性能优化策略。助你从零构建高性能企业级知识库,有效消除大模型幻觉,实现毫秒级精准语义检索。
2026-01-23 04:00:15
1137
原创 LangChain 1.x 全景解析:从 LCEL 到 LangGraph 的工程化 Agent 实战
本文系统解析 LangChain 1.x 生态,将其视为 AI 操作系统,深入讲解 LCEL 链式编排、LangGraph 状态机与人工中断机制,完整展示生产级 Agent 的工程化落地路径。
2026-01-22 17:40:29
724
原创 从“暴力调用”到“精细编排”:解构 AI Agent 的大脑核心——Planner 与 Router
面对工具爆发,本文解析 Planner 与 Router 架构,通过规划与路由解耦解决 Token 爆炸与幻觉,构建逻辑自主的工业级 Agent。
2026-01-22 01:24:43
681
原创 Vibe Coding:新时代程序员的“降维打击”还是“思维进化”?
本文解析 Vibe Coding:意图驱动的新范式。详解工具与风险,助你转向架构思维,以审美驾驭 AI,重塑开发力。
2026-01-21 11:09:03
848
4
原创 Evaluation & Observability:让 LLM 与 Agent 系统真正可度量、可观测
拒绝“凭感觉”测试!本文详解 Eval 与 Obs 核心体系,通过链路追踪构建数据飞轮,助你跨越 Demo 到生产环境的鸿沟,实现从“炼丹”到“工程化”的进阶。
2026-01-21 02:15:53
784
原创 Memory —— 让 Agent 拥有连贯人格与无限上下文的关键拼图
大模型天生无状态,Memory 是突破 Token 限制的关键。本文详解从滑动窗口到向量检索的分级策略,结合 LangGraph 与 SQLite 实战,手把手教你打造具备长期记忆、能主动读写用户偏好的高阶 Agent。
2026-01-20 00:01:18
727
原创 招式从何而来:Skill,才是 AI Agent 的真正武学
以内功御神兵,将SOP心法炼成专业Skill。助Agent告别蛮力持证下山,化身一剑封喉的实战宗师。
2026-01-19 01:13:04
699
3
原创 Agent:AI 的终极形态——从“对话框”到“自动驾驶”
Agent = 大模型 + 记忆 + 工具。补全 AI 落地最后拼图,从单体循环到多智能体分工,看 AI 如何利用 Token 思考、通过 MCP 行动,进化为自主解决问题的数字员工。
2026-01-18 03:57:15
709
1
原创 MCP 是什么?一次搞懂 AI 如何“标准化接入世界”
Token 赋予了 AI 思考的价值,MCP 则构建了行动的标准。它打破了对话框的限制,让 AI 从单纯的“聊天机器人”,进化为能真正操控电脑、处理复杂工作的智能体(Agent)。
2026-01-17 04:06:42
677
1
原创 Token:AI 时代的数字货币——从原理到计费全解
拒绝做调包侠!本文拆解 Token 原理,用 Go 实现 BPE 算法,并解决成本控制与上下文溢出难题,助你进阶 AI 资深工程师。
2026-01-15 16:14:43
876
原创 Go 语言如何实现高性能网络 I/O:Netpoller 模型揭秘
深入剖析 Go 网络模型,揭秘 Netpoller 如何基于 epoll 实现“同步语义、异步性能”。从源码细节到 C10M 挑战,全景解读 Go 高并发的底层基石。
2026-01-13 02:57:35
752
原创 深度长文:解构 Go 内存管理——从操作系统的“伟大谎言”到 GMP 的极致性能优化
深度解构Go内存管理:从虚拟内存原理出发,详述三级分配架构与GC协作机制,透视高性能背后的底层逻辑。
2026-01-11 23:54:43
1050
原创 Go 并发控制的艺术:深入理解 context.Context
Context 是一个利用“结构体嵌套”实现方法提升、通过“Channel 广播”同步信号的不可变树状模型,它为高并发下的生命周期管控与链路追踪提供了极致精简且线程安全的标准化方案。
2026-01-05 20:25:22
1105
原创 Go runtime 中的 sudog:连接 Channel 与 GMP 的隐秘枢纽
深度解密 sudog:剖析阻塞代理、select 零拷贝与缓存池,透视 Go 运行时同步核心逻辑。
2026-01-04 15:48:31
1313
原创 深度解密 Go 语言调度器:GMP 模型精讲
理解 GMP,不仅是为了应付面试,更是为了理解 Go 如何在底层通过局部性原理避开锁竞争,如何通过异步抢占终结死循环。正是这种“让逻辑层与物理层解耦”的设计方案,才让 Go 在高并发的巨浪中,依然能保持极致的优雅与稳定。
2026-01-02 02:58:22
759
原创 硬核拆解 Go GC 演进史——从 STW 到亚毫秒延迟
本文探讨了内存管理和垃圾回收(GC)机制的发展历程。首先以Redis的整数集合为例,展示了C语言中显式内存管理的优缺点,进而引出GC的必要性。接着概述了标记-清除、标记压缩、复制算法、引用计数和分代回收等常见GC算法,并分析了Go语言不采用分代回收的原因。重点介绍了Go GC的演进过程:从1.3版本的全STW标记-清除,到1.5引入三色标记法和插入写屏障,再到1.8的混合写屏障技术,最终将STW时间降至亚毫秒级。文章还解释了混合写屏障如何通过栈预染黑、新对象标黑等机制消除re-scan,以及后续版本在内存归
2025-12-31 03:09:33
845
原创 拒绝纸上谈兵:Go AST 在工程效能中的 5 个杀手级应用
从自动化提取 API 文档,到精准统计代码坏味道;从无感知地重构海量代码,到分析一次 Git 提交的潜在影响范围——这些在平时看来“枯燥且重复”的工作,在 AST 面前都不过是几行脚本的事。
2025-12-28 18:06:50
658
原创 像搭积木一样理解 Golang AST
你是否好奇过,gofmt 是如何瞬间格式化你的代码的?IDE 是如何知道你的函数“未定义”的?或者 golangci-lint 是如何发现你潜藏的 Bug 的?这一切的幕后黑手,不是魔法,而是 AST(抽象语法树)。作为一名 Go 开发者,理解 AST 不仅能让你写出更酷的工具(比如自动生成代码),还能让你对编译器的脾气了如指掌。今天,我们就基于 go/ast 包,来一场代码的搭积木之旅。
2025-12-26 03:17:07
744
1
原创 从 utf8.RuneCountInString 看 Go 是如何高性能、安全地解码 UTF-8 的
RuneCountInString 是一个“表驱动 + ASCII 快速路径 + 容错 UTF-8 解码”的高性能 rune 计数器。它的核心目标只有一个:在任何字节输入下,安全、快速、准确地统计 rune 数。另外,若要熟练理解透这个函数,还需花点功夫理解 Unicode 和 UTF-8。
2025-12-25 00:02:52
708
1
原创 解决 yapi chrome 插件 cross-request 版本过低而无法请求的问题
某天我 又又又一次更新了 chrome 版本,当前为 `版本 140.0.7339.186(正式版本) (arm64)` ,而后在调用相关同学接口时,发现习以为常的界面中发送按钮置灰了。
2025-09-24 00:58:37
550
原创 解决 mac 上 dyld[14806]: Library not loaded: /opt/homebrew/opt/icu4c/lib/libicuio.74.dylib
发现 php 不能用了,仔细一看,是 php 依赖的多语言库 icu4c 版本不匹配。回想了一下,应该是昨儿个下载一个软件时,使用 brew update 时把本地的 icu4c 版本由 74 升级到了 76,但是 php 7.4 依赖的是 icu4c 74 版本,导致 php 无法运行。
2024-11-27 09:29:06
1852
原创 聊聊 golang 的 map
哈希表是一个很常见的数据结构,用来存储无序的 key/value 对,给定的 key 可以在 O(1) 时间复杂度内查找、更新或删除对应的 value。设计一个好的哈希表,需要着重关注两个关键点:哈希函数、冲突处理。
2024-07-02 09:00:28
1814
原创 聊聊 golang 中 channel
Golang 的并发哲学是“不要通过共享内存进行通信,而要通过通信来共享内存”,提倡通过 channel 进行 goroutine 之间的数据传递和同步,而不是通过共享变量(内存)来实现。
2024-06-23 11:13:02
1469
2
原创 说说 golang 中的接口和反射
Golang 中的接口是一组方法的签名,是实现多态和反射的基础。Golang 中的反射是用标准库中的 reflect 包实现,reflect 包实现了 runtime (运行时)的反射能力,能够让程序操作不同的对象。
2024-06-20 09:33:13
761
1
原创 浅谈golang字符编码
Golang 的代码是由 Unicode 字符组成的,并由 Unicode 编码规范中的 UTF-8 编码格式进行编码并存储。Unicode 是编码字符集,囊括了当今世界使用的全部语言和符号的字符。有三种编码形式:UTF-8,UTF-16,UTF-32。(UTF: Unicode Transformation Format,统一码转换格式)
2024-06-13 00:54:18
1478
1
原创 解决 Redis 启动 Creating Server TCP listening socket *:6379: unable to bind socket
1、redis 3 那个版本,如果 bind 没开启,先绑定 ipv6,ipv6 绑定失败就报错了,绑定成功了,再绑定 ipv4,咱们开发机不支持 ipv6;2、redis 5 ,如果 bind 没开启,则先尝试绑定 ipv6,ipv6 绑定失败就打印个日志,再去尝试绑定 ipv4,成功了就继续往下走。看了下代码才发现,更改了连接的判断,先尝试连接 ipv6,再尝试连接 ipv4,这样即使本机没有开启 ipv6 也能成功。同时呢,代码注释中也写的很清楚,如果没有打开 bind,那么默认会连到。
2023-07-26 22:25:23
1497
原创 Cursor 尝鲜
Cursor 这是一个集成了GPT-4 模型的代码编辑器, 而且重要的是免费, 不需要注册, 不需要订阅Copilot,不需要API Key,下载安装后直接用就行。最近 ChatGPT 大行其道,用了都说🐂🍺,今天就借着这个话题介绍下一个搭乘 ChatGPT4 的 IDE ,那就是标题。这个用处就大了,以后在研究源码的时候,用 Cursor 就如虎添翼了,碰到不懂的代码,就参考下 Cursor。然后圈中 main 方法,按 command + l 问 Cursor 这段代码的作用。恢复混淆的 js 代码。
2023-03-31 23:04:07
3191
原创 解决 golang json 中 invalid character ‘\r‘ in string literal 报错
也就是 json 在解析 \r\n 需要加上转义符。同时,在 golang 中,用反引号也可以解决。跑上面的代码,会报题头的错误。
2023-01-01 23:18:18
4369
1
原创 解决 php post 而 gin 收不到问题
php 这边用 post+json 形式向 golang 的 gin 框架发送数据,之前网页版都是使用正常,最近有个需求是一个功能接入移动端内部办公系统,通过接入 sdk 调用实现网页上的功能。
2022-12-04 23:02:16
1284
php_curl-5.4.3-VC9-x64的php_curl.dll
2015-01-04
epel.repo
2016-06-06
XHProf简明教程
2015-09-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅