2026-05-27CodeGraph 使用入门:给 AI 一个本地代码索引CodeGraph 给代码仓库建本地索引。它用 tree-sitter 解析源码,把函数、类、方法、调用关系和文件结构存进 SQLite,之后可以通过 CLI 或 MCP 查询。接手陌生项目、追调用链,或是在改共享逻辑前找影响范围时,这些查询比逐个翻文件方便。CodeGraph工具效率AI2026-05-27效率工具清单:在用、试用与待体验这里按使用状态整理工具:已经进入工作流的、正在试用的,以及只是收藏待测的。每项只写用途和当前判断;值得展开的,再单独写文章。工具效率推荐2026-05-27Scrapy 爬虫入门Scrapy 适合抓取直接包含目标数据的 HTML 页面。如果数据要等浏览器执行 JavaScript,或滚动、点击后才出现,先检查页面是否调用了数据接口;没有可直接请求的接口时,再考虑 Selenium 或 Playwright。ScrapyPython爬虫数据采集2026-05-26Vercel + 阿里云域名 + Cloudflare:域名解析配置记录最近把站点部署到 Vercel,又把在阿里云买的域名接了上去。这个过程里最容易混在一起的不是某个按钮在哪里,而是域名注册商、DNS 服务商、部署平台到底分别管什么。 我这次的场景很常见: 123域名:阿里云购买站点:Vercel 部署DNS:可以放在阿里云,也可以托管到 ClouVercel阿里云域名CloudflareDNS2026-05-25Golang 性能优化工具 pprof 使用入门Go 的 pprof 可以查看 CPU、堆内存、goroutine 和阻塞等运行数据。采集入口主要有两个: runtime/pprof:采集工具型应用运行数据进行分析。 net/http/pprof:采集服务型应用运行时数据进行分析。 采集到 profile 后,可以用 go tGopprof性能优化profiling2026-05-23Redis + MySQL 缓存一致性:旁路缓存、删除策略与异常时序MySQL 保存原始数据,Redis 缓存读结果。更新时两边无法在同一个事务里完成,问题就落在操作顺序和失败处理上:先删缓存还是先更新数据库?删除失败或并发读写时,又怎样避免旧值长期留在 Redis? 核心原则:MySQL 是数据源头,Redis 是派生缓存。缓存可以短暂不一致,RedisMySQL缓存一致性系统设计2026-05-23从同步到异步:任务队列如何削峰、解耦与保住主链路注册请求如果还要同步发消息、写审计日志、更新画像,下游任一环节变慢,都会拉长接口耗时。异步化要先划清边界:哪些操作决定注册是否成功,哪些可以稍后完成。消息队列异步化幂等重试削峰2026-04-10浏览器代理模式与 Selenium 实战Selenium 把代理配置交给浏览器执行。排查代理没有生效时,重点要看浏览器实际收到的配置,而不只是 Selenium 调用了哪个 API。 常见的浏览器代理设置方式大致有五种:使用系统代理、使用浏览器自身代理配置、通过自动检测网络配置代理、借助扩展插件控制代理,以及通过命令行Selenium代理自动化2025-06-21一次高频上报接口压测后的 goroutine 异常增长排查一次高频数据上报接口压测时,接口并没有马上报错,平均响应时间也还在可接受范围内,但服务运行一段时间后,goroutine 数量持续上涨。压测停止后,goroutine 数没有明显回落。 这个问题最后定位到异步写入链路里的 channel 阻塞:请求侧把数据写入任务通道,但消费速度GoJMeterpprofgoroutinechannel1∧