07 2013 档案
摘要:前言:传统的互联网广告一般都是大流量网站在页面中留出一定空位,某些推广商家通过买位的方式来展示自己的广告。我们这里引入一个案例:假设大访问量网站为博客园,想要广告推广的公司为阿里云平台。 (场景为虚构,请勿对号入座)博客园首页每天很多人访问,那么阿里云想要推广就会租下其首页右侧栏的某些矩形空位,在这有限的空位中通过插入JS或swf来进行广告展示。当然这个广告是有期限的。这样的广告对于推广公司来讲,效果一般不是很好。这种传统的广告最常见的优化规则就是去找相同行业的网站投放自己的广告,比如博客园这样的程序员博客网站就会吸引阿里云这样的云平台公司或一些IT技能培训公司的青睐。但实际上程序员也是很多样
阅读全文
摘要:不支持markdown,桑心。更好的阅读体验请看:Github/Bigtable.mdPaper: Google Bigtable paperNotes author: Lhfcws WuTime: 2013-07-24 Preface:仅为个人阅读心得,按照原论文Section顺序写的笔记。原论文Sections: (本笔记主要关于粗体的章节,即原理部分)1 Introduction2 数据模型(行,列族,时间戳)3 API支持简述4 Bigtable构建(文件格式SSTable,所依赖的一些框架服务)5 Bigtable的基础实现(Tablet定位,分配,服务和memtable压缩)6 .
阅读全文
摘要:在linux内核源码或一些比较成熟的c语言架构源码中,我们常会见到类似下面的代码:1 if (unlikely(!packet)) {2 return res_failed; 3 }4 5 // OR6 7 if (likely(packet->type = HTTP)) {8 do_something();9 }有的地方可能会用大写,LIKELY() / UNLIKELY(),意思一样。然后我们看一下unlikely和likely的定义,大部分都是类似如下的宏定义:1 #define likely(x) __builtin_expect(!!(x), 1) 2 #d...
阅读全文
摘要:原书很多已经写的很清楚很精炼了,我也无谓做无意义的搬运,仅把一些基础和一些我自己以前容易搞混的地方写一下。1. 意义: 指针:指针也是一种类型,长度为4字节,其存放的内容只能是一个地址(4字节)。比如char* ptr;ptr指向一个地址,而这个地址理想的情况下存放着一个char型数据,特殊情况下也可能会指向NULL,甚至变成野指针。数组:数组代表的是一段连续的内存地址,而并非指针那样代表的只是一个地址。一般数组会有名字,比如char a[100] ;即把一段长度为100个sizeof(char)的地址段命名为a。数组也可能是匿名的,比如数组指针char (*p)[10];这里的数组没有名字,
阅读全文
摘要:昨天做一个程序的性能测试的时候,由于用了自动化脚本,测试的时候直接把结果(包括执行时间等信息)输出到文件。后来我在调整源代码的时候单独跑了可执行文件,此时结果是输出到控制台(printf)。大约100k数据平均竟相差了54%,显然是控制台输出的时间消耗会较大。这个问题困扰了我差不多十几分钟,还特地细心比对了编译版本等影响因素。后来经过各种方法比对测试才发现,很可能是console output比管道重定向输出到文件耗时要多。其实这个问题如果面试问起来许多人有点经验应该都知道会选console output 慢,但现实中自己自测的时候受很多因素影响,不一定能顾及的面面俱到。既然知道了这个问题干脆
阅读全文
摘要:周五上午10点半的飞机,为了便宜选了CA的空客320的飞机,结果体验很差。飞机涂了层风骚的粉紫色,机内较旧,也很小,经过所谓的头等舱简直惨不忍睹。对比起去年飞去北京乘的波音真是没法比,波音上每个人都有自己的智能电视可以点播,飞机餐料很足,味道也不错。这次那份恶心的榨菜肉丝饭就着发硬的餐包勉强咽了下去。飞行员技术也不咋样,以前坐的飞机降落时都很平滑,这次这个机长着实让我们体验了好几次骤然失重的刺激感。看着清澈的蓝天逐渐有了灰蒙蒙的云雾,我便知道杭州到了。机场附近的农村规划很不错,一块块方田十分整齐,村民自建的小洋房式的建筑就刚好把田地围了一圈。于是在飞机低空飞行的时候便可看到许多块房子围着的田,
阅读全文