12 2020 档案
摘要:设置账户 生成ssh密钥: ssh-keygen -t rsa -C "1172618668@qq.com" 将生成的~/.ssh/id_rsa.pub文件中的内容拷贝到github用户设置中SSH公钥设置中: 在本地设置使用哪个github账户: git config --global user.
阅读全文
摘要:目录结构 . |-- cmake | |-- CompilerSettings.cmake | |-- Options.cmake | |-- ProjectBoost.cmake | `-- UseOpenSSL.cmake |-- CMakeLists.txt |-- hello-cpp | |
阅读全文
摘要:启动gdb 可以通过gdb -q命令启动gdb(-q会忽略启动时的提示信息)。 可以在gdb中查看当前的工作目录: (gdb) pwd gdb中也可以自由切换工作目录: (gdb) cd workspace/cpp-study/hello-cpp/ 加载要调试的可执行文件: (gdb) file b
阅读全文
摘要:红黑树性质 红黑树是一棵二叉搜索树,它在每个结点上增加了一个存储位用来表示结点颜色,可以是Red或者Black。通过对任意一条从根到叶子的简单路径上各个结点颜色的约束,红黑树可以确保没有一条路径会比其它路径长出2倍,因而是近似于平衡的。 红黑树满足下面的性质: 每个结点要么是红色的,要么是黑色的。
阅读全文
摘要:docker简介 Docker 是 一个打包、 分发和运行应用程序的平台。 正如我们所说, 它允许将你 的应用程序和应用程序所依赖的整个环境打包在一起。 这既可以是一些应用程序需 要的库, 也可以是一个被安装的操作系统所有可用的文件。 如果多个进程运行在同一个操作系统上,那容器到底是怎样隔离它们的?
阅读全文
摘要:mysql 容器方式启动 mysql 容器方式启动 拉取mysql镜像 docker pull mysql:5.7.32 启动mysql容器 docker run \ --name mysql \ --user 1000:1000 \ -p 3308:3306 \ -v /etc/localtime
阅读全文
摘要:内存对齐 许多计算机系统对基本类型的合法地址做出了限制,要求某种类型的对象的地址必须是K(通常是2,4,8)的倍数。这被称为内存对齐。 为什么要有内存对齐? 提升内存读写性能,比如对于double对象,如果按8字节对齐,那么64位机器一次行就可以完成读写。 硬件强制要求,一般系统不进行内存对齐也可以
阅读全文
摘要:拷贝还是移动 之前在网上看到说在C++11中,STL容器是支持移动语义的,STL容器有些操作需要保证强异常安全会要求要么用拷贝操作要么用无异常的移动操作。这里找了一下相关的源码如下,发现确实是这样的: template<typename _InputIterator, typename _Forwa
阅读全文
摘要:channel 创建channel close channel channel复用 channel 创建channel 可以通过make函数来创建channel,channel是引用类型,空值为nil。 ch := make(chan int) close channel 使用close函数关闭ch
阅读全文
摘要:求二进制整型中1的个数 n & (n - 1) 会使n的二进制中最后一位1变成0,利用这一点计数,直到把n所有的1都变为0。 int numOfOnes(int n) { int cnt = 0; while (n) { cnt++; n &= n - 1; } return cnt; } 判断一个
阅读全文
摘要:X.509 X.509是证书格式标准,定义了公钥证书结构的基本标准。证书组成结构标准用ASN.1(一种标准的语言)来进行描述. X.509 v3数字证书结构如下: 证书 - ... - 公钥算法 - 主题公钥 - 此日期前无效 - 此日期后无效 - 版本号 - 序列号 - 签名算法 - 颁发者 -
阅读全文
摘要:接口 interface 接口比较 类型断言 空接口 interface{} 参考资料 接口 interface go语言使用interface来实现多态,并且是非侵入的,不需要具体的类型来继承接口,只需要具体的类型提供指定的方法就可以了。 接口中不存在成员变量,也不存在方法实现,所以可以解决多继承
阅读全文