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

技术文章

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

技术文章精选

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

最新文章

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

IT Apache/ 2011-07-06 23:44:05 / 累计浏览 7,198

给Apache做压力测试时遇到的问题

最近,在Linux上对Apache-2.1.16做了一下压力测试;只访问一个简单的hello world静态文件,做了多次,每秒处理请求次数才700左右;一定是哪里出现了问题,因为: 1. 虽然load很高,但是cpu和io都很低,这种现象就比较奇怪 2. client端的负载很低 3. 曾经有过 2000/s的测试,而且当时的机器配置比现在的要差的多当我使用同样的方法对nginx做测试的时候,nginx可以达到 2.2w/s 。无奈之下,只好又把strace请出来了,发现写日志的...

IT 系统架构/ 2011-07-06 23:41:25 / 累计浏览 8,944

Python抓取框架:Scrapy的架构

最近在学Python,同时也在学如何使用python抓取数据,于是就被我发现了这个非常受欢迎的Python抓取框架Scrapy,下面一起学习下Scrapy的架构,便于更好的使用这个工具。 一、概述 下图显示了Scrapy的大体架构,其中包含了它的主要组件及系统的数据处理流程(绿色箭头所示)。下面就来一个个解释每个组件的作用及数据的处理过程。 二、组件 1、Scrapy Engine(Scrapy引擎) Scrapy引擎是用来控制整个系统的数据处理流程,并进行事务...

IT 用户研究/ 2011-07-06 23:40:41 / 累计浏览 3,329

APP升级习惯调查

一个月以前,和三位同行在星巴克见面,聊一些关于APP的事情。我很吃惊地发现,他们中的两位用iPhone却很少升级APP。少到什么地步呢?一位姑娘从不升级APP,不好用就删掉呗;另一位姑娘每半年或一年批量升级一次。问:为什么不升级?答:为什么要升级?又答:不升级才是正常态吧?如果这样的用户是“正常态”,那么APP敏捷发布,快速迭代岂不就变成了一个笑话。你后面越做越强有屁用啊,人家都不升级。第一印象决定了产品命运。我自...

IT Linux/ 2011-07-06 23:39:42 / 累计浏览 3,213

进程的一生

随着一句fork,一个新进程呱呱落地,但它这时只是老进程的一个克隆。然后随着exec,新进程脱胎换骨,离家独立,开始了为人民服务的职业生涯。人有生老病死,进程也一样,它可以是自然死亡,即运行到main函数的最后一个"}",从容地离我们而去;也可以是自杀,自杀有2种方 式,一种是调用exit函数,一种是在main函数内使用return,无论哪一种方式,它都可以留下遗书,放在返回值里保留下来;它还甚至能可被谋杀,...

IT 算法/ 2011-07-06 23:36:59 / 累计浏览 2,635

网络编程中Nagle算法和Delayed ACK的测试

Nagle算法的立意是良好的,避免网络中充塞小封包,提高网络的利用率。但是当Nagle算法遇到delayed ACK悲剧就发生了。Delayed ACK的本意也是为了提高TCP性能,跟应答数据捎带上ACK,同时避免糊涂窗口综合症,也可以一个ack确认多个段来节省开销。 悲剧发生在这种情况,假设一端发送数据并等待另一端应答,协议上分为头部和数据,发送的时候不幸地选择了write-write,然后再read,也就是先发送头部,再发送数据,最后等待应答。发送...

IT 设计思想/ 2011-07-06 23:33:55 / 累计浏览 2,497

客户端UI设计之手机平台之争

1. 当前手机平台的争锋 为了占领移动互联网的制高点,当前的几大IT巨头都以手机平台为基础展开争夺。占领移动平台就是占领了用户的移动桌面,也就为自身的移动服务争取到了最佳位置。 微软公司推出windows phone 7, 曝光了windows 8;苹果公司也开了iOS 5的发布会;谷歌的Android 3.0的发布,Android 2.4 的若隐若现等等;大家都在努力提升平台体验。另外,惠普的Web OS、黑莓公司也都在研制和发布新平台,也引起了业内...

IT JavaScript/ 2011-07-05 23:21:25 / 累计浏览 1,873

7款实用的Javascript代码高亮脚本

代码高亮很有用,特别是在需要在网站或者blog中显示自己编写的代码的时候,或者给其他人查看或调试语法错误的时候。我们可以在显示中支持代码高亮,以便于阅读者可以十分方便的读取代码块、增加用户阅读代码的良好体验。

IT 系统架构/ 2011-07-05 23:21:01 / 累计浏览 5,361

Quora使用到的技术

以前向大家介绍过Stack Exchange的系统架构和Facebook的系统架构,今天和大家说说Quora的。本文主要参考了Phil Whelan的这篇文章《Quora’s Technology Examined》。关于Quora是个什么网站我就不多说了,国内对他的C2C网站叫“知乎”。呵呵。我们还是来看看Quora的技术吧。 Search-Box Quora只能搜索问题,主题标签,用户名,和主题标题。没有全文搜索,所以,你无法搜索问题和答案的内容。而搜索中使用前缀搜索方式,比如你...

IT MySQL/ 2011-07-05 23:17:45 / 累计浏览 3,392

MySQL数据库优化实践

最近一段时间,我们整理了一些关于Percona,Linux,Flashcache,硬件设备的优化经验,分享给大家:硬件 1.开启BBWC RAID卡都有写cache(Battery Backed Write Cache),写cache对IO性能的提升非常明显,因为掉电会丢失数据,所以必须由电池提供支持。电池会定期充放电,一般为90天左右,当发现电量低于某个阀值时,会将写cache策略从writeback置为writethrough,相当于写cache会失效,这时如果系统有大量的IO操作,可能会明显感觉到...

IT 算法/ 2011-07-05 23:16:59 / 累计浏览 2,678

如何将TTURLRequest和OAuthConsumer搭配使用

TTURLRequest是three20开发框架提供的一个url请求类,它是NSURLRequest类的扩展,有如下优点: post数据方便,只需要构建一个参数的dictionary就可以了,像get方法一样简单支持磁盘缓存,而NSURLRequest仅支持内存缓存

IT 信息和交互/ 2011-07-05 23:15:50 / 累计浏览 3,315

触摸屏输入的交互设计

触摸屏手机输入时会在界面绘制虚拟键盘,用于输入字符,可以使用在所有应用程序中。特别是在短信和邮箱等需要频繁输入文字时,其输入速度直接影响用户操作效率。 缺点 但是同样全键盘输入,触摸屏没有物理按键效率高,原因在于: 1.输入法需要定位手指的位置,比如双手操作电脑键盘时,左手食指定位在F键,右手中指定位在J键,而触摸屏无法像按键的凸点或者输入感觉定位,难以形成高效的盲打。 2.触摸屏本身点击没有物理按键精准,...

IT CSS/HTML/ 2011-07-05 23:15:06 / 累计浏览 3,680

推荐三十款CSS样式选择器代码

你也许已经掌握了id、class、后台选择器这些基本的css选择器。但这远远不是css的全部。下面向大家系统的解析css中30个最常用的选择器,包括我们最头痛的浏览器兼容性问题。掌握了它们,才能真正领略css的巨大灵活性。UED163推荐三十款CSS样式选择器代码,值得收藏。

IT 算法/ 2011-07-05 23:14:34 / 累计浏览 5,069

geohash:用字符串实现附近地点搜索

上回说到了用经纬度范围实现附近地点搜索。一些小型应用中这样做没问题,但在大型应用中它有个显著的缺点:速度慢。慢的原因有两个,第一是范围比较的索引利用率并不高,第二是SQL语句极其不稳定(不同的当前位置会产生完全不同的SQL查询),很难缓存。可以考虑使用geohash算法。 geohash是一种地址编码,它能把二维的经纬度编码成一维的字符串。比如,北海公园的编码是wx4g0ec1。 geohash有以下几个特点:首先,geohash用一个...

IT 奋斗/ 2011-07-05 23:13:44 / 累计浏览 6,780

在百度的第一年

半夜精神有些亢奋,混乱的思绪在脑袋里滚来滚去,没来由地忽然想起在百度这一年。想起这一年可以总结为:前半年拼命给自己揽事儿,后半年尽量往外推事儿。 我是去年大约这个时候加入(←_←这词儿帅吧)百度的,职位是商务搜索部的分布式计算工程师。可惜那时候我对分布式系统的理解还仅限于一本老套的教科书。 我加入的项目组当时致力于设计一套高可用、会话一致、高性能、易用的海量分布式类SQL数据库,因而我们花了很长时间去调...

IT 安全/ 2011-07-01 14:06:13 / 累计浏览 4,016

新浪微博的XSS攻击

2011年6月28日晚上,新浪微博出现了一次比较大的XSS攻击事件。大量用户自动发送诸如:“郭美美事件的一些未注意到的细节”,“建党大业中穿帮的地方”,“让女人心动的100句诗歌”,“3D肉团团高清普通话版种子”,“这是传说中的神仙眷侣啊”,“惊爆!范冰冰艳照真流出了”等等微博和私信,并自动关注一位名为hellosamy的用户。 事件的经过线索如下: 20:14,开始有大量带V的认证用户中招转发蠕虫 20:30,2kt.cn中的病毒...

IT 系统运维/ 2011-07-01 14:05:07 / 累计浏览 9,896

Linux服务器性能评估

对以磁盘IO性能,一般有如下评判标准:正常情况下svctm应该是小于await值的,而svctm的大小和磁盘性能有关,CPU、内存的负荷也会对svctm值造成影响,过多的请求也会间接的导致svctm值的增加。await值的大小一般取决与svctm的值和I/O队列长度以及I/O请求模式,如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢,此时可以通过更换更快的硬盘来解决问题。%util项的值也是衡量磁盘I/O的一个重要指标,如果%util接近100%,表示磁盘产生的I/O请求太多,I/O系统已经满负荷的在工作,该磁盘可能存在瓶颈。长期下去,势必影响系统的性能,可以通过优化程序或者通过更换更高、更快的磁盘来解决此问题。

IT 信息和交互/ 2011-07-01 14:02:36 / 累计浏览 2,780

LBS产品的信息架构优化

LBS产品与浏览器与IM等产品相比,技术难度较小,但界面的层级关系更复杂。以大众点评为例,包含了查找、搜索、签到和优惠券等功能和信息,也可以看出组织界面的层级关系是以依靠产品本身的功能和信息去区分,这种方式在Symbian按键手机中尤为常见,依照功能使用的频率依次排列,优点是扩展性较强,功能增多可以将首页变为4×4的icon,但这不是最优方案。 一是这种架构方式的明显缺陷在于导致页面跳转增多,切换功能必须返回首页。

IT 奋斗/ 2011-06-30 23:57:17 / 累计浏览 10,420

架构师的思考

当一个系统越来越大之后,就需要一个架构师了。 架构师需要考虑的问题有很多,考虑的广度和深度,决定了架构师的高度,和系统架构的高度。 单单实现一个功能,实现一个系统,其实都是再简单不过的事情。很多体力活,拷贝,粘贴,输入,编译,调试,打包,部署,测试,无非就是这些。 但,维持一个大的在线的系统,更重要的不是这些,而是出各种异常情况的时候,系统的表现如何。 比如,数据库主库挂了,系统是完全不可用,还是能够...

IT 用户研究/ 2011-06-30 23:56:42 / 累计浏览 2,131

调研问卷中多选题的分析方法探讨(2)

引子 使用调研问卷的定量研究中,为了更全面地了解研究内容、更广泛地收集信息,经常会用到多选题,但由于多选题多指向性的特点,除了频数表和交叉表(只能与单选题做交叉),较少用到其他的分析方法,损失了很多有用的信息。其实,如果调研时能善用多选题,并在分析时选取适当的方法,就能够充分利用多选题包含的信息,得到更有价值的结论。 上一篇文章谈到调研问卷中带有分类性质的多选题如何进行分析,本文将侧...

IT 系统运维/ 2011-06-30 23:55:34 / 累计浏览 3,033

linux 单用户模式

Linux的单用户模式对于一个系统管理员来说,是必需要掌握的系统恢复模式。比如系统引导文件出错,忘记管理员Root密码,进行文档修复都是很必要的修复模式。对于不同的开机引导模式lilo或者Grub也好,进入单用户模式的方法大同小异。 ◆1. 若是使用 lilo 引导开机者,以下命令任意均可: 请在开机出现 boot: 时,