摘要:
title: C++20中的字符串格式化方式format tags: - C/C++ categories: - [日积跬步] abbrlink: 3588259472 date: 2024-03-18 21:56:42 使用format格式化字符串 在初学C时大多数人写下的第一行代码应该都是hel 阅读全文
摘要:
title: clang-format代码格式化 tags: - clang-format categories: - - 日积跬步 - [wtlog日志库开发笔记] abbrlink: 3480185746 date: 2024-12-18 20:39:59 # https://clang.llv 阅读全文
摘要:
注释 单行注释使用#,多行注释使用[=[开始,使用]=]结束,其中等号可以是任意数量的,但是开始和结束的等号数量必须一致。 指令 执行指令是CMake列表文件的基本功能,提供它的名称,后面跟着小括号,在小括号中可以包含一个以空格为分隔的参数列表,例如message("hello" world)。 指 阅读全文
摘要:
构建项目时难免需要一些跟平台或环境相关的依赖文件或代码,这时候就需要在构建项目时能够识别出不同的环境。 检查操作系统 cmake_minimum_required(VERSION 3.20) project(cmake2 LANGUAGES CXX) if(CMAKE_SYSTEM_NAME STR 阅读全文
摘要:
测试 CMake在命令行中使用ctest [<opetions>]命令执行测试,需要在构建完CMake项目后,在构建树中执行CTest。不过这种方式需要执行很多命令在多个工作目录间进行切换,为了简化流程,可以通过添加选项在构建时直接执行测试。 ctest --build-and-test <path 阅读全文
摘要:
单例类的定义和使用 class Singleton { public: static shared_ptr<Singleton>& instancePtr() { static std::shared_ptr<Singleton> instance(new Singleton); return in 阅读全文
摘要:
ps: 书中一些条款已经不太适用于现代C++了,需要参考着看。 C++是一个语言联邦 C++是个多重范型编程语言,同时支持过程形式、面向对象形式、函数形式、泛型形式、元编程形式的语言。所以最好将C++视为一个由相关语言组成的联邦而不是单一语言。 次语言主要有四个: C风格:区块、语句、预处理、内置数 阅读全文
摘要:
future 标准库中提供的future用于接收一个异步执行结果,常和async配合使用,async执行一个异步操作,并将结果封装成一个future对象,外部通过future提供的get方法来获取异步执行的结果。 int main() { cout << "call async\n"; auto s 阅读全文
摘要:
Hello, CMake CMake是一个用于构建C++项目的编译链工具。通过编写CMakeLists.txt文件,完成项目的构建。 一个基本的CMakeLists.txt需要有版本要求,项目名称,和项目目标(可执行文件或库文件)组成。 cmake_minimum_required(VERSION 阅读全文
摘要:
KMP 算法 KMP算法是一种用于快速找出匹配的子字符串位置的算法。通过记录要匹配的字符串各位置前面子字符串最长相同前后缀的信息,达到加速匹配过程的效果。 前缀字符串是指从前向当前字符串位置数的字符串;后缀字符串是指从后向当前字符串数的字符串。这里是不包含自身位置的。例如字符串"aaabaa",其相 阅读全文
摘要:
PostgreSQL表中的系统字段 pgsql在创建表时,除了用户定义的字段外,还会有一些由系统自动创建的隐藏字段,这些隐藏字段无法通过“\d”命令展示出来。 因为表中已经有了这些隐含的字段,用户在创建表时,必须避免自定义的字段名称和这些隐含字段重复,这与字段名是否是关键字没有关系,即便使用双引号括 阅读全文
摘要:
pg_stat_activity pg_stat_activity系统表记录了当前数据库活跃的连接信息,可以使用户清楚当前数据库系统正在做什么,包括使用的数据库和当前哪些用户是在连接和使用中。 例如通过查看pid,query_start,state_change,state,query几列,可以获取 阅读全文
摘要:
postgresql安装 包管理器安装 如果使用官方的包管理器安装,默认情况下pgsql会被按照到/usr/local下,其配置文件可以在/etc下对应的文件夹中找到,其他文件一般可以在/var下的对应位置找到。 并且会创建一个名为postgres的数据库超级用户用于管理数据库,和一个同名的仓库。登 阅读全文
摘要:
explain命令 在sql语句前加上explain关键字来显式SQL命令的执行计划。 pgsql中的explain语法格式如下: EXPLAIN [(option[, ...])] statement; 其中option有以下几个可选项: ANALYZE [boolean] VERBOSE [bo 阅读全文
摘要:
优化器行为 通过一个例子展示优化器是如何工作的。现在有三张表: CREATE TABLE t1(aid int, ...); --1亿行 CREATE TABLE t2(bid int, ...); --2亿行 CREATE TABLE t3(cid int, ...); --3亿行 每张表对id字 阅读全文
摘要:
raft 算法 raft是一种分布式一致性算法,公司项目中使用到了,个人不是很了解,记录一下学习到的相关知识。 分布式一致性算法要解决的问题 多台服务器组成的一个集群,统一对外部提供服务,由于是多个服务器,那么服务器之间肯定要保证提供出去的数据都是一致的,不能从A服务器读出来的数据是一种,从B服务器 阅读全文
摘要:
数据库操作 redis默认有16个数据库,编号0~15,默认访问0号数据库。 操作 说明 select 数据库编号 选择指定数据库 dbsize 获取当前数据库键值对数量 flushdb 清空当前数据库 flushall 清空所有数据库 save 将数据保存到磁盘 bgsave 将数据异步保存至磁盘 阅读全文
摘要:
RPC 远程过程调用 RPC(Remote Process Call),远程过程调用,常用作服务内部的通讯,让构建分布式计算更容易,在提供强大的远程调用能力时又不失本地调用的语义简洁性。为此,RPC框架需要提供一种透明调用机制,让使用者不必显式地区分本地调用和远程调用。 RPC初步 RPC是在上世纪 阅读全文
摘要:
什么是shared_from_this ? 从msvc上摘下来的memory中关于shared_from_this类的实现。还是比较好理解这个类在做什么的,内部有一个智能指针私有成员,不过是weak_ptr类型的,公有方法中提供了shared_from_this函数,如果调用这个函数,就会将weak 阅读全文
摘要:
sql查询语句中主要包括select、where、order by、join、union、group by、having、limit等关键词。 语法顺序 sql查询书写顺序如下所示: select <字段名> from <表名> join <表名> on <连接条件> where <筛选条件> gr 阅读全文