开发工具使用之 Gdb 开发工具使用之 Gdb
常用的 gdb 指令bt # 查看的堆栈 f 1/2/3/4 # 查看具体第几个帧栈 p 变量名字 # 查看具体某个变量 print/x 变量名字 # 打印变量的数据,以十六进制的形式打印(默认的是 8 进制) thread app
2025-02-12
UDS 协议详解 UDS 协议详解
基本概念对于 UDS 协议,没法剥离出一个完全原子的概念出来理解,很多概念之间是相互穿插着的。 所以私以为一种比较好的理解思路便是,一股脑的介绍完所有的概念, 然后再通过一个简单的服务请求,或是 DTC 的报告,将这些概念逐个逐个的进行穿插
2024-07-21
开发工具使用之 Catch2 开发工具使用之 Catch2
介绍目前使用的测试框架,好处就是只有头文件,方便无论是新人还是老人进行开发(gtest 需要编译成 静态库,使用上有点难度) CHECK 和 REQUIRECHECK 和 REQUIRE 用于检测当前括号中的表达式是否为真,常用于校验函数的
2024-05-04
开发工具使用之 Git 开发工具使用之 Git
Git 常用指令add# 将某个文件的修改提交到暂存区 git add filename # 将所有发生过修改的,以及新增的文件都添加到暂存区中 git add . branch# 创建分支 git branch branch_n
2024-05-04
一些 cpp 的编码规范 一些 cpp 的编码规范
什么时候使用前置声明为了防止循环引用的情况发生 避免头文件的使用者引入过多的无用的头文件(希望屏蔽底层的实现细节) 是否需要有 assertassert 只在 debug 的模式下才会生效,而 debug 模式并不会是生产模式下
2024-03-17
开发工具使用之 Cmake 开发工具使用之 Cmake
0、通用的 CMakeLists 模板目前在 linux 下使用的 cmake 版本为 3.16,而在 windows 下使用的版本为 3.20 # 指定 cmake 所需的最小版本 cmake_minimum_required(VERSI
2023-11-21
CMU 15-445 08-Index Concurrency CMU 15-445 08-Index Concurrency
Observation前面的操作中,都假设只有一个线程去操作数据结构,但实际操作中是有多个线程同时操作数据库的 因此需要研究多线程如何安全的执行查询 并且在实现线程安全的同时,也要注意如何优化磁盘IO 存在一些只支持单线程的数据库(比如
2023-02-12
CMU 15-445 14-Query Planning Optimization Part II CMU 15-445 14-Query Planning Optimization Part II
Backround上节课说的是基于规则的优化器,而本节课要说的就是基于代价模型的优化器 基于代价模型,估计每个计划的好坏 然后从众多执行计划中,选取一个性价比最高的执行计划 Cost model components代价估算的三
2023-01-19
CMU 15-445 13-Query Planning Optimization Part I CMU 15-445 13-Query Planning Optimization Part I
Query optimization为什么会有优化器的存在? SQL是声明式的,它只说明了需要的数据(答案)是什么,但没有说明要以什么方式去获取数据 因此DBMS可以对语句进行优化,从而以最小的成本获取相同的数据 因此有了众多SQL优
2023-01-19
CMU 15-445 12-Query Execution Part II CMU 15-445 12-Query Execution Part II
Why care about parallel execution上节课讨论的都是单个SQL语句是如何执行的,但是实际上我们很多时候都是多线程执行SQL语句 为什么要多线程并发执行 从单条语句看,能够提高响应时间(单独运行的情况下需要
2022-12-29
CMU 15-445 11-Query Execution Part I CMU 15-445 11-Query Execution Part I
Processing model执行模型有哪些,执行计划是如何运作的 DBMS的执行模型规定了系统是如何执行查询计划的 根据不同的工作负载(TP or AP),在执行计划上有不同的权衡 Approach 1 iterator mod
2022-12-29
CMU 15-445 10-Join Algorithms CMU 15-445 10-Join Algorithms
Why do we need to join因为数据在关系型数据库中的存储,是按照数据模型间的连接关系分开的 所以,如果想要获取一连串相关联的数据,就需要用join连表查询 本节主要研究的是内连接,用相等谓词连接的算法 在进行join的时候
2022-12-26
1 / 4