-
程序员成长路线图
作为IT人,谁不曾心怀梦想?谁不曾充满激情? 谁不曾遭遇编程时的各种痛苦? 谁不曾品尝过程序编成的喜悦? 谁不曾遇到跳槽或留守等各种十字路口的抉择? 谁不曾想尽快摆脱新手变成高手以实现自身价值的最大化? …… 但是很多程序员在职业道路上只是自发成长,他们靠的是自己对技术的追逐和对项目开发经历的积累,靠的是所在企业或单位的成长环境。如果我们能够认识程序员的成长规律,注意每个阶段的问题,掌握每个阶段的技术和技能,在我们前进的方向上有的放矢,这样就可以减少失误,摆脱平凡,直达成功彼岸。 《程序员成长路线图--从入门到优秀》作者N216于2008年开始在博客园网站发表有关EOM(企业经营模型)的文章,随后陆续发表了EOM与程序员系列文章。这些文章深入讨论了程序员成长各个阶段的热点、重点、难点问题,并引起网友广泛关注。网友的评论与回复:观点丰富,言辞中肯,精彩纷呈。 在中国,作者N216作为编程时间最长的程序员之一,结合其数十年程序员的亲身经历,针对程序员成长各个阶段经常遇到的问题提出了自己的看法和见解。这些看法和见解为程序员提供了解开成长过程中的各种困惑的一把金钥匙。希望本书可以陪伴在程序员职业生涯的每个阶段,真正成为职业成长的行动指南。 -
程序员面试宝典
本书取材于各大IT公司历年面试真题(包括笔试题、口试题、电话面试、英语面试,以及逻辑测试和智商测试)。通过精确详细的分类,把在应聘程序员(含网络、测试等)过程中所遇见的常见考点分为21章。不仅对传统的C系语言考点做了详尽的解说,包括面向对象问题、sizeof问题、const问题、数据结构问题等。还根据外企出题最新特点,针对设计模式问题、C#问题、网络问题、数据库问题、NET问题等,做了深入的说明。 最后本书着力讲述了如何进行英语面试和电话面试,并给出了大量实际英语面试中的问题、参考答案,以及常用词汇,尝试解决程序员应聘外企时语言问题造成的瓶颈。本书的面试题并非简单的罗列。除了对每道题目都有详细的解析和回答外,对相关知识点还有扩展说明。 希望真正做到由点成线,举一反三。本书对于读者从求职就业到提升计算机专业知识都有显著的帮助。 -
Effective Java
Effective Java Programming Language Guide distills the hard-won wisdom of today's best Java programmers into 50 techniques for designing and constructing more robust, high-performance software. Josh Bloch, one of Sun's most widely respected Java developers, focuses on the practical problems virtually every Java developer encounters, offering specific solutions and top-notch code examples. Josh Bloch identifies 50 practices that lead directly to better code -- including better alternatives for common practices that have proven undesirable in real-world development. The techniques are specific, thoroughly explained, and supported by top-notch code examples. Among the highlights: why developers should avoid finalizers; when to use delegation instead of inheritance; and how to make the most of Java's powerful typesafe enum pattern. Nearly all 50 practices relate to the "core" of the Java platform -- the language itself -- making the book relevant to virtually every Java developer. -
构建之法
内容简介: 软件工程牵涉的范围很广, 同时也是一般院校的同学反映比较空洞乏味的课程。 但是软件工程的技术对于投身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)/中山大学软件学院 -
高质量程序设计指南
本书作者以轻松幽默的笔调向读者论述了高质量软件开发方法与C++/C编程规范。本书共15章,重点介绍软件质量和面向对象程序设计方法,C++/C编程风格和一些技术专题等内容。 -
iPhone开发秘籍 (第2版)
本书提供了关于iPhone SDK 以及iPhone 开发的全面信息,对iPhone SDK 中的各种组件做了深入浅出的介绍,包括iPhone 3.0 SDK 的所有新增特性,同时对iPhone 开发的基本流程、基本原理和基本原则进行了详细且通俗的讲解。此外,还结合实例讲解了如何开发各种iPhone 特性,包括视图、视图控制器、警告、表格、媒体、控件、人物、位置和事件。 本书适合iPhone 和Mac 开发人员。