HappenLee的技术杂谈

44 篇文章
14 人订阅

全部文章

HappenLee

百度 · RD (已认证)

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

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

411
HappenLee

百度 · RD (已认证)

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

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

311
HappenLee

百度 · RD (已认证)

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

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

672
HappenLee

百度 · RD (已认证)

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

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

493
HappenLee

百度 · RD (已认证)

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

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

653
HappenLee

百度 · RD (已认证)

C++雾中风景11:厘清C++之中的类型转换

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

803
HappenLee

百度 · RD (已认证)

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

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

935
HappenLee

百度 · RD (已认证)

数据模型与查询语言 ------《Designing Data-Intensive Applications》读书笔记2

作为一个开发者来说,在一个复杂的应用程序中,是存在很多分层模型的,但基本思想还是一样的:每一层都提供了一个干净的数据模型,从而隐藏了底层的复杂性。通过这样的抽象...

672
HappenLee

百度 · RD (已认证)

C++雾中风景4:多态引出的困惑,对象的拷贝?

上面是两个继承关系的类定义。penguin(企鹅)类继承了bird类。在bird类之中fly()函数是一个virtual函数,它可以被penguin覆盖。我们看...

624
HappenLee

百度 · RD (已认证)

Ubuntu系统下静态DNS配置详解

因为实验室实现的拟态存储系统需要实现动态变更ip地址,所以需要搭建一个dns服务器,并且将需要查询变更ip地址的服务器都绑定到同一台dns服务器之上。通常在Re...

593
HappenLee

百度 · RD (已认证)

Ceph编译安装教程

Ceph 的初创来自Sage Weil 博士的 PhD 论文,论文 “Ceph: A Scalable, High-Performance Distribute...

743
HappenLee

百度 · RD (已认证)

C++雾中风景2:struct还是class?

在C++语言作为C语言的一个超集,但是并不兼容C语言的所有语法规则的。C语言是我学习的第一门编程语言,相对于对其中的语法规则比较熟悉,C语言之中可以使用stru...

652
HappenLee

百度 · RD (已认证)

可靠的、可扩展的、可维护的数据系统 ------《Designing Data-Intensive Applications》读书笔记1

作为一个开发者来说,目前绝大多数应用程序都是数据密集型的,而不是计算密集型的。CPU的计算能力不再成为这些应用程序的限制因素,而更加亟待解决的问题是海量的数据、...

832
HappenLee

百度 · RD (已认证)

C++雾中风景3:const用法的小结

const关键字,翻译成中文是常量,常数的意思。所以在绝大多数场合之中,const是来定义常量的,定义常量也是好的编程习惯。在C类语言之中,定义常量通常会使用宏...

773
HappenLee

百度 · RD (已认证)

C++雾中风景5:Explicit's better than implicit.聊聊Explicit.

上面这段代码是可以通过编译运行的,可能有些小伙伴会比较困惑,为虾米这里printA函数明明需要接受的是一个A类型,但是传入的一个int类型仍然能够编译通过。

672
HappenLee

百度 · RD (已认证)

C++雾中风景7:闭包

闭包(closure)是函数式编程的重要的语法结构。 闭包的概念其实很简单,一言以蔽之:闭包是带有上下文的函数。说白了,就是有状态的函数。也就是说一个局部变量...

692
HappenLee

百度 · RD (已认证)

C++雾中风景6:拷贝构造函数与赋值函数

这里我们显式声明了拷贝构造函数与赋值构造函数,接下来我们用一小段代码测试一下上面定义的类。(其他函数的定义并不完整,读者可以之行补全)

562
HappenLee

百度 · RD (已认证)

C++雾中风景1:友元类与面向对象

开篇先简单介绍一下友元这个概念吧。 在C++之中,类的友元函数是定义在类外部,但它有权访问类的所有私有(private)成员和保护(protected)成员。...

473
HappenLee

百度 · RD (已认证)

数据分区------《Designing Data-Intensive Applications》读书笔记9

分区与副本是很容易混淆的概念,我们这里离清一下两者。 数据分区的每个副本可以存储在多个节点上。这意味着,即使每个记录恰好属于一个分区,它仍然可以存储在几个不同...

653
HappenLee

百度 · RD (已认证)

客户端一致性与多Leader机制------《Designing Data-Intensive Applications》读书笔记7

上篇文章我们提到了数据系统常用的模型,当提交新数据时,必须将它发送给Leader节点,但是当用户查询数据时,可以从一个Follower节点读取该数据。 这样的...

593

扫码关注云+社区