关闭

深入理解Presto(1) : Presto的架构

简介Presto是一个facebook开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节。presto的架构由关系型数据库的架构演化而来。presto之所以能在各个内存计算型数据库中脱颖而出,在于以下几点: 清晰的架构,是一个能够独立运行的系统,不依赖于任何其他外部系统。例如调度,presto自身提供了对集群的监控,可以根据监控信息完成调度。 简单的数据结构,列式存储,逻辑行...
阅读(82) 评论(0)

libeasy原理,架构和使用方法

libeasy 原理、架构和使用方法简介libeasy提供一个处理tcp连接的事件驱动的网络框架。框架本身封装好了底层的网络操作,只需要开发者处理其中的各种事件。本文介绍libeasy的一些实现原理,整体框架,以及使用的样例。本文是经过一系列摸索,以及wireshark抓包,再结合一些互联网上一些仅有的资料整理完成,如有理解不当的地方,烦请指出。基本概念libeasy 的基本概念有:easy_con...
阅读(92) 评论(0)

如何修复Kindle频繁自动锁屏和解锁

12年入手kindle dxg,用了几年年,看pdf的利器,感觉很不错, 2016年夏天的时候,kindle突然出现频繁的锁屏和解锁。在网上搜了一下,只有在贴吧找到一个类似的问题,但是没有解决方案,联系amazon的客服,客服也没办法解决。 没办法,只要自己捣鼓。刚开始的时候,从网上看到一些信息说kindle的皮套感应会受到磁铁的影响自动锁屏,于是把kindle拆开了看,把边上的一些线全都拔掉...
阅读(473) 评论(0)

do while 循环的执行逻辑

do while 相对于while循环而言,平时用的非常少,因此有一些问题也非常的容易出错。 比如,在do while的循环体中,假如有一个continue,那么你觉得这个continue会跳转到do呢?还是条传到while呢? 答案是跳转到while,直接执行while里边的判断条件...
阅读(206) 评论(0)

facebook静态代码检查工具开源了!

以前一直想写个静态代码的检查工具,能够根据语法分析自动找出内存泄露的问题,今天发现facebook开源了这样一个工具,可以检查Java , Object c  和c代码,美中不足的是不支持C++。 facebook的这款工具叫Infer,用于在发布移动应用之前对代码进行分析,找出潜在的问题。目前 Facebook 使用该工具来分析 Facebook 的 App,包括 Android 、iOS...
阅读(589) 评论(1)

使用wordpress搭建博客过程中遇到的一些问题

对于一个新手而言,第一次使用wordpressda'jia...
阅读(292) 评论(0)

wget获取一个url的完整目录

wget -r -l1 -np -nd http://your_url/your_folder/...
阅读(924) 评论(0)

libcurl在ipv6被禁止的情况下的性能下降

最近我们的集群业务量增加了3T/天。然后发现集群的cpu使用率和load上升的非常高,load最高达到了60。团队分析了性能原因,发现发送结果数据到另一个集群的逻辑消耗了大部分的cpu,于是对这部分发送逻辑进行了优化。 在优化发送逻辑后,cpu下降了一半,load也下降了。但是效果并不明显。有一个机器,load仍然很高。持续的调查发现,在load较高的机器上出现间隔出现多个modprob -...
阅读(1040) 评论(0)

boost serialize 的一个坑

使用boost序列化时,如果一个变量没有初始化,那么序列化会导致程序运行是crash...
阅读(602) 评论(0)

巧妙的设计stl中的比较函数,以避免不必要的cpu开销

在stl algorithm.h中,常利用一些排序操作,比如通过vector实现一个堆。 如果堆的每个元素是自定义结构,也就是,自己实现的类作为堆的基本元素, 那么make_heap和push_heap,pop_heap就需要开发者提供自己的比较函数。 bool __cmp(value &v1 ,value & v2). 在stl的内部实现中,当这个_cmp判定为true时,就需要调整heap,所...
阅读(386) 评论(0)

syslog 引发死锁

主线程在写 syslog,同时在信号处理函数中也在写syslog,当主线程在写的时候,如果同时触发了信号,那么将会导致死锁。 $pstack 4289 #0 0x00000036768df9ee in __lll_lock_wait_private () from /lib64/libc.so.6 #1 0x000000367688d0dd in _L_lock_1685 () from /...
阅读(1484) 评论(0)

内存检查工具

内存检测工具主要用于检测程序的堆栈错误。一般的检测方法是通过加magic number来表示正确的内存信息。如果magic number被写坏,那么就表示内存错乱了。 1编译选项: -fstack-protector & -fstack-protector-all -fstack-protector 在函数的stack上加一个magic number,如果buffer ov...
阅读(594) 评论(0)

String copy on write 引发的线程不安全

一个string对象的读操作是线程安全的么?答案是否定的。读取一个string在某些情况下是线程不安全的。这是为什么呢?原因就是string在优化存储空间时采用的策略cow。 什么是cow      Cow 是copy on write的缩写。String 为了减少内存拷贝,当两个string对象的内容相同时,他们指向同一块内存空间,并通过引用计数来表示有多少对象引用了这块内存。当其中...
阅读(729) 评论(0)

rpm打包和yum安装,以及安装后自启动

rpmbuild 可以把源文件或者二进制文件打包成rpm包,rpm包可以放到源上进行分发。 执行rpmbuild --showrc  |grep topdir,可以找到rpmbuild 执行的根目录, 如果仅仅希望给把二进制文件打包成rpm包,那么把二进制文件放到  $topdir/BUILD/ 目录下。 编写${binary}.spec Summary: client Name:...
阅读(619) 评论(0)

fork 和 sigchld 坑

最近有个项目,一个deamon进程,一个干活进程。deamon 进程会捕获SIGCHLD信号如果干活进程down掉了,deamon会收到这个信号并且重新fork干活进程。 最近发现一个问题是 deamon进程fork了好几个干活进程。团队的人调查问题,一度怀疑是不同的linux内涵对信号处理不同。后来我发现如果干活进程调用了system函数,system会fork一个子进程,这个子进程昨晚事情就...
阅读(398) 评论(0)

友元类

error:      is private 如果添加了friend之后,还是报错的话。不妨看看是不是名字空间搞错了。...
阅读(1795) 评论(0)

kindle dxg 作为电脑扩展显示器

kindle的显示器采用e-ink技术,相对于液晶屏而言,其最大的好处是不伤眼。 本文把kindle dxg作为电脑的显示器。 基本步骤 1:越狱。 越狱的文件在: http://www.mobileread.com/forums/showpost.php?p=973688&postcount=1 把越狱用的文件放在kindle 根目录。然后seting-》menu-》update y...
阅读(6220) 评论(7)

ubuntu 12.04 install java

for some reason , the java can not be installed like before. in this version of ubuntu, java should be installed like this: 1:sudo apt-add-repository ppa:flexiondotorg/java 2:sudo apt-get update...
阅读(370) 评论(0)

error LNK2005: * already defined in *.obj

这个错误,一般是重复引用造成的。 可以考虑两点。 1: 头文件是否有#ifndef控制 2: 头文件中是否有函数的定义或者全局变量的定义。...
阅读(247) 评论(0)

做了个软连接,结果,陷入了死循环

囧。scons陷入了死循环...
阅读(553) 评论(0)
56条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:39904次
    • 积分:1024
    • 等级:
    • 排名:千里之外
    • 原创:55篇
    • 转载:1篇
    • 译文:0篇
    • 评论:15条
    文章分类
    最新评论