颜闽辉的博客
博文
HTTP Proxy vs. HTTPS Proxy vs. SOCKS Proxy
HTTP Proxy vs. HTTPS Proxy vs. SOCKS Proxy
克隆 Chromium 源代码
Clone Chromium Source Codes
Qt: 子线程与UI线程的交互
Qt: 子线程与UI线程的交互
经典时间编程
Classic Time Programming
监视器对象模式
Monitor Object Pattern
ASIO 服务管理
ASIO Services Management
定制编译期诊断信息
Customizing Compile-time Diagnostics
模板元编程
Template Metaprogramming
完成令牌(completion token)
完成令牌(completion token)
Conan 2.0 打包开发流程
Conan 2.0 Package Development Flow
Misc: colored echo
colored echo
C++ 匿名函数惯用法
C++ Lambda Idioms
虚指针的内存布局
Memory Layout for Virtual Pointers
Telegram 链式缓冲区
Telegram Chain Buffer
Telegram MTProto 协议格式
Telegram MTProto Description
Telegram DH 密钥交换过程
Telegram DH Key Exchange
Telegram 参与者模式
Telegram Actor Model
Telegram 应用编程接口
Telegram API
C++ 编码风格指南
C++ Style Guides
C++ 原子操作
Atomic Operation
Google 基准测试
Google Benchmark
移动操作可能比拷贝更慢
Move Can Be Much Slower Than Copy
优先传引用代替传值
Prefer pass-by-reference to pass-by-value
四人帮的 23 种设计模式
The 23 Gang of Four Design Patterns
C++ 错误处理
C++ Error Handling
ASIO C++20 协程
ASIO C++20 Coroutines
阿里 async_simple
alibaba async_simple
C++20: Trivial type, Standard-layout, POD, Aggregate
C++20: Trivial type, Standard-layout, POD, Aggregate
C++20 协程
C++20 coroutines
C++20 约束表达式与约束从句
C++20 concepts
开发一个移动跨平台库
Developing a mobile cross-platfrom library
Java 粘连代码: JNI
Java Glue Code: JNI
GNU Make 构建工具
GNU Make 项目管理
Misc: Measure Compression Ratio
测算压缩比
GCC 编译器
For the GNU Compilers gcc and g++
Misc: format_bytes
格式化字节数演进过程