IT技术博客大学习 共学习 共进步

技术文章

精选技术长文、实践记录与系统化阅读

技术文章精选

低噪声、高可扫读;标题、摘要、来源、标签一目了然。

最新文章

采集自各技术站点的近期文章。

IT MySQL/ 2011-07-31 12:55:39 / 累计浏览 1,767

深入浅出cassandra 2 第一个可以运行的例子

下面的工作就是让我们来简单的操作一下这个号称分布式的号称第二代的数据库系统。 本文主要关注两个部分, 1. 怎么写一个最简单cassandra的sample 2. 怎么去分析这个最简单的sample背后隐含的含义...

IT MySQL/ 2011-07-31 12:54:21 / 累计浏览 2,838

深入浅出cassandra 1 安装

cassandra是什么,套用官方介绍,cassandra是高可扩展性的第二代分布式数据库。背后的理论依据是amazon的dynamo和google的bigtable. 所以要完全的,深入的理解cassandra,那我们就必须深入的理解dynamo和bigtable这两个理论基础。当然在后续的文章中,ahuaxuan会和大家一起来深入并研究这两个理论。

IT 奋斗/ 2011-07-31 12:52:22 / 累计浏览 3,331

前端的横向发展

今天的交流会上,提到了“横向发展”这个词,意指推荐大家学习与前端打交道的相关技术,如:php 其实“前端”这个词,是2005年才逐渐在国内兴起的。 那之前,国内的网站,通常是TABLE+ASP搞定一切。做这份工作的人,通称“程序员”。 那是个孤军奋战就能赢得天下的年代。 一个网站丢过来,一个人就全拿了:“写需求==>出设计稿==>做模板==>写程序==>运营。” 再然后,大量的竞争。 网站想要领先,必须搞好用户体验,弄漂亮的设计稿...

IT 网络系统/ 2011-07-31 12:51:03 / 累计浏览 6,593

TCP链接主动关闭不发fin包奇怪行为分析

问题描述: 多隆同学在做网络框架的时候,发现一条tcp链接在close的时候,对端会收到econnrest,而不是正常的fin包. 通过抓包发现close系统调用的时候,我端发出rst报文, 而不是正常的fin。这个问题比较有意思,我们来演示下: 我们往baidu的首页发了个http请求,百度会给我们回应报文的,我们send完立即调用close. 然后我们在另...

IT Apache/ 2011-07-31 12:50:17 / 累计浏览 6,498

关于Apache调优点滴

Apache 通过管道记日志对性能的影响:如果访问量比较小,则,使用管道可能比只直接写文件要快那么一点点(不会太明显),因为写管道毕竟是些内存(但是操作系统层面对写文件也是有优化的)如果访问量很大,多个进程并发写一个管道,而只有一个进程在读管道,写日志文件,则,管道很容易写慢导致处理进程阻塞,这时,管道产生的瓶颈是很明显的,可能会导致Apache的处理性能减少一个数量级;而且你看到的将是cpu idle很高,iowait很...

IT 系统架构/ 2011-07-31 12:49:52 / 累计浏览 3,873

使用 Perl 中的 Gearman来实现 MapReduce

MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(化简)".简单来讲,就是给大量的输入的 key/value 的键值对 reduced 成少量的key/value 的键值对。

IT 其他/ 2011-07-31 12:48:46 / 累计浏览 3,353

gen_tcp容易误用的一点解释

前天有同学在玩erlang gen_tcp的时候碰到了点小麻烦,描述如下: 比如说连接到baidu.com,发个http请求,然后马上接收数据,发现接收出错,wireshark抓包发现数据都有往返发送,比较郁闷。 我把问题演示下: 这个问题的根源在于gen_tcp默认的{active,true},也就是说当gen_tcp收到网络包的时候,默认是把报文发送给它的宿主进程。而gen_tcp:...

IT 系统运维/ 2011-07-31 12:47:23 / 累计浏览 3,972

epoll 事件之 EPOLLRDHUP

在对系统问题进行排查时,我发现了一个奇怪的现象:明明是对方断开请求,系统却报告一个查询失败的错误,但从用户角度来看请求的结果正常返回,没有任何问题。 对这个现象深入分析后发现,这是一个基于 epoll 的连接池实现上的问题,或者说是特性 :) 首先解释一下导致这个现象的原因。

IT 系统运维/ 2011-07-31 12:46:31 / 累计浏览 2,233

MogileFS 排错小技巧

MogileFS 内部提供了很强大的功能,对排错和调节也设计的非常好,只是普通的时候用不大,大家也不知道。现在我就来教大家一下,这些常用的 Mogilefsd 的命令,命令有如下: Mogilefsd 管理命令:...

IT 设计思想/ 2011-07-30 21:54:56 / 累计浏览 2,189

你的网站使用Flash了吗?

两年前,我们开发了一套基于Flash的文件(主要是图片)上传RIA应用,提供给阿里巴巴的用户使用。如果你使用过Wordpress或flickr上传图片,你应该已经用过类似的产品。这个程序基于YUI Uploader开发,增加了一个实用的功能――在客户端先将图片缩小,再上传到服务器。用户用数码相机拍摄的照片往往有600万以上的像素,但产品图片放到阿里巴巴网站上显示,并不需要这么大的像素,通常等比例缩小到1024×1024之内就可以了。

IT 其他/ 2011-07-30 21:54:23 / 累计浏览 3,452

WEB数据挖掘相关术语整理

WEB数据挖掘建立在对大量的网络数据进行分析的基础上,采用相应的数据挖掘算法,在具体的应用模型上进行数据的提取、数据筛选、数据转换、数据挖掘和模式分析,最后做出归纳性的推理、预测客户的个性化行为以及用户习惯,从而帮助进行决策和管理,减少决策的风险。 WEB数据挖掘涉及多个领域,除数据挖掘外,还涉及计算机网络、数据库与数据仓储、人工智能、信息检索、可视化、自然语言理解等技术。

IT 算法/ 2011-07-30 21:51:38 / 累计浏览 11,404

浅谈MySQL索引背后的数据结构及算法

本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。

IT 编程语言/ 2011-07-30 21:47:01 / 累计浏览 2,053

三谈类型问题:ECMAScript为什么错了?

一个象“history of scripting”这样令人误解的标题,带来了多大的恶果。而ECMAScript在类型问题上也是如此,单单说它在行文上的、标题上的措辞,是完全“正确无误的”。但是被错误地援引和解释之后,一些“似是而非”的观点就出来了。要说明这一切,我们先得说了解一个事实:即,ECMAScript是一份学术性的、规范性质的手册。因此,有它自己的一套语言组织逻辑和抽象概念在里面――甚至有些只是出现在教材中的概念。因此,不要拿我们一般口头交流用的概念往上去套,在引用一些其它语言中的概念的时候,也要小心。

IT 系统架构/ 2011-07-30 21:45:20 / 累计浏览 5,092

快速构建实时抓取集群

定向抓取有很多的应用场景,比如B2C商品的抓取,点评的抓取等等。在本文提到的系统里面,主要使用linux+mysql+redis+django+scrapy+webkit,其中scrapy+webkit作为抓取端,redis作为链接库存储,mysql作为网页信息存储,django作为爬虫管理界面,快速实现分布式抓取系统的原型。

IT MySQL/ 2011-07-30 21:43:33 / 累计浏览 2,348

使用Percona Xtrabackup备份SLAVE数据

现在我们可以很方便的用Xtrabackup取代ibbackup,作为innodb的在线热备工具使用。 通常,我们会选择在SLAVE上进行备份,以减小MASTER的压力。 innobackupex是封装后的perl脚本,用于调度xtrabackup进行备份,附加了不少辅助功能,非常实用,

IT 编程语言/ 2011-07-30 21:42:15 / 累计浏览 2,170

register、volatile、restrict 三关键字的用法

register 使用修饰符register声明的变量属于寄存器存储类型。该类型与自动存储类型相似,具有自动存储时期、代码块作用域和内连接。声明为register仅仅是一个请求,因此该变量仍然可能是普通的自动变量。无论哪种情况,用register修饰的变量都无法获取地址。如果没有被初始化,它的值是未定的。

IT 系统架构/ 2011-07-30 21:40:56 / 累计浏览 3,992

Staircar:Tumblr的Redis集群控制层

Tumblr是世界上最流行的轻博客服务,其用户量在最近的一次统计中已经达到2090万,超过了全球最大的博客服务WordPress。而我们今天要介绍的是Tumblr通知系统的架构,其通知系统由一个叫Staircar的轻量级HTTP服务器和其下层的大规模Redis集群组成。

IT 算法/ 2011-07-30 21:39:51 / 累计浏览 1,665

Erlang supervisor的dynamic行为分析

在热升级的时候,针对supervisor管理的进程,需要知道它是由那个模块apply执行的。 这样才能在模块代码发生变更的时候,好判断出该进程是否要做点升级的准备。 所以规格书不仅仅是给supervisor模块用的,也给release handler模块用。其中的modules部分就是描述那些模块和这个进程有关系。 对于gen_server, gen_fsm behaviour的模块来讲, 它的进程由只有它自己spawn_link来的,所以很好理解填规格的时候,模块部分填他自己就好。 但是gen_event这样的模块,由于一个事件通常会注册好几个模块,而且是动态的,所以规格书就不知道填什么,只好填dynamic. 在热升级需要知道模块的时候,即刻发消息现查询那些模块和这个进程相关。

IT JavaScript/ 2011-07-30 21:37:42 / 累计浏览 2,849

再谈JavaScript的数据类型问题

JavaScript的数据类型问题已经讨论过很多次了,但许多人还有许多书仍然沿用着错误的、混乱的一些观点,所以就再细讲一回。提及这个讨论的原因在于argb1985 同学在我的MSN博客(现在变成了wordproess,在这里)上的一段回复,又更早的起源则是两年前关于《JavaScript征途》一书的大讨论:从“装B被雷劈讲起――这个事就让它过去了过去了吧。在讨论中我提及到该书对JavaScript类型系统介绍的混乱,而argb1985 翻出了这篇历史文章,指我...

IT 算法/ 2011-07-30 21:32:23 / 累计浏览 7,716

数据分析中常用的数据模型

一、抽样分析模型 建模方法 首先确定统计的时间段,暂定为15天;从数据库中随机抽取若干名用户作为分析样本建立分析模型,模型图中假定抽样人数为100人,15天内最高使用量为200最少为15,在横坐标轴依次画出每人的使用量立柱图;然后向右侧画出最高点和最低点的水平引线;然后垂直划线连接水平线,得到上下交点之间的线段,分别在线段的中点和三分点处水平画出“中分线”“上分线”“下分线”。 分析方法 根据立柱图的分布比率确定...