Archives - 424 articles
2026
- Memos: 终章之为 GG 卡选择一个慈善 PLAN
- Memos: GG 卡 GG
- Memos: 苹果系统在它工作的时候会工作的很好
- Memos: 昨天发现 caffeinate -i 能避免休眠
- Memos: 多 子 多 福
- Memos: 精 打 细 算
- Memos: 反 客 为 主
- Memos: 形 同 虚 设
- Memos: Grok Build 可以试试
- Memos: 谁不想用自己媳妇儿的形象做个电子 “Pet” 呢
- Memos: 洗碗机太大,洗碗机太小
- 从无脑缓存并发到数据库仅索引查询
- Memos: 记录当下基于 AI 御三家基础订阅的编程流程
- Memos: 快跑!说美国豆包是过誉了
- Memos: 使用 rtk-ai/rtk 一个多月后的统计
- Memos: 大意了!1.5x2.0 米的床
- 云南系列|Day 7 返程前在丽江的一天
- Memos: Upyun CDN 下线 HTTP/3 支持
- 云南系列|Day 5、6 在沙溪古镇的两天
- 云南系列|Day 4 剑川古城记录
- 云南系列|Day 3 周城扎染 & 抵达剑川
- Memos: 记录老田的老北京炸酱面
- 云南系列|Day 2 大理洱海之行(下)
- 在 Oyunfor 平台购买土耳其区 Apple 礼品卡
- 解决无法创建 Apple Account 账号问题
- 云南系列|Day 1 大理洱海之行(上)
- Memos: 高风险的 ‘保留最新 N 个镜像’
- Memos: 推荐安装 Codegraph 和 rtk 减少 Token 消耗
- 大连・五一三天旅程记录(2026)
- 日本关西系列|Day 6 白滨之行(下篇)
- 日本关西系列|Day 5 白滨之行(上篇)
- 日本关西系列|白滨明光巴士购票与乘坐(MEIKO BUS)
- Memos: 用 npx 做了一个终端里的 About Me
- Memos: 6月1日起 PIR 注册局提高 .org 域名批发价
- GiffGaff 英国 eSIM 手机卡注册并迁移到实体卡
- Memos: 重新学习下 Git 的使用
- 日本关西系列|Day 4 奈良的小鹿乖乖
- Memos: 一晃 001
- 北京・莽山国家森林公园(2026)
- 日本关西系列|Day 3 天授庵、禅林寺与排水渠
- Memos: MacOS 下编译安装 Aseprite 脚本
- 日本关西系列|Day 2 京都的半日闲逛
- 美国Apple官网购买礼品卡订阅 ChatGPT Plus
- 北京・中关村森林公园(2026)
- 日本关西系列|Day 1 抵达临空城与大阪首日
- Memos: 查询 Apple ID 注册时间
- Memos: Ghostty 开箱即用配置
- 代码考古:用 gitcharts 挖掘 Git 仓库的演变轨迹
- 烹饪日记:香煎罗非鱼
- Memos: 新时代程序员的顶级焦虑
- Memos: 博客新增图文布局和轮播图效果支持
- Memos: 最适合空气炸锅烤着吃的红薯品类
- Memos: 记录「95分」好吃的‘小帅香菇面’
- 妻子爷爷的‘朝鲜军功奖章’
- Memos: 博客切换为 Shiki 代码高亮方案
- Memos: 博客新增划线、重点及荧光笔效果支持
- 记录博客字体分包与字体子集化
- Memos: 邻座吃饭的一家三口
- 人在囧途之哈囧
- 哈尔滨・乡村的冬季
- 查看香烟生产日期
- 哈尔滨・东北虎林园
- Memos: 来自日本的 ndjp 提供免费的三级子域名
- Memos: 刚听说 autojump, 真的好用
- Memos: 体验 OpenCode + Superpowers + GPT 5.2 开发需求
- Memos: 杰我睿爆雷
- GoReleaser 自动发布 Go 镜像到 DockerHub & GitHub Release
- 初识 Volta & Corepack 前端版本管理工具
- 部署 Beszel 把 “小鸡们” 归拢起来
- Memos: Claude Code in Action 中文版教程
2025
- 2025 年度回顾
- Memos: 体验 tanaos-text-anonymizer-v1 NER 模型
- Memos: 查询 Google 账号注册时间
- Memos: 关于 Z30 在室内摄像被手机降维打击这点儿事儿
- 阅读《我与地坛》
- Memos: Ghostty + Neovim + LazyVim
- Memos: 找到 Cursor 运行巨慢的一个原因
- Memos: 京东家政
- 哈尔滨灵活就业人员医保退休待遇申领条件
- 记地暖不热的维修过程
- Memos: 赛博菩萨 Cloudflare 又挂了
- AnyTLS 软件的配置与使用
- 阅读《在巴东》
- Memos: Web Archive 暂时离线
- 忆时光:十五年前我的家(动迁前夕)
- macOS 系统部署 Valkey 集群模式
- 阅读《一个名叫欧维的男人决定去死》
- Memos: Cursor 服务故障部分功能不可用
- 阅读《丰乳肥臀》
- 爱人回家送奶奶
- Memos: AWS 美东可用区 P0 故障(us-east-1)
- 2025 北京社保下限上调|个体户缴费随之上涨
- 铁锅重生记
- 不锈钢盆与放心水源改造计划
- 阅读《不被大风吹倒》
- 基于 Supabase 构建示例应用(中篇):实现 Vue 前端页面
- 基于 Supabase 构建示例应用(上篇):数据库与接口
- 阅读《三体》之地球往事
- Oracle Free 实例重装系统
- 非京籍个体户缴纳社保(补充):“无有效的汇总预处理信息” 解决办法
- 阅读《芯片简史》
- 阅读《简约至上:交互式设计四策略(第2版)》
- 阅读《审判》
- 阅读《统计数字会撒谎》
- 达达秒送骑士
- 日本关西系列|在动物园前站找到海南本线
- 观影《长安的荔枝》
- Memos: 记录两个在线工具
- 地球 Online:外卖骑手体验报告
- 杜师傅夜话:附身与归途
- 日本关西系列|使用投放硬币的行李寄存箱
- 日本关西系列|将多余零钱充值到西瓜卡
- 日本关西系列|网上购买大阪往返白滨高速巴士
- 乌鲁木齐・赛里木湖 “778 老哥” 摄影摘选(转载)
- 使用 Restic 来备份重要数据
- Cursor 开发 Obsidian 插件记录
- 非京籍个体户缴纳社保(十):新增并缴纳个人所得税-工资薪金
- 非京籍个体户缴纳社保(九):公积金开户增员与缴费
- 非京籍个体户缴纳社保(八):税务申报与工商年报
- 非京籍个体户缴纳社保(七):社保费用申报与缴纳
- 非京籍个体户缴纳社保(六):医保公共服务平台 - 增员确认
- 非京籍个体户缴纳社保(五):北京电子税务局 - 税务报道
- 非京籍个体户缴纳社保(四):北京市社会保险网上服务平台 - 增员与社保卡领取
- 非京籍个体户缴纳社保(三):社会保险网上服务平台 - 单位信息登记
- 非京籍个体户缴纳社保(二):北京 e 窗通平台提交申请
- 非京籍个体户缴纳社保(一):概览与先期准备
2024
- 养老保险零基础入门指南(速通版)
- 了解北京门诊看病工会“二次报销”互助金
- 注册 US.KG 免费域名(dpdns.org)
- 白嫖 Cloudflare R2 + Worker 搭建私有镜像仓库
- 再思 JWT 的使用场景和算法选择
- 黑龙江・木兰县属小村落的星空(2024)
- Nginx 启用 HTTPS/3
- 优化网站的 SSL Labs 总体评级为 A+(禁用旧协议 & 启用 HSTS)
- 了解 OCSP Stapling 证书吊销验证机制
- 山东・烟台中秋两三日(2024)
- 分享改造后的博客发布流程和访问链路
- 边缘网络:白嫖 Cloudflare R2 博客图床(DNS 国内外分流)
- 边缘网络:白嫖 Cloudflare Pages 静态博客(DNS 国内外分流)
- Cursor 配置 DeepSeek V2 辅助编程(VSCode / JetBrains 适用)
- 部署基于两位赛博菩萨 Cloudflare R2 + Vercel 的免费画廊
- 北京昌平・今日夕阳(2024)
- Golang Singleflight 防缓存击穿验证示例
- 国内对象存储服务 Pre-Signed Put 代码示例(腾讯云、阿里云、缤纷云)
- Web 直接上传 S3 技术方案验证 | Golang 实现
- Kubernetes 实践:AWS EKS 中的 readinessGates 参数
- 公元 4202 年,终于配置上了 pre-commit 提交检查
- Yt-dlp 入门笔记 & 不简明教程
- 安装 Vector & Prometheus & Grafana 实验环境简明指南(MacOS)
- Gin Web 框架设置客户端缓存 & 启用 Gzip 压缩中间件
- 记录 ECS 部署 WordPress 二开程序的曲折 Debug 过程
- 内网穿透:白嫖 Cloudflare Tunnel 免费 HTTPS 和访问防护
- Tailscale 异地组网服务使用体验记录
- 通过 Helm Bitnami Chart 部署 ElasticSearch + Kibana 服务
- Fork 并翻译部署 Raft 分布式共识演示静态页实践记录(thesecretlivesofdata)
- Python 依赖管理工具 uv 使用笔记(“Cargo for Python”)
- 使用 pprof 定位 Golang 服务内存占用过高问题的记录
- K8S 基础知识:Endpoint 的作用与实践
- Homebrew 篇二:制作 Formula 安装脚本存入 Tap 仓库
- 排查 AWS ECS 内容器服务 ALB 健康检查失败问题记录
- 使用 Github Action 自动构建 Release 版本
- Homebrew 常用命令使用指北
- Loki 查询语言 LogQL 学习笔记
- macOS 部署体验 immich 相册 v3.0.1
- 使用 Ollama 体验开源 LLM 模型 Gemma:7b(笔记本可跑)
- NPS 内网穿透(一)TCP 隧道基本使用两三例
- 从 SharePoint 获取文件及其历史版本(基于 GoSIP SDK)
- 统计自己使用变焦镜头拍照的常用焦段(Python & Go)
- 学习了解 << EOF 语法规则(Here Document)
- 使用 Buddy 自动发布静态博客
- 为 Golang 项目添加 Github 徽标(第二篇)
- 使用 Gitlab CI 对 Go 程序进行单元测试
- 通过脚本触发 Jenkins Job 运行
- 使用 Docker 构建多架构镜像
2023
- 通过 Helm Bitnami Chart 部署 Redis 服务
- Kubernetes 包管理工具 Helm 初体验
- 授权 kubectl 访问 AWS EKS 集群
- 在 macOS 下制作 Windows11 U 盘安装盘
- 了解容器运行时的演进与标准化之路
- PostgreSQL 学习计划——了解 Toast 的 LZ4 压缩算法
- PostgreSQL 学习计划——了解 Toast 扩展表
- Redis Stream 消息队列基础命令笔记
- macOS 系统下交叉编译 Rust 为 Linux musl 目标(x86_64 和 aarch64 架构)
- Jenkins 编写 pipeline 的几点备忘
- K8S 基础知识:PersistentVolume 持久卷(Provisioner 自动创建)
- 翻译:基于 Redis Stream 类型的轻量消息队列解决方案
- K8S 基础知识:Nginx Ingress Controller 初体验
- 在 K8S 中使用阿里云 ACR 镜像并调试容器
- K8S 基础知识:基于 HPA Pods 级别的 AutoScaling
- 在 K8S 运行多 Pods 负载均衡服务(Hello World)
- MacOS 系统使用 kubeasz 搭建 k8s 测试集群
- AWS Role / AssumeRole 使用场景及权限验证
- Self-hosted 系列之 Matrix-Conduit + element.io
- Self-hosted 系列之 Rocket.Chat 服务部署指北
- 张家口・草原天路(2023)
- 问题修复记录:DMS 任务失败导致 PostgreSQL 磁盘占用异常
- 虚拟机管理工具 multipass 使用笔记
- macOS 系统安装 Redis 并启用集群模式
- 使用 ECDSA 与 Ed25519 公钥算法
- 学习 Ansible 与 Playbooks 的基本使用
- 北京・南锣鼓巷周边胡同(2023)
- 抓包学习 Server-Sent Events(SSE)
- Stable Diffusion 系列(2)更换模型使用 Lora 插件
- 令人困惑的 Drone Cron [已解惑]
- Stable Diffusion 系列(1)在 Ubuntu 系统下部署
- 线上 Redis 批量设置 TTL 导致内存占用上升和接口报错的原因
- 基于 Drone 的博客发布流程改造方案
- 使用 Codon 提升 Python 代码执行速度
- 北京・昌平新城滨河森林公园(2023)
- Nginx 反代 Quora Poe 使用多种聊天AI
- 北京・初春颐和园(2023)
- Golang 指针接收器与值接收器
- 对 Session、Token、JWT 认证的碎碎念
- 编程新体验:描述需求,让 ChatGPT 写代码
- Golang 使用 Redis 锁阻止接口并发请求(重复提交)
- 北京・史家胡同(2023)
- AWS S3 通过 CLI 脚本递归移除删除标记
- Golang 更新数据库字段为类型零值的三种方式(go-pg)
- S2S 服务端上报 Appsflyer 和 Firebase 事件
- 北京・颐和园(2023)
- 使用 Github Action 为 Golang 项目添加 Coveralls 徽标
- Golang 创建 Slack Bot 发送消息及文件
- Golang 定时自动更新配置(Channel 通知、读写锁 RWMutex 或 Atomic)
- Golang 使用定时任务(robfig/cron)
- Jenkins 下使用 Node 和 Npm(借助 nvm-wrapper 插件)
2022
- 服务端部署 Clash + Yacd 助力网上冲浪(Docker + Podman)
- 7-Zip 常用压缩/解压缩命令行指令
- 使用 Wireshark 抓包 GRPC 请求(TLS 加密后暂未能解密)
- gRPC 使用自签名证书开启 TLS 加密
- 学习 Protocol Buffers(protobuf)
- Golang 合并多个 Slices 方法和注意事项
- Vim 优雅的强制写入只读文件
- 提交代码自动触发 Jenkins 构建(Github、Gitlab、Bitbucket)
- 使用 Jenkins 部署 Golang 程序
- Golang:值传递还是引用传递
- 北京・五道营胡同(2022)
- RTO 与 RPO:故障恢复时间度量
- Golang 接口类型笔记
- 线上 Vector 服务高 CPU 占用问题修复
- GPG:签名与验证(验证 Firefox 安装包 & 发送签名邮件)
- GPG:为你的 Git Commit 签名
- Golang 中 new 和 make 的区别
- 抓包查看 Golang 下 HTTP 连接池
- Git 合并多个提交(Squash Commits)
- Golang: 使用 Atomic 减少互斥锁的使用
- 记一次线上磁盘占满问题的定位过程
- 北京・故宫博物院(2022)
2021
2020
- 使用 ImageAi 训练模型侦测自定义对象
- 使用 darknet-ocr 进行文字识别
- 作为上级订阅科达平台移动设备位置(GB28181 - MobilePosition)
- 数组与对象常用操作代码段记录
- 记录 Mapbox 离线地图下载工具 mbgl-offline 的编译
- 基本流的第一次封装(PES)
- MPEG-2 TS 容器封装格式概览
- FFmpeg 推流与转码命令备忘(持续更新)
- 鸡西・森林公园(2020)
- 结合Wireshark抓包学习RTMP协议(下)
- 结合Wireshark抓包学习RTMP协议(上)
- Rust 生命周期初探
- 记录解决 Oracle 11c 修改最大内存占用数后重启服务无法登录的问题
- 阅读 rml_rtmp 示例代码之一个简单的RTMP服务器(threaded_rtmp_server)
- 记录一下DNS方式申请Let's Encrypt证书并使用Nginx部署步骤
- ELK 学习笔记(六)—— 从 PostgreSQL 同步数据到 Elasticsearch(Logstash)
- 使用Python基于Onvif协议从摄像头获取RTSP播放地址
- 5.20 那年我们二十七八岁
- PJSIP 开发者手册阅读笔记(一)—— 整体设计与模块
- 开源 SIP 协议栈 PJSIP 简介
- 将IPC/NVR获取的PS流推送到srs分发为rtmp/http-flv/hls
- 基于GB28181从海康NVR获取目录/点播/回播信令备忘
- 将海康IPC摄像头PS流保存到文件并转换为MP4视频
- 海康摄像头PS流格式解析(RTP/PS/H264)
- 基于国标GB/T28181标准从海康摄像头获取PS流
- Ubuntu 18.04 下编译 Pjsua2
- SIP 协议与 Kamailio 服务搭建
- 阅读 rust-mp4 代码学习 mp4 视频信息解析
- 国内配置Electron开发环境的正确方式(2020.03重新整理)
- 谈谈机会与选择 | 感谢 namebase 的空投
- 使用 AES 对称加密算法 CTR 模式进行加解密
- Kafka 消息框架入门三连:分布式部署
- Kafka 消息框架入门三连:基础概念与服务搭建
- ELK 学习笔记(五)—— Logstash 基础知识
- ELK 学习笔记(四)—— 从 PostgreSQL 同步数据到 Elasticsearch
- ELK 学习笔记(三)—— 关于 Elasticsearch mapping
- ELK 学习笔记(二)—— 关于 Elasticsearch 检索
- 使用 Markdown 编写接口文档
- ELK 学习笔记(一)—— 服务部署与 Elasticsearch 基础知识
2019
- PostgreSQL 12 流复制实现主从数据库
- Centos 7 离线安装Docker CE 19.3
- 整理一些工作中遇到奇奇怪怪的问题
- Nginx二级目录及Flask/Express框架部署单页应用
- 构建Python镜像(连接PostgreSQL与Oracle数据库 / 体积优化)
- 工作上的两件小事儿
- 初探Podman容器管理
- 记录Python应用离线部署的两种方式
- Fedora 29 系统使用 Python3 连接Oracle 11.2数据库
- PostgreSQL 表分区实践
- 在Chrome浏览器中点击链接打开IE访问网址
- 使用WebRTC构建Electron桌面视频应用
- WebRTC与EasyRTC(视频聊天流程梳理)
- 国内配置Electron开发环境的正确方式
2018
- 使用Pandas统计2011年CSDN泄漏的密码
- Face_recognition与Docker部署
- PostgreSQL JSONB类型常用操作
- Electron中使用fork()函数的坑
- Electron使用SQLite3及Sqlcipher加密
- 获取Electron注册表信息
- Dva.js框架整合Electron实践(加载本地文件)
- Rust导出Python/Node.js可用的DLL库
- 使用Face_recognition截取人脸与人像比对
- 使用Gogs自建Git服务器(Docker+Nginx+Let's Encrypt)
- Electron播放RTSP视频流
- Rust通过修改注册表启用或禁用任务管理器
- 使用Electron构建桌面应用(三)——拖拽与选择文件导出SQLite3数据到Excel
- 使用Electron构建桌面应用(二)——创建独立可执行程序与NSIS安装包
- 使用Electron构建桌面应用(一)——使用FFI模块调用DLL文件
2017
- Rust生成并加载DLL后获取内容到剪切板
- 构建定时备份MySQL与Oracle的Docker镜像
- Rust文件读写与复制
- 关于Python打包(Pyinstaller与Nuitka)
- 昆明・出差花城初印象(2017)
- 测试bsdiff与bspatch二进制补丁工具
- 未经验证的邮件邀请机制存在的问题
- Python日志记录包logbook(补充)
- SeaweedFs分布式文件存储使用报告
- Python调用DLL文件
- XeLaTeX:使用wallpaper包设置封面及背景
- Python使用单例跨文件退出子线程
- Python与tkinter
- Canvas基础笔记(五)
- Canvas基础笔记(四)
- 2016 技术部年末聚餐
2016
- Canvas基础笔记(三)
- Canvas基础笔记(二)
- Python日志记录包logbook
- PostgreSQL 札记初阶
- Percona Monitoring and Management Platform
- 搭建基于ss-panel和manyuser的番茄管理
- 油管4k/8k视频Connection Speed测试
- FinalSpeed balabala...
- Gnome3美化初阶(主题,图标,光标)
- 使用property创建可管理的类属性
- Xvfb的截图与录制
- GIMP文字效果之Alpha变徽标
- 使用Python+Selenium制作Flash小游戏辅助
- Super返回的是mro列表中的下一个类
- 使用keycdn加速网站访问
- Lets Encrypt and HTTP2
- 使用Python+Selenium获取QQ群投票数据
- 一台服务器六小时内获取Tor的轮询及IP数
- 常用Selenium代码整理及Tips
- Python归档打包解包
- Selenium Webdriver传递Cookies给requests及持久化
- Firefox替换Phantomjs抓取/测试方案
- 部署uWSGI/实现方式/多进程请求的性能比较
- Redis基础命令笔记
- 整理一些pip/npm/gem镜像及前端CDN
- HTML5揭秘读书笔记——Canvas
- 一些零散的Docker基础整理
- 将Socks5转换为HTTP/HTTPS类型
- 浅尝辄止的了解下RxJS/Cycle.js(一)
- 学习Milligram官网的导航效果(下)
- 学习Milligram官网的导航效果(上)
- 实现一个荐股评价系统(四)——重构前端
- Gulp/Browserify/React的一些整理与补充
- 推荐一个React组件生成工具
- Gulp搭配Browserify/Babelify/Babel 6
2015
- 为Github Pages博客添加SSL支持
- 《JavaScript语言精粹》读书笔记(二)类型判断及方法
- 使用React-native在Linux下构建Android应用
- 又发现一个出色的屏幕录制工具Vokoscreen
- this和call、apply与bind
- 《JavaScript语言精粹》读书笔记(一)零散记录
- mocha, should, istanbul
- 一个很棒的实时Demo(Node.js+React.js+Socket.io)
- 出色的屏幕录制工具SimpleScreenRecorder
- Gnome下使用EasyScreenCast录制视频(带声音)
- Async.js常用方法整理之Control Flow
- Async.js常用方法整理之Collections
- 实现一个荐股评价系统(下)——实现
- 实现一个荐股评价系统(中)——抓取
- 实现一个荐股评价系统(上)——规划
- Three.js的魔法城堡(一)
- 使用virtualenv与virtualenvwrapper
- GIMP插件AnimStack制作GIF教程(六)——移动视角效果
- GIMP插件AnimStack制作GIF教程(五)——旋转
- GIMP插件AnimStack制作GIF教程(四)——帧间平滑过渡
- Linux下录制部分区域生成GIF
- GIMP插件AnimStack制作GIF教程(三)——LED灯文字滚动效果及播放速度
- GIMP插件AnimStack制作GIF教程(二)——作用范围,Roll标签,雪花效果
- GIMP插件AnimStack制作GIF教程(一)——Hello AnimStack
- 跑个分?unixbench测试记录
- Linux命令使用大杂侩
- 使用Python+selenium+Phantom.js爬取js加载数据的网页
- 整理给自己的Python烹饪书
- GIMP也疯狂之Gif动态图制作
- Fedora 22 调教指南
- Grunt配置文件模板:编译Coffeescript及代码审计
2014
- 往日存档:我去前面探探路~(1)
- 初探Django线程发送邮件
- Django小例子 – 模型数据的模板呈现
- 在Django项目中添加谷歌统计(Google Analytics)
- 如何编写GIMP插件(二)
- Gimp插件Hello world注释
- 如何编写GIMP插件(一)
- C语言链表操作模板(添加,删除,遍历,排序)
- 使用AutoTools自动生成Makefile
- 使用GIMP制作彩色的网站横幅
- VBOX安装Centos设置分辨率为1366×768
- 可以制作德罗斯特效应照片的Mathmap安装记录
- UC编程基础知识整理
- 【整理】C语言生成2000w行数据
- 《Shell十三问》笔记(下)
- 《Shell十三问》笔记(上)
- 点点轻博客搬家到WordPress