Golang 中的 Unicode 与 UTF-8

大多数的我们,真正认识到有字符编码这回事,一般都是因为遇到了乱码,因为我国常用的编码是 GBK 以及 GB2312:用两个 Byte 来表示所有的汉字,这样,我们一共可以表示 2^16 = 65536 个字符,一旦我们的 GBK 以及 GB2312 编码遇到了其他编码,比如日本,韩国的编码,就会变成乱码,当然,这时候如果是 UTF-8,也会乱码。

阅读全文

CMake 系列完结以及一些碎碎念

这过去的几个月中,我一直在写 CMake 相关的内容,写成了一个系列,到今天,我打算先放下了。

事实是,我似乎是陷入灵感枯竭期了。

CMake 系列的总结

先来做个总结,CMake 系列,一共写了十篇,从基础,到高级内容,基本上都是我在工作中的学习内容,没有很精深,也没有写的很全面,毕竟自己重新写 C++ 也不过这过去不到一年的时间。

阅读全文

隐私守卫者 PGP

我第一次提到过 PGP,是在 Helm 实践之配置管理 以及 Helm 实践之持续交付 里面,但当时只是提到它可以用来加密我们的配置,但没有拓展它,今天我们来简单拓展下。

阅读全文

【CMake 系列】(十)编译速度以及程序性能优化相关

写 C/C++ 的同学都知道,项目稍大点,编译速度就开始拖后腿了,这对于我们来说是个又爱又恨的时候:急着改代码的时候,慢能消耗我们的耐心,能将我们逼疯,而我们想暂时休息会儿的时候,却可以借此去散步喝茶了。

阅读全文

为什么你需要理解用户需求

前些天看到一篇教大家导出百万级别数据 Excel 文件的文章,我当时不由得楞了一会儿:这年头有这样的需求?不过仔细回想之前自己经历过的应用场景,发现还真有。

撇开技术细节不谈,我们以此来谈谈,作为一个技术人,为什么你需要尝试去理解用户需求。

阅读全文

【CMake 系列】(九)实战之如何下载依赖

今天补下之前在 ExternalProject 实践 留下的坑:如何下载第三方依赖。

阅读全文

【CMake 系列】(八)交叉编译

今天来说说,CMake 中稍许有些难度的部分:交叉编译。

虽说交叉编译有些难度,但是相对于其它的工具,CMake 的交叉编译支持还是很强大的,用一个 CMAKE_TOOLCHAIN_FILE 文件参数来制定交叉编译工具链就能解决大部分问题了。

阅读全文

【CMake 系列】(七)常用变量、函数以及模块

用了 CMake 较长一段时间后,在笔记本里面记录了不少知识,这些知识其实应该放在这个系列文章的开始来讲,因为算是很入门的部分,这里就简单总结下。

配置期间

生成配置文件

1
2
configure_file("${PROJECT_SOURCE_DIR}/include/config.h.in"
"${PROJECT_BINARY_DIR}/include/config.h")

阅读全文

【CMake 系列】(六)用 Doxygen、Sphinx 与 Breathe 创建文档

今天,来说说 CMake 中另外一个可能比较枯燥的环节:文档。

前言

说起文档,就不得不提文档的维护了,如果纯手写,难免会遇到代码与文档不一致的情况,理想的状态下,最好全部由解析代码后生成,再加上开发人员少量写的说明性文档即可。

阅读全文

穷查理宝典:富有与智慧并存的老头子查理·芒格

这周暂时不写 CMake 的内容,换换口味,说说一本非常值得推荐的书《穷查理宝典:查理 · 芒格智慧箴言录》。

简介

作者是彼得 · 考夫曼,翻译者李继宏。

阅读全文

【CMake 系列】(五)安装、打包与导出

前言

今天这篇,可以算是接着上次的 第三方依赖管理,因为今天说的是怎样成为第三方依赖。

阅读全文

【CMake 系列】(四)用 GoogleTest 测试

今天我们来说说,CMake 测试。

不过,其实我们还是在说 C++ 的测试。

CMake 给我们提供了完善的测试支持,比如它有一个专门的模块 CTest。

阅读全文

【CMake 系列】(三)ExternalProject 实践

上次 说了第三方依赖管理,提到了我们团队在使用 ExternalProject 来管理依赖,这次来说说具体实践,以及一个基于 CMake 的开源依赖管理工具 vcpkg

阅读全文

【CMake 系列】(二)第三方依赖管理

接着上次的【CMake 系列】(一)入门 继续讲。

阅读全文

【CMake系列】(一)入门

自从上次在为何 C++ 静态链接库顺序很重要捡回了 C++,自此开始了不归路。

阅读全文