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

技术文章

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

技术文章精选

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

最新文章

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

IT 系统架构/ 2013-03-11 13:24:36 / 累计浏览 5,034

多核与异步并行

我们在设计多线程程序时往往有很多性能指标,例如低延迟(latency),高吞吐量(throughput),高响应度(responsiveness)等。随着多核处理器上CPU核数的日益增加,如何高效地利用这些计算资源以满足这些设计目标变得越来越重要。这次向大家介绍的异步并行就是一种帮助实现低延迟、高吞吐量和高响应度的并行编程技术。

IT Oracle/ 2013-03-11 13:21:48 / 累计浏览 4,452

undo异常事务回滚规则分析

undo事务具体是如何回滚,这里提供了大概的异常undo事务回滚的一个过程(更加准确的说,这个过程是在以下几种情况中发生的过程:1.数据库非正常关闭后启动,2.事务未提交会话终止),数据库先扫描所有回滚段,然后发现有事务未提交回滚段,然后根据这个回滚段定位到undo block,然后定位到data block,当一个undo block回滚完成之后,利用undo的链表规则完成下一个undo block的回滚操作,依次类此,从而实现数据库的回滚操作;回滚的过程是先回滚后操作的块(先进后出原则)

IT 编程语言/ 2013-03-11 13:21:03 / 累计浏览 3,044

程序语言之争与Java社区文化

早几年有Ruby粉抨击设计模式,如今王垠又来,还有各种框架之争、平台之争,不计其数,争吵到最后又归结到程序语言问题,最后程序语言问题又归结为两个: 1.语言A能做的语言B能做吗? 2.如果都能做哪个做起来更方便?

IT 网络系统/ 2013-03-11 13:20:00 / 累计浏览 11,931

HTTP协议Keep-Alive模式详解

我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HTTP协议为无连接的协议);当使用Keep-Alive模式(又称持久连接、连接重用)时,Keep-Alive功能使客户端到服 务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。

IT 互联网/ 2013-03-10 23:51:39 / 累计浏览 2,606

从WordPress看开源平台的发展

作为世界一流的开源平台,WordPress是个非常值得研究的对象,有太多可圈可点之处,这里和大家分享的只是我在TeamToy实践中验证过的一些细节,也希望更多的同学能从代码层次跳出来,从更高的层次上去理解开源和开放。

IT 设计思想/ 2013-03-10 23:50:08 / 累计浏览 2,168

设计产品的两种思路

做一个开放性的产品,围绕产品的目标,做各种有趣的功能,然后,等用户来发掘其中有用的部分。这种做法,很费功夫,而且对产品可用性的要求更高,但是当你没法一下子抓住用户的需求或者你做的是一个全新的领域的时候,这是唯一的选择。这种思路,叫做发现游戏规则。

IT 奋斗/ 2013-03-10 23:46:00 / 累计浏览 6,585

技术人员如何去面试?

每到了每年3月-5月的离职跳槽高峰期,不论什么level的程序员们都开始纷纷去考虑勾兑猎头跳槽投递简历应聘面试等等关乎自己工作事业等重大问题的忙碌上面了。本文探讨的主要是如何选择公司、如何面试、如何谈薪水等实际的问题,可能描述会有偏颇,仅供参考。

IT 网络系统/ 2013-03-07 13:56:01 / 累计浏览 7,330

nicstat 网络流量统计利器

前段时间看到brendangregg的 Linux Performance Analysis and Tools PPT里面提到的nicstat,研究了下是个不错的东西,分享给大家。

IT 系统架构/ 2013-03-07 13:54:53 / 累计浏览 3,865

实践中的重构

许多人问过我这样的问题,要不要拿出专门的时间做重构。作为一个程序员,重构就应该和写代码、写测试一样,是我们日常工作的一部分,只要你写代码,就应该重构。特别是当你在做TDD的时候,如果你只写测试,编代码通过,对不起,那根本不叫TDD,那叫测试先行。目前为止,我还没有见过一个程序员,包括我自己在内,写代码是一遍就写得非常整洁,无需重构的。通常都是第一遍写出的代码只能实现功能,然后,把它重构得符合整洁的要求。这里要说的重点是,别讨论专门拿时间做重构,那就是你日常工作的一部分。

IT 算法/ 2013-03-07 13:53:31 / 累计浏览 3,124

JVM内存分配与回收策略

对象的内存分配,就是在堆上分配(但也可能经过JIT编译后被拆散为标量类型并间接地在栈上分配),对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按线程优先在TLAB上分配。少数情况下也可能会直接分配在老年代中,分配的规则并不是百分之百固定的,其细节取决于当前使用的是哪一种垃圾收集器组合,还有虚拟机中与内存相关的参数的设置。

IT 算法/ 2013-03-07 13:52:09 / 累计浏览 3,529

JVM垃圾收集算法

算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象(如果对象在进行根搜索后发现没有与GC Roots相连接的引用链,对象将会被标记)。它是最基础的收集算法,因为后续的收集算法都是基于这种思路并对其缺点进行改进而得到的。它的主要缺点有两个:一个是效率问题,标记和清除过程的效率都不高;另外一个是空间问题,标记清除之后会产生大量不连续的内存碎片,空间碎片太多可能会导致,当程序在以后的运行过程中需要分配较大对象时无法找到足够的连续内存而不得不提前触发另一次垃圾收集动作。

IT 发现/ 2013-03-07 13:47:34 / 累计浏览 1,307

textmate常用快捷键备忘

按住Option,用鼠标选择要插入字符的行。如果仅仅插入字符,注意选择0列,选择多列的话会把它们覆盖掉。选择完毕应该看到一条细细的竖线,然后输入要插入的字符。TextMate 会实时显示所有的更改。

IT 发现/ 2013-03-05 13:29:18 / 累计浏览 2,087

移动产品设计书籍推荐

这是我曾经在知乎上对一个问题的回答,最近也有好几个朋友在公号里向我提问,对于做移动产品设计,有没有一些比较值得一读的书来推荐。我把这个问题重新梳理了一下,更新到这里。

IT 系统运维/ 2013-03-05 13:28:38 / 累计浏览 9,173

Linux常用性能调优工具索引

​前段时间看到brendangregg的 Linux Performance Analysis and Tools PPT里面提到Linux常用性能调优工具, 见文中的图。其中提到了的工具,大部分在我日常工具箱里或者在实践的案例里面使用过, 都有很高的价值,这里方便大家索引。

IT 算法/ 2013-03-05 13:24:00 / 累计浏览 4,466

开源压缩算法Zopfli介绍

最大的特点是压缩好的数据和zip兼容,也就是说目前标准的zip uncompress算法都能解开,看起来比较适合web服务器的数据存储,降低成本,虽然只有3-8%点的提高,但是数据规模大了,还是很可观的。

IT 发现/ 2013-03-05 13:22:27 / 累计浏览 2,565

选3本书推荐给新入行的PM

有人问,新入行做产品,有哪些书可以推荐。我从设计、产品、运营3个部分分别选了一本做参考。

IT JavaScript/ 2013-03-05 13:17:59 / 累计浏览 4,189

jQuery选择器探讨进阶

在jQuery中,当用户把选择器表达式作为参数传递给$()函数时,jQery的Sizzle先对这个选择器表达式进行语法分析,然后再决定如何获得表达式所代表的这些元素。在框架底层,Sizzle应用了浏览器所支持的最高效的DOM 方法来获取一个节点列表(nodeList),这个节点列表是一个类似于数组的对象的DOM元素的集合

IT JavaScript/ 2013-03-05 13:16:08 / 累计浏览 4,165

jQuery事件编写进阶

事件委托,是一种优化DOM元素事件绑定的技巧,利用事件冒泡的原理,通过绑定事件到父元素,检查event触发元素的target,最终执行相应的事件函数处理,它的几个好处一般前端开发程序员都知道。在jQuery中,一般是delegate()方法和.live()方法,但是,如何选择事件委托的方法,或者在什么情况下用.live(),什么情况下用.delegate(),这个值得讲一讲。