博客园 - 后端技术小屋
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=33715
2021-04-16T13:36:22Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
feed.cnblogs.com
https://www.cnblogs.com/taiyang-li/p/14594208.html
clickhouse集群zookeeper平滑搬迁实践 - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 〇、背景 注:为简化表述,本文中将clickhouse简称为ck, 将zookeeper简称为zk。 我司从去年年底开始启动从香港到新加坡机房的迁移。目前Clickhouse集群所有实例都已经搬迁从香港搬迁到了新加坡机房,还剩下其依赖的Zookeeper
2021-03-29T12:51:00Z
2021-03-29T12:51:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 〇、背景 注:为简化表述,本文中将clickhouse简称为ck, 将zookeeper简称为zk。 我司从去年年底开始启动从香港到新加坡机房的迁移。目前Clickhouse集群所有实例都已经搬迁从香港搬迁到了新加坡机房,还剩下其依赖的Zookeeper <a href="https://www.cnblogs.com/taiyang-li/p/14594208.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14563635.html
Boltdb学习笔记之二--数据结构 - 后端技术小屋
在boltdb中,最核心的数据结构当属B+树了。B+树是数据库或文件系统中常见的数据结构,它的特点是能够保证数据稳定有序,因为每个叶子节点的深度都相同,因此其插入和修改操作拥有较稳定的时间复杂度。 那么boltdb中B+树的节点是如何表示的呢?答案是node。node对应page在内存中的数据结构,
2021-03-21T11:04:00Z
2021-03-21T11:04:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】在boltdb中,最核心的数据结构当属B+树了。B+树是数据库或文件系统中常见的数据结构,它的特点是能够保证数据稳定有序,因为每个叶子节点的深度都相同,因此其插入和修改操作拥有较稳定的时间复杂度。 那么boltdb中B+树的节点是如何表示的呢?答案是node。node对应page在内存中的数据结构, <a href="https://www.cnblogs.com/taiyang-li/p/14563635.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14542113.html
C++关键字之likely和unlikely - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 流水线技术 现代CPU为了提高执行指令执行的吞吐量,使用了流水线技术,它将每条指令分解为多步,让不同指令的各步操作重叠,从而实现若干条指令并行处理。在流水线中,一条指令的生命周期可能包括: 取指:将指令从存储器中读取出来,放入指令缓冲区中。 译码:对取出
2021-03-16T02:36:00Z
2021-03-16T02:36:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 流水线技术 现代CPU为了提高执行指令执行的吞吐量,使用了流水线技术,它将每条指令分解为多步,让不同指令的各步操作重叠,从而实现若干条指令并行处理。在流水线中,一条指令的生命周期可能包括: 取指:将指令从存储器中读取出来,放入指令缓冲区中。 译码:对取出 <a href="https://www.cnblogs.com/taiyang-li/p/14542113.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14507643.html
30分钟入门GDB - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 GDB全称GDB Debugger。GDB具备各种调试功能,使用GDB的调试人员可以查看及修改程序的内部变量值。它是Linux C++开发者赖以生存的神器。本篇文章将简要介绍GDB常用功能,希望对于初学者能起到快速入门的作用。 1. 绑定进程 gdb .
2021-03-09T11:40:00Z
2021-03-09T11:40:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 GDB全称GDB Debugger。GDB具备各种调试功能,使用GDB的调试人员可以查看及修改程序的内部变量值。它是Linux C++开发者赖以生存的神器。本篇文章将简要介绍GDB常用功能,希望对于初学者能起到快速入门的作用。 1. 绑定进程 gdb . <a href="https://www.cnblogs.com/taiyang-li/p/14507643.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14502975.html
如何在Bash脚本中引入alias - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 alias的使用 在日常开发中,为了提高运维效率,我们会用alias(命令别名)来定义命令的简称。比如在~/.bash_profile中添加: alias ll='ls -lrt --color' alias bdebug="go build -gcfl
2021-03-08T15:06:00Z
2021-03-08T15:06:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 alias的使用 在日常开发中,为了提高运维效率,我们会用alias(命令别名)来定义命令的简称。比如在~/.bash_profile中添加: alias ll='ls -lrt --color' alias bdebug="go build -gcfl <a href="https://www.cnblogs.com/taiyang-li/p/14502975.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14501699.html
【译】Clickhouse与LDAP集成(一) - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 原文:https://altinity.com/blog/integrating-clickhouse-with-ldap-part-one 作者:Vitaliy Zakaznikov ClickHouse上一般使用XML文件来定义配置,其中包括用户配置
2021-03-08T11:40:00Z
2021-03-08T11:40:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 原文:https://altinity.com/blog/integrating-clickhouse-with-ldap-part-one 作者:Vitaliy Zakaznikov ClickHouse上一般使用XML文件来定义配置,其中包括用户配置 <a href="https://www.cnblogs.com/taiyang-li/p/14501699.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14496957.html
Boltdb学习笔记之〇--概述 - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 看了boltdb也有一阵子了,看完之后总想写点什么,因为感觉到这可能是个不小的坑,所以迟迟没有动笔(没错我的拖延症又犯了..)。最近有一种流行的说法:如果一个东西不能把它讲清楚,便不能说你学会了它。因为看起来会和真的会之间有一个巨大的鸿沟,想跨越这个鸿沟
2021-03-07T14:26:00Z
2021-03-07T14:26:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 看了boltdb也有一阵子了,看完之后总想写点什么,因为感觉到这可能是个不小的坑,所以迟迟没有动笔(没错我的拖延症又犯了..)。最近有一种流行的说法:如果一个东西不能把它讲清楚,便不能说你学会了它。因为看起来会和真的会之间有一个巨大的鸿沟,想跨越这个鸿沟 <a href="https://www.cnblogs.com/taiyang-li/p/14496957.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14494314.html
分享一个有意思的gdb插件 - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 最近在一个技术分享上听说了一个有意思的gdb插件:peta(https://github.com/longld/peda),使用它可方便地对C/C++代码进行逆向工程 peda的输出分为三个框,一个显示寄存器状态,一个显示当前汇编指令,一个显示stack
2021-03-07T05:12:00Z
2021-03-07T05:12:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 最近在一个技术分享上听说了一个有意思的gdb插件:peta(https://github.com/longld/peda),使用它可方便地对C/C++代码进行逆向工程 peda的输出分为三个框,一个显示寄存器状态,一个显示当前汇编指令,一个显示stack <a href="https://www.cnblogs.com/taiyang-li/p/14494314.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14460734.html
一文读懂clickhouse集群监控 - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 一文读懂clickhouse集群监控 常言道,兵马未至,粮草先行,在clickhouse上生产环境之前,我们就得制定好相关的监控方案,包括metric采集、报警策略、图形化报表。有了全面有效的监控,我们就仿佛拥有了千里眼顺风耳,对于线上任何风吹草动都能及
2021-02-28T13:46:00Z
2021-02-28T13:46:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 一文读懂clickhouse集群监控 常言道,兵马未至,粮草先行,在clickhouse上生产环境之前,我们就得制定好相关的监控方案,包括metric采集、报警策略、图形化报表。有了全面有效的监控,我们就仿佛拥有了千里眼顺风耳,对于线上任何风吹草动都能及 <a href="https://www.cnblogs.com/taiyang-li/p/14460734.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14455772.html
《暗时间》读书笔记 - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 如果把大脑比作一个CPU, 我们日常的工作、生活、学习类似CPU处理前台任务,而暗时间就像CPU处理后台任务,虽然看不见也没有产生直接成果,但是如果一个人能充分利用这些时间进行思考、消化平时所读所看,便能使得认识更系统、全面、深入,也能无形之中拥有更多的
2021-02-27T07:04:00Z
2021-02-27T07:04:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 如果把大脑比作一个CPU, 我们日常的工作、生活、学习类似CPU处理前台任务,而暗时间就像CPU处理后台任务,虽然看不见也没有产生直接成果,但是如果一个人能充分利用这些时间进行思考、消化平时所读所看,便能使得认识更系统、全面、深入,也能无形之中拥有更多的 <a href="https://www.cnblogs.com/taiyang-li/p/14455772.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14450381.html
30分钟入门Vim - 后端技术小屋
Vim是从vi发展出来的一个文本编辑器,是Linux后端开发人员必会工具之一,被广大码农戏称为编辑器之神(神之编辑器是Emacs,笔者没用过,看起来段位比Vim更高)。本文简单介绍Vim中不同的模式以及每个模式下的高频命令,希望能够引领初学者快速入门。
2021-02-27T03:54:00Z
2021-02-27T03:54:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】Vim是从vi发展出来的一个文本编辑器,是Linux后端开发人员必会工具之一,被广大码农戏称为编辑器之神(神之编辑器是Emacs,笔者没用过,看起来段位比Vim更高)。本文简单介绍Vim中不同的模式以及每个模式下的高频命令,希望能够引领初学者快速入门。 <a href="https://www.cnblogs.com/taiyang-li/p/14450381.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14450529.html
STL源码分析--functional - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 1 相关头文件 functional functional.h stl_function.h 2 一元函数对象 一元函数对象,是指这类函数对象只接受一个参数并返回一个参数。 unary_function为STL中所有一元函数对象的基类。它定义了一元函数对
2021-02-26T01:10:00Z
2021-02-26T01:10:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 1 相关头文件 functional functional.h stl_function.h 2 一元函数对象 一元函数对象,是指这类函数对象只接受一个参数并返回一个参数。 unary_function为STL中所有一元函数对象的基类。它定义了一元函数对 <a href="https://www.cnblogs.com/taiyang-li/p/14450529.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14450523.html
STL源码分析--algorithm - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 STL中实现了一些跟容器相关的一些算法。这里介绍algorithm头文件中一些有意思的算法实现。 1 相关头文件 stl_algo.h stl_algobase.h stl_numeric.h 2 find algorithm头文件中定义的find函数可
2021-02-26T01:08:00Z
2021-02-26T01:08:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 STL中实现了一些跟容器相关的一些算法。这里介绍algorithm头文件中一些有意思的算法实现。 1 相关头文件 stl_algo.h stl_algobase.h stl_numeric.h 2 find algorithm头文件中定义的find函数可 <a href="https://www.cnblogs.com/taiyang-li/p/14450523.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14450520.html
STL源码分析--bitset - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 1 相关头文件 bitset 2 bitset bitset中STL中用于表示位图的容器,它支持读写特定bit、从整数或字符串生成bitset对象。bitset大小通过模板参数指定,一旦编译器确定便无法变更,这一点与vector<bool>有差异。 2.
2021-02-26T01:07:00Z
2021-02-26T01:07:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 1 相关头文件 bitset 2 bitset bitset中STL中用于表示位图的容器,它支持读写特定bit、从整数或字符串生成bitset对象。bitset大小通过模板参数指定,一旦编译器确定便无法变更,这一点与vector<bool>有差异。 2. <a href="https://www.cnblogs.com/taiyang-li/p/14450520.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14450514.html
STL源码分析--rbtree - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 1 相关头文件 tree.h stl_tree.h map.h stl_map.h set.h stl_set.h 2 红黑树的实现 首先重温下红黑树的定义。同时满足以下条件的二叉树才可称之为红黑树: 所有节点非红即黑 根节点为红色。 所有叶子节点为黑色
2021-02-26T01:06:00Z
2021-02-26T01:06:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 1 相关头文件 tree.h stl_tree.h map.h stl_map.h set.h stl_set.h 2 红黑树的实现 首先重温下红黑树的定义。同时满足以下条件的二叉树才可称之为红黑树: 所有节点非红即黑 根节点为红色。 所有叶子节点为黑色 <a href="https://www.cnblogs.com/taiyang-li/p/14450514.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14450510.html
STL源码分析--traits - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 traits(译作萃取)是C++中一种特殊的编程技法,它是模板元编程最直接的用例之一。通过traits,可以抽取模板入参类型的各种属性。接下来我们通过STL中最常见的几种traits举例说明。 1 __type_traits:trivial判定 __ty
2021-02-26T01:05:00Z
2021-02-26T01:05:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 traits(译作萃取)是C++中一种特殊的编程技法,它是模板元编程最直接的用例之一。通过traits,可以抽取模板入参类型的各种属性。接下来我们通过STL中最常见的几种traits举例说明。 1 __type_traits:trivial判定 __ty <a href="https://www.cnblogs.com/taiyang-li/p/14450510.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14450505.html
STL源码分析--iterator - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 1 相关头文件 iterator iterator.h stl_iterator.h stl_iterator_base.h 2 输入迭代器 2.1 iterator的种类 在STL中,迭代器分为输入迭代器、输出迭代器、前向迭代器、双向迭代器、随机访问迭
2021-02-26T01:04:00Z
2021-02-26T01:04:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 1 相关头文件 iterator iterator.h stl_iterator.h stl_iterator_base.h 2 输入迭代器 2.1 iterator的种类 在STL中,迭代器分为输入迭代器、输出迭代器、前向迭代器、双向迭代器、随机访问迭 <a href="https://www.cnblogs.com/taiyang-li/p/14450505.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14450503.html
STL源码分析--deque - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 1 deque相关头文件 deque deque.h stl_deque.h 2 deque的数据结构 deque为双向队列,同时支持从队首和队尾插入和弹出值。其数据结构分为两部分,如下图所示: 连续缓冲区_M_map, 元素类型为——Tp*。如果元素值
2021-02-26T01:03:00Z
2021-02-26T01:03:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 1 deque相关头文件 deque deque.h stl_deque.h 2 deque的数据结构 deque为双向队列,同时支持从队首和队尾插入和弹出值。其数据结构分为两部分,如下图所示: 连续缓冲区_M_map, 元素类型为——Tp*。如果元素值 <a href="https://www.cnblogs.com/taiyang-li/p/14450503.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14450495.html
STL源码分析--list - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 1 相关文件 list list.h stl_list.h 2 链表节点结构 基类_List_node_base只有_M_prev, _M_prev,分别指向前置节点和后继节点,由此看出STL list是双向链表(首节点为空) struct _List_
2021-02-26T01:02:00Z
2021-02-26T01:02:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 1 相关文件 list list.h stl_list.h 2 链表节点结构 基类_List_node_base只有_M_prev, _M_prev,分别指向前置节点和后继节点,由此看出STL list是双向链表(首节点为空) struct _List_ <a href="https://www.cnblogs.com/taiyang-li/p/14450495.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/taiyang-li/p/14450482.html
STL源码分析--string - 后端技术小屋
更多精彩内容,请关注微信公众号:后端技术小屋 1 string的数据结构 从定义可知, string其实是base_string的特化类,string使用默认的内存分配器__STL_DEFAULT_ALLOCATOR(_CharT)。 template <class _CharT, class _T
2021-02-26T01:00:00Z
2021-02-26T01:00:00Z
后端技术小屋
https://www.cnblogs.com/taiyang-li/
【摘要】更多精彩内容,请关注微信公众号:后端技术小屋 1 string的数据结构 从定义可知, string其实是base_string的特化类,string使用默认的内存分配器__STL_DEFAULT_ALLOCATOR(_CharT)。 template <class _CharT, class _T <a href="https://www.cnblogs.com/taiyang-li/p/14450482.html" target="_blank">阅读全文</a>