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

技术文章

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

技术文章精选

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

最新文章

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

IT 算法/ 2011-05-25 13:41:04 / 累计浏览 3,443

僵尸对象或 RAII

我最近在想这个问题,到底要不要在程序中使用异常? 以前写的 C 代码比较多,即使写 C++,基本上也是把它当成 C with object …

IT Linux/ 2011-05-25 13:38:40 / 累计浏览 4,236

.bash_pfofile、.bash_logout和.bashrc

Linux环境下,.bash_profile、.bash_logout和.bashrc这些文件对bash有特殊含义。它们在用户登录或调用另一bash shell时给出了一种自动建立其登录账号环境的方式,并且允许退出时执行各种命令。之前一直搞不懂 .bash_profile和.bashrc之间的关系是啥样子的。今天抽空看了一下书,记录一下。首先,有的兄弟可能会奇怪的说,自己的主目录下面并没有这几个文件。那初始环境用的是啥子呢?如果这些文件不存在,用户登录使用默认系统文...

IT 系统架构/ 2011-05-25 13:33:41 / 累计浏览 1,830

一种oracle2hdfs的数据推送思路

近期准备迁移一台旧机器上的应用,发现以前搞的一个从oracle数据库推送数据到hadoop hdfs里的程序,share思路给大家。 基本的思路流程如下: 按rowid切分oracle table

IT 奋斗/ 2011-05-25 13:32:56 / 累计浏览 2,578

如何管理你的程序员

以一个组织的形式完成项目、任务或实现某些目标,这被称作公司,这需要有完善的信息流转机制和长期的规划。过程管理在这种组织里是一个非常复杂的问题。这就是为什么这些年会出现了大量的诸如Scrum, Kaizen, Kanban等技术和方法论来尽可能简化这个过程。简言之,这些东西都是用来最有效的发掘你的员工的全部潜能的。 你有了一个领导 基于此,我们通常会有一个重要人物...

IT 系统运维/ 2011-05-25 13:32:20 / 累计浏览 3,272

PostgreSQL 9.1的新特性

著名的开源关系型数据库PostgreSQL本年度的发行版,也就是PostgreSQL 9.1的第一个beta版本,于五月二号正式出炉。而新版本所包含的许多新特性肯定会令世界上的数据库发烧友们欣喜若狂的。新特性如此之多,我们肯定不能在这篇文章中全部介绍,因此我挑选了四个比较有意思的新特性呈现给大家:事务控制的同步复制去年,PostgreSQL 9.0首次在PostgreSQL中引...

IT 视觉设计/ 2011-05-25 13:31:49 / 累计浏览 1,974

网站正在建设中提示页面设计欣赏

当网站正在建设中的时候,一般会给出一个提示页面,这个提示页面的设计其实是很有讲究的,设计得好的话可以让访问者密切关注网站的上线时间进而在正式推出的时候获得很多的回访流量。

IT 编程语言/ 2011-05-25 13:28:50 / 累计浏览 3,401

异常的代价

最近在dynaTrace上出现了一场关于异常(Exception)的代价的大讨论。在跟一些客户的接触中,我们经常的发现他们的代码里有大量的异常处理,自己都不知道。在移除了这些异常后,程序的运行速度比以前有大幅度的提高。这让我们产生了一种假想,程序中的异常处理语句是否给性能带来了巨大的开销?由此得出的推理会是,应该避免使用异常处理。由于异常处理是一个非常重要的处理错误情况的概念,完全的避免使用异常处理看起来并不是一种好的办法。总的来说,我们有充足的理由来近距离的观察一下异常的成本代价。

IT JavaScript/ 2011-05-25 13:28:11 / 累计浏览 3,495

insertContent-在文本框光标位置插入内容并选中

在文本框光标位置插入内容在实际的项目应用中经常用到,比如在文本框插入表情,首先要获取光标在文本框中的位置,当然这个有浏览器兼容性问题。 IE下可以通过document.selection.createRange();获取光标位置,代码也很简单: if (document.selection) { pos = document.selection.createRange(); pos.text = "要插入的字符串"; } Firefox浏览器则稍微负责一点,需要首先获取光标位置,然后对value进行字符串截取处理。

IT 其他/ 2011-05-25 13:26:41 / 累计浏览 3,736

等待的时间比你想象的更久

今天学到的一个比较有趣的东西就是:平均等待时间往往大于平均间隔时间的一半。     比方说,有这么一趟公交车,平均每 10 分钟发一班车,但具体的发车时间是很不固定的。如果你在某个时刻来到车站,等到下一班车平均要花多久呢?很多人或许都觉得,...

IT 视觉设计/ 2011-05-25 12:39:01 / 累计浏览 1,608

生活中的极简设计

“从有到无,从无到有,这是我们这一代在消费爆炸、名牌泛滥当中出生入死挣扎升华的集体私家体会。定一定神,我们才知道其实真正简单的干净是何等的美好。”这是设计师欧阳应霁曾说过的一句话。每个设计师都可能经历过这么一个过程,当被眼前多元化的图形和繁杂的颜色搅乱到找不到北的时候,重新回到最原始的画面,也许它像一张白纸,从最本质最原生的状态出发,足以让它生根发芽,甚至开花。在这个浮躁的城市,周围越来越多的事物...

IT 视觉设计/ 2011-05-25 12:38:42 / 累计浏览 2,600

移动界面隐喻设计

界面是什么? 是的,有些时候,我就在想这个简单的问题,而那时我的答案还是:界面是对软件应用解决方案的显性,使用图形化符号,向使用者解释它的功能与任务。 但最近一些认知却让我对这个问题有了新的回答:界面就是软件应用它本身。它不是一份对软件应用功能的图形化说明书,不是对软件应用功能与任务的图形化翻译,它就是软件应用本身,并且与之浑然天成。 一个简单的问题,仅仅从展开的iPad文件夹时界面的呈现,你觉得,有多...

IT MySQL/ 2011-05-25 12:37:53 / 累计浏览 6,981

Using MySQL as a NoSQL

由于 MySQL 的局限性,很多站点都采用了 MySQL+Memcached 的架构。另外一些站点放弃 MySQL 而采用 NoSQL,比如 TokyoCabinet/Tyrant 等。不可否认,在做一些简单查询 (尤其 PK 查询) 的时候,NoSQL 比 MySQL 要快很多很多。而且网站上的绝大多数查询都是这样的简单查询。 像其他大规模的公司一样,DeNA 也面临过类似的问题。但最后...

IT 视觉设计/ 2011-05-25 12:36:37 / 累计浏览 3,654

URL 设计准则

T.cn 短链项目上线,log 发现很多奇形怪状的 url ,进而引起了各种莫名其妙的 bug。为了兼容它们,本来整洁的代码被种种 work around 弄的面目全非。找到一篇 URL 设计准则,转载于此,与大家共勉。   URL 设计是 Web 设计中常被忽视的东西,事实上 URL 非常重要,这不仅是一个网页唯一的路径,还涉及到你的站点是否干净,友好。本文讲述 URL 这个司空见惯的 Web 元素中包含的大量不应为忽视的知识,准则与最佳实践。需要注...

IT 系统运维/ 2011-05-25 12:35:46 / 累计浏览 3,613

本周扑火之 http client 慢连接问题

短链服务自从上线到现在,已经出了 5 回故障了: 第一次,某著名的刚过百年的大学,紫荆公寓的一个哥们,写了一个诡异的抓站程序,发出来的 http 请求不合法,导致 jetty 缓冲区出错(微博上的直播)。给 Jetty 提了一个 bug,但开发人员说没法重现。我自己写的程序也没法重现当时的情形。自己写了一个 Utf8StringBuilder,覆盖了 Jetty 的版本,增加了出错重置功能,就算 fix 了。 第二次,log 把磁盘写满了。运维人员的低级失误...

IT 系统运维/ 2011-05-25 12:35:12 / 累计浏览 5,152

本周扑火之 redis 不给力

Social Graph 高速接口,当前我们使用 Redis 存储。但在实现的过程中,发现了诸多的问题。 48G 内存的机器上部署了 2 个 Redis 进程,一个 Redis 占用超过 21 G 内存后,在快速写入的过程中同时进行一次 bgsave ,就将机器给弄挂了(微博上的直播)。我们对 Redis 的监控远不如对 Mysql 之类的完善,以至于 Redis 机器假死,居然没有触发任何的报警。 在经过几天的 debug 后,终于找到了问题所在,复杂的上线流程:源码 svn 合 tru...

IT 系统运维/ 2011-05-25 12:33:30 / 累计浏览 4,674

Hadoop超级安装手册

安装Hadoop并不困难,官方文档也给的还算详细。最近同事练习安装还是会遇到一些问题,最后我们整理出来傻瓜版安装手册,帮助你0基础成功。

IT MySQL/ 2011-05-25 12:31:13 / 累计浏览 2,328

sql_slave_skip_counter参数

sql_slave_skip_counter这个全局参数,维护过主从架构的DBA一定都不陌生,当从库的sql_thread被意外中断,你又想尽快恢复主从间的正常复制,就会用到这个参数;这个跳过的后果就是,你的业务要能容忍这个跳过所带来的丢失,也就是主库和从库上的数据将会不再一致,尽管之后你的主从同步又正常,其实严格意义上,这个从库已经没有意义了,无论是去备份还是对外提供读的服务,也就是说“她”已经不在纯净。那么,这个参数具体是什么...

IT 奋斗/ 2011-05-25 12:29:42 / 累计浏览 3,194

软件开发人员如何转型做产品管理?

本文节选自《启示录:打造用户喜爱的产品》一书和作者的博客,并发表在《程序员》杂志11年05期,作者Marty Cagan是享有世界声誉的产品管理专家,曾经担任网景副总裁、eBay产品管理及设计高级副总裁。译文由七印部落出品,原文太长,分次转载一下,本次挑一个不少开发人员更感兴趣的主题――软件开发人员如何转型做产品管理。

IT 奋斗/ 2011-05-25 12:28:18 / 累计浏览 1,653

做基础产品的体会

一个公司大了,总有部分人要去做一些通用的东西给大家用,我这里说的基础产品就是这类通用性质的东西,不一定高科技,但是一定很多人依赖你的东西来完成各种各样的功能。做这样的东西,有些体会可以说下。 首先,能集中存储的,就不要分布存储,数据集中存储有单点的危险,但是比之分布式存储带来的复杂度不可同日而语。况且集中式的存储也可以利用各种机制做备份,所谓单点风险远没有想象中那么大。 其次,能利用开源框架的,就不...

IT 系统运维/ 2011-05-25 12:28:02 / 累计浏览 3,889

Hadoop安装端口已经被占用问题的解决方法

在测试安装hadoop的时候,通常会遇到大家在同一批机器上安装hadoop的情况,这样的话会有端口已经被占用导致安装不成功的情况出现。 Hadoop日志会提示这种错误: ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task tracker because java.net.BindException: Address already in use   在这种情况下,最好的方法就是在配置环境时把所有的端口配置都进行修改。 在hadoop 0.20版本会涉及到3个配置文件: core-site...