HappenLee的技术杂谈

47 篇文章
19 人订阅

全部文章

HappenLee

百度 · RD (已认证)

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

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

572
HappenLee

百度 · RD (已认证)

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

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

943
HappenLee

百度 · RD (已认证)

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

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

1094
HappenLee

百度 · RD (已认证)

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

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

721
HappenLee

百度 · RD (已认证)

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

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

371
HappenLee

百度 · RD (已认证)

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

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

712
HappenLee

百度 · RD (已认证)

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

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

583
HappenLee

百度 · RD (已认证)

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

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

773
HappenLee

百度 · RD (已认证)

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

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

913
HappenLee

百度 · RD (已认证)

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

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

1125
HappenLee

百度 · RD (已认证)

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

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

712
HappenLee

百度 · RD (已认证)

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

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

654
HappenLee

百度 · RD (已认证)

Ubuntu系统下静态DNS配置详解

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

893
HappenLee

百度 · RD (已认证)

Ceph编译安装教程

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

1033
HappenLee

百度 · RD (已认证)

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

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

692
HappenLee

百度 · RD (已认证)

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

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

972
HappenLee

百度 · RD (已认证)

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

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

833
HappenLee

百度 · RD (已认证)

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

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

702
HappenLee

百度 · RD (已认证)

C++雾中风景7:闭包

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

802
HappenLee

百度 · RD (已认证)

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

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

652

扫码关注云+社区