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

技术文章

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

技术文章精选

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

最新文章

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

IT 发现/ 2011-12-18 22:17:27 / 累计浏览 3,466

工具分享:20个免费的网站测试工具

导读:本文将介绍20个网站速度的测试工具。网页性能很大程度上决定了用户体验,最终可以决定网站的成功。虽然我们都知道提高浏览速度的重要性,可 是很多时候我们不知道什么元素拖了后腿。这里将介绍的工具可以帮助你确定网页上的速度瓶颈,从而能够让你找到问题,进而解决问题,设计出高效的网站。

IT 源码分析/ 2011-12-18 22:05:51 / 累计浏览 4,347

Redis源代码分析

一直有打算写篇关于redis源代码分析的文章,一直很忙,还好最近公司终于闲了一点,总算有点时间学习了,于是终于可以兑现承诺了,废话就到此吧,开始我们的源代码分析,在文章的开头我们把所有服务端文件列出来,并且标示出其作用: adlist.c //双向链表 ae.c //事件驱动 ae_epoll.c //epoll接口, linux用 ae_kqueue.c //kqueue接口, freebsd用 ae_select.c //select接口, windows用 anet.c //网络处理 aof.c //处理AO...

IT MySQL/ 2011-12-18 22:04:35 / 累计浏览 4,213

MySQL高可用性大杀器之MHA

提到MySQL高可用性,很多人会想到MySQL Cluster,亦或者Heartbeat+DRBD,不过这些方案的复杂性常常让人望而却步,与之相对,利用MySQL复制实现高可用性则显得容易很多,目前大致有MMM,PRM,MHA等方案可供选择:MMM是最常见的方案,可惜它带来的问题往往比解决的问题还多(参考:What’s wrong with MMM?);至于PRM,它还是个新项目,暂时不推荐用于产品环境,不过作为Percona的作品,它值得期待;如此看来目前只能选MHA了,好在...

IT 算法/ 2011-12-18 22:02:59 / 累计浏览 2,653

深入浅出jcr之16 该死的RMI,我们需要HTTP+简单RPC协议

从这篇文章开始,不再详细描述jackrabbit中的实现原理,而是把注意力放在jackrabbit中做的不好的地方,不敢说是批判,但是有些技术上的决策错误还是值得拿出来讨论讨论的。其中一个就是jackrabbit的客户端和jackrabbit server的通信方式--RMI。围绕这个问题我们可以展开一系列的讨论。本文分为几个部分 1 为什么要抛弃RMI 2 为什么要选择基于HTTP的RPC协议 3 展望未来 RMI这个...

IT 安全/ 2011-12-18 21:58:08 / 累计浏览 5,056

SSL Proxy

以前写过一篇SSL Proxy的小的分析,在最近一次讨论中发现我还是了解的不够细致,这里描述的细致一些。首先是定义一下应用场景: SSL Client<--------------------------->SSL Server 首先是标准的SSL Client和Server进行通信。 SSL Client<-------------->MITM<------------->SSL Server 需求是:在其间加入中间人,劫持会话,生成两个SSL会话,从而可以获取明文数据,同时符合SSL标准,同时不用Client明确关注...

IT JavaScript/ 2011-12-18 21:57:34 / 累计浏览 1,928

javascript中神奇的(+)加操作符

javascript是一门神奇的语言,这没神奇的语言中有一个神奇的加操作符。 常用的加操作符我们可以用来做: 加法运算,例如:alert(1+2); ==>3 字符串连接,例如:alert(“a”+”b”);==>”ab” 高级一点的还有“+=”,也是做以上两种操作的。 昨天在javascript丛林群里问了问题:怎么把“2000-09-11 19:22”这个日期格式字符串转换成毫秒数? 斩梦人天天马上回答我: +new Date(’2000-09-11 19:22′),试了一下不...

IT 算法/ 2011-12-18 21:57:02 / 累计浏览 2,126

Hadoop++:Hadoop的局部性能改良

Hadoop++是对Hadoop Map Reduce的非入侵式优化,通过自定义Hadoop框架中的split等函数来提升,提升查询和联接性能。 项目由德国Saarland大学Jens Dittrich教授主持。项目主页是 http://infosys.uni-saarland.de/hadoop++.php。Hadoop++对Hadoop的优化主要是Trojan Index、Trojan Join和Trojan Layout三方面。1、Trojan Index Trojan index的核心是将数据组织成依次由数据、索引、Header和Footer这四部分构成的split,其中Foot...

IT Oracle/ 2011-12-18 21:55:57 / 累计浏览 1,988

BITMAP CONVERSION 执行计划导致CPU 100%

在Oracle 9i中,Oracle有时候会选择将B-Tree索引进行BITMAP转换来进行SQL执行,从而导致极其恶劣的执行计划。在下图中BITMAP CONVERSION FROM / TO ROWIDS 就是进行了位图转换后的执行计划

IT 算法/ 2011-12-14 13:50:24 / 累计浏览 1,347

蒙特霍尔问题与我那餐盒饭

前几天写的盒饭的问题 有很大争议。我并不认为我的结论一定正确,但我想讨论这个问题的人忽略了许多现实的复杂性。 我想说,这是个真实事件,并不是因为我想说明什么问题编的故事。我依然相信,我最后如果做一个交换,会更好一些。不过不想为这个事情争论下去 :) 我觉得这个问题和蒙特霍尔问题有相似之处,但并不相同。我也没想仔细去计算概率,直想快速判断,换或不换哪种得到正确结果的可能性更大。 下面我想向有兴趣讨论说说...

IT 用户研究/ 2011-12-14 13:42:34 / 累计浏览 1,294

淘宝买家对聚划算的心理认知探讨

引子 Q3季度淘宝用研与西南财经大学的陈冬宇老师合作,对聚划算的用户进行了深入研究,项目中投放的定量问卷涉及到用户对聚划算的心理认知,本文单独就这一部分内容进行讨论,最终数据是从样本中筛选出的了解聚划算的用户1010个。 本次研究采用七级量表考察用户对聚划算的心理认知,包含25个描述性语句(详见下文因子分析结果中的表述),事先对语句做了划分,共有八个面向:信任、产品多样性*、商品质量*、信息充裕性、服务质量、...

IT 信息和交互/ 2011-12-14 13:40:46 / 累计浏览 4,192

PhoneGap应用开发的那些坑爹事儿

子曰:如果你恨一个人,让他去开发PhoneGap应用;如果你爱一个人,让他去开发PhoneGap应用。 去年这个时候我很烦恼,因为我觉得我OUT了。 起因是我买了一台Android系统的手机。当我用自己的google账号登录上去后,我发现通讯录被同步了,Gtalk实时通知了,Gmail随身能看了。还有成百数千的应用,让我足足玩了一周。 电脑占据了用户每天8小时的时间,网站创造了巨大的价值。但是,手机这东西却能够24小时不间断的陪着用户,消息推送...

IT 系统运维/ 2011-12-14 13:40:19 / 累计浏览 3,317

Raid1+0 stripe size for MySQL InnoDB

要理解Raid 1+0,我们首先要先理解Raid 0,看下图: 左图为 4kb stripe size;右图为 64kb stripe size 存储文件大小:红色:4kiB,蓝色:20kiB,绿色:100kiB,紫色:500kiB Raid 0 准确的来说应该称 AID 0 大家可以看到,如果stripe size设置过大,在单线程的情况下起不到提速作用。而设置过小又会产生多次IO操作。因此我们通过简化模型,将大部分请...

IT 算法/ 2011-12-14 13:30:11 / 累计浏览 1,867

趣题:用最少的点挡住所有可能的反射路径

    有一个正方形的房间,房间的四壁都是镜子。房间里有一个天使和一个恶魔。假设房间是一个单位正方形 [0, 1] × [0, 1] ,那么天使和恶魔便是这个正方形内的两个点 (a, b) 和 (c, d) 。恶魔想要在原地发射致命激光杀死天使(激光可以无限地在镜子间反射)。天使可以根据恶魔的位置,预先在房间里放置一些守卫为他挡住激光(守卫实际上也是一些点)。当然,天使可以在自己周围密密麻麻地放一圈守卫,围成一个...

IT 系统架构/ 2011-12-14 13:29:53 / 累计浏览 2,232

为 MogileFS 配置使用多个网络段/多数据中心

MogileFS 目前没有任何原生的功能来支持它运行在多个地的数据中心和使用多个 tracker. Tracker 可能运行在不同的网络,通过 ZoneLocal 插件,可以让你使用本地副本来服务的客户.并使用本地副本来复制。 当然,全部的 tracker 必须从同一个数据库来取数据。

IT 奋斗/ 2011-12-14 13:28:56 / 累计浏览 4,631

你不懂技术,如何领导我们

上周,我和公司里四个技术负责人中的两个一起给应聘公司副总裁职务的候选人进行面试。屋里了所有人――除了我――都是典型的“技术型”人才――他们能写代码,有解决编程难题的经验,有计算机专业背景。我写最后一行PHP代码已经是2004年的事了,而且那些代码被一个真正的程序员在半年内给重写了。

IT 用户研究/ 2011-12-11 16:30:21 / 累计浏览 2,045

问卷调查法的应用

一、为何选择问卷调查法 产品方对于此次用研项目提出的需求如下: 初看上去,需求比较多、比较杂,似乎无法用一个方法解决所有问题。经过反复和产品方的沟通交流,就能挖掘出他们心中最希望了解的内容。再整理一下,就变成下面的表格: 最终结果除了要展示出网易XX用户的上述情况,还涉及对调查对象的多种分类,以及不同类别用户在具体题目上的横向比较――这可能更为重要。 而问卷调查法特别适用于调查:用户的使用目的、使用行为...

IT 安全/ 2011-12-11 16:25:12 / 累计浏览 2,632

谁动了我的隐私 -- 隐私风险初探

随身携带你的隐私跑来跑去听起来是见很酷的事情,放在哪里都不如放在身边安心,加上现在智能手机的牛逼化,它已然成为日常生活中必不可少的设备,真的有那么一天移动设备消失了,也许我们连如何出行都会忘记。人类进步的另个体现就是越来越便捷的去做事情,曾经要回到家里,坐到电脑面前来处理的事情现在很多都可以随时随地的在移动终端上完成,这是我认为移动终端成为未来主导趋势的主要原因。

IT JavaScript/ 2011-12-11 16:22:24 / 累计浏览 3,738

闭包漫谈(从抽象代数及函数式编程角度)

如果Google一下“闭包”这个词,会发现网上关于闭包的文章已经不计其数,甚至很多人将闭包看做面试JavaScript程序员的必考题(虽然闭包和JavaScript没有什么必然联系)。既然如此,我为什么还要写一篇关于闭包的文章呢?首先,虽然网上关于闭包的文章甚多,但是很少以较为形式化的角度阐述闭包,而我认为理解闭包的关键之一就是从形式化角度理解其涵义;其次,大多数文章将闭包的概念与JavaScript语言绑定太死,这样容易局限对闭包...

IT 系统架构/ 2011-12-11 16:21:09 / 累计浏览 5,013

移动互联网api设计实践

过去一年时间里,都在做中国移动互联网下的API设计工作,所面对的情况可能是最具中国特色的了。如果你在尝试构架一整套的新的API供你的客户端使用,可以尝试以下的几点: 1)api所使用协议,要能够不怕被加js、加广告和各种代码。 全国各地的运营商,有习惯挂广告、加代码等等,要做的事情就是在客户端做各种解析判断。实践证明,这帮孙子的设备是检测http协议的head头里的content-type,如果是html/t...

IT PHP/ 2011-12-11 16:05:24 / 累计浏览 3,051

更简单的重现PHP Core的调用栈

以前, 我曾经介绍过如何通过PHP的Core文件获取信息:如何调试PHP的Core之获取基本信息, 对于调用参数这块, 当时介绍的获取方法比较复杂. 于是今天我为PHP 5.4的.gdbinit做了一个改进, 以后如果你遇到了PHP 5.4的core, 那么就可以简单的得到PHP 5.4发生Core时, 包括参数的函数调用栈的信息.