ARTS第二十周(2020年2月3日~9日)
Algorithm
Review
1. 如何写git commit的注释信息
文章链接:How to Write a Git Commit Message
从技术上说,git commit允许任意写注释信息,但为了便于后续浏览和查询,最好能够遵循一定的惯例。这篇文章给出了几条建议及其原因:
- 标题和正文之间空一行(Separate subject from body with a blank line)
- 标题不应超过50字符(Limit the subject line to 50 characters)
- 标题首字母大写(Capitalize the subject line)
- 标题末尾不带句号(Do not end the subject line with a period)
- 标题使用祈使句型(Use the imperative mood in the subject line)
- 正文做手工折行使每行不超过72字符(Wrap the body at 72 characters)
- 正文解释详细的原因及方法(Use the body to explain what and why vs. how)
Tip
1. 在Linux下扩容存储
文章链接:Linux extend file system after resize disk volume
存储硬件设备扩大容量,经常发生在磁盘阵列、虚拟机、云端设备上。由于业务的需要,这些设备扩容往往能够在线完成。当硬件扩容后,在Linux系统中,需要运行相应的命令,让操作系统能够正确匹配扩容后的新容量。这篇文章给出了相应的操作步骤及命令,主要包括:
|
|
2. Bash中的变量扩展
参考链接:bash的man信息(“Expansion”部分)
示例代码:
|
|
3. Linux下查看无线网卡信息
参考链接:8 Linux Commands: To Find Out Wireless Network Speed, Signal Strength And Other Information
包括如下命令:
|
|
Share
1. C++中的json类型实现
分享链接:
这是一个封装比较完美的C++类库,基于C++11(或更高版本标准)支持,只需要对头文件进行#include
,即可非常便利地使用json类型。该封装类型可以如同原生内置类型(first class data type)一样使用,如:
|
|
若编译器支持C++17新标准,该类库甚至支持如下的使用字符串后缀的初始化:
|
|
2. C++中的编译期正则表达式解析
分享项目:https://github.com/hanickadot/compile-time-regular-expressions
这是一个基于C++新标准实现的编译器做正则表达式解析的类库。其运算速度甚至能够明显优于各种被广泛使用的正则表达式库,很值得学习。
其C++17语法如下:
|
|
其C++20语法如下:
|
|
正则表达式的初始化,不再消耗运行时,而是在编译过程中直接完成,同时也完成相应的正则语法判断。