172013-05
前两天,为了跑步时不用带手机,我特地去网上买了一块卡西欧AE-2000W,当时挑选了很久,但戴在手上没两天,我就不想带了。 这是为什么呢? 是因为电子手表不方便吗?不是,手表比手机要方便,手机要操心放在哪个口袋,手表一直在手腕上。 是因为手表的功能问题吗?其实卡西欧的手表提供的功能已经大大超过我的预期,基本的计时、秒表、世界时钟、防水都大大超过我的预期。我估计很难带着这个表走...
发布于 2天前,
阅读(14) | 评论(0) | 投票(0) | 收藏(0)
阅读全文...
152013-05
http://zhouxiaohu.blogbus.com/logs/1115748.html BitKeeper姻缘了断 2005-04-13 14:32 维持数年的BitKeeper与Linux的关系最终还是落入了好莱坞明星婚姻式的结局。他们曾经相得益彰,最后却走到这个遗憾的地步。kerneltrap这篇Feature: No More Free BitKeeper 做了一个完整的回顾。(与原文有改编) 1999年12月,Linux PowerPC项目首先开始使用BitKeeper--这个非开源但是有条件免费的版本控...
发布于 4天前,
阅读(0) | 评论(0) | 投票(0) | 收藏(0)
阅读全文...
122013-05
最近微博上很火的现实版的钢铁侠Elon Musk http://tech.caijing.com.cn/2013-05-12/112768934.html 和他公司最近推出的神车: http://club.autohome.com.cn/bbs/thread-c-2357-19690039-1.html 然后我看了水木社区的一些讨论: http://www.newsmth.net/nForum/#!article/AutoWorld/1936440496?p=1 既有正面的也有负面的。 Musk做了不少事情,作为一个企业家他是成功的,包括paypal,spaceX,甚至于今天的Tesla。 为什么他能成功...
发布于 7天前,
阅读(97) | 评论(2) | 投票(0) | 收藏(3)
阅读全文...
082012-06
1. 只在必要的地方打错误日志,无须一层层抛出去,很多错误在当前函数就是明确的。一般的C操作都无须判断返回。c程序,只有两个地方可能有错,1.文件打开读写2.内存申请 例如这样的地方 server.clients = listCreate(); listCreate内部有内存申请,但无须判断client是否为NULL,后面如果用到clients的地方访问到了null,会有内存访问错,触发SIGSEGV信号,详见 http://blog.ddup.us/?p=89 2. 提供宏来访问结构对象,保持执行效率...
发布于 11个月前,
阅读(351) | 评论(0) | 投票(0) | 收藏(1)
阅读全文...
112012-04
假设你的log4j系统中有这样的配置 log4j.logger.aa=ERROR, A1
log4j.logger.aa.bb=
log4j.logger.aa.cc=INFO aa是一个父logger。aa.bb和aa.cc是aa的子logger。 aa.bb继承了aa's等级和输出(appender),等级是ERROR,输出是A1。 aa.cc继承并覆盖了aa的级别。所以aa.cc的等级是INFO输出还是A1。 需求1:如果我现在想把所有的aa的日志,所有的级别,输出到一个特别的文件里面去,并保持原来的aa.bb、...
发布于 1年前,
阅读(1516) | 评论(18) | 投票(0) | 收藏(12)
阅读全文...
122012-01
按照古老的说法,程序=数据结构+算法。用我的话来说,就是数据和行为。 从面向对象的3个特征(封装、继承、多态)来说,并没有脱离这两个基础。 程序是沟通人和机器的。人的思维则是有限的,一个人在同时只能关注有限的目标,但不幸的是机器的处理数据的容量远远大于人,于是程序员要写的代码复杂的超过自身同时可以想象的量。于是软件设计的原则就是,化繁为简,化难为易,把人的思维集中在简单的领域,然后...
发布于 1年前,
阅读(582) | 评论(3) | 投票(0) | 收藏(7)
阅读全文...