技术文档共464篇
WorkBuddy 实用技巧 39:拉人进项目,先过审批-柚熊闲记

WorkBuddy 实用技巧 39:拉人进项目,先过审批

把方案链接甩进项目群,@了同事一句“你看下”。半小时后他回消息:点开是个申请页,要填备注,还得等审批。会议已经开完了。 WorkBuddy 的协作分三层:项目、任务、资料库的团队空间。每层的准...
集群证书到期后 kubectl 连不上,先续期再重启组件-柚熊闲记

集群证书到期后 kubectl 连不上,先续期再重启组件

证书过期后 apiserver 拒绝连接,kubectl 直接报错。 先 check-expiration 看各证书剩余天数。 用 renew all 一次续期,续完必须重启组件。 控制面是静态 Pod,清单挪走再挪回就会重建。 续期后...
只想提交文件里的部分改动,用分段暂存-柚熊闲记

只想提交文件里的部分改动,用分段暂存

一个文件里只想提交部分改动,别用 add 整份。 用分段暂存,逐个代码块决定要不要。 交互里 y 收、n 跳过、s 再拆小块。 拆不动就按 e,手工编辑要提交的行。 暂存完先 diff --cached 复核再提...
失败重试越打越慢,加退避和随机抖动-柚熊闲记

失败重试越打越慢,加退避和随机抖动

固定间隔重试,下游一抖就被整批请求打穿。 改成指数退避,每次把等待时间翻倍。 再叠随机抖动,避免所有实例同点重试。 必须同时设最大次数和总时限,否则一样卡死。 只对幂等操作重试,写接口...
柚熊的头像-柚熊闲记柚熊7小时前
0437
自定义字体加载期间文字消失,加 font-display-柚熊闲记

自定义字体加载期间文字消失,加 font-display

字体没加载完,浏览器默认不给字,文本会空白。 加 font-display 让兜底字体先顶上。 写 swap 最省事,先显示再换,会有跳动。 怕跳动用 optional,弱网就直接不换。 fallback 只等极短时间,超...
柚熊的头像-柚熊闲记柚熊7小时前
0256
换电脑不想重连 WiFi,用 netsh 导出导入无线配置-柚熊闲记

换电脑不想重连 WiFi,用 netsh 导出导入无线配置

换机前在本机导出全部无线配置,要带上明文密钥。 不加 key=clear,导出的文件里密码是空的。 到新机用 add profile 逐份导入,文件名照原样。 导入时 user=current,只对当前用户生效。 导完把...
柚熊的头像-柚熊闲记柚熊7小时前
02515
WorkBuddy 实用技巧 38:快捷键,改成自己那一套-柚熊闲记

WorkBuddy 实用技巧 38:快捷键,改成自己那一套

一天下来,右手在鼠标和键盘之间来回跳几百次:点任务、点搜索、点关闭、拖滚动条找上周那份纪要。按 Ctrl+K 想搜东西,屏幕没反应,或者弹出来的是只在这一条会话里翻的对话内搜索。 快捷键不...
K8s Secret 只是 base64,别当成加密存储-柚熊闲记

K8s Secret 只是 base64,别当成加密存储

Secret 默认只做 base64,等于明文躺在 etcd 里。 必须配 EncryptionConfiguration,才真正落盘加密。 apiserver 挂上加密配置文件后要重启才生效。 RBAC 收紧 secrets 的 get 和 list,别给通...
仓库被大文件撑爆,改用 Git LFS 托管-柚熊闲记

仓库被大文件撑爆,改用 Git LFS 托管

先装 Git LFS,再按后缀声明要托管的文件。 track 会写进 .gitattributes,这个文件必须提交。 已在历史里的大文件,用 migrate import 重写。 重写会改掉所有提交号,动手前先通知同事。 推完...
大文件下载要支持断点续传,处理 Range 请求头-柚熊闲记

大文件下载要支持断点续传,处理 Range 请求头

要支持续传,响应先带 Accept-Ranges: bytes。 解析 Range 头里的起止字节,越界回 416。 命中片段返回 206,回 200 客户端会从头重下。 Content-Range 写清起止和文件总长。 没有 Range 头才走...
父组件拿不到插槽里的数据,用作用域插槽传出去-柚熊闲记

父组件拿不到插槽里的数据,用作用域插槽传出去

插槽内容在父作用域渲染,默认看不到子组件数据。 子组件在 slot 标签上绑定属性,把数据抛出去。 父组件用 v-slot 解构,值就传进来了。 具名插槽写成 #名字="{ 字段 }" 的形式。 别...
跨地域传输慢,开 BBR 拥塞控制并验证生效-柚熊闲记

跨地域传输慢,开 BBR 拥塞控制并验证生效

传输慢先确认内核支持 BBR,4.9 以上才有。 查当前算法和可用列表两个内核项。 临时切换只改运行时,重启就丢。 写进 /etc/sysctl.d 下的 conf 文件才持久。 验证用 ss -ti,看连接是否标了 bbr...
WorkBuddy 实用技巧 37:积分怎么烧的,账要能对上-柚熊闲记

WorkBuddy 实用技巧 37:积分怎么烧的,账要能对上

月中某天下午,任务跑到一半停住,提示额度不足。翻设置才发现,这个月的积分早见底了。再想半天也想不起花在哪:几份几十页的招标文件、几个开了一个星期没关的会话、还有两次没细看就点了“继...
导出百万行数据接口必然超时,改异步生成文件再下载-柚熊闲记

导出百万行数据接口必然超时,改异步生成文件再下载

百万行同步导出必然超时,改异步两段式。 接口只建任务,立刻返回 task_id 就收工。 队列里分批写文件,落到对象存储。 前端轮询状态,成功后拿带签名的下载链接。 任务表记状态和进度,失败要...
长连接断了不自动恢复,补心跳和退避重连-柚熊闲记

长连接断了不自动恢复,补心跳和退避重连

断线不重连,先补心跳和退避重连。 定时发 ping,两轮没回就主动 close。 重连按指数退避,1 秒起翻倍封顶 30 秒。 退避上叠随机抖动,别让客户端同时打。 连上后重置计数,重发订阅和鉴权。 页...
报 fork 失败或资源暂时不可用,先看进程数上限-柚熊闲记

报 fork 失败或资源暂时不可用,先看进程数上限

fork 失败先查进程数上限,不是内存不够。 当前用户看 ulimit -u,这是软限制。 系统级看 pid_max 和 threads-max 两项。 临时放开只影响当前会话,退出即失效。 永久改 /etc/security/limits.d...
命令可能卡住不返回,用 timeout 限定最长运行时间-柚熊闲记

命令可能卡住不返回,用 timeout 限定最长运行时间

命令卡住不返回,套一层 timeout 兜底。 timeout 30s 命令,超时先发 TERM 信号。 进程不理 TERM 就加 -k,宽限几秒再 KILL。 脚本里判断退出码,124 表示已超时。 需要真实退出码就加 --preser...
只给某个用户单独开目录权限,用 setfacl 别动属主-柚熊闲记

只给某个用户单独开目录权限,用 setfacl 别动属主

别改属主属组,用 ACL 给单个用户加权限。 执行 setfacl -m u:alice:rx 目录路径。 递归加 -R,新建文件要默认 ACL 才继承。 默认 ACL 写 d:u:alice:rx,新建自动继承。 用 getfacl 核对,文件...
柚熊的头像-柚熊闲记柚熊前天
03311
WorkBuddy 实用技巧 36:换模型,别一套跑到底-柚熊闲记

WorkBuddy 实用技巧 36:换模型,别一套跑到底

同一份报价表,同事十分钟出结果,你等了半小时还在转圈。同一张截图丢进去,一边能读出一二三四,另一边只回一句“图片已收到”。问题多半不在指令,在模型。 输入框里那个模型名字,大多数人...
对象存储桶权限误设成公开,数据被直接扒走-柚熊闲记

对象存储桶权限误设成公开,数据被直接扒走

桶设成公开读,等于把目录挂到公网。 先查桶策略和 ACL,把 AllUsers 授权删掉。 再把公共读改成私有,走签名 URL 临时授权。 签名链接带过期时间,别写进前端代码。 开访问日志和异常下载告警...
大文件逐行处理,用生成器而不是一次读进内存-柚熊闲记

大文件逐行处理,用生成器而不是一次读进内存

read() 一次吃整份文件,内存直接爆。 用 with open 拿到句柄,for 循环按行迭代。 文件对象本身就是迭代器,不占额外内存。 要按块处理就写 yield 函数,边读边产出。 生成器只能走一遍,需要...
几十万条更新塞在一个事务里,锁得太久-柚熊闲记

几十万条更新塞在一个事务里,锁得太久

几十万行一个事务,锁和 undo 都扛不住。 按主键区间切批,每批几千行提交一次。 循环里更新 count 到阈值就 commit 再开新事务。 批大小按行宽调,一般 1000 到 5000 起步。 中间失败要能续跑...
循环插几千个节点页面卡死,用 fragment 批量插入-柚熊闲记

循环插几千个节点页面卡死,用 fragment 批量插入

循环里逐个 appendChild 会触发多次重排。 先建 DocumentFragment,往它上面挂节点。 挂完一次 append 到容器,只重排一次。 表格、列表这类批量渲染用它最快。 节点多的话再配合 requestAnimat...
只跑一次的任务别塞进 crontab,用 at 安排-柚熊闲记

只跑一次的任务别塞进 crontab,用 at 安排

临时任务用 at 排一次,别硬塞进 crontab。 先确认 atd 服务在跑,systemctl status atd 看状态。 at 10:30 回车后逐行敲命令,Ctrl+D 提交。 atq 看队列,atrm 加编号撤销。 输出默认发本地邮...
柚熊的头像-柚熊闲记柚熊3天前
0378
WorkBuddy 实用技巧 35:口述一句,录音成稿-柚熊闲记

WorkBuddy 实用技巧 35:口述一句,录音成稿

一小时的项目周会,录音躺在手机里。想整理成纪要,得戴耳机逐句听写,听三个小时,写完还漏掉两条待办。另一边,你手已经放在鼠标上,脑子里那句话很清楚,就是懒得敲三十个字。 输入框里其实...
Secret 只是 base64 编码,别当加密用-柚熊闲记

Secret 只是 base64 编码,别当加密用

Secret 里的值只是 base64,任何人都能一把解出来。 kubectl get secret 加 jsonpath 直接出明文。 它挡误读,不挡权限,别当加密用。 真敏感就开加密配置,密钥交给 KMS 或外部密钥服务。 RBAC...
用 launch.json 固定调试参数,一键复现问题-柚熊闲记

用 launch.json 固定调试参数,一键复现问题

根目录建 .vscode/launch.json,配置放 configurations。 type 和 request 定调试器,name 是下拉菜单名。 args 传死参数,复现问题不用每次手敲。 env 和 envFile 管变量,密钥放本地文件。 cw...
卡片列表要按宽度自动换列,用 auto-fill 配 minmax-柚熊闲记

卡片列表要按宽度自动换列,用 auto-fill 配 minmax

给容器设 grid,列模板用 repeat 配 auto-fill 和 minmax。 minmax 下限是卡片最小宽度,上限写 1fr 让它撑满。 auto-fill 会按可用宽度塞尽可能多的列。 auto-fit 会把空轨道收掉,数量少时卡...
终端中文全变问号,检查 locale 和 LANG 设置-柚熊闲记

终端中文全变问号,检查 locale 和 LANG 设置

中文变问号,多半是 locale 没设 UTF-8。 先看 locale,LANG 为空或是 C 就中了。 用 locale -a 查有没有 zh_CN.utf8。 缺就装语言包,Debian 跑 locale-gen。 RHEL 系装 glibc-langpack-zh。 ...
柚熊的头像-柚熊闲记柚熊4天前
04913
查本机 TPM 版本,确认能不能满足升级要求-柚熊闲记

查本机 TPM 版本,确认能不能满足升级要求

按 Win+R 输入 tpm.msc,规格版本会直接写出来。 要求 2.0 才达标,1.2 的机器装不上新系统。 规范版本是 2.0,再进 BIOS 确认 TPM 已启用。 设备管理器的安全设备里能查厂商和版本。 PowerShel...