计算机
大规模分布式存储系统 豆瓣
作者: 杨传辉 机械工业出版社 2013 - 9
《大规模分布式存储系统:原理解析与架构实战》是分布式系统领域的经典著作,由阿里巴巴高级技术专家“阿里日照”(OceanBase核心开发人员)撰写,阳振坤、章文嵩、杨卫华、汪源、余锋(褚霸)、赖春波等来自阿里、新浪、网易和百度的资深技术专家联袂推荐。理论方面,不仅讲解了大规模分布式存储系统的核心技术和基本原理,而且对谷歌、亚马逊、微软和阿里巴巴等国际型大互联网公司的大规模分布式存储系统进行了分析;实战方面,首先通过对阿里巴巴的分布式数据库OceanBase的实现细节的深入剖析完整地展示了大规模分布式存储系统的架构与设计过程,然后讲解了大规模分布式存储技术在云计算和大数据领域的实践与应用。
《大规模分布式存储系统:原理解析与架构实战》内容分为四个部分:基础篇——分布式存储系统的基础知识,包含单机存储系统的知识,如数据模型、事务与并发控制、故障恢复、存储引擎、压缩/解压缩等;分布式系统的数据分布、复制、一致性、容错、可扩展性等。范型篇——介绍谷歌、亚马逊、微软、阿里巴巴等著名互联网公司的大规模分布式存储系统架构,涉及分布式文件系统、分布式键值系统、分布式表格系统以及分布式数据库技术等。实践篇——以阿里巴巴的分布式数据库OceanBase为例,详细介绍分布式数据库内部实现,以及实践过程中的经验。专题篇——介绍分布式系统的主要应用:云存储和大数据,这些是近年来的热门领域,本书介绍了云存储平台、技术与安全,以及大数据的概念、流式计算、实时分析等。
有效的单元测试 豆瓣
Effective Unit Testing
作者: 科斯凯拉 (Lasse Koskela) 译者: 申健 (Jacky Shen) 2014 - 11
《有效的单元测试》是一本关于单元测试的专著,由资深敏捷技术实践专家撰写,不仅系统且深入地阐释了单元测试用于软件设计的工具、方法、原则和最佳实践,而且对各种测试常见问题进行了深入分析,包含大量实践案例,可操作性强,能为用户高效编写优秀测试提供有效指导,让组织持续创造成功的产品和服务。
《有效的单元测试》分为三部分,共9章。第一部分(第1~3章)主要阐述测试的目的与原因,并分析作为常用工具的测试替身的作用。第1章先从整体阐释测试先行所带来的价值,以及各种对测试和测试质量的影响。第2章定义如何才能写出优秀的测试。第3章讨论现代程序员最基本的工具之一——测试替身。第二部分(第4~6章)的目标是帮助我们更好地识别并修复测试代码中的坏味道。第4章展示破坏测试可读性的坏味道。第5章继续对破坏可维护性的测试提供建议。第6章涉及有关脆弱或不可靠的测试坏味道。第三部分(第7~9章)涉及Java程序员在编写测试时随时可能碰到的话题。第7章介绍可测的设计的定义与作用。第8章探讨JVM语言的共生,以及如何用另一门语言来测试Java代码。第9章专门讨论对构建进行加速的问题。此外还包括两个附录,附录A介绍使用JUnit编写测试的入门知识。附录B探讨通过JUnit的API来扩展其内置功能。
构建之法 豆瓣 Goodreads
作者: 邹欣 人民邮电出版社 2014 - 9
内容简介:
软件工程牵涉的范围很广, 同时也是一般院校的同学反映比较空洞乏味的课程。 但是软件工程的技术对于投身IT 产业的学生来说是非常重要的。作者邹欣有长达20年的一线软件开发经验,他利用业余时间在数所高校进行了长达6年的软件工程教学实践,总结出了在16周的时间内让 同学们通过 “做中学 (Learning By Doing)” 掌握实用的软件工程技术的教学计划,并得到高校师生的积极反馈。在此基础上,作者对软件工程的各个知识点和技能要求进行了系统性整理,形成教材。
本书共分17章,对照美国ACM/IEEE2013年新出版的计算机科学教学指导(Computer ScienceCurricula 2013)中的软件工程相关部分,这本教材覆盖了其中大多数Core-Tier1和Core-Tier2的内容。可以说,全书对软件工程内容的覆盖不逊于任何一本现行的教材,同时讲述了业界最新实践方法。
本书评论:
推荐软件工程专业学子阅读,了解软件工程真正内涵,懂得“工程”二字真正含义,知道软件工程和计算机科学的区别。了解之后,就知道为何软件工程是就业含金量较高的行业了。
——朝红阳(http://weibo.com/u/1794892070)/中山大学软件学院
书中 设想了大量的场景“学”和“习”,并且用了大量的类比,非常生动有趣。这本教材也对软件工程课老师提出了更高的要求;对学生而言,同样面临着要付出怎样的努力才能学到“干货”的选择。
——鞠小林(http://weibo.com/jukxy)/南通大学软件学院
关于计算机科学与软件工程的差别?这是我们学生问的最多的,这下有解释啦!包括书中谈到的师生关系、软件工程师的职业发展、职业道德等,这些内容我上课时都可以用。
——牛慧娟/华中科技大学软件学院
面对在软件开发方面经验很少的学生,邹欣老师通过丰富生动的故事和隐喻帮助学生建立软件工程的思维习惯,通过严格扎实的动手训练与考核帮助学生总结归纳自己的“最佳实践经验”。读这本书,软件工程课不再枯燥沉闷,而是变得出乎意料的生动有趣。
——王忠杰(http://weibo.com/travellingwithme)/哈尔滨工业大学计算机科学与技术学院
读完《构建之法——现代软件工程》,不禁惊叹,软件工程的书还可以这样写!像团队和流程、敏捷流程、需求分析、设计与实现这些章节我看了又看,看完之后不禁拍大腿(书里说的“拍脑门、拍胸脯、拍屁股”的三拍有点不全,还差“拍大腿”):为什么邹欣老师会把原本无趣的问题写得这么吸引人?我深深地感觉到,不会讲故事的软件工程老师不是好老师!这本书给我最大的感受是,作者能把一个个鲜活的例子(或故事)与软件工程的相关问题恰到好处地结合起来,让软件工程的理论和方法更好地落地。
——王赞(http://weibo.com/scswz)/天津大学软件学院
将对软件工程思想的理解内化为软件工程师的职业习惯,是软件工程教学的核心目标,本书的实验设计恰恰非常有助于这一内化过程。个人项目、两人项目和团队项目由易到难,循序渐进,不断总结。我在教学中借鉴这一思路,从学生较为熟悉的编程训练入手,以范例演示基本编码规范、 No Design时的代码、经过基
本Modularity (also called separation of concerns)设计的代码、writing code to make it reusable on future projects以及一些特殊的接口设计……从编码实践中理解软件工程思想,就会跳出纸上谈兵的框框。
——孟宁(http://staff.ustc.edu.cn/~mengning/,http://weibo.com/mengning997 )
/中国科技大学软件学院
软件工程在大学是最难讲,也是最容易讲的一门课,容易在这门课涵盖的内容和外延特别丰富,这些内容学生基本没概念,短期也无法落到实处来验证有用没用,所以老师可以大讲特讲,人畜无害;难在你要在学生一片空白(没有很强的代码能力、没有团队概念、没有项目经验)的情况下去让他们懂得这些东西。在我认识的人中,能有丰富的项目经验又愿意花时间在教学实践上,最终能把各种知识理论体系化的人寥寥无几。邹欣老师恰好这几点都具备。快速翻完整本书,最大的感受是这本书出版得恰逢其时,传统的软件工程教材早就该翻新了!
——徐亚波(http://ss.sysu.edu.cn/~xyb,http://weibo.com/arber)/中山大学软件学院
深入浅出Servlets&JSP 豆瓣
作者: (美)巴沙姆, 等著 东南大学出版社(南京东南大学出版社) 2006 - 9
现在是你学习较新版本(J2EE1.4)Servlets和JSP的时候了,本书会为你的学习加速。你将会熟练掌握Servlets和JSP,并顺利通过Sun的Web组件开发人员认证(SCWCD)1.4考试。也许你并不在意考试,但会在下一个项目中运用Servlets和JSP。你在为按时完成项目而努力,已为此而导致咖啡因摄入过量,所以你不能再为一本只有专家才能理解而且让人昏昏入睡的书而浪费时间了。
没问题。《深入浅出Servlets & JSP》绝对不会令你昏昏入睡,它会将知识直接灌入你的大脑。你会通过不寻常的方式同Servlet和JSP打交道,学得更深入、更快,而且最重要的是,你能真正地学以致用。你可以看看为什么那么多评论者说这本书让他们"手不释卷"。我们不会为了通过考试而让你昏昏入睡,更不会让你第二天就忘了所学的一切。
你会了解到怎么写Servlet和JSP,容器的哪些方面很受推崇,以及哪些方面让它倍受责难,如何使用JSP表达式语言,JSP里哪些不该写,怎么编写部署描述文件,如何编写安全的应用,以及如何使用一些服务器端设计模式。你不只是能通过考试而已,你将实实在在掌握这些内容,真正地将其加以应用。
SCWCD,这种新的认证非常严格,难度大大超过它以前的版本。这一点我们很清楚,因为它就是我们编写的(不要误解了,我们可不是想把题目出得难些来让你买我们的书,这不是我们的本意)。我们只想用一种更有趣的方式让你更愉快地通过考试。(已经有数千人利用《深入浅出 EJB》成功通过了SCBCD考试,如果你是其中之一,应该知道这本书能带给你怎样的惊喜!)
Brayn Basham,Kathy Sierra(javaRanch.com的创始人)和Bert Bates是多个Sun Java认证考试的开发人员,包括J2EE 1.4 SCWCD,他们已经用深入浅出(Head First)的概念对数以千计的程序员进行了Java技术培训。
“这是快速、有趣和迷人的,记住了——你可以真正学到一些东西。”
——Ken Arnold,The Java Programming Language 作者之一
“...现在绝对是投入Head First怀抱的时刻了。”
——Scott McNealy, Sun Microsystems主席,CEO
“我为Servlet/JSP课程买了十本以上的书,但没有一本真正符合我的教学需求...直到我发现了现在在你手中的教学宝典。Head First系列书籍使我们轻松地教学,并且教得更棒。”
——Philippe Maquet,布鲁塞尔Loop Factory资深教师
2015年9月13日 已读
补课。如果只是想了解个大概,不太追求实际编码的话,这本书挺好的,虽然有八百多页...
java 编程 计算机
Practical Java中文版 豆瓣
作者: (美)Peter Haggar 译者: 侯捷 / 刘永丹 中国电力出版社 2003 - 1
本书出自第一线JAVA编程专家之手,为读者展现正确、高效、强固之JAVA代码实践方案。
这本取材广泛的掼,以不同层级的专家经验,帮助程序员更透彻地理解JAVA,使他们的编码效能发挥到极致。此书以准则/条款形式进行编排,探究改善代码的68个重要主题,提供精晰明快、精心撰写之示例和方案。所有示例和方案都带有详尽的解说,你可以将它们融入自身工作之中。这些编程和设计上的实践方案,描述了经验丰富的程序员实际运用之最佳实践手法。为方便中高阶JAVA程序员阅读,本书内容被精心安排成为各自独立的课程,因此你既可以从头通读至尾,也可以挑选独特专题加以精读。
2015年9月8日 已读
翻译不错,就是太老了,对初学者来说分不清哪些内容已经过时,对有一定经验的读者来说又太浅了,不如去看《effective java》
Java 程序设计 计算机 软件开发
Java解惑 豆瓣
作者: 布洛赫 / 加夫特 译者: 陈昊鹏 人民邮电出版社 2006 - 1
本书特写了95个有关Java或其类库的陷阱和缺陷的谜题,其中大多数谜题都采用了短程序的方式,这些程序的行为与其看似的大相径庭。在每个谜题之后都给出了详细的解惑方案,这些解惑方案超越了对程序行为的简单解释,向读者展示了如何一劳永逸地避免底层的陷阱与缺陷。
本书趣味十足、寓教于乐,适合于具备Java知识的学习者和有编程经验的Java程序员。
2015年9月8日 已读
java中一些反直觉陷阱,大部分如果按规范写不太可能碰到。翻译很渣。
java 程序设计 计算机
编写高质量代码:改善Python程序的91个建议 豆瓣
8.2 (9 个评分) 作者: 张颖 / 赖勇浩 机械工业出版社 2014 - 6
在通往“Python技术殿堂”的路上,本书将为你编写健壮、优雅、高质量的Python代码提供切实帮助!内容全部由Python编码的最佳实践组成,从基本原则、惯用法、语法、库、设计模式、内部机制、开发工具和性能优化8个方面深入探讨了编写高质量Python代码的技巧与禁忌,一共总结出91条宝贵的建议。每条建议对应Python程序员可能会遇到的一个问题。本书不仅以建议的方式从正反两方面给出了被实践证明为十分优秀的解决方案或非常糟糕的解决方案,而且分析了问题产生的根源,会使人有一种醍醐灌顶的感觉,豁然开朗。
《编写高质量代码:改善Python程序的91个建议》针对每个问题所选择的应用场景都非常典型,给出的建议也都与实践紧密结合。书中的每一条建议都可能在你的下一行代码、下一个应用或下一个项目中显露锋芒。建议你将本书搁置在手边,随时查阅,相信这么做一定能使你的学习和开发工作事半功倍。
2015年8月30日 已读
这书定位有点怪,知识点有很浅的也有很深的,深的部分基本没展开讲。我很怀疑如果读者没看过其他深入介绍Python的书能否看懂,但是如果读者已经看过了,又何必来看这本呢?
Python 编程 计算机
软件开发者路线图 豆瓣
Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman
8.2 (8 个评分) 作者: [美] Dave H. Hoover / [美] Adewale Oshineye 译者: 王江平 机械工业出版社 2010 - 9
作为一名软件开发者,你在奋力推进自己的职业生涯吗?面对今天日新月异和不断拓展的技术,取得成功需要的不仅仅是技术专长。为了增强专业性,你还需要一些软技能以及高效的学习技能。本书的全部内容都是关于如何修炼这些技能的。两位作者Dave Hoover和Adewale Oshineye给出了数十种行为模式,来帮你提高主要的技能。
本书中的模式凝结了多年的调查研究、无数次的访谈以及来自O’Reilly在线论坛的反馈,可以解决程序员、管理员和设计者每天都会面对的困难情形。本书介绍的不只是经济方面的成功,学徒模式还把软件开发看成一种自我实现的途径。读一读这本书吧,它会帮你充分利用好自己的生命和职业生涯。
厌倦了自己的工作?去找一个玩具项目来帮你重拾解决问题的乐趣吧,这叫“培养激情”。
感觉要被新知识淹没了?做点以前做过的事情,重新探索一下自己熟悉的领域,然后通过“以退为进”再次前进。
学习停滞了?那就去寻找一支由富有经验和才能的开发者组成的团队,暂时呆在里面“只求最差”。
研磨设计模式 豆瓣
作者: 陈臣 / 王斌 2011 - 1
《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等,让读者能系统、完整、准确地掌握每个模式,培养正确的“设计观”;中高级内容则深入探讨如何理解这些模式,包括模式中蕴涵什么样的设计思想,模式的本质是什么,模式如何结合实际应用,模式的优缺点以及与其他模式的关系等,以期让读者尽量去理解和掌握每个设计模式的精髓所在。
《研磨设计模式》在内容上深入、技术上实用、和实际开发结合程度很高,书中大部分的示例程序都是从实际项目中简化而来,因此很多例子都可以直接拿到实际项目中使用。如果你想要深入透彻地理解和掌握设计模式,并期望能真正把设计模式应用到项目中去,那么这是你不可错过的一本好书。
《研磨设计模式》难度为初级到中级,适合与所有开发人员、设计人员或者即将成为开发人员的朋友。也可以作为高效学生深入学习设计模式的参考读物!
2015年5月14日 已读
不知道是不是吃到第七个包子的缘故,总之看完感觉比《大话设计模式》收获多。另外别被厚度吓到了,大部分是代码,看起来很快的
java 程序设计 编程 计算机 设计模式
软件测试的艺术 豆瓣
The Art of Software Testing, 3rd
作者: Glenford J. Myers / Tom Badgett 译者: 张晓明 机械工业出版社华章公司 2012 - 4
路遥知马力,日久见人心。本书从第1版付梓到现在已经30余年,尽管这30年来计算机软硬件都发生了显著的变化,但是这本书经受住了时间的考验,显示出强大的生命力。市面上多半的软件书籍都偏重于讲流行的开发技术、编程语言以及测试方法,往往是风光一阵不再,而这本书却像醇香的好酒历久弥新。这一次修订的第3版仍然延续之前的写作风格,结构和语言简明扼要,全面而细致地展示了那些久经考验的软件测试方法和智慧。如果你参与重要的软件项目开发,对本书仔细研读绝对值得,将给你带来长期收益。
第3版阐述了如何将经典软件测试法则应用到解决当今计算机行业所面临的最紧迫的问题之中,这些问题包括:
移动设备的应用测试
各种设备上的软件代码走查、代码审查(从技术以及如何发现错误的角度讨论)
可用性测试(随着直接面向广大终端用户的应用在数量上呈爆发性增长,可用性变得越来越重要)
互联网应用、电子商务和敏捷编程环境的测试
2015年5月4日 已读
奉旨读书...全是全,但都是蜻蜓点水。另外翻译有些地方看着就不对头,下了个英文版对照才懂。
测试 计算机 软件工程
重构 豆瓣
Refactoring: Improving the Design of Existing Code
8.5 (20 个评分) 作者: Martin Fowler 译者: 熊节 人民邮电出版社 2010
重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是本书原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。本书也因此成为与《设计模式》齐名的经典著作,被译为中、德、俄、日等众多语言,在世界范围内畅销不衰。
本书凝聚了软件开发社区专家多年摸索而获得的宝贵经验,拥有不因时光流逝而磨灭的价值。今天,无论是重构本身,业界对重构的理解,还是开发工具对重构的支持力度,都与本书最初出版时不可同日而语,但书中所蕴涵的意味和精华,依然值得反复咀嚼,而且往往能够常读常新。
Agile Java 中文版 豆瓣
作者: JEFF LANGR 电子工业出版社 2006
本书将当前流行的敏捷开发方法融入到了Java语言的实践中,给了您学习并掌握Java 5.0、面向对象方法的机会,同时您还将学习测试驱动开发方法。作者很好地将三者融合在一起,全力教读者如何使用Java 5.0开发专业的软件。.
本书语言浅显易懂,颇有趣味,覆盖了上述三方面的内容,准确地层示了如何将Java和TDD进行有效的整合;帮助开发者在整个软件生命周期中使用这些方法,以适应现代软件行业对高开发速度和高准确性的要求,对于希望使用Java 5.0作为开发工具的开发者而言,本书是一本很好的入门书籍。..
从市场来看,现在的软件业竞争非常激烈,软件的业务需求变化快,经常会出现变更,传统的软件开发方法已经很难适应这种快速变化,在这种高速变化的情况下,显得捉襟见肘;而融合了敏捷方法的Java可以从某些方面应对这种变化,这使得本书成为Java 5.0学习者一本优秀的参考书。...
2015年1月27日 已读
虽然老了点,翻译也有瑕疵,但是很适合初学者看,要是看Core Java之前有人推荐我这本就好了
Java 敏捷 编程 计算机
Spring 3.x企业应用开发实战 豆瓣
作者: 陈雄华 电子工业出版社 2012 - 2
内容简介
Spring 3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。
Spring 3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架、REST风格的Web编程模型等。这些新功能实用性强、易用性高,可大幅降低Java应用,特别是Java Web应用开发的难度,同时有效提升应用开发的优雅性。
本书是在《精通Spring 2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练使用Spring的各项功能的同时,还能透彻理解Spring的内部实现,真正做到知其然知其所以然。此外,本书重点突出了“实战性”的主题,力求使全书“从实际项目中来,到实际项目中去”。
目录
第1篇 概述
第1章 Spring概述 2
1.1 认识Spring 3
1.2 关于SpringSource 4
1.3 Spring带给我们什么 5
1.4 Spring体系结构 6
1.5 Spring 3.0的新功能 8
1.5.1 核心API更新到Java 5.0 8
1.5.2 Spring表达式语言 8
1.5.3 可通过Java类提供IoC配置信息 9
1.5.4 通用类型转换系统和属性格式化
系统 10
1.5.5 数据访问层新增OXM功能 10
1.5.6 Web层的增强 10
1.5.7 其他 11
1.6 Spring对Java版本的要求 11
1.7 如何获取Spring 11
1.8 小结 12
第2章 快速入门 13
2.1 实例功能概述 14
2.1.1 比Hello World更适用的实例 14
2.1.2 实例功能简介 14
2.2 环境准备 16
2.2.1 创建库表 16
2.2.2 建立工程 17
2.2.3 类包及Spring配置文件规划 19
2.3 持久层 20
2.3.1 建立领域对象 20
2.3.2 UserDao 21
2.3.3 LoginLogDao 24
2.3.4 在Spring中装配DAO 24
2.4 业务层 26
2.4.1 UserService 26
2.4.2 在Spring中装配Service 27
2.4.3 单元测试 29
2.5 展现层 31
2.5.1 配置Spring MVC框架 31
2.5.2 处理登录请求 33
2.5.3 JSP视图页面 35
2.6 运行Web应用 37
2.7 小结 38
第2篇 IoC和AOP
第3章 IoC容器概述 40
3.1 IoC概述 41
3.1.1 通过实例理解IoC的概念 41
3.1.2 IoC的类型 43
3.1.3 通过容器完成依赖关系的注入 45
3.2 相关Java基础知识 46
3.2.1 简单实例 46
3.2.2 类装载器ClassLoader 48
3.2.3 Java反射机制 51
3.3 资源访问利器 53
3.3.1 资源抽象接口 53
3.3.2 资源加载 56
3.4 BeanFactory和ApplicationContext 58
3.4.1 BeanFactory介绍 58
3.4.2 ApplicationContext介绍 61
3.4.3 父子容器 68
3.5 Bean的生命周期 68
3.5.1 BeanFactory中Bean的生命周期 68
3.5.2 ApplicationContext中Bean的
生命周期 77
3.6 小结 79
第4章 在IoC容器中装配Bean 80
4.1 Spring配置概述 81
4.1.1 Spring容器高层视图 81
4.1.2 基于XML的配置 82
4.2 Bean基本配置 84
4.2.1 装配一个Bean 84
4.2.2 Bean的命名 85
4.3 依赖注入 86
4.3.1 属性注入 86
4.3.2 构造函数注入 89
4.3.3 工厂方法注入 93
4.3.4 选择注入方式的考量 94
4.4 注入参数详解 95
4.4.1 字面值 95
4.4.2 引用其他Bean 96
4.4.3 内部Bean 98
4.4.4 null值 98
4.4.5 级联属性 98
4.4.6 集合类型属性 99
4.4.7 简化配置方式 103
4.4.8 自动装配 106
4.5 方法注入 107
4.5.1 lookup方法注入 107
4.5.2 方法替换 108
4.6 <bean>之间的关系 109
4.6.1 继承 109
4.6.2 依赖 110
4.6.3 引用 111
4.7 整合多个配置文件 112
4.8 Bean作用域 113
4.8.1 singleton作用域 113
4.8.2 prototype作用域 114
4.8.3 Web应用环境相关的Bean
作用域 115
4.8.4 作用域依赖问题 117
4.9 FactoryBean 118
4.10 基于注解的配置 120
4.10.1 使用注解定义Bean 120
4.10.2 使用注解配置信息启动Spring
容器 120
4.10.3 自动装配Bean 122
4.10.4 Bean作用范围及生命过程方法 125
4.11 基于Java类的配置 127
4.11.1 使用Java类提供Bean定义
信息 127
4.11.2 使用基于Java类的配置信息
启动Spring容器 130
4.12 不同配置方式比较 132
4.13 小结 134
第5章 Spring容器高级主题 135
5.1 Spring容器技术内幕 136
5.1.1 内部工作机制 136
5.1.2 BeanDefinition 139
5.1.3 InstantiationStrategy 140
5.1.4 BeanWrapper 140
5.2 属性编辑器 141
5.2.1 JavaBean的编辑器 142
5.2.2 Spring默认属性编辑器 145
5.2.3 自定义属性编辑器 146
5.3 使用外部属性文件 149
5.3.1 使用外部属性文件 149
5.3.2 使用加密的属性文件 151
5.3.3 属性文件自身的引用 155
5.4 引用Bean的属性值 156
5.5 国际化信息 158
5.5.1 基础知识 158
5.5.2 MessageSource 163
5.5.3 容器级的国际化信息资源 166
5.6 容器事件 167
5.6.1 Spring事件类结构 168
5.6.2 解构Spring事件体系的具体
实现 169
5.6.3 一个实例 170
5.7 小结 172
第6章 Spring AOP基础 173
6.1 AOP概述 174
6.1.1 AOP到底是什么 174
6.1.2 AOP术语 176
6.1.3 AOP的实现者 178
6.2 基础知识 178
6.2.1 带有横切逻辑的实例 178
6.2.2 JDK动态代理 181
6.2.3 CGLib动态代理 184
6.2.4 AOP联盟 186
6.2.5 代理知识小结 186
6.3 创建增强类 187
6.3.1 增强类型 187
6.3.2 前置增强 188
6.3.3 后置增强 192
6.3.4 环绕增强 193
6.3.5 异常抛出增强 194
6.3.6 引介增强 196
6.4 创建切面 199
6.4.1 切点类型 200
6.4.2 切面类型 201
6.4.3 静态普通方法名匹配切面 203
6.4.4 静态正则表达式方法匹配切面 205
6.4.5 动态切面 208
6.4.6 流程切面 211
6.4.7 复合切点切面 213
6.4.8 引介切面 215
6.5 自动创建代理 216
6.5.1 实现类介绍 217
6.5.2 BeanNameAutoProxyCreator 217
6.5.3 DefaultAdvisorAutoProxyCreator 219
6.6 小结 220
第7章 基于@AspectJ和Schema的AOP 221
7.1 Spring对AOP的支持 222
7.2 JDK 5.0注解知识快速进阶 222
7.2.1 了解注解 222
7.2.2 一个简单的注解类 223
7.2.3 使用注解 224
7.2.4 访问注解 225
7.3 着手使用@AspectJ 226
7.3.1 使用前的准备 226
7.3.2 一个简单的例子 227
7.3.3 如何通过配置使用@AspectJ
切面 229
7.4 @AspectJ语法基础 230
7.4.1 切点表达式函数 230
7.4.2 在函数入参中使用通配符 231
7.4.3 逻辑运算符 232
7.4.4 不同增强类型 232
7.4.5 引介增强用法 233
7.5 切点函数详解 235
7.5.1 @annotation() 235
7.5.2 execution() 237
7.5.3 args()和@args() 238
7.5.4 within() 240
7.5.5 @within()和@target() 240
7.5.6 target()的this() 241
7.6 @AspectJ进阶 243
7.6.1 切点复合运算 243
7.6.2 命名切点 244
7.6.3 增强织入的顺序 245
7.6.4 访问连接点信息 246
7.6.5 绑定连接点方法入参 247
7.6.6 绑定代理对象 249
7.6.7 绑定类注解对象 249
7.6.8 绑定返回值 250
7.6.9 绑定抛出的异常 251
7.7 基于Schema配置切面 252
7.7.1 一个简单切面的配置 252
7.7.2 配置命名切点 253
7.7.3 各种增强类型的配置 255
7.7.4 绑定连接点信息 257
7.7.5 Advisor配置 258
7.8 混合切面类型 259
7.8.1 混合使用各种切面类型 260
7.8.2 各种切面类型总结 261
7.9 JVM Class文件字节码转换基础
知识 261
7.9.1 java.lang.instrument包的工作
原理 262
7.9.2 如何向JVM中注册转换器 263
7.9.3 使用JVM启动参数注册
转换器的问题 265
7.10 使用LTW织入切面 265
7.10.1 Spring的LoadTimeWeaver 266
7.10.2 使用LTW织入一个切面 268
7.10.3 在Tomcat下的配置 270
7.10.4 在其他Web应用服务器下的
配置 271
7.11 小结 271
第3篇 数据访问
第8章 Spring对DAO的支持 274
8.1 Spring的DAO理念 275
8.2 统一的异常体系 275
8.2.1 Spring的DAO异常体系 276
8.2.2 JDBC的异常转换器 278
8.2.3 其他持久技术的异常转换器 278
8.3 统一数据访问模板 279
8.3.1 使用模板和回调机制 279
8.3.2 Spring为不同持久化技术所
提供的模板类 281
8.4 数据源 282
8.4.1 配置一个数据源 282
8.4.2 获取JNDI数据源 287
8.4.3 Spring的数据源实现类 287
8.5 小结 288
第9章 Spring的事务管理 289
9.1 数据库事务基础知识 290
9.1.1 何为数据库事务 290
9.1.2 数据并发的问题 291
9.1.3 数据库锁机制 293
9.1.4 事务隔离级别 294
9.1.5 JDBC对事务支持 294
9.2 ThreadLocal基础知识 296
9.2.1 ThreadLocal是什么 296
9.2.2 ThreadLocal的接口方法 297
9.2.3 一个TheadLocal实例 298
9.2.4 与Thread同步机制的比较 299
9.2.5 Spring使用ThreadLocal解决
线程安全问题 300
9.3 Spring对事务管理的支持 301
9.3.1 事务管理关键抽象 302
9.3.2 Spring的事务管理器实现类 305
9.3.3 事务同步管理器 307
9.3.4 事务传播行为 309
9.4 编程式的事务管理 309
9.5 使用XML配置声明式事务 310
9.5.1 一个将被实施事务增强的
服务接口 312
9.5.2 使用原始的
TransactionProxyFactoryBean 313
9.5.3 基于tx/aop命名空间的配置 315
9.6 使用注解配置声明式事务 318
9.6.1 使用@Transactional注解 318
9.6.2 通过AspectJ LTW引入事务
切面 322
9.7 集成特定的应用服务器 323
9.7.1 BEA WebLogic 324
9.7.2 BEA WebLogic 324
9.8 小结 324
第10章 Spring的事务管理难点剖析 325
10.1 DAO和事务管理的牵绊 326
10.1.1 JDBC访问数据库 326
10.1.2 Hibernate访问数据库 328
10.2 应用分层的迷惑 330
10.3 事务方法嵌套调用的迷茫 334
10.3.1 Spring事务传播机制回顾 334
10.3.2 相互嵌套的服务方法 335
10.4 多线程的困惑 338
10.4.1 Spring通过单实例化Bean
简化多线程问题 338
10.4.2 启动独立线程调用事务方法 338
10.5 联合军种作战的混乱 340
10.5.1 Spring事务管理器的应对 340
10.5.2 Hibernate+Spring JDBC
混合框架的事务管理 341
10.6 特殊方法成漏网之鱼 345
10.6.1 哪些方法不能实施Spring AOP
事务 345
10.6.2 事务增强遗漏实例 345
10.7 数据连接泄漏 349
10.7.1 底层连接资源的访问问题 349
10.7.2 Spring JDBC数据连接泄漏 350
10.7.3 通过DataSourceUtils获取
数据连接 353
10.7.4 通过DataSourceUtils获取
数据连接 355
10.7.5 JdbcTemplate如何做到对连接
泄漏的免疫 357
10.7.6 使用TransactionAwareData
SourceProxy 357
10.7.7 其他数据访问技术的等价类 358
10.8 小结 359
第11章 使用Spring JDBC访问数据库 361
11.1 使用Spring JDBC 362
11.1.1 JDBCTemplate小试牛刀 362
11.1.2 在DAO中使用JDBCTemplate 363
11.2 基本的数据操作 364
11.2.1 更改数据 364
11.2.2 返回数据库的表自增主键值 367
11.2.3 批量更改数据 369
11.2.4 查询数据 370
11.2.5 查询单值数据 373
11.2.6 调用存储过程 375
11.3 BLOB/CLOB类型数据的操作 377
11.3.1 如何获取本地数据连接 377
11.3.2 相关的操作接口 379
11.3.3 插入Lob类型的数据 380
11.3.4 以块数据方式读取Lob数据 383
11.3.5 以流数据方式读取Lob数据 383
11.4 自增键和行集 384
11.4.1 自增键的使用 384
11.4.2 如何规划主键方案 386
11.4.3 以行集返回数据 388
11.5 其他类型的JDBCTemplate 389
11.5.1 NamedParameterJDBCTemplate 389
11.5.2 SimpleJDBCTemplate 391
11.6 以OO方式访问数据库 391
11.6.1 使用MappingSqlQuery查询
数据 391
11.6.2 使用SqlUpdate更新数据 393
11.6.3 使用StoredProcedure执行存储
过程 394
11.6.4 SqlFunction类 396
11.7 小结 396
第12章 整合其他ORM框架 398
12.1 Spring整合ORM技术 399
12.2 在Spring中使用Hibernate 400
12.2.1 配置SessionFactory 400
12.2.2 使用HibernateTemplate 403
12.2.3 处理LOB类型数据 407
12.2.4 添加Hibernate事件监听器 409
12.2.5 使用原生Hibernate API 409
12.2.6 使用注解配置 410
12.2.7 事务处理 412
12.2.8 延迟加载的问题 413
12.3 在Spring中使用myBatis 414
12.3.1 配置SqlMapClient 415
12.3.2 在Spring配置myBatis 416
12.3.3 编写myBatis的DAO 417
12.5 DAO层设计 420
12.5.1 DAO基类的设计 421
12.5.2 查询接口方法的设计 423
12.5.3 分页查询接口设计 424
12.6 小结 425
第4篇 业务层及Web层技术
第13章 任务调度和异步执行器 428
13.1 任务调度概述 429
13.2 Quartz快速进阶 429
13.2.1 Quartz基础结构 430
13.2.2 使用SimpleTrigger 432
13.2.3 使用CronTrigger 434
13.2.4 使用Calendar 437
13.2.5 任务调度信息存储 439
13.3 在Spring中使用Quartz 442
13.3.1 创建JobDetail 442
13.3.2 创建Trigger 444
13.3.3 创建Scheduler 446
13.4 Spring中使用JDK Timer 447
13.4.1 Timer和TimerTask 448
13.4.2 Spring对JDK Timer的支持 450
13.5 Spring对JDK 5.0 Executor的
支持 451
13.5.1 了解JDK 5.0的Executor 452
13.5.2 Spring对Executor所提供的
抽象 454
13.6 实际应用中的任务调度 455
13.6.1 如何产生任务 456
13.6.2 任务调度对应用程序集群的
影响 457
13.6.3 任务调度云 458
13.6.4 Web应用程序中调度器的
启动和关闭问题 460
13.7 小结 462
第14章 使用OXM进行对象XML映射 463
14.1 认识XML解析技术 464
14.1.1 什么是XML 464
14.1.2 XML的处理技术 464
14.2 XML处理利器:XStream 466
14.2.1 XStream概述 466
14.2.2 快速入门 466
14.2.3 使用XStream别名 469
14.2.4 XStream转换器 470
14.2.5 XStream注解 472
14.2.6 流化对象 474
14.2.7 持久化API 475
14.2.8 额外功能:处理JSON 476
14.3 其他常见O/X Mapping开源项目 478
14.3.1 JAXB 478
14.3.2 XMLBeans 482
14.3.3 Castor 485
14.3.4 JiBX 490
14.3.5 总结比较 493
14.4 与Spring OXM整合 494
14.4.1 Spring OXM概述 494
14.4.2 整合OXM实现者 496
14.4.3 如何在Spring中进行配置 497
14.4.4 Spring OXM 简单实例 499
14.5 小结 501
第15章 Spring MVC 503
15.1 Spring MVC概述 504
15.1.1 体系结构 504
15.1.2 配置DispatcherServlet 505
15.1.3 一个简单的实例 510
15.2 注解驱动的控制器 514
15.2.1 使用@RequestMapping映射
请求 514
15.2.2 请求处理方法签名概述 518
15.2.3 处理方法签名详细说明 519
15.2.4 使用HttpMessageConverter<T> 523
15.2.5 处理模型数据 532
15.3 处理方法的数据绑定 538
15.3.1 数据绑定流程剖析 539
15.3.2 数据转换 539
15.3.3 数据格式化 545
15.3.4 数据校验 549
15.4 视图和视图解析器 558
15.4.1 认识视图 558
15.4.2 认识视图解析器 560
15.4.3 JSP和JSTL 561
15.4.4 模板视图 565
15.4.5 Excel 569
15.4.6 PDF 570
15.4.7 输出XML 572
15.4.8 输出JSON 573
15.4.9 使用XmlViewResolver 573
15.4.10 使用ResourceBundle
ViewResolver 574
15.4.11 混合使用多种视图技术 575
15.5 本地化解析 577
15.5.1 本地化概述 577
15.5.2 使用CookieLocaleResolver 578
15.5.3 使用SessionLocaleResolver 579
15.5.4 使用LocaleChangeInterceptor 579
15.6 文件上传 579
15.6.1 配置MultipartResolver 580
15.6.2 编写控制器和文件上传表单页面 580
15.7 杂项 581
15.7.1 静态资源处理 581
15.7.2 装配拦截器 586
15.7.3 异常处理 587
15.8 小结 589
第5篇 测试及实战
第16章 实战型单元测试 592
16.1 单元测试概述 593
16.1.1 为什么需要单元测试 593
16.1.2 单元测试之误解 594
16.1.3 单元测试之困境 595
16.1.4 单元测试基本概念 596
16.2 JUnit 4快速进阶 600
16.2.1 JUnit 4概述 600
16.2.2 JUnit 4生命周期 601
16.2.3 使用JUnit 4 601
16.3 模拟利器Mockito 608
16.3.1 模拟测试概述 608
16.3.2 创建Mock对象 608
16.3.3 设定Mock对象的期望行为及
返回值 609
16.3.4 验证交互行为 611
16.4 测试整合之王Unitils 612
16.4.1 Unitils概述 612
16.4.2 集成Spring 615
16.4.3 集成Hibernate 618
16.4.4 集成Dbunit 619
16.4.5 自定义扩展模块 620
16.5 使用Unitils测试DAO层 620
16.5.1 数据库测试的难点 621
16.5.2 扩展Dbunit用Excel准备数据 621
16.5.3 测试实战 624
16.6 使用unitils测试Service层 634
16.7 测试Web层 639
16.7.1 对LoginController进行单元
测试 640
16.7.2 使用Spring Servlet API模拟
对象 641
16.7.3 使用Spring RestTemplate测试 642
16.7.4 使用Selenium测试 644
16.8 小结 647
第17章 实战案例开发 648
17.1 论坛案例概述 649
17.1.1 论坛整体功能结构 649
17.1.2 论坛用例描述 649
17.1.3 主要功能流程描述 651
17.2 系统设计 655
17.2.1 技术框架选择 655
17.2.2 Web目录结构及类包结构规划 656
17.2.3 单元测试类包结构规划 657
17.2.4 系统的结构图 657
17.2.5 PO的类设计 658
17.2.6 持久层设计 659
17.2.7 服务层设计 659
17.2.8 Web层设计 660
17.2.9 数据库设计 661
17.3 开发前的准备 663
17.4 持久层开发 664
17.4.1 PO类 664
17.4.2 DAO基类 666
17.4.3 通过扩展基类所定义DAO类 671
17.4.4 DAO Bean的装配 672
17.4.5 使用Hibernate二级缓存 674
17.5 对持久层进行测试 676
17.5.1 配置Unitils测试环境 676
17.5.2 准备测试数据库及测试数据 677
17.5.3 编写DAO测试基类 678
17.5.4 编写BoardDao测试用例 678
17.6 服务层开发 680
17.6.1 UserService的开发 680
17.6.2 ForumService的开发 682
17.6.3 服务类Bean的装配 685
17.7 对服务层进行测试 686
17.7.1 编写Service测试基类 687
17.7.2 编写ForumService测试用例 687
17.8 Web层开发 689
17.8.1 BaseController的基类 689
17.8.2 用户登录和注销 691
17.8.3 用户注册 692
17.8.4 论坛管理 694
17.8.5 论坛普通功能 696
17.8.6 分页显示论坛版块的主题帖子 698
17.8.7 web.xml配置 702
17.8.8 Spring MVC配置 704
17.9 对Web层进行测试 705
17.9.1 编写Web测试基类 705
17.9.2 编写ForumManageController
测试用例 706
17.10 部署和运行应用 707
17.11 小结 710
以下内容详见本书配书光盘:
附录A JavaMail发送邮件 711
附录B 在Spring中开发Web Service 738
2014年12月16日 已读
2012年出的书怎么还在用JDK 5.0?内容比较老,但是讲Spring底层实现部分还是有价值的,具体写代码要看Spring在线文档。PS.看完Spring In Action再看这本简直是天降甘霖。
Java spring 计算机
Spring实战(第3版) 豆瓣
Spring in Action
作者: 沃尔斯 (Craig Walls) 译者: 耿渊 / 张卫滨 人民邮电出版社 2013 - 6
《Spring实战(第3版)》从核心的Spring、Spring应用程序的核心组件、Spring集成3个方面,由浅入深、由易到难地对Spring展开了系统的讲解,包括Spring之旅、装配Bean、最小化Spring XML配置、面向切面的Spring、征服数据库、事务管理、使用Spring MVC构建Web应用程序、使用Spring Web Flow、保护Spring应用、使用远程服务、为Spring添加REST功能、Spring消息、使用JMX管理Spring Bean以及其他Spring技巧等内容。
《Spring实战(第3版)》不仅仅介绍了使用Spring框架进行开发必须掌握的核心概念,还在此基础上深入介绍了Spring应用程序的常用组件,并为读者展现了Spring如何与其他的应用、服务进行企业级集成。《Spring实战(第3版)》并不没有为读者详细地列出Spring API,而是通过提供丰富又实用的代码示例,来真正展示Spring框架的强大──它能够使企业级应用程序的开发更简单。
《Spring实战(第3版)》适合于已具有一定Java编程基础的读者,以及在Java平台下进行各类软件开发的开发人员、测试人员,尤其适用于企业级Java开发人员。《Spring实战(第3版)》既可以被刚开始学习Spring的读者当作学习指南,也可以被那些想深入了解Spring某方面功能的资深用户作为参考用书。
2014年12月2日 已读 看了不到20页我已经第101次想念《The Definitive Guide to Django》,看到160页有种啃了七口终于咬到馅的感觉,总之严重不推荐初学者,谁要是能早点告诉我就好了。
Java spring 计算机
Java核心技术·卷1:基础知识(原书第9版) 豆瓣
Cay S. Horstmann,Gary Cornell
作者: (美)Cay S. Horstmann / (美)Gary Cornell 译者: 周立新 / 陈波 机械工业出版社 2013 - 11
Java领域最有影响力和价值的著作之一,拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),与《Java编程思想》齐名,10余年全球畅销不衰,广受好评。第9版根据JavaSE7全面更新,同时修正了第8版中的不足,系统全面讲解Java语言的核心概念、语法、重要特性和开发方法,包含大量案例,实践性强。
《Java核心技术·卷1:基础知识》共14章。第1章概述了Java语言与其他程序设计语言不同的性能;第2章讲解了如何下载和安装JDK及本书的程序示例;第3章介绍了变量、循环和简单的函数;第4章讲解了类和封装;第5章介绍了继承;第6章解释了接口和内部类;第7章概述了图形用户界面程序设计知识;第8章讨论AWT的事件模型;第9章探讨了SwingGUI工具箱;第10章讲解如何部署自己的应用程序或applet;第11章讨论异常处理;第12章概要介绍泛型程序设计;第13章讲解Java平台的集合框架;第14章介绍了多线程。本书最后还有一个附录,其中列出了Java语言的保留字。
2014年11月20日 已读
一想到同样功能Python需要写多少行,我就控制不住的嫌弃Java
java 编程 计算机
Python源码剖析 豆瓣 Goodreads
9.1 (11 个评分) 作者: 陈儒 电子工业出版社 2008 - 6
作为主流的动态语言,Python不仅简单易学、移植性好,而且拥有强大丰富的库的支持。此外,Python强大的可扩展性,让开发人员既可以非常容易地利用C/C++编写Python的扩展模块,还能将Python嵌入到C/C++程序中,为自己的系统添加动态扩展和动态编程的能力。.
为了更好地利用Python语言,无论是使用Python语言本身,还是将Python与C/C++交互使用,深刻理解Python的运行原理都是非常重要的。本书以CPython为研究对象,在C代码一级,深入细致地剖析了Python的实现。书中不仅包括了对大量Python内置对象的剖析,更将大量的篇幅用于对Python虚拟机及Python高级特性的剖析。通过此书,读者能够透彻地理解Python中的一般表达式、控制结构、异常机制、类机制、多线程机制、模块的动态加载机制、内存管理机制等核心技术的运行原理,同时,本书所揭示的动态语言的核心技术对于理解其他动态语言,如 Javascript、Ruby等也有较大的参考价值。..
本书适合于Python程序员、动态语言爱好者、C程序员阅读
大话存储Ⅱ 豆瓣
作者: 张冬 清华大学出版社 2011 - 5
《大话存储2:存储系统架构与底层原理极限剖析》内容简介:网络存储是一个涉及计算机硬件以及网络协议/技术、操作系统以及专业软件等各方面综合知识的领域。目前国内阐述网络存储的书籍少之又少,大部分是国外作品,对存储系统底层细节的描述不够深入,加之术语太多,初学者很难真正理解网络存储的精髓。《大话存储2:存储系统架构与底层原理极限剖析》以特立独行的行文风格向读者阐述了整个网络存储系统。从硬盘到应用程序,对这条路径上的每个节点,作者都进行了阐述。书中内容涉及:计算机IO基本概念,硬盘物理结构、盘片数据结构和工作原理,七种常见RAID原理详析以及性能细节对比,虚拟磁盘、卷和文件系统原理,磁盘阵列系统,OSI模型,FC协议,众多磁盘阵列架构等。另外,《大话存储2:存储系统架构与底层原理极限剖析》囊括了存储领域几乎所有的新兴技术,比如机械磁盘、SSD、FC/SAS协议、HBA卡、存储控制器、集群存储系统、FC SAN、NAS、iSCSI、FCoE、快照、镜像、虚拟化、同步/异步远程复制、Thin Provision自动精简配置、VTL虚拟磁带库、数据容灾、应用容灾、业务容灾、性能优化、存储系统IO路径、云计算与云存储等。
其中每一项技术作者都进行了建模和分析,旨在帮助读者彻底理解每一种技术的原理和本质。《大话存储2:存储系统架构与底层原理极限剖析》结尾,作者精心总结和多年来在论坛以及各大媒体发表的帖子内容,超过一百条的问与答,这些内容都是与实际紧密结合的经验总结,颇具参考价值。
《大话存储2:存储系统架构与底层原理极限剖析》适合初入存储行业的研发人员、技术工程师、售前工程师和销售人员阅读,同时适合资深存储行业人士用以互相切磋交流提高。另外,网络工程师、网管、服务器软硬件开发与销售人员、Web开发者、数据库开发者以及相关专业师生等也非常适合阅读《大话存储2:存储系统架构与底层原理极限剖析》。
黑客与画家 豆瓣 谷歌图书
Hackers and Painters: Big Ideas from the Computer Age
8.6 (241 个评分) 作者: 保罗·格雷厄姆 译者: 阮一峰 人民邮电出版社 2011 - 4
本书是硅谷创业之父Paul Graham 的文集,主要介绍黑客即优秀程序员的爱好和动机,讨论黑客成长、黑客对世界的贡献以及编程语言和黑客工作方法等所有对计算机时代感兴趣的人的一些话题。书中的内容不但有助于了解计算机编程的本质、互联网行业的规则,还会帮助读者了解我们这个时代,迫使读者独立思考。
本书适合所有程序员和互联网创业者,也适合一切对计算机行业感兴趣的读者。
2014年8月19日 已读
里面的文章这些年断断续续看过不少,虽然是十年前的书,现在看也不觉过时。作者说话口气很像我第一个人生导师巴特勒船长
互联网 社会 编程 计算机
Web前端黑客技术揭秘 豆瓣 Goodreads
8.4 (5 个评分) 作者: 钟晨鸣 / 徐少培 电子工业出版社 2013 - 1
Web前端的黑客攻防技术是一门非常新颖且有趣的黑客技术,主要包含Web前端安全的跨站脚本(XSS)、跨站请求伪造(CSRF)、界面操作劫持这三大类,涉及的知识点涵盖信任与信任关系、Cookie安全、Flash安全、DOM渲染、字符集、跨域、原生态攻击、高级钓鱼、蠕虫思想等,这些都是研究前端安全的人必备的知识点。本书作者深入剖析了许多经典的攻防技巧,并给出了许多独到的安全见解。
本书适合前端工程师阅读,同时也适合对Web前端各类安全问题或黑客攻防过程充满好奇的读者阅读,书中的内容可以让读者重新认识到Web的危险,并知道该如何去保护自己以免受黑客的攻击。
2014年6月26日 已读
干货颇多,不过我前端知识太那啥,所以吸收有限。另外有多处明显校对错误。
web 前端 安全 计算机
Windows内核原理与实现 豆瓣
作者: 潘爱民 电子工业出版社 2010 - 4
本书从操作系统原理的角度,详细解析了Windows如何实现现代操作系统的各个关键部件,包括进程、线程、物理内存和虚拟内存的管理,Windows中的同步和并发性支持,以及Windows的I/O模型。在介绍这些关键部件时,本书直接以Windows的源代码(WRK, Windows Research Kernel)为参照,因而读者可以了解像Windows这样的复杂操作系统是如何在x86处理器上运行的。
在内容选取方面,本书侧重于Windows内核中最基本的系统部件,同时也兼顾到作为一个操作系统的完整性,所以,本书也介绍了像存储体系、网络、Windows环境子系统等,这些虽然并不位于内核模块但却支撑整个Windows运行的重要部件。在本书最后,也介绍了Windows Server 2003以后的内核发展和变化。
虽然书中有大量关于Windows代码实现的描述,但是本书并没有罗列WRK中的代码,即使读者不对照WRK的源代码,也可以从这些章节的描述中理解Windows的实现机理。在每一个技术专题的介绍中,本书几乎都提供了一个框架图,并且有关键细节的实现分析,这样做的意图是让读者既能够对一项技术有总体上的把握,也通晓关键的实现细节。
Windows操作系统已经有20年历史了,市面上有大量关于Windows技术的文档和书籍,但是,真正从源代码来诠释Windows底层机理的,本书还是第一次尝试。在本书覆盖的内容中,有相当一部分是第一次以文字形式披露出来的,期望这些内容能消除人们对于Windows的神秘感。
写作本书的目的是让对Windows有好奇心的人真正了解到Windows中的核心机理,让计算机专业的学生和老师,以及系统软件工程师可以快速地领略到Windows中先进的系统技术,以及在Windows上编写出更加高效的软件。本书也配备了一些小工具,通过这些小工具,读者可以查看内核中的静态或动态的信息,甚至观察系统的行为,可通过Internet下载这些工具。
2014年5月15日 已读
这本是基于WRK写的,比毛德操那本基于CentOS的起点要高,但是没后者读起来通顺易懂,技术牛人并不一定善于传播知识
windows 操作系统 计算机