
(1-4)佳文推荐
文章平均质量分 79
hzbooks
这个作者很懒,什么都没留下…
展开
-
如何一年完成MIT33门计算机课程?
一位因为快速学习而成名的神奇小子,他应用自己发明的学习方法,完成了10天搞定线性代数,1年学习4年MIT课程的“不可能任务”。原创 2014-02-13 10:53:10 · 9514 阅读 · 1 评论 -
想成为软件架构师,你的举止够优雅吗?
文雅的举止作为一名架构师,你需要和单位中的各色人等打交道。要在这个位置上真正取得成功,你需要从你所遇到的每个人那里汲取上级的主意和思想。调动所有人(包括你不赞同,甚至不愿相处的那些人)积极性的最好办法之一是你在任何环境中都举止文雅、专业。举止文雅是FIRST Robotics要求的基本技能。FIRST Robotics是一个致力于激励年轻人成为科技领头人的机构。“举止文雅”主张人们工作原创 2012-06-07 16:51:53 · 7159 阅读 · 0 评论 -
手工打造目标PE的步骤
为了熟悉程序流程,先通过手工方式打造这一补丁。目的是使用最原始的不经过加工(如免重定位、动态加载技术)的程序,在尽量不改变目标PE结构的前提下,实现将代码附加到.text节中、将数据附加到.data节中、将导入表附加到.rdata中,以实施补丁。14.3.1 基本思路为了能将补丁程序插入到目标PE的空闲空间里,需要重点处理以下几种数据:数据段、代码段和常量段。此次手工补丁的基本思路如下:原创 2011-11-25 14:19:48 · 1439 阅读 · 0 评论 -
熟悉Linux的用户掌握AIX的快速通道
Linux,作为新生的操作系统成员,与UNIX有着千丝万缕的关联。近十年来,Linux已深入人心,成为服务器平台领域中的重要一员,很多大型厂商(如IBM、HP等)都已对Linux提供了直接的产品支持,例如,在IBM p系列服务器中,可以直接安装(对应的p系列版本)Redhat、Suse Linux。很多系统管理员对Linux已有深入了解,本节将参考Reahat Linux,对比Linux与AI原创 2011-11-22 16:43:10 · 1901 阅读 · 0 评论 -
读史蒂芬·利维《黑客:计算机革命的英雄》
黑客在我们心目中往往是“计算机犯罪分子”的代名词,但《黑客:计算机革命的英雄》一书却并非是为了“正名”而作。美国人史蒂芬·利维在1984年11月间推出了本书,当时IT世界还处于一个技术纯真时代,没有那么多入侵、破坏的事件发生。这部讲述早期精英程序员故事的佳作由于种种原因直到今年10月才被翻译成中文,而其底本已经换成了利维在2010年推出的“25周年纪念版”。利维指出,之所以要为黑客著书立传,是转载 2011-11-21 11:08:16 · 1954 阅读 · 0 评论 -
HTML 5中的重要元素:文本元素(time元素、mark元素、cite元素)
在HTML 5中,新增或改良的元素还有许多,主要分为以下几大类:文档元素、脚本、节点元素、文本元素、嵌入元素等。下面以实例的形式,介绍文本元素在HTML 5中的使用方法。页面中常常需要展示的一段文章或文字称为文本内容。为了使文本内容更加形象、生动,需要增加一些特殊功能的元素,用于突出文本间的层次关系或标为重点,这样的元素称为文本层次语义标记。在HTML 5中,常用于文本层次语义的元素有原创 2011-11-20 12:03:56 · 2028 阅读 · 0 评论 -
演讲会给你带来胆怯心理吗?
“优秀的演讲家很清楚害怕的滋味……专家和新手的唯一区别就是专家能很好地控制心中的恐惧。”——爱德华·默罗人们害怕在大庭广众之下讲话是可以理解的。但是我曾遇到有人在演讲到一半时,逃命似地从讲台左边的紧急通道跑出,我们总不能说演讲比死亡还恐怖吧!当你问别人是如何害怕演讲时,他们经常会反问:“你不知道人们宁可死也不愿意演讲吗?”这个所谓的“事实”表明,人们宁愿跳楼或吞下氰化胶囊,也不愿意在同事面前做原创 2011-11-18 12:45:34 · 3329 阅读 · 0 评论 -
你所参与的开发项目是死亡之旅(Death March)么?
1.1 死亡之旅的定义非常简单,死亡之旅项目就是“项目参数”超标50%以上的项目。对绝大多数项目而言,这意味着下列限制条件的一个或多个被强加于项目之上:与用合理估算方法得出的数值相比,进度被压缩了一半以上;因此,对于一个在正常情况下可望用12个月时间完成的项目,现在要求只用6个月或更短。由于当前全球市场上的商业竞争压力日益增加,这种形式的死亡之旅项目最为常见。与正常情况下这种规模原创 2011-11-14 16:22:11 · 2681 阅读 · 0 评论 -
Hadoop平台上的海量数据排序
Yahoo!研究人员使用Hadoop完成了Jim Gray基准排序,此排序包含许多相关的基准,每个基准都有自己的规则。所有的排序基准都是通过测量不同记录的排序时间来制定的,每个记录为100字节,其中前面的10字节是键,剩余的部分是数值。MinuteSort是比较在一分钟内所排序的数据量大小,GraySort是比较在对大规模数据(至少100TB)进行排序时的排序速率(TBs/minute)。基准规则原创 2011-10-21 18:12:39 · 4048 阅读 · 0 评论 -
编写高质量代码:改善c#程序的157个建议之“避免锁定不恰当的同步对象”
建议73:避免锁定不恰当的同步对象在C#中,让线程同步的另一种编码方式就是使用线程锁。线程锁的原理,就是锁住一个资源,使得应用程序在此刻只有一个线程访问该资源。通俗地讲,就是让多线程变成单线程。在C#中,可以将被锁定的资源理解成new出来的普通CLR对象。既然需要锁定原创 2011-10-08 16:31:52 · 2048 阅读 · 0 评论 -
黑客,计算机革命的英雄!
《黑客(二十五周年新版)(计算机革命的英雄)》前言(By Steven Levy) 我写《黑客(计算机革命的英雄)》(Hackers: Heroes of the Computer Revolution - 25th Anniversary Edition) 的原创 2011-10-14 18:13:58 · 4162 阅读 · 1 评论 -
IT业魂在何方
《新机器的灵魂》:IT业魂在何方 计算机行业最振奋也是最残酷的特性就是喜新厌旧。无论是产品、技术,还是公司和人,最可怕的结局就是一不留神被时间的浪涛打翻。而这又是命中注定的唯一结局。似乎计算机行业内对任何事物的历史指向只有一个:贬值,然后消失。转载 2011-09-20 23:37:01 · 1343 阅读 · 0 评论 -
垃圾收集算法
本文“垃圾收集算法”节选自《深入理解Java虚拟机:JVM高级特性与最佳实践》【作者:周志明】由于垃圾收集算法的实现涉及大量的程序细节,而且各个平台的虚拟机操作内存的方法又各不相同,因此本节不打算过多地讨论算法的实现,只是介绍几种算法的思想及其发展过程。3.3.1 标记-清除算法最基础的收集算法是“标记-清除”(Mark-Sweep)算法,如它的名字一样,算法分为“标原创 2011-06-25 02:51:00 · 3301 阅读 · 0 评论 -
编译Linux 2.6内核
编译内核易如反掌。让人叹为观止的是,这实际上比编译和安装像glibc这样的系统级组伴还要简单。2.6内核提供了一套新工具,使编译内核更加容易,比早期发布的内核有了长足的进步。2.3.1 配置内核因为Linux源码随手可得,那就意味着在编译它之前可以配置和定制。的确,你可以把自己需要的特定功能和驱动程序编译进内核。在编译内核之前,首先你必须配置它。由于内核提供了数不胜数的功能,支持了难以计数原创 2011-06-23 02:21:00 · 1685 阅读 · 0 评论 -
卓越公司领导者的“取景框”
瑞典商业银行是欧洲排名前25位的银行。它不仅在没有政府救助的情况下成功度过了20世纪90年代的瑞典银行业危机,在2008/2009年的危机中表现也很好。瑞典商业银行没有必要提高资本金或要求政府救助,它的股票是欧洲银行股中表现最好的,比其他银行要好得多。尽管瑞典商业银行的规模很大,但对金融系统来说,它主要是震动的吸收者,而不是震动的放大器。西南航空的使命是奉献最高品质的客户服务,提供温暖、友情、个人自豪感和企业精神。我们承诺为员工提供稳定的工作环境,同时提供学习和个人成长的机会。我们鼓励创造性和创新,以改进西原创 2011-04-25 17:52:00 · 1188 阅读 · 0 评论 -
每年15万美元!这是开发人员解决构造问题的总成本!
你是软件开发人员吗?你想知道构造系统的工作原理吗?如果你正在阅读这本书,你会对上述两个问题作出肯定的回答。不过,许多软件开发人员却对自己编写的程序是如何编译出来的兴趣寥寥,大多数人只想简单地点击按钮,把源代码转变成可执行程序即可。如果他们需要修复缺陷,只会修改源代码,然后再次点击相同的按钮。他们的乐趣在于看到自己的程序实现所有预期的功能,对他们来说,构造系统只是隐身幕后的一件必要工具而已。原创 2012-06-14 20:02:34 · 2967 阅读 · 0 评论 -
代码最重要的读者不再是编译器、解释器或者电脑,而是人!
在做IT的公司里,尤其是软件开发部门,一般不会要求工程师衣着正式。在我工作过的一些环境相对宽松的公司里,很多程序员的衣着连得体都算不上(搞笑的T恤、短裤、拖鞋或者干脆不穿鞋)。我想,我本人也在这个行列里面。虽然我现在改行做软件开发方面的咨询工作,但还是改不了这副德性。衣着体面的其中一个积极方面是它体现了对周围人的尊重,以及对所从事工作的尊重。比如,那些研究市场的人要表现出对客户的尊重。而大多数程序原创 2012-06-21 14:56:51 · 3047 阅读 · 1 评论 -
了解天才科学家的研究历程,了解知识贴近生活的一面,学习就是一件充满乐趣的事儿
了解天才科学家的研究历程,了解知识贴近生活的一面,学习就是一件充满乐趣的事儿——《天才引导的历程:数学中的伟大定理》书评(by 姜影)人们感慨社会日新异的变化时,也许有人会问:是谁推动了这一切?事实上,现今很多人只是机械地学习和运用前人的理论,已导致知识延续和科技创新缺乏鲜活的生命力!数学的历史告诉我们这并不能推动世界前行。近代数学奠基人之一高斯曾经说过“数学是科学的皇原创 2013-03-27 16:10:34 · 5046 阅读 · 0 评论 -
走近“领域特定语言”(Domain-Specific Languages)
领域特定语言(Domain-Specific Languages,简称DSL),是一个很有用的术语和概念,但其边界很模糊。一些东西很明显是DSL,但另一些可能会引发争议。本文接下来就走近“领域特定语言”,了解它的概念、为何要采用DSL,以及使用时应该注意的问题。1.定义DSL领域特定语言(名词),针对某一特定领域,具有受限表达性的一种计算机程序设计语言。这一定义包含4个关键元素:计算机原创 2013-03-26 14:50:46 · 8997 阅读 · 0 评论 -
CIO工作手册
CIO“曾经的好日子”已经一去不复返了。如果在过去十年里你担任过CIO,你大概会记得那些手握签字大权的日子,那些对技术不甚了解的CXO们把你当做智囊,向你寻求方向的日子,董事会期望你为公司保驾护航,解决最新的技术难题以保持商业竞争力的那些日子。根据你的个人情况,这些日子或者是辉煌岁月,或者是黑暗时代。有一件事是可以肯定的:CIO的工作范围改变了,不再仅仅与技术相关。在我们不断进军,推销我们的“原创 2013-03-15 11:18:21 · 4899 阅读 · 0 评论 -
专业程序员必知必会的技巧:驯服复杂代码
你从入职第一天起就要应对复杂代码。若是还未遇到过无法理解的程序,那说明你编程的年头还不够长。在行业里,要不了多久你就会碰到让人发懵的混乱代码:巨兽、面条工厂、来自地狱的遗留系统。我曾接手过一个程序,它的前任在听说要增加一个分量不轻的新特性时,选择了辞职。(我并不怪他。)软件系统的复杂度是不可避免的。有些问题就是很难,它们的解决方案很复杂。然而,你在软件中找到的大多数复杂度是我们自己原创 2013-03-07 16:15:35 · 34198 阅读 · 50 评论 -
OSGi规范概要
目前最新的OSGi规范是2012年7月发布的Release 5,Version5.0(后文简称为R5.0)版本,该规范定义了Java模块化系统所涉及的各种场景(开发、打包、部署、更新和交互等),以及其中用到的标准接口和参考模型。它是一份内容很全面、涉及范围很广泛的技术规范,从嵌入式系统到大型服务器系统,从模块的编码开发到部署使用,从OSGi核心框架到外围扩展服务都有专门的定义。OSGi规范并不原创 2013-02-26 15:31:12 · 4700 阅读 · 1 评论 -
Android Telephony框架结构简析
Android Telephony涉及的框架结构如图1所示。图1 Android Telephony框架结构通过图1可以发现Android Telephony框架结构的一些规律,具体如下。Android Telephony的业务应用跨越了AP和BP。AP与BP相互通信,符合前面介绍的智能手机硬件基本结构。Android系统在AP上运行,而Telephony运行在Linux原创 2013-02-18 17:26:25 · 25693 阅读 · 0 评论 -
游戏开发世界的Lua语言
现实中的游戏开发常常面临两种互相矛盾的压力,一方面需要测试和验证新想法,另一方面又需要快速开发并且按时交付。把脚本语言集成到游戏项目中可以提升团队的开发效率,并且可以很好地扩展原生编译语言的能力。Lua在游戏开发的许多基础领域中都表现得很出色。在游戏开发团队中,可能有许多成员都使用Lua来完成他们的工作。程序员负责将Lua整合到游戏开发环境中,通常,他们会需要编写一些Lua代码。游戏设计师是脚原创 2012-12-10 17:24:05 · 4651 阅读 · 0 评论 -
源于大自然的12条设计原则
大自然中的设计原则无所不在,这些原则也可以应用到设计传达中。支撑永久农业(Permaculture,是一套模仿自然界的模式和关系的体系,它在提供高产的自然资源的同时对环境的影响也是很小的)的基本伦理源自三大格言:1.善待地球(保护土壤、水和森林)。2.善待人类(自己、亲属和“群落”)。3.人人有份(在消费、繁殖和过剩物品再分配上要设限制)。 大卫·霍姆格伦从永久农业中提取了12原创 2012-12-06 14:57:39 · 2367 阅读 · 0 评论 -
Hadoop的数据管理
本文主要介绍Hadoop的数据管理,主要包括Hadoop的分布式文件系统HDFS、分布式数据库HBase和数据仓库工具Hive。1 HDFS的数据管理HDFS是分布式计算的存储基石,Hadoop分布式文件系统和其他分布式文件系统有很多类似的特性:对于整个集群有单一的命名空间;具有数据一致性,都适合一次写入多次读取的模型,客户端在文件没有被成功创建之前是无法看到文件存在的;文件会被分原创 2012-12-04 14:14:22 · 3682 阅读 · 0 评论 -
如何评估你的云计算风险承受能力
关于云计算的一个常见问题是:使用公共云是否安全?对于理解云计算安全而言,这是个很好的问题,但在回答这个问题之前,你需要对风险的可接受程度有一个清晰的认识。你能够承受多少风险取决于你对安全需求的评估,还取决于你对信息资产(数据、应用程序和流程)价值的评估。我们只有了解了这些,才可以做出明智的决定,决定哪种部署模式以及哪种服务交付模式适合我们的需求和风险承受能力。完整的风险评估是个复杂的过程,超出原创 2012-12-05 11:26:41 · 3518 阅读 · 0 评论 -
OpenCL框架组成
OpenCL框架组成本文主要讨论OpenCL框架,其组成可划分为以下三个部分:OpenCL平台API:平台API定义了宿主机程序发现OpenCL设备所用的函数以及这些函数的功能,另外还定义了为OpenCL应用创建上下文的函数。OpenCL运行时API:这个API管理上下文来创建命令队列以及运行时发生的其他操作。例如,将命令提交到命令队列的函数就来自OpenCL运行时API。OpenCL原创 2012-11-21 10:31:28 · 9156 阅读 · 2 评论 -
简析MonoTouch工作原理
MonoTouch使用静态编译方式将代码编译为ARM二进制代码。使用MonoTouch创建的每一个应用程序都是独立的,也就是说,应用程序所需要的东西都要打包,之所以这样,是因为iPhone不允许使用共享库。MonoTouch通过绑定方式向C#公开iPhone的原生库,因而不需要在语言之间做转换。通过静态编译(Ahead-Of-Time,AOT)生成ARM二进制代码,MonoTouch应用程序就可满原创 2012-12-03 17:24:03 · 5705 阅读 · 1 评论 -
Dave Hendricksen谈软件架构师的沟通原则
对于一名合格的软件架构师来说,沟通能力是不可或缺的。来自汤姆森路透的资深架构师Dave Hendricksen在《软件架构师的12项修炼》中提供了比较细致的分析和建议,其中对于沟通原则和策略给出了具体的建议。对于架构师的沟通原则,主要建议包括:多说“是”,少说“不是”架构师经常会被咨询问到某个项目的可行性,并提供从战略到战术的多个替代方案,附带若干成本选项,以使商务伙伴能根据特定项目的转载 2012-07-27 15:26:52 · 5760 阅读 · 0 评论 -
产品经理的核心四问
曾有产品经理说:“产品规划方案谁都会写”,是的,没错!有些产品经理甚至一天可以写好几个方案,但我们要知道,并不是所有方案都能得到认可。这里面就涉及一个是否可衡量的问题,方案具备可衡量性很关键。通常,下属在给老板汇报、老板在给投资方汇报时,基本上都会被问:“你做什么?有什么价值?为什么要做?如何做到?”看似简单的四个问题,足以问倒很大一批人。一、做什么首先得回答:做什么?做什么,是规划的原创 2012-07-25 14:26:49 · 12488 阅读 · 7 评论 -
ClipboardService(CBS)中的权限管理
ClipboardService(CBS)是Android系统中的元老级服务了,自Android 1.0起就支持剪贴功能。在Android 4.0中再遇见它时,此功能已有了长足改进。本节将集中讨论CBS中的权限管理。先来回顾一下CBS中和权限管理相关的函数调用。//copy方设置ClipData在CBS的setPrimaryClip函数中进行:checkDataOwnerLocked(c原创 2012-08-06 15:24:52 · 3031 阅读 · 0 评论 -
程序员求职:选择大公司还是小公司
很多计算机专业的学生在第一次求职的时候几乎都会遇到“到大公司还是到小公司”的问题。他们认为大公司的薪水高、工作稳定、技术水平高、升迁机会多,但是,大公司要求高,竞争激烈,自己怕进不了;而小公司薪水相对低一些,工作稳定性较差,技术水平参差不齐,升迁机会不多,但是,录取率相对较高。这可能是各种求职中的一个常见话题。这个选择应该是因人而异,几乎没有什么正确答案。所以,我们看到过选择大公司的人获得了成功,也看到过选择小公司的人获得了成功,相反的情况我们同样也见到过。对于有理想的程序员来说,无论进入大公司还是小公司,原创 2011-04-19 17:48:00 · 7988 阅读 · 1 评论 -
我的程序员成长之路
程序员的成长经历往往是相似的,大部分的人走过了最前面的相同一段路,而有的人则走的更远。回首自己这些年来走过的历程,也许能让年轻的程序员少走一些弯路,成长的更快;或许更好一些,能让大家从中得到一些启发,早日进入优秀的程序员阶段,回归梦想,释放激情。原创 2011-04-12 10:12:00 · 1482 阅读 · 0 评论 -
国外知名网站Stackoverflow 历时两年评选出11本对程序员最有影响力的书籍
《推荐11本对程序员最有影响力的书籍》原创 2011-03-08 16:50:00 · 5517 阅读 · 0 评论 -
虚拟机背后的故事
虚拟机背后的故事 安虹老师今天特意从过来,就是为这本书已经让大家期待很久的《虚拟机:系统与进程的通用平台》一书做最后定稿。这本书当初我们预期是09年1月份出版,但因为种种原因要到3月份才能出版,再次华章公司也向各位读者表示歉意。 午间,有幸与安虹老师一起共进午餐,安虹老师在席和温老师一起聊了这本书的一些背后故事,再一次让我们感叹到一本好书的原创 2009-02-12 18:37:00 · 2435 阅读 · 1 评论 -
C/C++程序员必读的十本书(上)
在Gmail TopLanguage Group 中看到一篇文章“C/C++程序员必读的十本书(上)”,大家的讨论都很激励,大家都觉得这篇文章写得很棒,我想在Group里的朋友都能在Lookgirl的这篇文章里获益不少,为此斗胆在此转载该文,供更多朋友交流、学习。 C/C++程序员必读的十本书(上) 这个题目大的有些离谱,实话说,只是想推荐一下自己觉得很好、值得收藏的一些技术原创 2009-01-31 14:46:00 · 17127 阅读 · 7 评论 -
解读2008年网络技术热词之云计算
导读:2008年被不断提起的三大技术热词——SNS、云计算和SaaS。本文主要讨论第二个技术热词云计算。 关键词:云计算 2009年的新年钟声已经敲响,回顾2008年,在过去的一年,中国网民数量首次超过了美国达到2.53亿,成了世界第一。纵观我们身边的世界,已经随着互联网开始改变,我们已经成为互联网时代的忠实信徒,网络已经将我们生活的大半网进了这个虚拟世界之中。转载 2009-01-02 23:11:00 · 1592 阅读 · 0 评论 -
又到一年面试高峰期--面试总结
隔了好长时间,终于挤出点时间写接下来这篇东西了。因为最近老是在忙,还不知道忙什么…… 接到ZTE的面试通知是我始料未及的,之前也说过,题做得贼烂。没想到通知我去了。我的是5:00开始,杀到那4:40,没想到连4:00的都没面完,人叫做一个多字。等到5:40总算该我了。进去后两个面试官就开始翻简历,都问简历上的内容,没啥新鲜感,问到我在项目中做的一个改进,我开始吧唧吧唧的说,发现他们很认真在原创 2008-06-15 23:06:00 · 3538 阅读 · 1 评论 -
suningin华为招聘--前人经验
suningin华为招聘--前人经验(1)这篇文章是写给2007届的毕业生的,我想我这些日子的经历应该能给2007届的师弟和师妹们将来的校园招聘提供点帮助。一、准备阶段:在华为面试之前,我把《软件设计师教程》大概的复习了一遍,时间实在太紧迫了,有些概念我也只是很粗糙地掠过去。10号下午还到图书馆借了一本《程序员面试攻略》,11号下午就差不多把那本书大概地啃完。二、笔试:11号,原创 2008-06-15 23:11:00 · 3682 阅读 · 0 评论