digest of 3.4
- rvalue references summary (50%) impl of std::forward, std::move 0.1.1 acquire & release semantics https://en.cppreference.com/w/cpp/atomic/memory_order https://www.modernescpp.com/index.php/acquire-release-semantic
digest of 3.4
db笔记 - sse
we would set env var
USE_SSE=1
when compiling Rocksdb, OTHERWISE it would always failed at linking stage where encountering errors of lack of some instructions such as:no such instruction:
shlx %rdx,%rax,%rax'`. but what the fuck is USE_SSE ?
算法笔记:跳表(r2)
skiplist
上一篇笔记里回顾了跳表的性质和思想,并且看了一眼rocksdb里的skiplist实现。
然后由于好奇,我自己写了一个skiplist,这里记录下。
该skiplist的特性:
rocksdb探究 - 一些问题
一些rocksdb相关问题记录
c++服务端rpc笔记:读muduo有感
rpc框架
最近比较详细地缕了一遍公司内部另一个团队的存储产品(基于apache thrift),后简称为A。到目前为止,本团队存储产品自研的rpc框架,加上自己写过一个简单rpc框架用于rdb实例分裂,已经接触了3个rpc框架。准备在这篇文章总结下一些个人感想。
A的服务端:使用thrift-rpc的nonblock-server,连接处理模型是同步的: a. io线程在收到一个包后,会先把自己设为idle(具体点就是摘掉本线程上的可读写事件),扔给worker线程处理完成后再加回来。
A的cli端的处理是同步的:
c++服务端rpc笔记:读muduo有感
rpc框架
最近比较详细地缕了一遍公司内部另一个团队的存储产品(基于apache thrift),后简称为A。到目前为止,本团队存储产品自研的rpc框架,加上自己写过一个简单rpc框架用于rdb实例分裂,已经接触了3个rpc框架。准备在这篇文章总结下一些个人感想。
A的服务端:使用thrift-rpc的nonblock-server,连接处理模型是同步的: a. io线程在收到一个包后,会先把自己设为idle(具体点就是摘掉本线程上的可读写事件),扔给worker线程处理完成后再加回来。
A的cli端的处理是同步的:
智能指针1: shared_ptr使用梳理
智能指针
本文提及并讨论了:
shared_ptr
引入背景std::ref
算法笔记: 最长回文子串
DP
这是读书时一篇旧文搬运.几年后再次回顾下算法.
给定一个串,求它的最长回文子串。
DP的关键是梳理出问题与子问题的关系。
算法笔记:计算1到n中2出现的个数
枚举
这是读书时一篇旧文搬运.几年后再次回顾下算法.
给定一个数字n,求1到n序列中2出现的总次数。n最大值可能是10^9。
Todo list