基于Qt的无边框窗体实现
Qt 虽然提供了诸如 Qt::FramelessWindowHint 之类的属性可以移除窗体的边框,但是移除边框之后,窗体的一些默认行为同时也被移除了,如鼠标拖动改变大小、双击标题栏最大化等,这些行为需要开发者自己来实现。
本文主要介绍实现无边框窗体的几种方案,并在最后分享了作者实现的方案。
笔者认为,一个完美的无边框窗体解决方案需要支持如下功能:
- 支持通过使用鼠标拖拽来改变窗体位置和大小;
- 支持双击标题栏最大化窗体和还原窗体;
- 支持 Windows Areo Snap 特性;
- 支持系统阴影;
- 支持跨不同 DPI 的屏幕拖拽;
- 适应分辨率和 DPI 改变;
基于Hexo搭建静态博客
Hexo是一个快速、简洁且高效的博客框架,使用Hexo可以快速地生成静态博客框架。在框架生成完成后,可以使用任意文本编辑器语法书写博客。我们可以使用Markdown语法书写博客,Hexo在生成博客时会自动将Markdown解析成Html静态页面。
Hexo官网:https://hexo.io/zh-cn/
Hexo中文文档:https://hexo.io/zh-cn/docs/
Redis慢日志与BigKey
使用Watchtower自动更新Docker

Watchtower 官网: https://github.com/containrrr/watchtower
Watchtower 可以用于自动更新 Docker 镜像与容器。Watchtower 会监视正在运行的容器以及相关的镜像,当检测到 Registry 中的镜像与本地的镜像有差异时,会拉取最新镜像并使用最初部署时相同的参数重新启动相应的容器。
Redis常见异常及处理方案
Redis 是高性能内存键值数据库,支持字符串、哈希等多结构,兼具缓存与持久化能力,广泛用于实时数据处理场景。本文主要介绍 Redis 常见的异常及处理方案。
Windows平台文件自签名
本文使用的工具都是 Windows SDK 自带的,可以采用单独安装 Windows SDK的方式,也可以通过安装 Visual Studio 来附带安装 Windows SDK。
1 | # 在弹出界面设置密码123456 |
使用 SignTool 工具对 EXE 文件签名:
1 | signtool.exe sign /f test.pfx /p 123456 Setup.exe |
史铁生:职业事业(节选)
选择一项事业(或者找一条能够载渡精神的船)的时候,应该想起兵书上的一句话:知己知彼,百战不殆。没有谁是为了失败而工作的,因为注定的失败不能引导出一个如醉如痴的过程。
所谓知己,就是要知道自己的兴趣何在?自己的禀赋何在?如果你喜欢文学,可你偏偏不肯舍弃一个学化学的机会,且不说没有兴趣你的化学很难学好,即便你小有成就那也是你的悲剧。如果你是一个数学天才,比如说是一个潜在的陈景润,可你对此昏然不知偏要去当一个写小说的,结果多半不妙。
所谓知彼,就是得知道客观条件允许你干什么。如果你热爱起足球的时候已经 40 多岁,你最好安心作一个球迷,千万别学马拉多纳了。如果你羡慕三毛,你也有文学才能,但是你的双腿一动都不能动,你就不要向往撒哈拉,你不如写一写自己心中的沙漠。
我一贯相信,每个人都有自己的所长,倘能扬长避短谁都能有所作为;相反如果弃长取短,天才也能成为蠢才,不信让陈景润与托尔斯泰调换一下工作试试看。对事业的选择,要根据“知己知彼”的原则,可别为“热门”或时髦所左右。
获取其他进程的命令行参数
本文介绍如何根据进程 ID 获取进程命令行参数,使用 Windows NTDLL 提供的未公开 API 实现。
