C++ 命令行解析包 gflags 使用详解

gflags 是 Google 提供的一个命令行参数处理的开源库,目前已经独立开源,比传统的 getopt() 功能更加强大,可以将不同的参数定义分布到各个源码文件中,不需要集中管理。

提供了 C++ 和 Python 两个版本,这里仅详细介绍 C++ 版本的使用方式。

详细介绍 C++ 的强制转换方法

在 C 中提供了强制类型转换,不过其实现很简单,而且没有区分具体的使用场景,所以,在编译或者运行阶段可能会出现一些异常,尤其是一旦不注意极易发生异常。

为此,C++ 对于不同的场景进行了划分,由于 C++ 支持面向对象编程,也因此对这一场景进行了优化。

本文详细介绍其使用场景。

终端音乐播放器 CMUS 详细介绍

CMUS 是一个可以在终端上使用的音乐播放器,可以运行在多数类 Unix 的系统上,例如 Linux、Unix、Mac 等,而且支持绝大多数格式的音乐文件。

不过目前已经不再维护了,这里详细介绍其使用方法。

详细介绍 glibc 特性宏的使用

GNU C Library 也就是 glibc 库,是目前 Linux 上最为基本的 C 语言库,不过其实现的不只是标准的 C 定义,还包括了其它的一些标准协议,不同场景下用户可以使用不同的接口。

这些特性的开启都是通过宏来实现的,这里详细介绍其使用方式。

Linux PAM 认证机制使用详解

Linux 通常会通过 login 进程完成登陆,最开始时只是简单的提示用户输入用户名和密码,然后校验用户是否存在、密码是否正确,如果都正常,那么就会直接完成登陆,进入到 Shell 程序运行。

PAM 提供了独立于具体程序配置机制,可以更加灵活的鉴权方案,这里详细介绍其使用方式。

使用 C API 执行 Linux 用户相关操作

通过 glibc 提供的 API 可以获取用户信息、切换用户等操作,在使用的时候有很多注意事项,例如可能会遇到即使用户存在仍读取失败,密码的密文是如何生成的等等。

这里会进行简单介绍一些常见的问题以及如何规避。

C++ Mock 工具 gmock 使用

所谓的 mock 方法,是单元测试中常见的一种测试方式,用来模拟对象、隔离边界等,例如单元测试时模拟三方接口,这样服务可以独立测试;开发阶段不需要依赖其它类的开发进度等等。

在 C++ 中,比较常用的是 Google 的 GMock 工具,可以用来模拟构造接口,并返回 mock 数据。

这里我们从一个简单的示例开始,一步步详细介绍其使用方法,以及一些常用的技巧。

C++ 单测工具 gtest 使用详解

这是 Google 提供的一个跨平台的测试、Mock 框架,很简单几乎没有依赖,但是提供了丰富的断言机制,尤其是提供了大部分其它语言测试框架没有的死亡测试。

这里就详细介绍如何使用这一单元测试工具。

Linux 用户管理的最佳实践

在 Linux 中,权限管理包括了用户、主用户组、从用户组,通过这三者的组织可以方便对权限的管理,尤其是对于文件的权限管理。这里假设一个运维中的使用场景,通过创建一系列的用户以及用户组,然后查看其权限管理的方案。

通过 OpenSSL 制作自签名证书

一般来说,在互联网上使用 HTTPS 时,需要向一些官方的 CA 中心申请证书,不过一般来说比较贵。如果只是公司内部使用,那么就可以自己制作证书,当然也可以模拟 CA 的方式管理证书。

这里详细介绍如何使用 OpenSSL 制作自签名证书,包括了自建 CA 的方式。