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

技术文章精选

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

最新文章

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

IT 系统运维/ 2013-11-19 23:19:55 / 累计浏览 3,946

Intel 10-GbE 网卡性能优化[翻译]

默认情况下,Linux网络被配置成最佳可用性状态,但不是最佳性能状态。对于一个10GbE的网卡来讲,这是尤其明显的。内核的 send/recv 缓冲区,tcp堆栈的内存分配策略和 数据包的队列都设置的太小,以至于它们不能工作在最佳的性能状态。下面所做的一些测试和优化,希望能够给你的网卡带来一定的性能提升。

IT 发现/ 2013-11-19 23:18:48 / 累计浏览 2,544

两两接触的等粗且无限长的圆柱体

大家在吃饭喝酒时是否注意到了这样的事情:三个人碰杯时,每个人的杯子都能同时和其他两个人的杯子相接触,很完美;但是四个人碰杯时,任一时刻总会有两个人碰不到杯,非常尴尬。有一次和三个好朋友吃饭,四人碰杯时又发生了这种尴尬的情况,突然有一个人异想天开,把他的杯子放到了另外三个杯子的上面,从而实现了四个杯子两两接触!我们自然引出了这样一个问题:如果 n 个全等的圆柱体两两相接触,则 n 最大是多少?

IT CSS/HTML/ 2013-11-06 23:32:18 / 累计浏览 19,667

响应式网页设计

响应式网页设计最初是由 Ethan Marcotte 提出的一个概念:为什么一定要为每个用户群各自打造一套设计和开发方案?Web设计应该做到根据不同设备环境自动响应及调整。当然响应式Web设计不仅仅是关于屏幕分辨率自适应以及自动缩放的图片等等,它更像是一种对于设计的全新思维模式;我们应当向下兼容、移动优先。

IT 系统运维/ 2013-11-06 23:28:21 / 累计浏览 5,287

加速scp传输速度

当需要在机器之间传输400GB文件的时候,你就会非常在意传输的速度了。默认情况下(约125MB带宽,网络延迟17ms,Intel E5-2430,本文后续讨论默认是指该环境),scp的速度约为40MB,传输400GB则需要170分钟,约3小时,如果可以加速,则可以大大节约工程师的时间,让攻城师们有更多时间去看个电影,陪陪家人。

IT 发现/ 2013-11-05 23:26:58 / 累计浏览 4,685

个人订阅的10佳博客与相关介绍

在过去的几年,对于自己订阅的所有博客,我基本上做到每天都看,因此对每个博客的内容有了一定的了解。本文,就准备根据个人的经验,从订阅的这200个博客中,挑选出10个出来,并且为每个挑选出的博客,附上个人对其的简单介绍。一来算是对过去的一个归纳与总结,二来也可以帮助大家更好的挑选。

IT 系统运维/ 2013-11-01 13:59:43 / 累计浏览 16,051

Linux如何统计进程的CPU利用率

在Linux的/proc文件系统,可以看到自启动时候开始,所有CPU消耗的时间片;对于个进程,也可以看到进程消耗的时间片。这是一个累计值,可以"非阻塞"的输出。获得一定时间间隔的两次统计就可以计算出这段时间内的进程CPU利用率。

IT 系统运维/ 2013-11-01 13:56:41 / 累计浏览 16,848

记录一个软中断问题

前些天发现XEN虚拟机上的Nginx服务器存在一个问题:软中断过高,而且大部分都集中在同一个CPU,一旦系统繁忙,此CPU就会成为木桶的短板。

IT 编程语言/ 2013-11-01 13:54:26 / 累计浏览 1,983

Python语言的创始人解释为什么Python数组的索引从0开始

最近有人在Twitter是问我为什么Python使用以0为第一位的数组索引方式(以下简称0-based),并让我看一篇关于这个主题的文章(很有趣)。这引起了我不少的回忆。ABC语言——Python的祖先之一,使用的是以1为第一为的索引方式(以下简称1-based),而C语言——另一种对Python有影响巨大的语言,使用0-based方式。

IT 其他/ 2013-11-01 13:52:54 / 累计浏览 24,383

Linux大棚版Thrift入门教程

thrift的全名叫做Apache thrift,是一款软件开发RPC框架,可以很高效地实现跨语言的RPC服务。

IT 奋斗/ 2013-10-29 23:07:34 / 累计浏览 2,342

(续)为什么很多技术合伙人参与创业时会先谈钱?

一般的创始人都会想:“我只要把想法和规划设想出来,剩下的都是技术合伙人的事情了。”但技术人员一般不会这么认为,他们更倾向于有人把产品原型做出来,自己去做技术实现那部分的事情。甚至大公司的技术人员已经习惯设计人员把全部页面都切好,自己再开始写逻辑代码。

IT 系统运维/ 2013-10-29 23:04:41 / 累计浏览 1,825

MooseFS之虚拟机惹的祸

MooseFS的Master是单线程的程序,并不能发挥多核CPU的优势,由于大部分的处理逻辑都是内存操作,因此并不会存在太大的问题,但一旦涉及到磁盘I/O就有可能导致阻塞,严重的话整个集群会瘫痪掉,因此不建议把Master放在虚拟机中。

IT 系统运维/ 2013-10-29 23:04:06 / 累计浏览 1,544

解决HDFS磁盘扫描导致死亡结点的问题

在Hadoop集群从1.0升级到2.0之后,我们一直在解决很多很多的问题。在今年8月初,我们检测到线上频繁有机器变成死亡结点,一段时间后自动恢复。进入死亡结点状态的DataNode将不能读写数据块。我们观察了一下日志,看到DataNode中打印出很多接受数据快传输的线程(DataXceiver),线程都是在Receiving的状态,而没有结束。估摸了一下在死亡结点发生的阶段大约有300个左右的线程积累下来。但是,没找到其它突破口。

IT 发现/ 2013-10-29 23:03:22 / 累计浏览 3,168

代码审查不是用来……

在我们公司里要执行代码审查。这是我们每天的例行工作。事实上,今天的我们正是从这种一直坚持探索的漫长道路上走出来的。我们尝试各种技术、方法和工具,直到我们走到今天的成就(但这并不是说我们就此停步)。

IT 系统架构/ 2013-10-29 23:02:33 / 累计浏览 3,886

Web 开发程序员谈网游服务器开发

今天参加了一个和某网游开发团队的交流, 感受到了网游开发和 Web 开发之间的巨大差异, 所以我写了本篇博文. 传统的网游开发者可能由于更大的精力放在游戏逻辑上面, 并且因为游戏客户端是一个高度内聚逻辑复杂的终端程序, 所以网游开发者在开发服务器端的时候, 也容易把客户端的经验放在服务器端, 很少考虑动态可扩展性和服务容灾性.

IT Linux/ 2013-10-29 23:01:45 / 累计浏览 24,288

Bash的模式和配置文件加载

有些很基础的东西,一直以来也就没有搞懂,其实,究其原因,还是不求甚解。关于Bash的种种,便是如是。接下来,我来过一点man里面有的东西,经常看man的人,就请自动飘过吧。 Bash是shell的一种,运行中的Bash有两种属性(状态/模式),一种,是否interactive shell(交互式Shell),另一种,是否login shell(登录Shell),然后,运行中的Shell排列组合有这么几种....

IT 算法/ 2013-10-29 23:00:59 / 累计浏览 13,969

二维码的生成细节和原理

二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇文章 ,揭露一下。供好学的人一同学习之。

IT 算法/ 2013-10-29 12:24:22 / 累计浏览 2,325

怎样把一个钝角三角形分成若干个锐角三角形

这是我最喜欢的几何谜题之一:你能否在纸上画一个钝角三角形,然后把它分割成若干个锐角三角形?令人难以置信的是,这竟然是可以办到的!继续看下去之前,大家不妨先自己想一会儿。

IT 编程语言/ 2013-10-29 12:23:14 / 累计浏览 23,486

一种常见的并发编程场景的处理

对于并发编程,大家想到总是多线程之间对等的临界资源竞争。然而经常会遇到下面这样的场景: 守护线程提供一个临界资源,多个子线程会并发改写该临界资源。大部分时候(99.9%的时间),主线程是不会干涉各个线程之间的竞争的,通常只要该临界资源自己内部处理好同步即可。但是偶尔主线程也会干预一下该临界资源,比如做一些统计,做一个快照,或者复制数据然后清空等。这个操作通常会耗时比较长,并且在此期间不希望有人改写临界资源。如果,主线程与各个子线程使用同样的锁或者synchronized同步,那么在主线程没有作该操作时,各个子线程之间会因为竞争而阻塞,这个阻塞开起来是没有必要的。