Writing
把那些踩过的坑、顿悟和深夜里的念头留下,等未来某天回头时,仍能看见来时路。
用 Cloudflare Email Routing 负责收信、Gmail 负责界面、Resend 负责发信和 DKIM 签名,可以低成本搭出一个可用、稳定、通过 SPF/DKIM/DMARC 验证的个人自定义域名邮箱。
2026-07-02 Chrome Prompt API:浏览器内置 AI 开始进入普通网页Chrome 148 开始,Prompt API 让网页可以直接调用浏览器内置的 Gemini Nano,在本机完成文本、图片和音频相关的 AI 任务。本文介绍它的意义、能力、使用方式、版本和硬件要求,并顺便记录我用它做的 AI Image Renamer 项目。
2026-06-22 OpenFreeMap:一个把地图瓦片托管做轻的开源项目OpenFreeMap 是一个基于 OpenStreetMap 数据的开源地图托管项目,提供免费公共实例、可自托管的生产配置和每周更新的全球矢量瓦片下载。本文从使用方式、技术设计、适用场景和限制几个角度介绍它。
2026-06-15 VSCode 生成中文 Git 提交信息VSCode 里用 GitHub Copilot 生成 commit message 很方便,但默认结果经常中英文混杂、格式不稳定。本文记录一套我在项目中使用的中文提交信息配置,让自动生成内容更统一、更适合中文团队协作。
2026-03-24 Radiant:一个开源 Shader 素材站最近看到有人推荐 **Radiant**,点进去之后会发现,这不是一个单纯拿来欣赏的 shader 展示站,而是一个更偏实用的视觉效果素材库。
2025-11-08 PE 签名的"盲区":如何合法嵌入自定义数据在 Windows 平台上,数字签名是验证软件可信度的重要机制。然而,在某些场景下,开发者需要向已签名的 PE 文件中嵌入额外信息(如配置数据、版本标识等),同时又不能破坏原有的数...
2025-08-20 FFmpeg 播放器音画同步与 Seek 策略深度解析FFmpeg 播放器音画同步与 Seek 策略深度解析
2024-12-16 自动定时刷新页面 bookmarklet这是在我开发中遇到的一个问题,在测试环境中,我需要从外部系统的一个接口定时抓取数据,这个系统需要登录才能访问,登陆后如果一定时间没有操作则会自动退出登陆状态。为此,我需要一个简单的...
2024-11-22 MicroBin - 让分享更简单高效的文件分享工具至关重要。今天,我想向大家推荐一个出色的在线文件分享工具 —— **Microbin**。
2024-11-20 FFmpeg 7 在 Windows 7 上不能运行的问题我们的项目中 FFmpeg 升级到了版本 7.0,结果有用户反馈在 Windows7 系统上出现访问错误(0xc0000005)。
2024-04-13 从 Blob URL 到自适应流媒体在线流媒体技术演进:从 Blob URL 到自适应流媒体
2023-11-20 在 WinMain 中获取 argv, argc在 Windows 桌面程序开发中,一般的程序入口是 _tWinMain
2023-11-01 C++ directory iterator 异常处理C++ 标准库 遍历文件夹时偶尔出现异常
2023-05-11 新 VPS 服务器配置指南:从零搭建高性能安全环境搞了这么多年开发,我发现很多人拿到新 VPS 后都是一顿瞎操作,要么安全性不够,要么性能太差。其实配置服务器也是有套路的,掌握了这套流程后,基本上 10 分钟就能搞定一台生产级服务...
2023-02-13 现代 C++ 进化论:构建支持动态参数的自动注册工厂在传统的 C++ 开发中,对象工厂模式往往伴随着臃肿的 switch-case 语句。每当新增一个派生类,开发者就不得不修改工厂源码。本文将带你利用 C++11 的高级特性——变长...
2022-11-19 C++ Throttle 的一个简单的实现说到 Throttle,在网页前端中运用得较多,比如页面滚动、即时搜索的输入事件,这类事件触发非常频繁,如果每次都进行业务操作,消耗会非常大。这时采用 Throttle 进行限流,...
2022-08-29 自定义 html range 控件样式当将 HTML input 元素的 type 定义成 range 时,其形式类似 Windows 的 Trackbar,或者俗称 Slider,一般是这个样子:
2022-08-13 使用 Cloudflare Worker 实现访问统计最近在装修博客页面过程中,想在页面上放类似 Github 项目上流行的 Badge,显示页面访问量。由于站点采用的 Nextjs + Vercel 的静态博客方案,一般来说需要使用...
2022-08-07 std::async 为什么阻塞在桌面开发中,有时希望能减少某些 IO 操作对界面造成的影响,此前常用的办法是创建一个线程:
2022-08-05 WS_POPUP 最大化如何不遮挡任务栏在桌面开发时,我们有时会创建样式为 的窗口,然后自绘标题栏。当窗口最大化时,会覆盖整个屏幕,盖住了任务栏,这通常不是我们想要的效果。