2023 (9)
- 基于ejbca搭建私有化CA系统
- 升级CentOS7系统内核至最新版本
- 基于CenOS7搭建Java开发环境
- 使用Cloudflare Tunnel实现内网穿透,把服务器架在家里
- 一文教你本地部署ChatGLM-6B开源双语对话语言模型
- AI 自动补全的这句日志能正常打印吗?
- 记两个有关线程池的小问题
- 解决 Groovy 引起的一次 OOM 告警
- 读书:哲学家们都干了些什么
2022 (5)
2021 (5)
- 如何让 Spring Security 「少管闲事」
- 读叔本华《人生的智慧》
- 利用 XXL-JOB 实现灵活控制的分片处理
- 解决 IntelliJ IDEA 启动报 Unsupported Java Version 的问题
- 代码审查:从 ArrayList 说线程安全
2020 (10)
- 给 Mac 添加右键菜单「使用 VSCode 打开」
- 使用 jsDelivr 免费加速 GitHub Pages 博客的静态资源(二)
- 林丹从国家队退役,带起一波回忆
- 更聪明地学习,而不是苦读——《如何高效学习》
- 用 Vim 编辑 Markdown 时直接粘贴图片
- 本博客模板常见问题 Q & A
- 使用 jsDelivr 免费加速 GitHub Pages 博客的静态资源
- 一份简明的 Base64 原理解析
- 记一个 Base64 有关的 Bug
- GitHub 用户专属福利,实际到账 3K+,Namebase Airdrop
2019 (3)
2018 (3)
2017 (12)
- 解决两个 Android 模拟器之间无法网络通信的问题
- Android 源码分析 —— 从 Toast 出发
- 程序员节的过节姿势大全
- 发布一款光谷社区第三方 Android App
- 阅读源码的意义与方法
- Android 源码分析开篇
- 图解 SQL 里的各种 JOIN
- 关于 Markdown 的一些奇技淫巧
- 从一个 NullPointerException 探究 Java 的自动装箱拆箱机制
- 我做了一个有点艰难的决定
- 读书:追风筝的人
- 我的 2016 盘点
2016 (17)
- 搭建大型源码阅读环境——使用 OpenGrok
- vim-markdown-toc 发布 v1.0 版
- 一道在知乎很火的 Java 题——如何输出 ab
- C++ 程序员的 Java 指南
- 在 Vim 里为 Markdown 文档展示导航窗格
- Kloudsec 挂了,GitHub Pages 去 HTTPS 化
- 简化 kramdown 列表嵌套内容缩进的 Vim 插件
- 为绑定域名的 GitHub Pages 启用 HTTPS
- 判断前台 Activity 是否属于本进程
- 配置 Node.js 开发环境——使用 Atom
- 如何有效使用 GitHub
- 不藏拙的人生
- 从 am start 的 --user 参数说到 Android 多用户
- 将 GitHub Pages 从 Redcarpet 切换到 kramdown
- Build Zeal for Mac OS X
- Android 系统缓存扫描与清理方法分析
- Ubuntu 使用笔记
2015 (27)
- 为 Markdown 生成 TOC 的 Vim 插件
- Java 对象释放与 finalize 方法
- GFM 与 Redcarpet 的不同点
- Excel 保留行号的去重
- Vimscript 中的坑
- 断网之后
- Mac 遇到问题集锦
- 爱你就像爱生命
- 你忙得踏实吗?
- 定制 Fiddler 之按设备过滤请求
- 为 Vim 添加 Smali 语法高亮和 Taglist 支持
- Win7 下部署 Discuz!
- 去看特立独行的猪
- 黑客马拉松参赛总结
- 领导与员工的艺术
- TortoiseSVN 从 GitHub 更新时发生异常
- Java 中的比较运算符
- Emacs 折腾记
- 一些不必纠结的事情
- Android Studio 遇到问题集锦
- Android UI 开发里的尺寸单位理解
- Java 日期类常用写法小结
- Windows 实现单实例进程的两种方法
- 工作中得来的教训
- 乱弹一气人生
- 生活这件小事,烦请费思量
- 一个 printf 引发的基础复习
2014 (25)
- 如何让 HelloWorld.apk 体积最小
- 使用 gVim 的 Python 自动补全时遇到的问题
- 工科男难找对象的那点事儿
- 好习惯 one by one 之一
- 情绪管理的建议
- Jestem
- 习惯成就高效能
- CSDN 已下载资源自动批量评论脚本
- 获取运行过程中改名的文件的路径
- 眼中的自己
- 如何让你的 EXE/DLL 足够小
- 我所理解的生活
- 摄影教训总结
- TaobaoProtectSE.dll 注入引起的死锁分析
- 定制 Fiddler 之将请求发往另一服务器
- 定制 Fiddler 之抓获 WinHTTP 请求
- 默认的 DLL 搜索路径优先级
- C++ 类成员变量初始化
- ANSI Common Lisp 第二章习题解答
- COM 原理与应用学习笔记
- 设计模式学习之单件模式
- 对象内存结构及虚函数表分析
- C++ 中的#,##,和"
- Windows API 中的坑
- Excel 常用操作
2013 (7)
- 设计模式学习之装饰者模式
- 设计模式学习之观察者模式
- 设计模式学习之策略模式
- 有 static 变量的 namespace 被多个 cpp 包含
- 文件被多个中间文件输出目录相同的工程包含
- 可执行文件名中包含 install 或 setup
- Windows 界面相关小知识点
2012 (9)
- 为基于 xulrunner 的内嵌 Gecko 程序启用 Profile
- Windows 实用技巧汇总
- Python 核心编程中文第二版课后练习 3.8 答案
- Python 核心编程中文第二版课后练习 2.21 答案
- VBA 在 Excel 中的常用操作
- Firefox 和内嵌 Gecko 程序的 Plugins
- Moziila 文件结构概览(译)
- 将 Mozilla 源码里的 winEmbed 工程移植到 VC
- HGE 引擎学习笔记 1——如何模拟物理碰撞