程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
软件定制开发/软件按需定制 技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
静态资源被设成 no-cache:Cache-Control 与 ETag 的搭配笔记
编程
静态资源被设成 no-cache:Cache-Control 与 ETag 的搭配笔记
2026-09-27 00:05:27
缓存头排查笔记:Cache-Control 各指令语义、max-age 与 ETag 的搭配(过期带 If-None-Match 换 304)、ETag 与 Last-Modified 谁优先、If-Match 防 lost update 的 412、Vary 过宽拖低 CDN 命中率,以及误给静态资源设 no-cache 的常见错误,附 curl 与上线前检查清单。
HTTP
Header
HTTP头
响应头
缓存
Cache-Control
ETag
llama.cpp GGUF 量化:Q8_0 生成速度低于 Q4_K_M,以及 imatrix 与 --tensor-type 的用法
编程
llama.cpp GGUF 量化:Q8_0 生成速度低于 Q4_K_M,以及 imatrix 与 --tensor-type 的用法
2026-09-27 00:04:53
llama.cpp 的 GGUF 量化实操:两阶段流程(convert_hf_to_gguf + llama-quantize)、imatrix 重要性矩阵、--pure/--allow-requantize 风险、--tensor-type 正则与多模态 mmproj 单独量化。附 Llama 3.1-8B 各量化档位的体积与速度对照,Q8_0 生成速度反低于 Q4_K_M 的反直觉点。
int8量化
GGUF
llama.cpp
Q8_0
imatrix
模型量化
预检返回 204、真请求还是被拦:带 Cookie 的 CORS 与 Set-Cookie 排查笔记
编程
预检返回 204、真请求还是被拦:带 Cookie 的 CORS 与 Set-Cookie 排查笔记
2026-09-27 00:04:45
跨域报错 blocked by CORS policy 时的排查顺序:带 Cookie 的请求不能用 Allow-Origin: *、Allow-Headers 漏配会让预检"通过"却拦截真请求、Max-Age 被浏览器截断,以及 Set-Cookie 的 Secure/HttpOnly/SameSite、Sec-Fetch-* 与 Nginx add_header 继承坑,附 curl 自检命令。
HTTP
Header
HTTP头
响应头
跨域
Cookie
CORS
ZooKeeper 迁移到 ClickHouse Keeper:3 节点 quorum、converter 转换与 25.10 的默认变更
编程
ZooKeeper 迁移到 ClickHouse Keeper:3 节点 quorum、converter 转换与 25.10 的默认变更
2026-09-27 00:04:03
把 ClickHouse 的协调服务从 ZooKeeper 换成 ClickHouse Keeper 的实操记录:ZAB 与 RAFT 的差异、三节点 quorum 配置、clickhouse-keeper-converter 迁移十步、迁移后调优,以及混合 quorum 不成立、快照必须先落到每个节点、async_replication 在 25.10 默认开启等硬限制。
ClickHouse
Keeper
ZooKeeper
协调服务
集群运维
数据库运维
Raft
分布式DDL
HY-World 2.0 自托管实录:CUDA 12.8 环境跑通世界重建与四阶段 3D 世界生成
编程
HY-World 2.0 自托管实录:CUDA 12.8 环境跑通世界重建与四阶段 3D 世界生成
2026-09-27 00:04:02
腾讯混元开源的 HY-World 2.0 是能把文本/图像/视频变成可编辑 3D 资产(mesh/3DGS)的多模态世界模型。本文按官方 README 给出自托管实操:CUDA 12.8 + Python 3.11.15 共享环境、gsplat 与 FlashAttention 二选一、先跑通 WorldMirror 重建再加 worldgen、五阶段生成脚本表,以及多卡下「输入图像数须 ≥ GPU 数」等踩坑点。
World
Model
世界模型
3D世界模型
HY-World
2.0
世界生成
自托管
core-types:用 NodeType 统一描述 JSON Schema、TypeScript、GraphQL、OpenAPI 的类型
编程
core-types:用 NodeType 统一描述 JSON Schema、TypeScript、GraphQL、OpenAPI 的类型
2026-09-27 00:03:55
core-types 是一个中间类型模型,把 JSON Schema / TypeScript / GraphQL / OpenAPI 收拢到统一的 NodeType 描述上,方便互转。本文按官方 README 梳理 Types 规范、各类型必填字段与示例,以及 simplify / validate / traverse / some 的用法,并说明 number 与 integer 语义不一致、simplify 会丢 annotation、ref 与 additionalProperties 的取舍。
Core
Types
core-types
TypeScript
JSON
Schema
GraphQL
类型转换
中间类型模型
vLLM INT8 W8A8 量化:Blackwell 卡不支持,环境还得和推理分开
编程
vLLM INT8 W8A8 量化:Blackwell 卡不支持,环境还得和推理分开
2026-09-27 00:03:47
用 llm-compressor 把 LLM 量化为 INT8 W8A8 并在 vLLM 加载的完整流程:加载模型、准备校准数据、SmoothQuant+GPTQ oneshot、lm_eval 评估。含硬件边界(INT8 仅支持 CC>7.5,Blackwell CC>=10.0 需改用 FP8)、vLLM 与 llm-compressor 分环境、忽略 lm_head、add_bos_token 评估坑与常见报错排查。
int8量化
vLLM
llm-compressor
W8A8
GPTQ
SmoothQuant
模型量化
Stripe Webhook 本地调试:验签失败多半是 body 被提前 parse 了
代码
Stripe Webhook 本地调试:验签失败多半是 body 被提前 parse 了
2026-09-26 21:31:42
Stripe Webhook 本地调试与验签排障:签名基于原始请求体计算,Express 全局 express.json() 或 Next.js 用 request.json() 都会让验签永远失败。附 Stripe-Signature 头解析、时间戳防重放、测试/正式模式隔离、约 3 天重试与幂等清单。
Stripe
Webhook
签名验证
接口对接
幂等
Lago 自托管:把用量计量与计费从支付网关里拆出来
综合
Lago 自托管:把用量计量与计费从支付网关里拆出来
2026-09-26 21:31:42
Lago 是 Go 编写的开源计量与用量计费引擎(AGPLv3,10.6k stars),把 metering/pricing 与支付处理解耦,Stripe/Adyen 只做扣款执行层。含 docker compose 部署命令、官方 demo、transaction_id 幂等与原子批量等生产特性,以及适合谁不适合谁的判断。
Lago
用量计费
开源项目
自托管
Go
Ubuntu unattended-upgrades 把 nginx 升到 1.24.0-2ubuntu7.10,worker 全线 SIGSEGV,一条 apt upgrade 修好
案例
Ubuntu unattended-upgrades 把 nginx 升到 1.24.0-2ubuntu7.10,worker 全线 SIGSEGV,一条 apt upgrade 修好
2026-09-26 21:07:06
一次例行重启后两个站点间歇不可达、Ghost 后台白屏,根因是 Ubuntu unattended-upgrades 自动装的 nginx 1.24.0-2ubuntu7.10 回归,worker 每个请求 SIGSEGV。本文复盘 systemd 显示 active 但 worker 循环崩溃的排查,以及一条 apt upgrade 修好的过程。
运维
nginx
Ubuntu
故障复盘
包管理
rootless Docker 的 slirp4netns 被 OOM 杀掉,6 小时后 json-file 日志缓冲把 daemon 冻死
案例
rootless Docker 的 slirp4netns 被 OOM 杀掉,6 小时后 json-file 日志缓冲把 daemon 冻死
2026-09-26 21:06:20
rootless Docker 下 slirp4netns 泄漏到 3.54GB 被 OOM 杀掉,所有容器失去出站网络;随后 json-file 日志驱动的 blocking 缓冲涨到 6.25GB,logging 进程被杀导致 Docker daemon 死锁。本文复盘三幕过程,并给出日志 non-blocking 配置与 pasta 迁移方案。
运维
Docker
容器
故障复盘
日志
Kubernetes ingress 六小时 502:default_server 挂在一个被健康检查清空的 upstream 上
案例
Kubernetes ingress 六小时 502:default_server 挂在一个被健康检查清空的 upstream 上
2026-09-26 21:06:20
一次 Kubernetes ingress 六小时 502:后端 Deployment 全挂,nginx 健康检查把 upstream 池清空,而该池是 80/443 的 default_server,所有未匹配域名一起 502。本文复盘错误日志、fall=5 清池过程,以及超时、max_fails、DNS upstream、keepalive 的一组修复。
运维
nginx
Kubernetes
故障复盘
高可用
stripe-node v21 升级:金额字段由 string 改为 Stripe.Decimal,最低 Node 18
资讯
stripe-node v21 升级:金额字段由 string 改为 Stripe.Decimal,最低 Node 18
2026-09-26 21:05:08
stripe-node v21 对应 API 2026-03-25.dahlia,unit_amount_decimal、quantity_decimal、fx_rate 等 decimal 字段从 string 改为 Stripe.Decimal(BigInt 支撑),最低 Node 提升到 18。本文列出受影响字段、tsconfig 需要 ES2020 的条件,以及错误码重命名与升级步骤。
支付接口
Stripe
API
对接
升级迁移
MySQL 9.7 的 caching_sha2_password:切到 PBKDF2_SHA512 后,enforce 会把账号按在登录口改密
综合
MySQL 9.7 的 caching_sha2_password:切到 PBKDF2_SHA512 后,enforce 会把账号按在登录口改密
2026-09-26 21:04:34
MySQL 9.7 的 caching_sha2_password 新增 PBKDF2_SHA512 存储格式,用 caching_sha2_password_storage_format 切换首选格式;开启 enforce 会让非首选格式账号登录后强制改密。本文给出两个变量、SQL 操作、副本升级顺序与服务账号风险。
MySQL
认证
安全
升级
运维
MySQL 9.7:innodb_log_writer_threads 默认值改为按 log_bin 和逻辑 CPU 数判断
综合
MySQL 9.7:innodb_log_writer_threads 默认值改为按 log_bin 和逻辑 CPU 数判断
2026-09-26 21:04:03
MySQL 9.7 里 innodb_log_writer_threads 的默认值改为按 log_bin 是否开启、以及可用逻辑 CPU 数共同判断:开 binlog 以 32 核为界,关 binlog 以 4 核为界。本文给出判断伪代码、受影响场景,以及 binlog_transaction_dependency_history_size 上调等 9.7 变化。
MySQL
InnoDB
配置
升级
运维
Laravel 13:PHP 8.3 起跳,PreventRequestForgery 做 origin 校验,Cache::touch 一条 EXPIRE 续期
编程
Laravel 13:PHP 8.3 起跳,PreventRequestForgery 做 origin 校验,Cache::touch 一条 EXPIRE 续期
2026-09-26 21:03:32
Laravel 13 最低要求 PHP 8.3,CSRF 中间件更名为 PreventRequestForgery 并优先检查 Sec-Fetch-Site;Cache::touch 用一条 EXPIRE/TOUCH/UPDATE 续 TTL 而不取值。本文整理这两处升级注意点及 #[Middleware]/#[Authorize]、Queue::route、pgvector 语义搜索等改动。
PHP
Laravel
框架
缓存
安全
Go 1.28 的 vet 新增 scannererr / sqlrowserr:循环里漏检 Err 会被点名
编程
Go 1.28 的 vet 新增 scannererr / sqlrowserr:循环里漏检 Err 会被点名
2026-09-26 21:02:54
Go 1.28(预计 2027-02)草稿 release notes 里 vet 新增 scannererr 与 sqlrowserr,专查 bufio.Scanner.Scan / sql.Rows.Next 循环结束后漏处理 Err 的写法。本文整理这两个 analyzer 的意图,以及 base32/base64 溢出 panic、MustParse、ProxyFromEnvironment 小写优先等改动。
Go
go
vet
静态检查
升级迁移
Go 1.27 的 goroutineleak profile:只证明「永远卡住」的那类泄漏
编程
Go 1.27 的 goroutineleak profile:只证明「永远卡住」的那类泄漏
2026-09-26 21:02:22
Go 1.27 在 runtime/pprof 新增 goroutineleak profile,靠 GC 可达性判定「无人再能唤醒」的 goroutine 阻塞,只覆盖 channel/同步原语这一类泄漏。本文给出一段可复现的 leak 测试、pprof.Lookup 采集与 pprof 输出读法,并说明它证明不了什么。
Go
goroutine
pprof
并发
调优
PHP 8.6 升级:三个 session 默认值静默翻转,跨站 POST 会掉登录
编程
PHP 8.6 升级:三个 session 默认值静默翻转,跨站 POST 会掉登录
2026-09-26 21:01:43
PHP 8.6 最可能打断生产环境的不是移除的函数,而是 session.use_strict_mode、cookie_httponly、cookie_samesite 三个默认值翻转且不报错。本文列出三项改动、跨站 POST 掉登录的复现路径、trim/unpack/NUL 字节等静默行为变更与弃用清单,并给出上线前的排查顺序。
PHP
8.6
session
升级迁移
安全
Redis 8.8:INCREX 一条命令做窗口限流,hash 字段级通知漏配 h 就收不到
编程
Redis 8.8:INCREX 一条命令做窗口限流,hash 字段级通知漏配 h 就收不到
2026-09-26 20:02:44
Redis 8.8 把窗口计数器限流收进一条 INCREX 原子命令,省掉 Lua 脚本;streams 新增 XNACK 让消费者显式 NACK 释放消息;hash 支持字段级 subkey 通知,但 notify-keyspace-events 必须同时带 h 和频道类型标志,漏配就收不到事件。文末给 Docker 启动命令与事件列表。
Redis
运维
限流
Streams
数据库
ClickHouse 26.9 的两个实用改动:LIMIT 支持 AFTER/UNTIL 条件边界,物化视图可 APPEND INCREMENTAL 增量刷新
编程
ClickHouse 26.9 的两个实用改动:LIMIT 支持 AFTER/UNTIL 条件边界,物化视图可 APPEND INCREMENTAL 增量刷新
2026-09-26 20:01:52
ClickHouse 26.9 给 LIMIT 加了按有序结果流值起止的 AFTER/UNTIL 边界,能直接圈出日志里的连续错误区间;可刷新物化视图新增 APPEND INCREMENTAL,只处理上次刷新后提交的行,适合把事件流增量复制到 Iceberg。文中给出可直接跑的 SQL、CREATE TOKEN 限时凭证用法,以及 date_time_overflow_behavior 默认回绕的坑。
ClickHouse
数据库
SQL
物化视图
Iceberg
Play Billing 服务端验单与 RTDN:acknowledge 窗口最短只有 1.5 天
代码
Play Billing 服务端验单与 RTDN:acknowledge 窗口最短只有 1.5 天
2026-09-26 09:01:00
Google Play 内购服务端集成的排障笔记:RTDN 只是状态信号不含交易数据,验单事实来源是 purchases.subscriptionsv2.get,新订阅 3 天内未 acknowledge 会被自动退款(预付费方案窗口按时长折半),并梳理宽限期、静默宽限期、账号保留、重新订阅与待审核退款的状态流转。
Google
Play
Billing
内购
RTDN
服务端验单
支付
团队锁 Node.js LTS:nvm 别名、.nvmrc 与 Volta pin 的可用组合
编程
团队锁 Node.js LTS:nvm 别名、.nvmrc 与 Volta pin 的可用组合
2026-09-26 00:05:03
团队里锁 Node.js LTS 版本的三层做法:nvm 的 lts/* 别名与 $NVM_DIR/alias/lts 不要手改、.nvmrc 的查找规则与找不到时退出码 127、engines 配合 engine-strict=true 才能从警告变报错、Volta pin 把精确版本写进 package.json,以及升级后原生模块要 npm rebuild。附 nvm/fnm/Volta/n/asdf 对照。
node.js
lts
Node.js
nvm
Volta
版本管理
工程实践
Linux
MiMoCode:终端里的编码 Agent,用 MEMORY.md + SQLite FTS5 把项目记忆跨会话留住
编程
MiMoCode:终端里的编码 Agent,用 MEMORY.md + SQLite FTS5 把项目记忆跨会话留住
2026-09-26 00:04:40
MiMoCode 是小米开源(XiaomiMiMo/MiMo-Code)的终端原生编码 Agent:用 MEMORY.md、checkpoint.md、notes.md、tasks 进度加 SQLite FTS5 做跨会话记忆,build/plan/compose 三种模式,内置四个确定性 workflow 与 20 个 skills。附安装命令、配置文件路径、压缩点配置与自定义 OpenAI 兼容端点写法。
终端
Agent
Terminal
MiMo
Code
终端智能体
持久记忆
Workflow
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
…
315
下一页
共 315 页
到第
页
确定