• 人生天地之间,若白驹过隙,忽然而已!
  • 2023

    • 4-8 C++并发与多线程笔记八:async、future、packaged_task、promise
    • 3-12 C++并发与多线程笔记七:conditionvariable、wait、notifyone/all
  • 2022

    • 9-14 CentOS 7.6基于Nginx静态服务器搭建个人网站
    • 9-13 建站过程中的踩坑记录:自定义域名、百度收录与备案
    • 9-4 C++并发与多线程笔记六:单例模式下的数据共享
    • 8-28 重构学习(四):代码的坏味道
    • 7-29 基于Algolia实现网站全文搜索
    • 7-24 重构学习(三):代码重构的原则
    • 7-3 程序的编译和链接
    • 6-22 C++并发与多线程笔记五:unique_lock详解
    • 6-14 从零开始了解重构(二)
    • 5-17 AWTK绘制原理的分析总结
    • 5-3 将GIF拆解成序列帧给video_image控件使用
    • 5-2 IOT.js适配AWorks平台通用外设接口(6):UART
    • 5-1 IOT.js适配AWorks平台通用外设接口(5):SPI
    • 4-18 IOT.js适配AWorks平台通用外设接口(4):PWM
    • 4-17 IOT.js适配AWorks平台通用外设接口(3):I2C
    • 4-16 IOT.js适配AWorks平台通用外设接口(2):GPIO
    • 4-15 IOT.js适配AWorks平台通用外设接口(1):ADC
    • 4-5 C++并发与多线程笔记四:互斥量(概念、用法、死锁)
    • 4-2 C++并发与多线程笔记三:数据共享
    • 3-22 C++并发与多线程笔记二:线程传参
    • 3-13 从零开始了解重构(一)
    • 3-6 C++并发与多线程笔记一:基本概念和用法
    • 1-23 渐进式Web应用(PWA)的Service Worker缓存机制
  • 2021

    • 12-26 设计模式学习(二十四):访问者模式
    • 12-12 Pandoc+TeXLive实现Markdown转PDF
    • 12-5 VuePress基本用法与踩坑记录
    • 11-21 C/C++测试程序运行时所需的栈大小
    • 11-14 云文档托管方案分析
    • 11-7 设计模式学习(二十三):模板方法
    • 10-24 设计模式学习(二十二):策略模式
    • 10-7 设计模式学习(二十一):状态模式
    • 9-22 设计模式学习(二十):观察者模式
    • 9-5 嵌入式Linux(awtk-linux-fb)双屏显示
    • 8-25 设计模式学习(十九):备忘录模式
    • 8-15 设计模式学习(十八):中介者模式
    • 8-8 AWTK G2D 硬件加速移植案例
    • 8-1 设计模式学习(十七):迭代器模式
    • 7-18 设计模式学习(十六):解释器模式
    • 7-4 设计模式学习(十五):命令模式
    • 6-14 设计模式学习(十四):职责链模式
    • 6-6 嵌入式Linux适配鼠标滚动事件
    • 5-29 设计模式学习(十三):代理模式
    • 5-24 管道通信:命名管道
    • 5-16 设计模式学习(十二):享元模式
    • 5-12 使用匿名管道和CreateProcess隐式调用控制台程序
    • 5-9 管道通信:匿名管道
    • 5-5 管道通信:输入输出重定向
    • 5-1 Windows平台进程创建和退出
    • 4-18 设计模式学习(十一):外观模式
    • 4-11 设计模式学习(十):装饰模式
    • 4-5 设计模式学习(九):组合模式
    • 3-28 FreeType解析矢量字体存在的问题以及优化技巧
    • 3-22 设计模式学习(八):桥接模式
    • 3-14 FreeTpye库学习笔记:将矢量字体解析为位图
    • 3-6 设计模式学习(七):适配器模式及其在AWTK中的应用
    • 3-1 设计模式学习(六):原型模式及其在AWTK中的应用
    • 2-24 设计模式学习(五):单例模式及其优化示例
    • 2-21 设计模式学习(四):基于Builder模式的歌词解析器
    • 2-7 设计模式学习(三):生成器(Builder)模式
    • 1-31 设计模式学习(二):实现可动态注册的简单工厂模式
    • 1-24 设计模式学习(一):抽象工厂模式以及C语言示例
    • 1-17 stb_truetype解析ttf字体并将其保存到图片中
    • 1-10 计算机中int和float的储存结构以及运算性能
    • 1-3 AWTK-MVVM学习(二):数据绑定与命令绑定
  • 2020

    • 12-26 AWTK-MVVM学习(一):设计图书管理系统的Model
    • 12-19 VLD(Visual Leak Detector)在Visual Studio 2015中的使用
    • 12-12 Linux DRM基本概念与使用示例
    • 12-6 SQLite的基本用法
    • 11-29 Repository模式及其在C语言中的应用
    • 11-22 C语言实现正则表达式匹配
    • 11-15 Ubuntu交叉编译tslib并移植到嵌入式Linux
    • 11-8 契约式设计(Dbc)以及其在C语言中的应用
    • 10-29 C语言使用回调函数降低耦合(隔离变化)
    • 10-26 单元测试FIRST原则以及基于GTest进行单元测试
    • 10-22 状态机基本概念以及使用状态机实现单词计数
  • 2019

    • 10-9 斐波那契数列两种算法的时间复杂度
    • 7-15 VS2012 MFC滑块控件的基本使用方法
  • 2018

    • 11-30 VS2012 MFC以API方式连接mysql数据库
    • 11-27 MySQL外键约束删除和更新时各取值的含义
    • 11-23 VC++6.0 MFC将列表控件中内容保存到EXCEL
    • 11-21 VC++6.0 MFC显示模态对话框和非模态对话框
    • 11-19 VC++6.0 MFC列表控件的基本使用方法
    • 11-18 MySQL开启远程连接
    • 11-14 VC++6.0 MFC 获取并解析网页数据
    • 11-9 MySQL创建用户与授权
    • 11-8 VC++6.0 MFC使用ODBC链接MySQL把图片写入blob字段
    • 11-4 VC++6.0 MFC利用ADO连接到MySQL数据库