02.样章试读

摘要: 《深入浅出数据分析》样章下载 链接:http://download.csdn.net/source/2767413阅读全文
posted @ 2010-10-19 13:45 博文视点 阅读(351) | 评论 (0) 编辑
posted @ 2010-08-25 09:00 博文视点 阅读(122) | 评论 (0) 编辑
摘要: 时髦词有一个共同特征:它们善于传达事物的表象,而不传达事物的真正含义。对许多人而言,“云计算”这个词听起来就是个时髦词。 这个词被用于许多互不相干的场合,在其中,它往往指的是完全不同的东西。人们有时用它指Google的Gmail,有时又用它指Amazon的“有弹性的计算云”(Elastic Compute Cloud)(后面这个词至少在名字中有“云”!)。 但是,云计算已经变得和Web一样,不再是什么时髦词了。云计算是多种技术演进的结果,最终,这些技术结合到一起,形成了新的方法,改变了组织机构建设自己IT基础设施的方式。和10多年前Web的情况很相似,从根本上来看,云计算没有使用任何新技术。当Netscape出现时,构成Web的很多技术已经有几十年的历史了,Netscape只是使它们更便于使用。同样,构成云计算的大多数技术已经有很长的历史,Amazon仅仅让这些技术能够为大众所用。阅读全文
posted @ 2010-08-18 21:45 博文视点 阅读(338) | 评论 (0) 编辑
摘要: 1992年,在微软高级管理层的变动中,最引人注目的便是公司将系统和应用部门正式地整合在一起。在过去,各项目组都直接向盖茨进行汇报,而现在它们则划归迈克·梅普尔斯统一管理。由于这两个部门之间长期排斥对方,但是它们之间的战略依赖性又变得越来越高,因此将它们整合在一起很有意义。应用部门只有深入了解Windows如何运行才能写出好的应用软件,从而对Windows与一些技术(如OLE)的演进施加关键影响力;另一方面,如果以微软为首的应用软件制造商不再编写应用软件,那么新的操作系统,如Windows NT,就绝不可能在市场上占据一席之地。问题在于,历史上微软的系统与应用部门从未和睦相处过。虽然系统软件往往更难开发与测试,但系统部门的员工(尤其是Windows 3.1和Windows 95的开发者)与在应用软件部门工作的同僚相比,管理却更为松散懈怠。阅读全文
posted @ 2010-03-19 08:46 博文视点 阅读(144) | 评论 (0) 编辑
摘要: 在《Oracle DBA手记》的第一章里,我曾经介绍过一个案例,客户的IBM小型机因为内存的故障导致了deconfigured,内存被系统卸载,导致了故障。这个系统当时的图片,可以看到有两条1G的内存状态是System deconfigured,这就意味着这两条内存因为硬件故障被主机驱逐,属于较为严重的硬件故障,如果运气不好可能会导致数据库的崩溃会块损坏:阅读全文
posted @ 2010-01-18 16:26 博文视点 阅读(234) | 评论 (0) 编辑
摘要: 有一次碰到一个很奇怪的问题,在检查会话所执行的SQL时,发现V$SQL视图中SQL_TEXT列中的数据是不正常的。 由于V$SQL是动态性能视图,里面保存的是当前共享池中加载的SQL语句,所以如果这个SQL不是执行很频繁的话,那么它很可能会被替换出共享池。或者数据库意外重启,也会导致这个SQL彻底丢失。那么首要任务就是保留现场,一旦错误不可再现,那么所有的问题就都无从查起了。 将显示异常的V$SQL记录备份到了BAK_V$SQL表中,首先看一下异常的SQL语句:阅读全文
posted @ 2010-01-12 17:43 博文视点 阅读(288) | 评论 (0) 编辑
摘要: 看了Eygle发来的《Oracle DBA手记》的手稿,感到这本书的写作思路很有些新意。随着数据库技术自动化程度的提高,DBA工作价值开始扩展到更大的层面,因此共享一些探路者的心得变得尤为可贵。暴露其思维过程,是Web2.0时代技术圈子的一大特点。在以前的某些时代,有些工程师们仅仅把技术作为赚钱的手艺,很多操作技巧都是密不外传的,总怕“教会了徒弟,饿死了师父”。本书的编排是对此种落后思维的一种否定。具体表现为三大特色:编辑与遴选:搜索时代,我们更需要向导。阅读全文
posted @ 2009-12-22 17:06 博文视点 阅读(265) | 评论 (2) 编辑
摘要: 标识符(identifier):说明用户或系统为数据库对象设定的名字,如数据库、数据表、表约束及表内的字段、视图等。经验丰富的程序员为给定的项目选择标识符时,会谨记两个重要的准则:命名惯例——逻辑概测法(logical rule of thumb)可用于管理数据库设计师如何命名新对象。最终遵循这些逻辑规则可创建更好的数据库结构并能改良数据跟踪。这些并不是SQL的要求,而是实践中程序员累积的经验。标识符规则——这是由SQL标准设定并由平台实现的规则。这些规则包括如名称长度这样的特性。本章后面将说明每个数据库厂商的标识符设定惯例。阅读全文
posted @ 2009-12-14 16:00 博文视点 阅读(335) | 评论 (0) 编辑
摘要: 就在不久之前,世界还流行打字机和笔记本,把计算机当做日常生活中的工具,还只不过是春秋大梦。 《苹果往事:开发麦金托什的非凡岁月》追溯梦想成真的源头:来自苹果计算机公司某个不起眼角落的麦金托什计算机开发小组。本书历数麦金托什的开发始末,从远自1979年的充满梦幻的研究计划起,至1984年一鸣惊人地让业界惊叹为止。 本书作者安迪·赫茨菲尔德,是初期麦金托什软件系统开发的核心成员,也是其划时代的用户界面的关键开发者之一,是能与史蒂夫·乔布斯共事的少数精英,说他是麦金托什的终极核心成员也不为过。 作者以苹果公司的成员忠实地记录了苹果公司的历史,让苹果迷的读者能一窥麦金托什的由来。但是以经营管理者的角度阅读此书,却启发出令人深思的管理方式。阅读全文
posted @ 2009-12-04 14:12 博文视点 阅读(192) | 评论 (0) 编辑
摘要: 有时在某些特殊时段,会产生出一些影响后世数百年的重要发明,而这些是我们所无法预知的,而发明者和参与者本身往往也不是为了金钱,而是为了创造非凡业绩,获得个人成就感。麦金塔计算机的发明就是这种技术奇迹,它的发明永远改变了人们的生活。今天的每台计算机基本上都是台麦金塔,是一种与过往计算机大相径庭的类型。是谁研发出这种革命性的计算机?激励他们的动机为何?他们有了哪些创新?如何评价他们?当时的环境又是怎样的?阅读全文
posted @ 2009-12-01 14:15 博文视点 阅读(249) | 评论 (0) 编辑
摘要: JWS既支持RPC绑定样式也支持Document绑定样式,同时Document绑定样式为默认值;在这两种绑定样式中,依照Web 服务基本概要(WS-I Basic Profile)的基本要求,这两种绑定样式只可以采用literal编码方式。在服务绑定样式上究竟选择RPC还是Document一直都是争论的话题。不管以怎样的权衡方式,都应该以严格的眼光来真正地理解事情的两面性,尤其是要从特定的角度来证明这种两面性。阅读全文
posted @ 2009-11-25 09:41 博文视点 阅读(127) | 评论 (0) 编辑
摘要: 《冒号课堂》采用对话体,是为了借不同背景、不同水平、不同性格的人物之口,多层次、多维度、多角度地展现知识的内涵与活性。人物皆以标点符号命名,是为了塑造让人过目不忘的形象:冒号善解释,引号善引用,问号善提问,逗号善缓冲,叹号善感叹,句号善总结。此外,6个标点符号还对应着每小节的6个部分:冒号是正文讲解,引号是文献参考,问号是问题列表,逗号是补充插语,叹号是精华预览,句号是本节总结。与一般纯技术类图书不同,本书非常强调学习方法和学习精神的重要性。在内容组织上也一反常规,以思想为主、以知识为辅,以抽象为主、以具体为辅,以范式为主、以语言为辅。阅读全文
posted @ 2009-10-29 11:02 博文视点 阅读(158) | 评论 (0) 编辑
摘要: 任何概念和技术都不是孤立的,如果不能在纵向的时间和横向的联系中找准坐标,便似那群摸象的盲人,各执一端却又自以为是。库和工具包是为程序员带来自由的,框架是为程序员带来约束的。设计模式是软件的战术思想,架构是软件的战略决策。知识的学习有几种方式:一种靠记忆,一种靠练习,一种靠培养。学习编程范式能增强编程语言的语感。阅读全文
posted @ 2009-09-30 09:14 博文视点 阅读(186) | 评论 (0) 编辑
摘要: 这日,小白仅仅解决了一个问题——中文搜索问题;解决的尝试路径及相互关系如图 CDay-1-5所示。但是,实际上他获得了两大方面的进步: 1. 有了文本编码方面的知识。 2. 问题解决的方法论境界提高了一个层次,开始使用系统级别的解决方案了。 相对Python 方面,仅仅追加了一对内置函式和一个外部模块包使用的体验。 关键词: 编码 unicode chardet mount 注意:如果你使用M$ 系统,运气好的话是不会见到笔者列出的现象的,但是不保证以后遇不到自动处理下搞不定的光盘内容。希望那时候小白真的有个自由环境可以尝试其他方案。阅读全文
posted @ 2009-08-20 12:31 博文视点 阅读(629) | 评论 (3) 编辑
摘要: Windows Communication Foundation(WCF)是用来在不同应用间进行互通信的一个编程框架,它是.NET Framework中偏重于通信的重要组成部分。原代码名为Indigo的这个编程框架,在其Beta2 版本时正式更名为WCF,于2006年12月作为.NET Framework 3.0的4套API之一发布。国内WCF的应用正稳步成长中,其中一些WCF技术先行者对广大社区的带动和推进作用是不可忽略的。《WCF技术剖析(卷1)的作者蒋金楠(Artech)就是其中走在前面的一位。他在博客园中关于WCF的博文成为许多WCF开发人员的第一手学习资料。知识全面、论述准确、逻辑严密是本书的写作特点,这是一本各个层次开发人员都可以从中受益的书:对于WCF的初、中级开发人员,这本书可以帮助你获得WCF全方位的知识,全面系统地梳理关于WCF的知识结构,提升动手实施能力;对于WCF的高级开发人员,这本书既可以有效弥补你WCF相关知识结构中的盲点,又可以让你在自己熟悉的知识点上领略作者的看法和理解。阅读全文
posted @ 2009-07-31 09:07 博文视点 阅读(142) | 评论 (0) 编辑
摘要: 当前的Web已经进入崭新的时代!《Web界面设计》涵盖了在基于独一无二的Web环境下、在创建丰富体验的过程中设计Web界面的最佳实践、模式和原理。UI专家Bill Scott和Theresa Neil在他们多年实践经验和不懈探索的基础上,总结提炼出了Web界面设计的六大原理——直截了当、简化交互、足不出户、提供邀请、使用变换和即时反应,并以这六大原理为依托,以当今Web上各类开风气之先的流行网站为示例,向读者展示了超过75种基于富交互构建Web界面的模式,并以简单明了的语言,阐明了数以百计行之有效的最佳实践。样章中包含Web界面设计的三大原理,并单独以章节进行说明。阅读全文
posted @ 2009-07-30 19:32 博文视点 阅读(228) | 评论 (0) 编辑
摘要: 大多数Web项目都有一个贯穿全局的设计理念。它往往是隐含的,可能不会写下来或讲出来,但它的确存在。对设计理念的了解,对于建立共同的团队默契,以及指导设计决策都很重要。一些可能会遇到的设计理念包括:以用户为中心的设计;以设计者为中心的设计;以企业为中心的设计;以内容为中心的设计;以技术为中心的设计。请注意,以用户为中心并不代表“用户让做什么就做什么”或者“忽略其他的项目约束”。毋庸置疑,业务目标和技术很重要;毫无疑问,导航设计者的直觉也有不可或缺的作用。但是UCD方法能完善设计者的直觉,并最终能更好地达到业务目标。这是项目的起点和焦点。以用户为中心的设计把用户体验作为其首要的目标:所有其他的目标都在其次。阅读全文
posted @ 2009-07-28 17:36 博文视点 阅读(152) | 评论 (0) 编辑
摘要: 从2005年微软发布Visual Studio Team System 2005到现在已经三四个年头了,Visual Studio Team System 2008也已面市,介绍VSTS如何操作、如何使用的书籍不少,也有很多公司很多项目组采用Visual Studio Team System在组织各种项目开发。但是,相信到目前为止大多数的团队对于采用不同的开发过程模板有什么实质上差异还没有很深的体会。而真正能讲清楚为什么要这么做的更是不多。 交付有价值的产品给用户,从而顺利通过项目验收,这是所有软件项目的根本目标。传统开发过程对于现实情况下的项目适应性较差这是不争的事实。敏捷开发为快速进行项目交付,实现商业价值的最佳回报提供了一条捷径。想用更少的钱赚取更多的价值是每个投资方的梦想。 《Visual Studio Team System更佳敏捷软件开发》详细介绍了一个敏捷开发团队如何依托Visual Studio Team System系统采用XP极限编程方法论,从各个方面组织开发其项目的过程。尤其在介绍具体实施过程的同时,还详尽解释了为什么要这么做,因而能让人茅塞顿开。 阅读全文
posted @ 2009-07-24 16:36 博文视点 阅读(150) | 评论 (0) 编辑
摘要: 目前WCF技术已经得到了广泛的应用,但国内在这方面的资料却非常少,据我所知,迄今为止还没有一本WCF的原创中文书籍,蒋金楠(Artech)的《WCF技术剖析(卷1)》是国内第一本。非常荣幸,我能在第一时间阅读本书书稿,书中内容涵盖了WCF技术的方方面面,有知识点讲解,也有案例演示,从使用的角度阐释了WCF。Artech在WCF方面的造诣和写作功底不容置疑,这一点从他在个人博客上发表的WCF技术文章就可以看得出来,他的“WCF之旅”和“WCF后续之旅”两个系列深受广大读者好评。在读完本书后,只想对Artech说,上市后多送我几本吧,我要把它送给身边的朋友。阅读全文
posted @ 2009-07-23 08:57 博文视点 阅读(175) | 评论 (0) 编辑
摘要: 基于锁的阻塞由锁定资源的进程冲突引起。只知道锁是不够的,为了找到问题的根源,我们需要知道涉及到的查询。一旦识别了session id或spid,我们就可以跟踪这些查询。SQL Server 2005能得到被阻塞的实际任务,可以获取比以前的版本更多的信息。被阻塞进程报告TextData列的XML输出会显示阻塞和被阻塞session的查询文本。目前是查询最方便的途径,但对使用SQL Trace来说它并不是最方便的。那样的话,我们可以连接sys.dm_os_waiting_tasks和sys.dm_tran_locks这两个DMV,通过一些额外的工作,提取与它们相关的查询。阅读全文
posted @ 2009-07-20 17:49 博文视点 阅读(213) | 评论 (0) 编辑
摘要: 如果锁占用很大的内存,应该首先尝试找出造成这么多锁的根本原因。例如,可能是SQL Server的锁升级不充分。如果是这样,就需要修改锁的配置。一旦修改了锁动态配置,就影响了锁升级的行为,由此可能造成意外的影响。如果数据库不需要任何写访问,建议将其设置为只读的。这会降低系统中产生的锁的数量。在一个只读的数据库中,SQL Server仍会发行数据库的共享锁和读表的意向共享锁,但行锁、页锁及SERIALIZABLE隔离级别的行锁,都不会被发行。例如,对于只在夜间更新的报表数据库,用户可以将在白天对数据库的查询设置为只读的。这样做对锁内存的影响会降低,这也是SQL Server的锁管理器必须做的。还可以在同一台服务器上对只读数据库创建数据库快照,SQL Server不会在数据库快照上发行共享锁。为了减少锁内存,同样建议将读操作与写操作分开。一种方法是把报表从一个OLTP系统中分开,通过创建报表服务器和使用事务复制或SQL Server集成服务(SSIS)来为另一个用户查询读操作的服务器获取数据。这会去掉OLTP主服务器的共享锁。如果数据库服务器能够支持这种方法,可以考虑用一个数据库快照离级别来阅读全文
posted @ 2009-07-14 16:42 博文视点 阅读(472) | 评论 (0) 编辑
摘要: 2005 年,一组前端技术的组合由于被命名为Ajax 而广为人知。此后,随着Ajax 应用的迅速普及,新Web 时代的帷幕也徐徐拉开。仅几年间,各种“桌面般的”Web 应用程序和新Web 应用平台层出不穷。从Google Maps、Flickr、Netflix 到Google Docs、Yahoo! Mail、Gmail,再到Twitter、Facebook、Digg……。在21 世纪第一个10 年临近尾声之际,现代Web 发展的成果已经蔚为大观。 界面,不仅是现代Web 应用程序与传统Web 应用程序的分水岭,也是曾经横亘于传统Web应用程序与桌面应用程序之间的一道难以逾越的“鸿沟”。然而,Ajax 及其框架技术突飞猛进的发展,不仅让一个或少数几个HTML 页面中容纳整个Web 应用程序(或复杂功能组件)成为可能,而且也让现代Web 应用程序的界面展示了堪与桌面应用程序媲美的耀眼风姿。阅读全文
posted @ 2009-07-10 14:09 博文视点 阅读(212) | 评论 (0) 编辑
摘要: 去年春天,我应本地一家软件公司邀请,参加该公司软件测试工作改进的座谈会。这次座谈会其实是一次诊断会或咨询会,本地不少知名的专家都去了,包括几所大学有名望的教授。会议的宗旨是帮助该公司改进测试工作,进而提高软件产品的质量,而其中一个议题就是讨论如何开发自动化测试,特别是针对它们的产品,选择合适的软件测试工具。在座谈会之前,该公司已经有了初步计划,欲投资200万元购买惠普公司Mercury系列测试工具,也就是市场上比较流行的LoadRunner、Quick Test Professional(QTP)等。该公司效益比较好,年产值在亿元以上,几百万的投资不是很困难的事。不过,在座谈会上,鉴于该公司从来还没有开展过自动化测试工作,而且公司主要以面向终端用户的软件项目开发为主,虽然将慢慢形成软件产品,但用户的需求不够稳定。我建议,刚开始时,在自动化测试工具上不宜进行过大投资,如果自动化测试实施效果不好,反而比较被动,所以,可以先采用开源自动化测试工具(如Selenium、JMeter),进行为期半年的实验。如果这些工具能满足企业的需求,就不须要购买商业化工具;即使不能满足需求,在团队对自动化测试阅读全文
posted @ 2009-07-07 15:29 博文视点 阅读(264) | 评论 (0) 编辑
摘要: 数十年来,精益方法已经在制造业取得了显著的成果,现在,精益方法正同样地被成功应用到供应链、产品设计、工程,甚至是软件开发中!与此同时,敏捷软件开发方法也表明,它们之中的核心实践,那些和精益软件开发所推荐的非常类似的部分,具有很大的价值。在每一种敏捷方法和精益软件开发的实现中,这些核心实践是一致的。绝妙的是,这些实践可以一次只采用一个,但仍然会带来相当大的好处——你无须在使用了整个庞大的实现后,才能看到好处。这本书覆盖了从开始精益软件开发之旅时,所能采用的最重要的5项实践的详情。这些都是简单、可增量递进的步骤,一步一个脚印地前进,将能使软件开发不断获得精益的效果!在掌握了每一项实践后,你将会看到显著的可衡量的结果。这些成功将会让你更深入地了解到把精益思想应用到软件开发中所产生的威力。 阅读全文
posted @ 2009-07-03 21:52 博文视点 阅读(221) | 评论 (0) 编辑
摘要: 百度高级MySQL DBA吴诗展推荐《MySQL性能调优与架构设计》 阅读全文
posted @ 2009-06-30 20:34 博文视点 阅读(178) | 评论 (0) 编辑
摘要: 当我还是一个初出茅庐的程序员时,我想了解所用到的语言的每个特性。我写程序时会尝试去使用所有的特性。我觉得这是炫耀的好方法,而我也的确出了不少风头,因为我对各个特性了如指掌,谁有问题我都能解答。大多数编程语言都有精华部分和鸡肋部分。我发现如果只使用精华部分而避免使用鸡肋的部分,我可以成为一个更好的程序员。毕竟,用糟糕的部件怎么可能构建出好东西呢?《JavaScript语言精粹》不打算全面描述这门语言。反之,它将专注在精华部分上,同时会偶尔警告要去避免鸡肋的部分。这里将被描述的子集可以用来构造可靠的、易读的大小程序。通过仅专注于精华部分,我们就可以缩短学习时间,增强健壮性,并且还能拯救一些树木。或许只学习精华部分的最大好处就是你可以不用考虑鸡肋的部分。忘掉不好的模式是非常困难的。这是一个非常痛苦的工作,我们中的大多数人都会很不愿意面对。有时候,制定语言的子集是为了让学生更好地学习。但在这里,我制定的JavaScript子集是为了让专业人员更好的工作。阅读全文
posted @ 2009-06-29 16:00 博文视点 阅读(143) | 评论 (0) 编辑
摘要: 在Visual Studio Team System(VSTS)中,所有TFVC存储库中的根目录必须属于团队项目,这反映了一个事实,即存储库中的材料的基层结构是项目团队。开发团队可以在他们认为合适的根目录中自由构建他们在存储库中的那部分内容,但我们建议你在开始的时候就创建一个分离的区域,一部分区域存储你的开发团队打算交付商业应用的材料,一部分区域存储所有的非产品代码或测试,它们可能是不断开发出来的。阅读全文
posted @ 2009-06-26 11:05 博文视点 阅读(247) | 评论 (0) 编辑
摘要: 与Java语言的第一次亲密接触始于大学,当时也阅读了许多介绍Java语言的书籍,感觉那些书不是太注重语言本身而脱离实际的应用,就是还没有把基本的知识点交代明白,便罗列了一堆让人摸不着头脑的复杂样例。于是便萌生了自己写一本书介绍Java语言的念头。多年酝酿之后,一次和同事间的无意闲聊,终于让我感觉写书的时机已臻成熟。本人服务于Sun公司多年,一直从事与NetBeans相关的工作,同事们手头也积攒了这方面的大量资料。既然有了上等的原料,为什么不烹制一盘美味佳肴来奉献给广大Java爱好者呢?于是几位同事一拍即合,紧接着NetBeans中文社区的一些成员也纷纷加入了进来。众人拾柴火焰高,在大家齐心耕耘之下,本书终于呈现在广大读者面前。阅读全文
posted @ 2009-06-24 13:19 博文视点 阅读(175) | 评论 (0) 编辑
摘要: 在现今,敏捷软件开发已经不是什么新鲜事物了——市面上已经有大量的书籍,网络上也有大量的页面,聚焦于此领域。但是,“千江有水千江月”,究竟该如何有效实施“我的敏捷开发”呢?知行合一,诚非易事!如果你真诚期望团队能够更快更好地开发软件来创造真正的客户价值,但是感觉无从下手,那么,《精益软件开发艺术》值得你拨冗一读。它将向你介绍一种可以以稳健的步伐逐步导入的“精益软件开发方法”,向你提供一个在软件领域实施“精益生产”的导航图。依循本书指出的方向和路线,你将可以通过实施持续的改善,释放出“精益思想”的强大力量。阅读全文
posted @ 2009-06-23 10:11 博文视点 阅读(185) | 评论 (0) 编辑
摘要: 在信息工业领域,Java技术的兴起和发展是一个不可思议的传奇故事。自从15年前诞生于Sun公司,迄今为止,您可以在绝大多数桌面电脑和移动电话中找到Java的身影。面对Java平台日渐增强的API、大量的工具和更新的标准,每个人都面临无法跟进而原地踏步的风险和挑战。《Java SE 实践教程》恰恰提供了最新的Java特性和一系列相关的动手实验室样例,而且本书的作者也都参与过大型的Java项目,有着丰富的编程经验。由于本书提供了大量接近实战的样例,所以老师们也可以使用本书帮助学生获取只有在实际工作中才能得到的宝贵经验。阅读全文
posted @ 2009-06-17 09:33 博文视点 阅读(219) | 评论 (0) 编辑
摘要: 为iGoogle制作主题,除需要有艺术天赋外,还需要有Web设计、编写代码、调试等计算机相关知识。简单地说,创建一个主题有以下3个步骤:视觉设计。包括页眉和页脚的横幅设计,各个模块的配色等。对Web设计不熟悉而有艺术天赋的设计者对横幅设计的一些要求可能不那么容易理解,本章将重点讲解。 代码实现。把视觉设计转换成iGoogle能读懂的XML文件。 测试并提交。 下面以iGoogle全球版的最新版本为基础进行讲解。此版本在原有版本上有大幅改进,API也有较大变动。涉及新老API不同时,文中会加以说明。iGoogle中国版(www.google.cn/ig)目前还是适用于旧版API。阅读全文
posted @ 2009-06-16 11:16 博文视点 阅读(183) | 评论 (0) 编辑
摘要: “重剑无锋,大巧不工”,有的时候软件性能表现不佳,更多原因可能是用户对其了解不够、使用不当造成的,并非软件自身有多大缺陷。对Apache 来说,更是如此。因此,通过分析源代码了解Apache软件架构体系,熟知其本质,方能更有效地使用Apache Web服务器,使之发挥出最大效能。为网站节省资源,为企业节省资金,也能为用户提供更好的访问体验,好处多多。此外,随着互联网业务的复杂化,很多网站在使用Apache的过程中也遇到了新的挑战,如常常要在业务的驱动下对Apache进行扩展性的开发(例如扩展日志模块以便于更复杂的日志统计)。这时,源代码分析是绕不过去的一件事儿。阅读全文
posted @ 2009-06-10 10:14 博文视点 阅读(181) | 评论 (0) 编辑
摘要: 万维网诞生20年来,小小的Web发生了翻天覆地的变化,呆板的文字信息一统天下的日子早已离我们远去,一成不变的图片、动画等页面元素逐渐无法满足人们的需要,这也正是动态HTML出现并日渐成熟的一大主因。动态HTML并不属于一种专门的技术,它既不是某种语言,也不是插件,而是一种由各种技术综合而成的实用理念。无论是古老的HTML,还是不可或缺的CSS、JavaScript,甚至方兴未艾的AJAX技术,都是动态HTML的组成要素。但是,当将这些功能各异的技术、不同的实现规范,以及各种品牌和版本的浏览器都纳入考虑范围时,我们才会发现让网页完美地“动起来”并不是一件手到擒来的简单工作。正因为如此,Danny Goodman才编写了《Dynamic HTML: The Definitive Reference》(中文版译名为《Dynamic HTML权威指南》)一书,并且在新版本中不断地加入新的概念和内容,使得这本书始终是最好的动态HTML参考书籍之一。阅读全文
posted @ 2009-06-06 14:54 博文视点 阅读(98) | 评论 (0) 编辑
摘要: 仔细阅读后,深感这本书是一本联系理论和工程的桥梁,本书深入浅出地对系统底层机制进行了拨丝抽茧,让读者清晰地洞悉程序的前世今生,作为程序员,作为喜欢刨根问题的程序员,读这本书我想至少有两个好处,其一自不必说,一本让你洞悉系统如何链接、装载的优秀图书总是可以让你学到很多东西的;其二则在于,本书作者在写作本书中反映出的认真、执着,以及从小处着手的分析阐述方法,委实让我等值得学习,看书中若干的实例和图表,就可以明白作者在写作过程中的心血(听周老师提及这本书是俞甲子等花费两年时间原创)。或许有人会说这本书有点太底层了,对于普通程序员的日常工作好像没什么价值,这里我想举个自己的例子来证明理解系统底层的概念是多么重要。阅读全文
posted @ 2009-06-01 09:22 博文视点 阅读(432) | 评论 (0) 编辑
摘要: Silverlight 2正式发布的时间虽然不长,但它的Beta版在一年前已经发布,所以本书的写作其实在一年前就开始了,期间由于Silverlight 2版本的变化,本书也是几易其稿,最终才有这本《Silverlight 2完美征程》与广大读者见面。本书的出版,离不开博客园朋友的支持与帮助,他们的提问让我进一步去探索某些技术细节,也能够让我很好地了解大家在学习这样一门新技术时难点在哪里,从而在本书的写作中力争把晦涩难懂的技术用最通俗的语言表达出来。阅读全文
posted @ 2009-05-20 09:52 博文视点 阅读(162) | 评论 (0) 编辑
摘要: 阅读Apache的最初目的是希望能够了解大规模服务器的并发体系结构,提取一个可重用的网络框架。最初时只是希望了解Apache的并发体系结构,即现在的MPM模块,但是随着分析的深入,Apache的更多内容也纳入了分析的范围。分析的时候经常会出现以前看过的内容过了一段时间后又忘记了,于是只好重新开始,为了避免这种情况,就养成了文档记录的习惯。这些文档后来就发表到了CSDN的博客上。随着文档的增加,也就有了出版的打算,前前后后花了6年的时间。源码的分析和写作都是利用业余时间完成的,每天基本上只有两个多小时的时间。 阅读全文
posted @ 2009-05-14 14:18 博文视点 阅读(864) | 评论 (0) 编辑
摘要: 利用Silverlight提供的HtmlDocument对象,可以轻松实现在Silverlight操作Cookies。使用SetProperty和GetProperty可以实现Cookies读写,并且在HtmlDocument中提供已经封装好的Cookies属性。 现在通过一个示例来展示一下如何实现Cookie的读写。编写一个简单的用户界面,使其看起来如图13-6所示。阅读全文
posted @ 2009-05-12 19:52 博文视点 阅读(162) | 评论 (0) 编辑
摘要: 我是一个喜欢对技术问题寻根究底的人,不满足于仅仅了解一个技术的表面,而是希望能通过层层深入地挖掘,找出它背后最关键最核心的机理。计算机技术都是相通的,它们的核心思想相对是稳定不变的。为了了解操作系统内核及装载、链接等这些关键的技术,我曾经自己从头写了一个很小的内核、装载器及一个简单的运行库,它使我在后来学习其他技术的时候能够很快地触类旁通、自下而上地去理解整个系统,往往能够理解得更加深刻更加透彻。阅读全文
posted @ 2009-05-06 16:18 博文视点 阅读(483) | 评论 (0) 编辑
摘要: 《程序员的自我修养——链接、装载与库》所讲的内容不是活跃在当今IT舞台上的高新技术,也不是雄踞计算机某个领域的王牌霸主,而是默默服务于所有计算机应用的扫地僧。也许阅读本书不能够直接在平时学习工作中的生产力上得到体现,但了解计算机的台前幕后会对读者产生潜移默化的影响。当你的程序无法启动的时候,你可能会在脑海里多设想一种可能性;当你的代码链接失败的时候,你可能会更快地意识到问题的所在;当你的程序发生非法操作的时候,你可能不至于面对微软的错误报告毫无头绪。有人总爱用“时效性”评价当今的IT技术。仿佛一项技术的生存期就只有几年。我不能说这样的想法是错误的,如今的技术的确在飞速地更替和发展。但是本书所讲的技术,大多是成型在十年前,乃至二十年前,它们是整个计算机行业技术的根本,也几乎是现在所有计算机应用的基础。在当今的计算机技术发生根本性变革之前,这些技术还将继续存在并保持活力。我很荣幸能够有机会和读者分享这些技术。 阅读全文
posted @ 2009-04-30 09:37 博文视点 阅读(233) | 评论 (0) 编辑
摘要: CPU体系结构、汇编、C语言(包括C++)和操作系统,永远都是编程大师们的护身法宝。这些问题看似很简单但实际上有很多值得深入挖掘的地方,归结起来,主要是三个很大的而且连贯的主题,那就是“链接、装载和库”。 我始终认为对于一个问题比较好的描述方式,是由一个很小很简单的问题或示例入手,层层剥开深入挖掘,不仅探究每个机制“怎么做”,而且要理解它们“为什么这样做”,力求深入浅出、图文并茂,尽力把每一步细节都呈现给读者。这是我一贯的想法,也是我们在本书中努力试图达到的效果。本书的书名源自于俄罗斯的演员斯坦尼斯拉夫斯基创作的《演员的自我修养》,作者为了写这本书前前后后修改了三十年之久,临终前才同意不再修改,拿去出版。使用这个书名一方面是本书的内容的确不是介绍一门新的编程语言或展示一些实用的编程技术,而是介绍程序运行背后的机制和由来,可以看作是程序员的一种“修养”;另一方面是向斯坦尼斯拉夫斯基致敬,向他对作品精益求精的精神致敬。 阅读全文
posted @ 2009-04-24 10:15 博文视点 阅读(325) | 评论 (0) 编辑
摘要: 为什么要关心导航? 导航影响业务的成败。Web上的内容越来越丰富,人们的选择也越来越多,他们也愈加缺乏耐性。他们扫过页面上花花绿绿的链接和图片,在几秒钟内就做出点击的决定。只有清晰、明确的导航,才能引导与影响用户,实现业务目标。 导航决定用户的体验。试着在你的脑中回想一个你最常去的网站,脑中最先浮现的,应该是它页面顶部的主导航区域的风格和配色吧?导航处理得好,会让用户形成品牌认知,使他们浏览时不必担心迷路,而且还能满足他们探索的好奇心。 导航是Web开发项目的关键。导航并不只是导航条、面包屑而已。展现在用户面前的导航文字、布局、层次结构,无不基于项目初期的讨论、调研与用户分析。台前幕后两个阶段,构成了导航的框架。这个框架,正是整个网站的基础,是网站成功的前提和保证。 阅读全文
posted @ 2009-03-17 15:10 博文视点 阅读(114) | 评论 (0) 编辑
摘要: Douglas Crockford 是一位大师。 翻译大师的作品,一边是感到万分的荣幸,一边也是兢兢小心。因为吉尔伯特海特(美国教育家)曾经说过:写了一本很糟糕的书只是犯错而已,而把一本好书翻译得很糟糕则是犯罪。但这样的大师经典之作,即便是冒着犯罪的风险,也值得翻译出来并推荐给大家。一直到现在,依然有很多资深的开发人员对JavaScript存有偏见。秦歌和我,分别负责雅虎口碑网和淘宝网的前端开发组,对此的感受更为深刻。但即便是他们也不得不承认,JavaScript正日益成为互联网中最普及和最重要的开发语言。阅读全文
posted @ 2009-03-05 17:21 博文视点 阅读(225) | 评论 (0) 编辑
摘要: 一个好的Web应用有许多的层次,每一层都有其独立的功能,所有这些层次通力合作,构建起一个系统,但假如你尝试着随意组合它们,你只能得到一个劣质的系统或者说一个什么也不是的大杂烩。从开发人员/厨师的角度来考虑,自然是最底层最重要,因为它是整个上层结构的基石,支撑着我们的系统。而从用餐者/用户的角度来看,却是比较高的层次更为重要,因为它们才是甜点的亮点,用餐者/用户会将底层视作理所当然的存在,尤其是最底层。因为对用户而言,这些底部层次自然而然的就应该是Web应用的一部分。阅读全文
posted @ 2009-02-27 16:36 博文视点 阅读(162) | 评论 (0) 编辑
摘要: 当尝试分析一个正则式的时候——不管是别人的代码还是自己(可能是很久以前)写的,我们可以打开Perl正则式的调试模式。Perl的-D开关会打开Perl解析器的调试选项(不是你的程序,见第4章)。这个开关需要一系列字母和数字来表示应该打开的功能。选项-Dr会打开解析和执行正则式时的调试功能。 我们可以用一个小程序来检查一个正则式。程序的第一个参数是待匹配的字符串,第二个是正则式。我们把这个程序保存为explain-regex: 阅读全文
posted @ 2009-02-24 16:59 博文视点 阅读(177) | 评论 (0) 编辑
摘要: 翻译一本300页的英文技术书籍需要多长的时间?在开始翻译这本书之前,我的想法很简单:如果每天下班以后翻译2页,只要150天也就是5个月的时间。可是我的编辑晓菲不能等那么长的时间。我只好调整成每天翻译3页,总共100天。当我真正开始着手翻译本书的时候,才发现保持每天3页的进度并不是一件容易的事情。有的时候工作上会突然出现一些紧急的事情,你须要晚上加班处理。有的时候恰好碰上节假日,你很想和家人、朋友一起放松放松。这就意味着你须要在状态好、干扰少的时候多做一点,才能弥补加班和休息带来的进度损失。不过,除这些外部的因素以外,更让人“烦恼”的是书中的一些问题。阅读全文
posted @ 2009-01-20 20:44 博文视点 阅读(287) | 评论 (0) 编辑
摘要: 人们使用集体智慧这一术语已有十多年之久,随着新型通信技术的出现,这一术语也变得日趋流行和重要。尽管这样的表达也许会让人联想到群体意识或超自然现象,但当技术人员使用这一词汇时,其含义通常是指:为了创造新的想法,而将一群人的行为、偏好或思想组合在一起。 当然,集体智慧的出现可能要早于Internet。为了从全无关系的一群人中搜集、组合和分析数据,我们不一定要借助于Web。完成这项工作的一种最为基础的方法,便是使用调查问卷或普查。从一大群人中搜集的答案可以使我们得出关于群组的统计结论:组中的个体成员将会被忽视。从独立的数据提供者那里得出新的结论,是集体智慧所真正关注的。阅读全文
posted @ 2009-01-08 19:44 博文视点 阅读(270) | 评论 (0) 编辑
摘要: 《高性能网站建设指南》一书在两章的快速介绍之后,将进入本书的主要部分——14个性能规则。每个规则都进行了介绍,按照优先级顺序,每章一个。并非每个规则都要应用于每个网站,也不是每个网站都应该按同一种方式运用一个规则,但每个规则都值得考虑。本书的最后一章介绍了如何从性能的角度来分析Web页面,这一章还包含一些案例研究。绪言A,前端性能的重要性解释了有至少80%的时间花在了显示Web页面上,而这是在HTML文档下载完毕后发生的;这一章还描述了本书中的技术的重要性。 绪言B,HTTP概述对HTTP进行了简要介绍,主要强调了其中与性能相关的部分。 第1章,规则1——减少HTTP请求介绍了为什么额外的HTTP请求会对性能产生巨大的影响,并介绍了减少HTTP请求的方法,包括图片地图、CSS子图形、使用data:模式的URL内联图片,以及合并脚本和样式表。 第2章,规则2——使用内容发布网络强调了使用内容发布网络的优势。 阅读全文
posted @ 2008-12-24 19:23 博文视点 阅读(278) | 评论 (5) 编辑
摘要: 常见的Web服务架构主要有三种:REST式架构、RPC式架构和REST-RPC混合架构。REST式架构意味着,方法信息(method information)都在HTTP方法(HTTP method)里;面向资源的架构(ROA)意味着,作用域信息(scoping information)都在URI里——二者结合起来是很强大的。一个面向资源的REST式Web服务,通过HTTP请求的第一行(如“GET /reports/open-bugs HTTP/1.1”)就能基本了解客户端要做什么了,HTTP请求的其余部分只是具体细节而已。实际上,很多HTTP请求只要第一行就行了。如果HTTP方法跟方法信息对不上,那么服务就算不上是REST式的;如果作用域信息不放在URI里,那么服务就不是面向资源的。虽然并非只有这两条要求,但它们是很好的经验。一些知名的REST式面向资源的Web服务包括: 阅读全文
posted @ 2008-12-24 00:06 博文视点 阅读(1198) | 评论 (0) 编辑
摘要: 插件式框架的宿主程序启动以后,它首先会遍历插件文件夹中所有的插件程序集,这些程序集文件以dll格式存在,框架宿主程序将遍历程序集中包含的插件类型,然后由插件引擎负责依据类型分别生成ICommand、ITool、IToolBar、IMenu和IDockableWindow等对象,这些对象将放在一个插件对象池中传递给宿主程序进行进一步解析和处理。阅读全文
posted @ 2008-12-11 19:24 博文视点 阅读(514) | 评论 (1) 编辑
摘要: 经济诺贝尔奖得主H.A.Simon(H.A.Simon,计算机人工智能之父)在其1962年的文章《The Architecture of Complexity》中说道:“从小系统建造成庞大系统时,若有稳定的中间模块(Intermediate Module),则庞大的系统稳定且发展快速。”在日常生活中,高楼大厦之所以能够迅速建造起来,是因为使用了大量预制的中层模块(如帷窗等)。这些中层模块较平房常用的砖块大一些。 在计算机软件上,也适用同样的观念。程序的最小模块是一个指令,如果一个程序含有10 000行指令,但未加分组或分类,这样的程序将很复杂,难以驾驭。基于Simon的观念,人们将程序分而治之(Devide and Conque),分为几个中间模块(Module),就是通称的函数(Function)、程序(Procedure)、子程序(Subroutine)或段(Paragraph)。阅读全文
posted @ 2008-12-08 19:38 博文视点 阅读(234) | 评论 (0) 编辑
摘要: GIS(Geographic Information System,地理信息系统)早已不是什么新鲜的技术,特别是近些年来互联网已经深入我们日常生活的方方面面,人们有机会走进GIS的世界,才发现GIS原来这样精彩。在这背后,是GIS应用的日渐丰富,似乎世界上的一切都能与其扯上关系,其实这还真是一个再自然不过的道理,因为世间万物都有一个共同的属性,就是所处的位置,而地理位置,正是GIS的基础。阅读全文
posted @ 2008-11-04 10:56 博文视点 阅读(481) | 评论 (0) 编辑
摘要: 万维网的兴起与发展,改变了人们所处的信息环境。发达的网络也极大地方便了人们的信息获取与交流活动。人们可以随时随地连上网络去浩瀚的信息海洋中寻找需要的信息。然而,很多时候人们并不能通过访问网站顺利找到他们所需要的信息。可能要找的东西已经在那儿了,可就是无法找到。这就是信息架构(Information Architecture)要解决的问题。IA的具体活动表现为对网站信息内容进行结构化描述与组织,设计出合理的导航和存取机制,辅助人们找到和发现感兴趣的内容。阅读全文
posted @ 2008-09-16 15:01 博文视点 阅读(188) | 评论 (0) 编辑
摘要: 由雅虎CPO(Chief Performance Officer)Steve Souders著、刘彦博先生翻译的O'Reilly经典图书《高性能网站建设指南》(原名:High Performance Web Sites)已上市。阅读全文
posted @ 2008-07-25 10:39 博文视点 阅读(181) | 评论 (2) 编辑