程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
软件定制开发/软件按需定制 技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
用 TransformStream 把 web streams 拼成管线:TextDecoderStream、SSE 拆行与顺序坑
编程
用 TransformStream 把 web streams 拼成管线:TextDecoderStream、SSE 拆行与顺序坑
2026-10-01 00:05:55
用 TransformStream + pipeThrough 把 fetch 流拼成 Web Streams 管线:TextDecoderStream 解码、跨块拆行、JSON 解析。含三个顺序/边界坑——浏览器已自动解压勿再套 DecompressionStream、SSE/NDJSON 拆行必须跨块缓冲、pipeThrough 会锁流且错误沿管道传播。
web
streams
TransformStream
pipeThrough
Web
Streams
ReadableStream
TextDecoderStream
SSE
背压
流式处理
AccessGuard 类型缓存治理:tsc --noEmit 3s→45s→8s,编辑器 5s→300ms
编程
AccessGuard 类型缓存治理:tsc --noEmit 3s→45s→8s,编辑器 5s→300ms
2026-10-01 00:04:48
大型 TypeScript 项目的编译墙怎么形成、怎么量化治理:从类型计算复杂度与三处缓存(Type Cache、Assignability Cache、结构比较)讲到 --generateTrace 诊断三指标,再到类型写法瘦身、Project References 增量编译、转译与类型检查解耦。含 AccessGuard 实测:tsc --noEmit 3s→45s→8s,编辑器 5s→300ms,缓存命中率 62%→85%。
typescript性能优化
TypeScript
编译优化
类型缓存
tsc
Project
References
故障群里的截图,怎么变成 Agent 能检索的知识
编程
故障群里的截图,怎么变成 Agent 能检索的知识
2026-10-01 00:04:41
运维知识散在故障群截图、会议纪要、工单和对话里,直接塞进知识库检索效果很差。本文梳理抖音 SOPAgent 的四步做法:多模态把截图翻译成告警信息、用 ReAct 抽取问题/Action/Observation/Thought 再经 GraphRAG 建运维知识图谱、迭代式上下文管理、数据飞轮,并列出 SOP 冗余、知识偏见固化、错误止损的责任与可追溯等落地坑。
SRE
Agent
运维智能体
GraphRAG
运维知识图谱
SOPAgent
AIOps
ReAct
知识沉淀
故障自愈
Readable.toWeb() 会暂停原流、还会双缓冲:Node 两套流互转的坑
编程
Readable.toWeb() 会暂停原流、还会双缓冲:Node 两套流互转的坑
2026-10-01 00:04:22
Node.js 里 node:stream 与 web streams 靠 toWeb/fromWeb 互转,但容易踩坑:toWeb 会暂停原 readable、默认策略导致双缓冲甚至内存暴涨、背压取消时抛未捕获的 ERR_INVALID_STATE。附三个 Node issue 的根因、复现与规避,以及该改用 ReadableStream.from 的场景。
web
streams
Web
Streams
ReadableStream
WritableStream
Node.js
toWeb
fromWeb
背压
Node流
运维智能体能自动到什么程度:信通院三级分级与 Azure SRE Agent 对照
编程
运维智能体能自动到什么程度:信通院三级分级与 Azure SRE Agent 对照
2026-10-01 00:04:06
信通院《运维智能体(SRE AGENT)能力要求》把成熟度分三级:初始级只采集、全面级分析且需人工审批、优秀级才自主执行与迭代。本文用这份标准对照 Azure SRE Agent 的实现,讲清三种运行模式、五个扩展点、工具级 allow/request/deny 与 RBAC 治理,以及为什么自动执行能不能上生产,取决于审批护栏而非模型能力。
SRE
Agent
运维智能体
AIOps
故障自愈
根因分析
把 AI Scientist 拆成两层:Alchemy 的交付接口与 AI-Scientist-v2 的 BFTS 配置
编程
把 AI Scientist 拆成两层:Alchemy 的交付接口与 AI-Scientist-v2 的 BFTS 配置
2026-10-01 00:03:56
自动化 AI 科研系统的工程侧笔记:Alchemy 把 Scientist 层与研究环境层分离,只要求交付 algorithm.py + hyperparameter.yaml;对照 AI-Scientist-v2 的 agentic tree search(BFTS 参数、启动命令、成本与沙箱风险)。
ai-scientist
AI
科研
自动化科研
Alchemy
AI-Scientist-v2
Agent
把 prompt 当代码管:Git 原生 registry 与自托管平台两条落地路线
编程
把 prompt 当代码管:Git 原生 registry 与自托管平台两条落地路线
2026-10-01 00:03:44
Prompt 管理落到工具分两条路线:把 prompt 塞进 Git 当 registry,或起一个自托管服务做版本与协作。用 PromptTree(Git 原生 DAG + labels.json + AES-256-GCM)与 Clarive(Docker 单容器 + Draft→Published + REST API)说明各自形态、命令、对照取舍与失败模式。
Prompt
Management
Prompt管理
提示词管理
LLMOps
Prompt版本管理
PromptTree
Clarive
自托管
MCP Toolbox:把数据库接到 MCP 客户端,预置工具与 tools.yaml 自定义
编程
MCP Toolbox:把数据库接到 MCP 客户端,预置工具与 tools.yaml 自定义
2026-09-30 21:33:18
Google 开源的 MCP Toolbox for Databases(Go,Apache-2.0):一个 MCP 服务器,把 Gemini CLI/Claude Code/Codex 等客户端接到 20+ 数据库。整理预置工具快速接入、tools.yaml 自定义 source/tool/toolset/prompt/resource、二进制/Homebrew/Docker/npx/go install 安装方式与各语言 SDK 用法,附支持数据库清单与安全取舍。
MCP
数据库
AI
Agent
Go
自托管工具
ORM
数据访问
MySQL 8.4 LTS 单节点、主从、双主搭建:8.0 旧命令在 8.4 会直接报语法错误
编程
MySQL 8.4 LTS 单节点、主从、双主搭建:8.0 旧命令在 8.4 会直接报语法错误
2026-09-30 21:32:03
基于 mysql-8.4.11 LTS 从零搭单节点、主从、双主:整理 8.0→8.4 的语句/参数/列名改名对照(SHOW BINARY LOG STATUS、CHANGE REPLICATION SOURCE TO、Replica_* 等),含 caching_sha2_password 复制账号的 RSA 公钥坑、GTID 复制、半同步插件改名、Asynchronous Connection Failover 与 MHA/MMM 不可用的选型结论。
MySQL
主从复制
GTID
半同步复制
InnoDB
数据库运维
Grafana 13 告警:多通知策略 GA,以及 13.0 里会打断升级的破坏性变更
综合
Grafana 13 告警:多通知策略 GA,以及 13.0 里会打断升级的破坏性变更
2026-09-30 21:08:03
Grafana 13 告警两条线:13.2 起「多个通知策略」GA,可建命名策略树、把规则指派给指定策略并各自独立 provision 与做策略级 RBAC,且可增量迁移;13.0 破坏性变更包括 Alertmanager status 端点改需 alert.notifications.system-status:read 权限、旧配置 API 端点移除受限、数据库指标弃用、grafana.com/provenance 注解开始真正生效。
Grafana
运维
监控告警
Node.js 22 LTS 升到 24 LTS:OpenSSL 3.5 默认安全级别 2,老证书会先连不上
资讯
Node.js 22 LTS 升到 24 LTS:OpenSSL 3.5 默认安全级别 2,老证书会先连不上
2026-09-30 21:07:14
从 Node.js 22 LTS 迁到 Node.js 24 LTS(Krypton)的破坏性变更与排查:OpenSSL 3.5 默认安全级别 2 禁止 2048 位以下 RSA/DSA/DH、224 位以下 ECC 与 RC4,32 位预编译二进制移除、V8 13.6/npm 11、Windows 改用 ClangCL、AsyncLocalStorage 默认 AsyncContextFrame,以及一批弃用移除与官方 codemod。
Node.js
升级
后端
Python 3.15 默认 UTF-8、frozendict 进 builtins:rc1 里会影响现有代码的改动
编程
Python 3.15 默认 UTF-8、frozendict 进 builtins:rc1 里会影响现有代码的改动
2026-09-30 21:06:27
Python 3.15 rc 阶段对现有代码有实际影响的改动:PEP 686 默认编码改 UTF-8(locale 非 UTF-8 机器上 open() 行为变化及排查点)、PEP 810 惰性导入、PEP 814 frozendict 与 PEP 661 sentinel 新内置类型、PEP 798 推导式解包、PEP 799 profiling/Tachyon 剖析器、PEP 831 frame pointers,以及 JIT 与官方二进制的提升数据。
Python
语言特性
升级
PostgreSQL 18.6 的两个坑:GIN 索引的 reltuples 可能变成 Infinity,逻辑解码输出插件默认被收紧
资讯
PostgreSQL 18.6 的两个坑:GIN 索引的 reltuples 可能变成 Infinity,逻辑解码输出插件默认被收紧
2026-09-30 21:05:43
PostgreSQL 18.6 两个需主动处理的变更:并行 GIN 建索引可能写坏 reltuples(甚至 Infinity/NaN),使 autovacuum/autoanalyze 永远不处理该表且不自愈,需手动 ANALYZE 或重建索引;新增 output_plugin_libraries 默认只允许 pgoutput/test_decoding,逻辑复制第三方插件须手动加回且 pg_upgrade --check 会受影响。
PostgreSQL
数据库
升级
MySQL 9.7.0 两处 InnoDB 修复:统计为空时丢索引路径,并行扫描回退踩断言
资讯
MySQL 9.7.0 两处 InnoDB 修复:统计为空时丢索引路径,并行扫描回退踩断言
2026-09-30 21:03:31
MySQL 9.7.0(LTS) 两处 InnoDB 修复的故障特征与排查:dict_stats_analyze_index() 在空索引统计被并发读到或出错致空统计时丢弃最优索引访问路径(Bug #33472935),并行扫描线程创建失败回退单线程触发 row0pread.h:306 断言(Bug #38325137),附 information_schema.STATISTICS/ANALYZE TABLE/error log 排查手法。
MySQL
数据库
性能
PHP 8.6 闭包优化只合了一半:无状态闭包缓存已落地,static 推断被撤回
编程
PHP 8.6 闭包优化只合了一半:无状态闭包缓存已落地,static 推断被撤回
2026-09-30 21:02:29
PHP 8.6 的闭包优化 RFC 只落地一半:无状态闭包缓存已合并(同词法位置、static、不捕获变量的闭包复用同实例可用 === 判等,Laravel 模板省 2384/3637 次实例化),而“非 static 闭包推断为 static”因 array_map 等内部函数可经命名 callable 做实例调用而被撤回。
PHP
性能
语言特性
PayPal IPN 退役迁移 REST Webhooks:四种丢单都返回 HTTP 200
案例
PayPal IPN 退役迁移 REST Webhooks:四种丢单都返回 HTTP 200
2026-09-30 21:01:43
PayPal 将于 2027-01 停用 IPN/Website Payments Standard,迁移到 REST Webhooks 时四层同时变化,每层都有对 PayPal 返回 200 的静默丢单模式:form→JSON、mc_gross→resource.amount.value、Completed→COMPLETED 且退款独立事件、_notify-validate 回环→离线 RSA-SHA256,附对照表与自检命令。
支付
PayPal
Webhook
systemd v259 升级笔记:run0 提权、musl 编译,以及 v260 要删的几样东西
综合
systemd v259 升级笔记:run0 提权、musl 编译,以及 v260 要删的几样东西
2026-09-30 21:01:12
systemd v259 关键变化与升级注意点:run0 --empower 不切 UID 的提权、首次支持 musl 编译及其限制、dlopen 按需加载依赖、journald 默认持久化、NAT 只剩 nftables,以及 v260 将移除 SysV 脚本并抬高最低版本要求。
systemd
Linux
运维
Go 1.28 提案 #81450:只调预编译 C 库时,cgo 不再需要 C 工具链
编程
Go 1.28 提案 #81450:只调预编译 C 库时,cgo 不再需要 C 工具链
2026-09-30 20:01:02
Go 提案 #81450 想解决一个具体痛点:包只调用已编译好的 .so/.a,却仍被迫装整套 C 工具链。方案是用 Go 语法的 binding 文件替代构建期解析 C 头文件,Go ABI 与 C ABI 之间由 Go+汇编 trampoline 转换,runtime/cgo 也改为 Go+汇编。本文梳理两阶段流程、四块硬骨头、与 Go 1.20/1.21 的路线关系,以及 binding 生态这个最大风险。
Go
cgo
C
ABI
交叉编译
1.28
Stripe 出海收款卡在 3DS/SCA:authentication_required 与 authentication_not_handled 排查笔记
代码
Stripe 出海收款卡在 3DS/SCA:authentication_required 与 authentication_not_handled 排查笔记
2026-09-30 09:01:32
欧洲 SCA 下 Stripe 卡支付频繁出现 authentication_required / authentication_not_handled,或前端报「additional action is required」。这篇按 PaymentIntent 状态、confirm 方式、off-session 免验证三条线索分层排查,附沙盒测试卡与 curl 复现。
Stripe
3DS
SCA
支付对接
出海
一个 while 只够 agent 活 5 分钟:learn-agent 的 s01–s15 机制与踩坑
编程
一个 while 只够 agent 活 5 分钟:learn-agent 的 s01–s15 机制与踩坑
2026-09-30 00:04:06
从真实开源桌面 coding agent 移植的 15 篇笔记,逐篇拆 Claude Code / Codex 内部的工程机制:s04 讲工具输出预算用「落盘+指针」的无损溢出替代粗暴截断,s13 讲 allow/deny/ask 三态规则链、首匹配与 deny 优先的合并语义。给出可跑代码片段、真实运行输出与取舍点。
Agent编程
AI
Agent
Coding
Agentic
上下文工程
权限模型
Claude
Code
接入 Together AI:三个 base_url 别混,限流读响应头而不是抄常量
编程
接入 Together AI:三个 base_url 别混,限流读响应头而不是抄常量
2026-09-30 00:03:43
Together AI 托管开放权重模型,三套 base_url(api.together.xyz / api.together.ai / api-inference)容易混。这篇讲清 Serverless、Batch、Provisioned、Dedicated 四条路径的成本取舍,以及动态限流要读响应头、OpenAI 兼容的边界与 429/401/400 排障。
Together
开放权重模型
LLM推理
OpenAI兼容
把 typescript 换成 typescript-native-bridge:tsc、vue-tsc、tsserver 原样跑在 Go 版 tsgo 上
编程
把 typescript 换成 typescript-native-bridge:tsc、vue-tsc、tsserver 原样跑在 Go 版 tsgo 上
2026-09-30 00:03:35
typescript@7 用 Go 重写却塞不进 vue-tsc、svelte-check、typescript-eslint 这些经典 API 工具。typescript-native-bridge 保留经典 typescript 包接口,把 tsgo 7 引擎以进程内 cgo NAPI 放在后面,一次 override 让现有工具链吃上 Go 版检查器: elk.zone 约 2000 文件 vue-tsc 从 9.7s 降到 3.2s,并给出版本 pin、生效确认、Alpine/musl 不支持与回滚做法。
TypeScript
Go重写
tsgo
typescript-native-bridge
vue-tsc
类型检查
Rust E0505:引用明明没用过,为什么还是报「cannot move out」
编程
Rust E0505:引用明明没用过,为什么还是报「cannot move out」
2026-09-30 00:03:20
Rust E0505「cannot move out because it is borrowed」的排查笔记:先讲清借用是合约、move 让合约失效,再用 NLL 的 MIR 活性分析解释「没用过的引用」为何仍占借用,附块界定、函数封装、Clone 权衡、下划线诊断四类写法与闭包/迭代器/方法链三个常见陷阱。
Rust编程
借用检查
E0505
NLL
生命周期
内存安全
窗口 1M 不等于用得好:token 实测、KV Cache 显存账与针入草堆评测
编程
窗口 1M 不等于用得好:token 实测、KV Cache 显存账与针入草堆评测
2026-09-30 00:03:10
长度上限只说明模型能接收多长的输入,不保证用得好。这篇把长上下文拆成三个可验证问题:用训练一致的 tokenizer 实测真实 token 数、按 KV Cache 显存公式估算 O(n²) 注意力的瓶颈、用针入草堆评测分段统计首/中/尾成功率,并给出 RoPE 外推方案与排查顺序。
LongContext
长上下文
上下文窗口
KV
Cache
RoPE
LLM
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
…
318
下一页
共 318 页
到第
页
确定