HappenLee

LV1
发表了文章

ClickHouse源码笔记2:聚合流程的实现

这是一个很重要的类,实现的也并不复杂。Block类作为ClickHouse的核心,后续的工作都是基于Block类展开的。

HappenLee
发表了文章

ClickHouse源码笔记2:聚合流程的实现

前文我们**聊到ClickHouse是一个列式存储数据库,在内存之中用IColumn接口来作为数据结构表示数据。** **而Block则是这些列的集合,也就是说...

HappenLee
发表了文章

C++雾中风景14:CRTP, 模板的黑魔法

C++11 引入了一个典型的CRTP的类:std::enable_shared_from_this 当我们有类需要被智能指针share_ptr管理,且需要通过...

HappenLee
发表了文章

C++雾中风景14:CRTP, 模板的黑魔法

它通过继承和模板的联合应用,实现了一种"看似"继承自己的语法。这种编程的技法,无论是在STL还是Boost之中都被大量使用。像它的名字一样,看起来很Curiou...

HappenLee
订阅了专栏

数据库架构之美

40 文章15 关注者
关注了用户

腾讯云数据库 TencentDB

腾讯云 · 产品团队 (已认证)

腾讯云数据库(TencentDB)。

340 文章1 回答271 关注者
发表了文章

ClickHouse源码笔记1:聚合函数的实现

聚合函数: 顾名思义就是对一组数据执行聚合计算并返回结果的函数。 这类函数在数据库之中很常见,如:count, max, min, sum等等。

HappenLee
发表了文章

C++雾中风景番外篇4:GCC升级二三事

这个我感觉是历史的遗留问题了,从C++11开始就不支持字符串字面量后面直接连接变量名,GCC 4.8.2应该是没有支持该编译检查,所以后续升级8.2的时候报了类...

HappenLee
IDE打包gccC++编程算法
订阅了专栏

腾讯云自媒体分享计划

3 文章3.2K 关注者
关注了用户

腾讯云自媒体分享计划

腾讯 · 产品运营 (已认证)

申请条件:至少有 20 篇或以上符合投稿要求可迁入腾讯云专栏的原创技术文章。

3 文章0 回答3.2K 关注者
发表了文章

C++雾中风景13:volatile解惑

volatile这个单词在英文之中的意思是:易变的,不稳定的的含义。所以顾名思义,一旦变量通过了volatile关键词修饰之后,说明变量是易变的和不稳定的。而C...

HappenLee
JavaC++汇编语言编程算法JDK
发表了文章

Linux 程序设计1:深入浅出 Linux 共享内存

说到共享内存,有过操作系统学习的童靴应该十分熟悉,往往聊到进程之间通信的4种方式时就能脱口而出(面试最常见的问题之一啊,哈哈哈~~):

HappenLee
Linux
发表了文章

AeroSpike踩坑手记1:Architecture of a Real Time Operational DBMS论文导读

从论文的题目出发,这篇文章的核心在于实时操作数据库的架构,在论文引言之中对Aerospike的定位是一个高性能分布式数据库,用于处理实时的交互式在线服务。所以说...

HappenLee
发表了文章

C++雾中风景番外篇3:GDB与Valgrind ,调试代码内存的工具

CoreDump时一个二进制的文件,进程发生错误崩溃时,内核会产生一个瞬时的快照,记录该进程的内存、运行堆栈状态等信息保存在core文件之中。做个简单的类比,c...

HappenLee
其他
发表了文章

C++雾中风景番外篇3:GDB与Valgrind ,调试代码内存的工具

>写 C++的同学想必有太多和内存打交道的血泪经验了,常常被 C++的内存问题搅的焦头烂额。(**写 core 的经验了**)有很多同学一见到 core 就两眼...

HappenLee
其他
发表了文章

C++雾中风景番外篇2:Gtest 与 Gmock,聊聊C++的单元测试

笔者目前使用的系统是Deepin 15.6,是基于 Debian jessie的一款国内发行版。安装 Gtest 和 GMock 十分简单:

HappenLee
其他
发表了文章

C++雾中风景12:聊聊C++中的Mutex,以及拯救生产力的Boost

C++从11开始在标准库之中引入了线程库来进行多线程编程,在之前的版本需要依托操作系统本身提供的线程库来进行多线程的编程。(其实本身就是在标准库之上对底层的操作...

HappenLee
其他
发表了文章

C++雾中风景11:厘清C++类型转换(static_cast,dynamic_cast,reinterpret_cast,const_cast)

开门见山,先聊聊笔者对类型转换的看法吧。从设计上看,一门面向对象的语言是不一样提供类型转换的,这种方式破坏了类型系统。C++为了兼容C也不得不吞下这个苦果,在实...

HappenLee
其他
发表了文章

C++雾中风景番外篇:理解C++的复杂声明与声明解析

在编写C/C++代码时偶尔能看到如下的复杂声明:float(*(*e[10])(int*))[5]。我想你的第一反应一定是:MMP。虽然我们在实际工作之中是很少...

HappenLee
其他
发表了文章

大数据小视角5:探究SSD写放大的成因与解决思路

首先我们来看看什么是写放大,写放大(Write amplification)是2008年,由英特尔和SiliconSystems在论文之中首次提出:它表现为在S...

HappenLee
其他

个人简介

个人成就

扫码关注云+社区

领取腾讯云代金券