Sutdown Blog

「行至朝雾里,坠入暮云间」

HTTP详解

HTTP基础 URL标准格式 方案/协议(TCP/IP传输协议) + 因特网地址(IP地址 / 数组形式的IP地址) + 资源路径 HTTP方法 GET从服务器获取一份文档 PUT将请求的主体存储到服务器上 DELETE从服务器中删除命名资源 POST向服务器发送需要处理的数据 HEAD只发送资源相应中的HTTP头部 1.put和post的区别(命名资源和网关应用程序...

2024.9-2024.12阶段性总结

2024.9-2024.12阶段性总结 先讲讲时间线吧,倒叙。 2024.12.3 - 2024.12.25 找实习。背景:cpp选手,本2有9的联合培养经历。 百度测开12.19一面,12.23二面,12.24主管面,已有口头offer 北京慧测java中间件12.20一面,12.23二面,12.25hr面已拒 赫鲁丝网络游戏...

Docker

Docker (宿主机上的一个进程) docker使用namespace去提供称为容器的工作空间 docker引擎在linux中会使用以下命名空间: pid 进程id,进程隔离 (process id) net 管理网络接口 (networking) ipc 管理进程间通信资源 (interprocess communication) mnt 管理文件系统挂载(mo...

Coroutinelib项目实现

个人github链接: GitHub - Sutdown/coroutinelib: coroutine lib 模块 thread 线程模块,封装了pthread里面的一些常用功能,Thread,Semaphore,Mutex,RWMutex,Spinlock等对象,可以方便开发中对线程日常使用 为什么不适用c++11里面的thread 本框架是使用C++1...

协程库项目实现2

协程库项目实现2 - thread,协程类 thread 主要有两个类,Semaphore和Thread Semaphore 信号量,实现PV操作,主要用于线程同步 Thread 系统自动创建主线程t_thread 由thread类创建的线程。 m_thread 通常是线程类内部的成员变量,用来存储底层的线程标识符 t_th...

后端四种层式结构

B+ tree mysql,能够很好的组织磁盘数据。一般用B+树存储索引数据。结点映射相邻的磁盘页 (从磁盘中读取数据的时候,需要经过内核,系统调用,读取一个字节时会返回一页的数据) B+树和红黑树的区别 红黑树 平衡二叉搜索树 平衡规则在于从根节点到叶子结点所拥有的黑色结点数相同 查找时间复杂度O(logn) B+/B树 多路平衡搜索树 ...

协程库项目实现1

协程库项目实现1 github项目链接:GitHub - Sutdown/coroutinelib: coroutine lib 前言(碎碎念一下) 之前学着写了下lsm tree,学到的东西远比想象的要多,从九月份开始到现在,大概两三个月时间,和六级备考,一些课程期末作业并行,日均大概在10+h。两个月前写了个想法自嘲是虚假的科班选手,也没做,起码大学的前两年实在没走在学习cpp的正...

Debug-死锁和TLS连接

共享锁和独占锁的互斥 terminate called after throwing an instance of ‘std::system_error’ what(): Resource deadlock avoided Aborted (core dumped)(死锁导致中止) 解决: gdb定位 idle中发生死锁 IOManager::idle(),run in t...

协程详解

协程详解 前言 最近在学协程库,因为计划是12月底之前,时间有限想着直接从代码起步,果然这样子还是不好的,这几天很多东西处于一种似懂非懂的状态,很难受。所以决定写篇文章重新捋一下,之前也写过一点点,但是太浅了。 主要参考有没有C++大佬把C++20的协程讲解下? - 知乎这个问题中南山烟雨珠江潮 - 知乎的回答,以及代码随想录的协程库源码。 正文 进程线程协程 进程,线程,...

详谈leveldb中的sstable

惊讶的发现我之前看leveldb的时候没怎么仔细看这一部分),估计是看到后面懒了,现在补补。 先讲讲sstable在·leveldb·中的位置 (sstable全名Sorted String Table) 在leveldb中,当将memory db的数据持久化文件中时,leveldb会以一定的规则进行文件组织,文件格式变为sstable。 查询时,一般会通过footer先在meta ...