1024程序员节是广大程序员的共同节日。1024是2的十次方,二进制计数的基本计量单位之一。针对程序员经常周末加班与工作日熬夜的情况,部分互联网机构倡议每年的10月24日为1024程序员节,在这一天建议程序员拒绝加班。
程序员就像是一个个1024,以最低调、踏实、核心的功能模块搭建起这个科技世界。1G=1024M,而1G与1级谐音,也有一级棒的意思。
——来自百度百科
跟着顶级程序员们学习做一个优秀的程序员,15本精选好书收藏好!
张逸 著
本书全面阐释了领域驱动设计(domain-driven design,DDD)的知识体系,内容覆盖领域驱动设计的主要模式与主流方法,并在此基础上提出“领域驱动设计统一过程”(domain-driven design unified process,DDDUP),将整个软件构建过程划分为全局分析、架构映射和领域建模3个阶段。除给出诸多案例来阐释领域驱动设计统一过程中的方法与模式之外,本书还通过一个真实而完整的案例全面展现了如何进行领域驱动设计统一过程的实施和落地。为了更好地运用领域驱动设计统一过程,本书还开创性地引入了业务服务、菱形对称架构、领域驱动架构、服务驱动设计等方法与模式,总结了领域驱动设计能力评估模型与参考过程模型。本书提出的一整套方法体系已在多个项目中推广和落地。
[美] 肯尼思·,A.兰伯特(Kenneth,A.,Lambert,) 著,肖鉴明 译
1.美国华盛顿与李大学(Washington and Lee University)计算机科学系肯尼思·A. 兰伯特(Kenneth A. Lambert)教授的全新力作。
2.国外著名高等院校信息科学与技术优秀教材升级版。
3.采用Python语言循序渐进的讲解数据结构及实现方法,内容全面,包括编程基础、面向对象编程、数据结构以及软件开发生命周期。
4.书中包含大量实战案例研究,复习题和编程项目,帮助读者巩固所学知识。
[美] 马丁·福勒(Martin Fowler) 著,熊节,林从羽 译
1. 软件开发大师的不朽经典
2. 生动阐述重构原理和具体做法
3. 普通程序员进阶到编程高手必须修炼的秘笈
重构,一言以蔽之,是在不改变外部行为的前提下,有条不紊地改善代码。20 多年前,正是《重构:改善既有代码的设计》第1 版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。如今,Martin Fowler 的《重构:改善既有代码的设计》一书已经成为全球有经验的程序员手中的利器,既可用来改善既有代码的设计、提升软件的可维护性,又可用于使既有代码更易理解、焕发出新的活力。
罗伯特·C.,马丁(Robert,C.,Martin) 著,韩磊 译
“阅读这本书有两种原因:第一,你是个程序员;第二,你想成为更好的程序员。很好,IT行业需要更好的程序员!”——罗伯特·C. 马丁(Robert C. Martin)
尽管糟糕的代码也能运行,但如果代码不整洁,会使整个开发团队泥足深陷,写得不好的代码每年都要耗费难以计数的时间和资源。但是,这种情况并非无法避免。
著名软件专家罗伯特·C. 马丁(Robert C. Martin) 在本书中为你呈现了革命性的视野。他携同Object Mentor公司的同事,从他们有关整洁代码的*佳敏捷实践中提炼出软件技艺的价值观,以飨读者,让你成为更优秀的程序员——只要你着手研读本书。
[美] 阿尔·斯维加特(Al Sweigart) 著
Python编程从入门到实践姊妹篇,零基础自学Python教程书籍。
原版图书美亚评分4.7星,被150+高校选用,初版译著豆瓣评分8.9分!
1.畅销书升级版,第1版累计销售近20w册;
2.针对Python 3.X 版本更新,更新项目代码;
3.扫码看视频,边看边学,扫描书中二维码,观看为本书量身定制的教学视频;
4.提供在线编程环境帮助读者边学边练;
5.随书赠送本书e读版电子书;
6.随书赠送全书思维导图;
7.随书赠送本书习题答案;
8.提供本书源代码;
[英] 塔里克·拉希德(Tariq Rashid) 著
这是一本精心编写、给完全初学者的图书。它带领读者构建一个真正、有效的神经网络,而不需要读者具备任何复杂的数学知识和深度学习的理论。
——M Ludvig
强烈推荐本书。这本书使得人工神经网络的概念非常清晰而容易理解。读者应该尝试重复本书中给出的示例,以便让本书发挥大的作用。我就是这么做的,效果不错!
——美亚的一位读者
本书首先从简单的思路着手,详细介绍了理解神经网络如何工作所必须的基础知识。第一部分介绍基本的思路,包括神经网络底层的数学知识,第2部分是实践,介绍了学习Python编程的流行和轻松的方法,从而逐渐使用该语言构建神经网络,以能够识别人类手写的字母,特别是让其像专家所开发的网络那样地工作。第3部分是扩展,介绍如何将神经网络的性能提升到工业应用的层级,甚至让其在Raspberry Pi上工作。
[美] 艾伦·B.唐尼(Allen B.Downey) 著,赵普明 译
如果想要学习如何编程,从Python语言入手是一个很好的开端。本书从基本的编程概念开始,一步步引导读者了解Python语言,再逐渐掌握函数、递归、数据结构和面向对象设计等高阶概念。本书第2版及其辅助代码均已升级,支持Python 3。
每章后的练习可以帮助读者加深对刚学的编程概念的理解。本书是高中和大学阶段的学生、自学者,以及需要了解编程基础的专业人士的理想读物。初学者可以在浏览器中学习如何开始Python编程。
Go语言实战目标读者是已经有一定其他编程语言经验,想要开始学习Go 语言或者更深入了解Go 语言及其内部机制的中级开发 者。本书会提供一个专注、全面且符合习惯的视角。本书关注Go 语言的规范和实现,涉及的内容包括语法、Go 的类型系统、并发、通道和测试等主题。
Go语言实战 主要内容
● Go语言规范和实现。
● Go语言的类型系统。
● Go语言的数据结构的内部实现。
● 测试和基准测试。
乔恩·克莱因伯格(Jon Kleinberg) 著,王海鹏 译
1.众多名校采用的算法设计课程教材;
2.用实际示例阐明枯燥的算法理论;
3.更注重算法设计思路而非算法复杂度分析;
4.本书覆盖面广,且含有200多道精彩的习题,最后还扩展了PSPACE问题、参数复杂性等内容。
这是一本被众多名校采用的算法设计课程教材,强调用实际示例阐明枯燥的算法理论,更注重算法设计思路而非算法复杂度分析。本书采用新颖的教学方式,通过分析真实世界的问题来激发算法思想。两位作者以一种清晰、直接的方式,指导学生自己分析和定义问题,并从中找出适用于给定场景的算法设计原则。本书鼓励读者更深入地理解算法设计过程,探索算法在计算机科学的更广阔领域中的应用。
[美] 马丁·福勒(Martin Fowler) 著,徐昊,郑晔,熊节 译
1.本书由世界软件开发大师Martin Fowler历时多年完成,堪称DSL领域的丰碑之作,书中充分介绍了在适用的场景中构建DSL的多种有效技。
2.本书介绍的技巧可用于大多数现代面向对象语言。书中给出了许多采用Java和C#编写的示例,并精选了部分适合采用Ruby编写的示例。
3.通过这部内容丰富、覆盖范围广泛的著作,开发人员能够掌握做出DSL重要决策所需的知识,并在恰当使用DSL时获得技术和业务上的显著收益。
4.通过阅读本书,软件开发人员可全面的了解各种DSL及其构建方式,提高开发生产力和沟通能力。
[美] 本贾尼·斯特劳斯特卢普,[,Bjarne,Stroustrup,] 著,裘宗燕 译
1.本书作者Bjarne Stroustrup(本贾尼·斯特劳斯特卢普)被誉为“C++之父”,本书也是作者最重要的专业著作之一;
2.译者裘宗燕,北京大学数学学院信息科学系教授,同时也是知名的程序设计专家,著有《从问题到程序——程序设计与C语言引论》、《数据结构与算法:Python语言描述》等;
3.C++综合性著作:描述C++语言的发展历史、设计理念及技术细节,对C++语言机制的设计和发展的解读是非常难得的宝贵资料。
[美] 霍布森·莱恩,科尔·霍华德,汉纳斯·马克斯·哈普克 著,史亮,鲁骁,唐可欣,王斌 译
1.本书是构建能够阅读和解释人类语言的机器的实用指南;
2.读者可以使用现有的Python 包来捕获文本的含义并相应地做出响应;
3.本书扩展了传统的自然语言处理方法,包括神经网络、现代深度学习算法和生成技术,用于解决真实世界的问题,如提取日期和名称、合成文本和回答无固定格式的问题;
4.提供源代码。
深度学习领域的**进展使各类应用能够极其精准地理解文本和语音。其结果是,聊天机器人能够模仿真人筛选出与职位高度匹配的简历,完成卓越的预测性搜索,自动生成文档摘要——所有这些都能够以很低的成本实现。新技术的发展连同Keras 和TensorFlow之类的易用工具的出现,使专业品质的自然语言处理(NLP)比以往任何时候都更容易实现。
[美] 布莱恩·W.克尼汉(Brian,W.,Kernighan) 著,韩磊 译
1. 计算机先驱布莱恩·W. 克尼汉,继《C程序设计语言》后的全新力作!
2. 跨越50年历史河流,带你走进贝尔实验室,亲历IT发展史实。
(1)以肯·汤普森、丹尼斯·里奇、道格·麦基尔罗伊等传奇人物小传,串联成20世纪一系列重要发明的起源/发展线路图。
(2)以Unix的诞生与迭代、优秀而开明的管理体制、有远见的持续投资等精彩故事,揭示出贝尔实验室如何孕育出科技创新的真相。
(3)以Unix诞生见证者回忆往事的轻松口吻和不为人知的有趣图片,述说Unix的“设计哲学”如何被计算机世界有效利用且延续至今。
[美] 埃里克·埃文斯(Eric Evans) 著,赵俐,盛海艳,刘霞 译
领域模型使开发人员可以表达丰富的软件功能需求,由此实现的软件可以满足用户真正的需要,因此被公认为是软件设计的关键所在,其重要性显而易见。但讲述如何将领域模型用于软件开发过程的杰出的实用资料却不多见。本书正是这一领域声名显赫的作品,受到众多业界大师的赞美和推介,广受读者好评。
[美] 史蒂芬·卢奇(Stephen Lucci),丹尼·科佩克(Danny Kopec) 著
本书是作者结合多年教学经验、精心撰写的一本人工智能教科书,堪称“人工智能的百科全书”。全书涵盖了人工智能简史、搜索方法、知情搜索、博弈中的搜索、人工智能中的逻辑、知识表示、产生式系统、专家系统、机器学习和神经网络、遗传算法、自然语言处理、自动规划、机器人技术、高级计算机博弈、人工智能的历史和未来等主题。
本书提供了丰富的教学配套资源,适合作为高等院校人工智能相关专业的教材,也适合对人工智能相关领域感兴趣的读者阅读和参考。