本文是《C Primer Plus》第十五章至第十七章读书笔记,持续更新中。 ch15. 位操作 位操作运算符 不同进制的数据表示法 一般系统是使用8bit作为一个字节。C语言中定义的是char类型的位长作为一个字节的长度。C语言中可以通过宏CHAR_BIT获取char类型的位长 八进制 - 一个八进制位对应3个二进制位。例如八进制0377对应二进制000 011 111 111 十六进制 - 一个十六进制位对应4个二进制位。因此两个十六进制位恰好对应一个8位字节。例如:0xC2相当于二进制1100 0010 按位逻辑运算符号 二进制反码或按位取反 ~:按二进制位,把1变成0,把0变成1 按位与&:按二进制位,当运算位都是1 …
阅读更多ch06. C控制语句:循环 编写一个程序,提示用户输入大写字母。使用嵌套循环以下面金字塔型的格式打印字母: 1 A 2 ABA 3 ABCBA 4 ABCDCBA 5ABCDEDCBA 提示:用外层循环处理行,每行使用3个内层循环,分别处理空格、以升序打印字母、以降序打印字母。 思考:外层循环处理行容易实现,但是使用3个内层循环控制空格、升序字母和降序空格字母似乎有点多。这里可以结合条件判断,是的内层只需要一个循环搞定空格、升降序字母的打印。这里有几点比较关键 每行有多少个空格 每个一共要打印的字符是多少个,是包括每行的空格加上字符 每行都是对称的,要找到每行对称中心的字符 每行的空格数、字符数和对称中心的字符都是不一样的,这个要 …
阅读更多内容来自唐建法(TJ)老师的MongoDB 高手课 (geekbang.org) 单机版三节点副本集搭建 在一台Ubuntu机器上,通过配置文件的方式启动三个mongod实例。各个参数的说明请参考Configuration File Options — MongoDB Manual。示例配置文件和说明如下: 1systemLog: 2 destination: file 3 path: /data/dbx/mongod.log # x替换成1,2,3对应三个不同的mongod实例 4 logAppend: true 5storage: 6 dbPath: /data/dbx # x替换成1,2,3对应三个不同的mongod …
阅读更多安装mongodb 我使用的是macOS bigsur,因此这里记录的是在mac下安装mongodb社区版。在mac下最便捷的安装方式就是使用brew来安装,使用以下命令: 添加官方tap 1brew tap mongodb/brew 安装mongo全家桶,包括社区版服务端,Shell和数据库相关工具 1brew install mongodb-community 安装完成后,对应的二进制文件和配置文件的位置如下:(Intel处理器) 文件 位置 二进制可执行文件 /usr/local/Cellar/mongodb-community/5.0.1/bin 配置文件 /usr/local/etc/mongod.conf …
阅读更多Mongo Aggregation Framework聚合框架是一个计算框架,由管道(pipeline)和步骤(stage)组成,如下图所示: 原始的文档作为原始的输入数据 每个步骤对输入数据进行处理,处理的结果作为下一个处理步骤的输入 最终的结果也就是管道处理的结果,是由多个步骤处理完成 定义 聚合框架命令如下: 1pipeline = [$stage1, $stage2, ...$stageN]; 2 3db.<COLLECTION>.aggregate(pipeline, options); 具体的每个步骤支持的操作非常丰富,需要查阅相应的文档。支持的步骤列表详见:Aggregation Pipeline …
阅读更多单个文档插入操作 定义 db.collection.insertOne() 语法: 1db.collection.insertOne( 2 <document>, 3 { 4 writeConcern: <document> 5 } 6) 参数: 参数 类型 说明 document 文档 待插入集合的文档 writeConcern 文档 可选。用于指定mongod对写操作的响应 返回值: 包含下列元素的文档: acknowledged - 如果指定了writeConcern,值为 true ;如果writeConcern是disable的,值为false insertedId - 主键,也就是_id …
阅读更多删除文档 定义 删除单个文档:db.collection.deleteOne() 删除多个文档:db.collection.deleteMany() 语法: 1db.collection.deleteOne( 2 <filter>, 3 { 4 writeConcern: <document>, 5 collation: <document>, 6 hint: <document|string> // Available starting in MongoDB 4.4 7 } 8) 9 10db.collection.deleteMany( 11 <filter>, 12 …
阅读更多Regular Expressions Cheat Sheet 符号 解释 示例 示例说明 . 匹配任意字符 b.t 可以匹配bat/but/b#t/b1t等 \w 匹配字母,数字和下划线 b\wt 可以匹配but/b1t/b_1,但不能匹配b#t \s 匹配空白字符,包括\r,\n,\t love\syou 匹配love you \d 匹配数字 \d\d 可以匹配01,23等 \b 限定字符串边界 \bThe\b 匹配The这个单词,不能匹配There。也就是The的前面和后面只能是空格 ^ 根据字符串的开头部分匹配 ^The 匹配以The开头的字符串 $ 根据字符串的结束部分匹配 .exe$ 匹配以.exe结尾的字符串 \W 匹 …
阅读更多