随笔分类 - 原创文章
摘要:聊聊select, poll 和 epoll 假设项目上需要实现一个TCP的客户端和服务器从而进行跨机器的数据收发,我们很可能翻阅一些资料,然后写出如下的代码。 服务端 void func(int sockfd) { char buff[MAX]; int n; // infinite loop f
阅读全文
摘要:聊聊select, poll 和 epoll 假设项目上需要实现一个TCP的客户端和服务器从而进行跨机器的数据收发,我们很可能翻阅一些资料,然后写出如下的代码。 服务端 void func(int sockfd) { char buff[MAX]; int n; // infinite loop f
阅读全文
摘要:C++操作Kafka使用Protobuf进行跨语言数据交互 Kafka 是一种分布式的流平台,具体是什么意思呢? A streaming platform has three key capabilities: Publish and subscribe to streams of records,
阅读全文
摘要:聊聊Disruptor 和 Aeron 这两个开源库 Disruptor The best way to understand what the Disruptor is, is to compare it to something well understood and quite similar
阅读全文
摘要:Linux资源分析工具杂谈 开篇之前请大家先思考一个问题: 磁盘的平均I/O响应时间是1 ms,这个指标是好,还是差? 众所周知,计算机科学是客观的,也就是说对于一个给定的问题,我们总是能给出明确的答案,比如我们网上购物买了两件100元的衣服,我们应该付款200元,但是系统给我们计算出的金额确是30
阅读全文
摘要:手把手教你使用 Clion 开发 Linux C++ 项目 关于CLion CLion是一款专为开发C及C++所设计的跨平台IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力,提高开发人员的工作效率。这种强大的IDE帮助开发人员在Linux、OS X和Windows
阅读全文
摘要:c++ 单元测试框架 gmock 深度剖析 随着微服务和CI的流行,在目前的软件工程领域中单元测试可以说是必不可少的一个环节,在TDD中,单元测试更是被提高到了一个新的高度。但是很多公司由于很多不同的原因,没有能持续维护,或者干脆就从来没有写过单元测试,确实,单元测试在初期和代码维护期会需要花一些投
阅读全文
摘要:NetBeans远程调试Linux c++ 11项目 由于好多原因,好久没有写博客了,随着c++ 11的普及率越来越高,开发c++ 项目的人也越来越多,可以说c++ 11 给了c++ 这门语言第二次生命,而且据笔者了解,使用c++ 11 新开发的项目大部分是基于linux的,具体原因不多解释。当然c
阅读全文
摘要:2017让我受益最大的那些书--别找了,都在这里 每一年对自己读过的技术书籍都会进行一个小结,今年也不例外,终于拖到了2017的最后一天,但是非常高兴,时间还来得及,也算对自己今年的一年来工作的总结。年初的时候由于公司一个电商项目的原因,需要用到 React 框架和 ES6,于是对这两项技术相关的资
阅读全文
摘要:Java web servers 间是如何实现 session 同步的 有一个多月的时间没有更新博客了,今天终于忙里偷闲,可以把近期的收获总结一下。 本文是关于Java web servers 之间是如何实现 session 同步的,其实其他技术栈也面临同样的问题需要解决,而且大部分场景下已经有了成
阅读全文
摘要:现代C++新四大名著及C++学习杂谈 翻开自己的博客,在2012年8月我曾经写过如下一篇博客, <<C++学习的方法以及四大名著>> http://www.cnblogs.com/pugang/archive/2012/08/17/2643710.html 想想时间过得真快,转眼5年了,在这5年中C
阅读全文
摘要:Java Level 2 学习的八大名著 前段时间有几天难得的假期,于是把自己认为Java技术栈中的精华总结了一下,但是一直没有时间写下来,今天终于得空希望本文可以对大家有所启发。通过多个实际项目的沉淀和一些Java开源项目的源代码研究,个人认为Java语言中的精华技术主要包括如下三个方面,其实严格
阅读全文
摘要:Spring Data操作Redis详解 Redis是一种NOSQL数据库,Key-Value形式对数据进行存储,其中数据可以以内存形式存在,也可以持久化到文件系统。Spring data对Redis进行了很好的封装,用起来也是十分的得心应手。Redis 是一个开源(BSD许可)的,内存中的数据结构
阅读全文
摘要:TypeScript和JavaScript哪种语言更先进 近两年来最火爆的技术栈毫无争议的是JavaScript,随着ES6的普及,不管是从前端的浏览器来看,还是后端的NodeJS场景,JavaScript技术栈不断的向世界证明自己的价值。JavaScript代码越写越大,众所周知,JavaScri
阅读全文
摘要:2016让我受益最大的那些书--别找了,都在这里 每年到了年底的时候都要总结一下一年的收获,其实代码写的时间长了有时候挺害怕这个时间点的,忙忙碌碌时间飞逝,感觉自己还没缓过神好好的自省一下,一年过去了.. 眼看他起朱楼,眼看他宴宾客,眼看他楼塌了.. 这是我在2016年学到的觉得比较有哲理的一句话,
阅读全文
摘要:我为什么要自己编译openjdk8以及那些坑 这是笔者第二次编译openjdk, 第一次编译的是openjdk7,那么好多人会好奇,为什么要自己编译openjdk呢,官方不是已经发布了安装包了么? 要回答这个问题就要明白c\c++是什么?Java又是什么? 记得有位业内同行说过,C++和Java之间
阅读全文
摘要:支撑Java NIO 与 NodeJS的底层技术 众所周知在近几个版本的Java中增加了一些对Java NIO、NIO2的支持,与此同时NodeJS技术栈中最为人称道的优势之一就是其高性能IO,那么我们今天要讨论的话题就是支撑这些技术的底层技术。 开始之前先要提出的一个问题是: 为什么NodeJS和
阅读全文
摘要:C++程序员如何转Java 忙里偷闲,到了这个时间终于得空写一篇早想写的文章。其实本文的标题有些不太准确,C++程序员写Java代码不是说就非得转行写Java,抛弃C++,而只是多了一个选择而已。两种语言各有优势,这里我们且不谈语言之争,就假设有朋友需要这样一种角色转变,写了多年的C++,一时间突然
阅读全文
摘要:VS Code - Debugger for Chrome调试JavaScript的两种方式 最近由于出差的缘故,博客写的不是很多,一直想写一篇VS Code - Debugger for Chrome相关的文章,没想到一直拖到了今天。VS Code 开源以后确实在社区得到了很多人的支持,当中很多优
阅读全文
摘要:RequireJS-CommonJS-AMD-ES6 Import/Export详解 为什么起了一个这个抽象的名字呢,一下子提了四个名词分别是:RequireJS,CommonJS,AMD,ES6,答案是因为现实很骨感,我们必须很勇敢才能正视这一段悲催的往事。如今的JavaScript平台正值如日中
阅读全文