[C++]CLion集成vcpkg一键完成包管理——以使用imgui为例 作者 发布于 2023-06-22 包括在 开发环境配置下载并集成vcpkg 首先,请确保 CLion 版本高于 2023.1。 按两下 shift 搜索 vcpkg ,并点击可进入 CLion 对 vcpkg 的支持模块。 如下图: CLion对vcpkg的操作模
使用Rabin-Karp算法替代KMP 作者 发布于 2023-06-04 包括在 算法——滑动窗口Rabin-Karp算法 Rabin-Karp算法是利用滑动窗口的方式来计算哈希值,并通过该哈希值直接进行比较来判断字符串是否匹配,也就是消减
使用expected进行错误处理 作者 发布于 2023-06-02 包括在 C++好库推荐使用expected进行错误处理 C++ 中提供了很多中方式进行错误处理。无论是通过抛异常还是通过错误码,标准库都提供相应的调用。 通过 try catch 以抛出异常
MySQL日志:undo、redo、binlog 作者 发布于 2023-05-28 包括在 MySQL日志篇MySQL 日志:undo log、redo log、binlog 有什么用? 我们知道一条查询语句经历的过程,这属于「读」一条记录的过程,如下图: 那么,执行
Redis常见面试题 作者 发布于 2023-05-28 包括在 Redis八股Redis 常见面试题 #认识 Redis #什么是 Redis? 我们直接看 Redis 官方是怎么介绍自己的。 Redis 官方的介绍原版是英文的,我翻译成了中文后截图的,所以有些文字读起
TCP中已有SO_KEEPALIVE选项,为什么还要在应用层加入心跳包机制? 作者 发布于 2023-05-28 包括在 心跳包设计本文解释了 SO_KEEPALIVE 选项,和为什么要在应用层加入心跳包机制,以及心跳包机制如何设计的方方面面。 在实际开发中,我们需要处理下面两种情形中遇到的问题: 情
一、MySQL有哪些锁 作者 发布于 2023-05-28 包括在 MySQL锁篇MySQL 有哪些锁? 在 MySQL 里,根据加锁的范围,可以分为全局锁、表级锁和行锁三类。 #全局锁 全局锁是怎么用的? 要使用全局锁,则要执行这条命令: flusht
一、事务的隔离级别是怎么实现的? 作者 发布于 2023-05-28 包括在 MySQL事务篇事务隔离级别是怎么实现的? 这是我的钱包,共有 100 万元。 今天我心情好,我决定给你的转账 100 万,最后的结果肯定是我的余额变为 0 元,你的余额多了 100 万元
一、初见索引 作者 发布于 2023-05-28 包括在 MySQL索引篇初见索引 面试中,MySQL 索引相关的问题基本都是一系列问题,都是先从索引的基本原理,再到索引的使用场景,比如: 索引底层使用了什么数据结构和算
二、可重复读隔离级别完全解决幻读了吗 作者 发布于 2023-05-28 包括在 MySQL事务篇MySQL 可重复读隔离级别,完全解决幻读了吗? 在上一篇文章中提到,MySQL InnoDB 引擎的默认隔离级别虽然是「可重复读」,但是它很大程度上避免幻读现象(并
布隆过滤器 作者 发布于 2023-05-28 包括在 业务常见数据结构在程序的世界中,布隆过滤器是程序员的一把利器,利用它可以快速地解决项目中一些比较棘手的问题。如网页 URL 去重、垃圾邮件识别、大集合中重复元素的判
[内核源码]epoll实现原理 作者 发布于 2023-05-27 包括在 深入Linux内核文章主要对 tcp 通信进行 epoll 源码走读。 引发我对 epoll 源码感兴趣的原因在于知乎上的一个提问,ET和LT模式在源码中到底怎么实现的 Linux 源码:Linux 5.7 版本
Linux进程、线程文件、描述符的底层原理 作者 发布于 2023-05-27 包括在 深入Linux内核说到进程,恐怕面试中最常见的问题就是线程和进程的关系了,那么先说一下答案:在 Linux 系统中,进程和线程几乎没有区别。 Linux 中的进程就是一个数据结构,看
一、执行一条select语句,期间发生了什么 作者 发布于 2023-05-27 包括在 MySQL基础篇执行一条 select 语句,期间发生了什么? 学习 SQL 的时候,大家肯定第一个先学到的就是 select 查询语句了,比如下面这句查询语句: //在product表中,查询i
一、进程、线程基础知识 作者 发布于 2023-05-27 包括在 进程管理进程、线程基础知识 先来看看一则小故事 我们写好的一行行代码,为了让其工作起来,我们还得把它送进城(进程)里,那既然进了城里,那肯定不能胡作非为
三、进程间通信方式 作者 发布于 2023-05-27 包括在 进程管理进程间有哪些通信方式? 直接开讲! 每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但内核空间是每个进程都共享的,所以进程之间要通信