摘要: 写 C++的同学想必有太多和内存打交道的血泪经验了,常常被 C++的内存问题搅的焦头烂额。( 写 core 的经验了 )有很多同学一见到 core 就两眼一抹黑,不知所措了。笔者 入" 坑 "C++之后,在调试 C++代码的过程之中,学习了不少调试代码内存的工具。希望借这个机会来介绍一下笔者常用的工 阅读全文
posted @ 2018-11-08 19:37 HappenLee 阅读(2404) 评论(2) 推荐(1) 编辑
摘要: 正式工作之后,公司对于单元测试要求比较严格。(笔者之前比较懒,一般很少写完整的单测~~)。作为一个合格的开发工程师,需要为所编写代码编写适量的 单元测试 是十分必要的,在实际进行的开发工作之中,TDD( Test drivern development ) 是一种经过实践可行的开发方式。 编写单元测 阅读全文
posted @ 2018-11-01 14:01 HappenLee 阅读(2206) 评论(1) 推荐(1) 编辑
摘要: 笔者近期在工作之中编程实现一个Cache结构的封装,需要使用到C++之中的 互斥量Mutex ,于是花了一些时间进行了调研。( 结果对C++标准库很是绝望.... )最终还是通过利用了Boost库的 shared_mutex 解决了问题。借这个机会来聊聊在C++之中的多线程编程的一些 “坑” 。 1 阅读全文
posted @ 2018-10-06 16:54 HappenLee 阅读(4103) 评论(0) 推荐(3) 编辑
摘要: C++是一门 弱类型 的语言,提供了许多复杂和灵巧类型转换的方式。笔者之前写的Python与Go都是 强类型 的语言,对这种弱类型的设计实在是接受无力啊~~ ( 生活所迫,工作还得写C++啊~~)C++语言提供了四种类型转换的操作: static_cast,dynamic_cast,reinterp 阅读全文
posted @ 2018-09-29 10:46 HappenLee 阅读(806) 评论(0) 推荐(0) 编辑
摘要: 笔者目前开发运维的存储系统的服务器都跑在SSD之上,目前单机服务器最大的SSD容量有4T之多。( 公司好有钱,以前在实验室都只有机械硬盘用的~~ )但SSD本身的特性与机械硬盘差距较大,虽然说在性能上有诸多优势,但是如果使用的方式方法不对,反而会事倍功半。所以笔者花时间调研了一下固态硬盘的结构与特性 阅读全文
posted @ 2018-09-21 11:54 HappenLee 阅读(2053) 评论(2) 推荐(1) 编辑
摘要: 在学习C系列语言的过程之中,理解C/C++的复杂声明一直是初学者很困扰的问题。笔者初学之时也深受困扰,对很多规则死记硬背。后续在阅读 《C专家编程》 之后,尝试在编译器的角度来理解C/C++的声明解析,并且编写代码将这部分逻辑串联起来,之后再看到许多看似复杂的声明,也能够很好的理解和消化了。 1.复 阅读全文
posted @ 2018-09-05 16:14 HappenLee 阅读(769) 评论(0) 推荐(1) 编辑
摘要: python读写文件的api都很简单,一不留神就容易踩” 坑 “。笔者记录一次踩坑历程,并且给了一些总结,希望到大家在使用python的过程之中,能够避免一些可能产生隐患的代码。 1.read()与readlines(): 随手搜索python读写文件的教程,很经常看到 read()与readlin 阅读全文
posted @ 2018-08-24 10:05 HappenLee 阅读(29358) 评论(3) 推荐(2) 编辑
摘要: 这个系列文章之前因为私事荒废了很久,继续更新~~之前与老大谈论架构时,老大和我聊了聊分布式数据处理之中的 Lambda结构 ,之前在《Designing Data Intensive Applications》这本书之中,作者 "Martin Kleppmann" 也在文中涉及到了通过重型批处理与灵 阅读全文
posted @ 2018-08-08 10:16 HappenLee 阅读(3228) 评论(0) 推荐(1) 编辑
摘要: C++11的版本在类型系统上下了很大的功夫,添加了诸如 auto,decltype,move 等新的关键词来简化代码的编写与降低阅读代码的难度。为了更好的理解这些新的语义,笔者确定通过几篇文章来简单窥探一下C++类型系统的冰山一角,如果加深了对C++类型系统的理解,想必大家也能够更好的应用由C++1 阅读全文
posted @ 2018-07-19 19:07 HappenLee 阅读(2573) 评论(1) 推荐(3) 编辑
摘要: 连续两篇文章都聊了不同的存储格式,这篇我们继续深入来看看在存储格式的演变之上有什么新的 "黑科技" 。华为公司在2016年开源了类parquet的列存格式: CarbonData ,并且贡献给了Apache社区。CarbonData仅仅用了不到一年的时间就成功毕业,成为了Apache社区的顶级项目, 阅读全文
posted @ 2018-06-20 09:33 HappenLee 阅读(8669) 评论(0) 推荐(3) 编辑