身在程序员的圈子里,不学习,很快就会被淘汰。代码迭带如此之快,每年不读几本书提升自己再合适不过,
小编今天不给大家多推荐,就两类,程序员的素养、人工智能两大类,希望伙伴们能喜欢为份书单。
[美] 马丁·福勒(Martin Fowler) 著,熊节,林从羽 译
这本备受关注的第2 版在第1 版的基础上做了全面修订,反映了编程领域业已发生的许多变化。第2 版中介绍的重构列表更加内聚,并用JavaScript 语言重写了代码范例。此外,第2 版中还新增了与函数式编程相关的重构范例,旨在教会读者如何在没有类的环境下开展重构。
新版沿袭了第1 版的结构,依次解释什么是重构,为什么要重构,如何通过“坏味道”识别出需要重构的代码,以及如何在实践中成功实施重构(无论用的是什么编程语言)。
● 理解重构的过程和重构的基本原则;
● 快速有效地应用各种重构手法,提升程序的表达力和可维护性;
● 识别代码中能指示出需要重构的地方的“坏味道”;
● 深入了解各种重构手法,每个手法都包含解释、动机、做法和范例4 个部分;
● 构建稳固的测试,以支持重构工作的开展;
● 理解重构过程的权衡取舍以及重构存在的挑战等。
[美] 罗伯特·C.马丁(Robert C.Martin) 著
余晟,章显洲 译
软件开发大师Robert C. Martin在书中介绍了真实软件技艺中的各项原则、技术、工具和实践,展示了怎么以自豪、自尊和自信的心态进行软件开发,怎么取得卓越表现和丰硕成果,怎么做到有效沟通和确切估算,怎么以坦诚的心态面对困难,并引导读者认识到专业程序员肩负的责任重大,阐述了什么才是程序员的职业素养。
书中的具体内容包括:
[美] 约翰 Z.森梅兹(John Z.Sonmez) 著,王小刚 译
这是一本真正从“人”(而非技术也非管理)的角度关注软件开发人员自身发展的书。书中论述的内容既涉及生活习惯,又包括思维方式,凸显技术中“人”的因素,全面讲解软件行业从业人员所需知道的所有“软技能”。
本书聚焦于软件开发人员生活的方方面面,从揭秘面试的流程到精耕细作出一份杀手级简历,从创建大受欢迎的博客到打造你,从提高自己工作效率到与如何与“拖延症”做斗争,甚至包括如何投资不动产,如何关注自己的健康。
本书共分为职业篇、自我营销篇、学习篇、生产力篇、理财篇、健身篇、精神篇等七篇,概括了软件行业从业人员所需的“软技能”。通过阅读本书,软件工程人员、编程人员和其他技术人员能够积极思考自己的职业生涯,丰富自己的生活,让自己更接近成功。
[美] 马丁 著,韩磊 译
[美] 乔恩·本特利(Jon Bentley) 著,黄倩,钱丽艳 译,刘田 校
《编程珠玑(第2版·修订版)》是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者JonBentley以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。《编程珠玑(第2版·修订版)》对各个层次的程序员都具有很高的阅读价值。
[美] Ian,Goodfellow,[加] Yoshua,Bengio,
本书囊括了数学及相关概念的背景知识,包括线性代数、概率论、信息论、数值优化以及机器学习中的相关内容。同时,它还介绍了工业界中实践者用到的深度学习技术,包括深度前馈网络、正则化、优化算法、卷积网络、序列建模和实践方法等,并且调研了诸如自然语言处理、语音识别、计算机视觉、在线推荐系统、生物信息学以及视频游戏方面的应用。最后,本书还提供了一些研究方向,涵盖的理论主题包括线性因子模型、自编码器、表示学习、结构化概率模型、蒙特卡罗方法、配分函数、近似推断以及深度生成模型。
[美] 史蒂芬·卢奇(Stephen Lucci),丹尼·科佩克(Danny Kopec) 著
美国经典教材,在美亚上,被评价为自Russell & Norvig的《人工智能:一种现代方法》之后更好的教材,更加适合本科生使用。
本书是作者结合多年教学经验、精心撰写的一本人工智能教科书,堪称“人工智能的百科全书”。全书涵盖了人工智能简史、搜索方法、知情搜索、博弈中的搜索、人工智能中的逻辑、知识表示、产生式系统、专家系统、机器学习和神经网络、遗传算法、自然语言处理、自动规划、机器人技术、高级计算机博弈、人工智能的历史和未来等主题。
本书提供了丰富的教学配套资源,适合作为高等院校人工智能相关专业的教材,也适合对人工智能相关领域感兴趣的读者阅读和参考。
本书将带领您进行一场妙趣横生却又有条不紊的旅行——从一个非常简单的想法开始,逐步理解神经网络的工作机制。您无需任何超出中学范围的数学知识,并且本书还给出易于理解的微积分简介。本书的目标是让尽可能多的普通读者理解神经网络。读者将学习使用Python开发自己的神经网络,训练它识别手写数字,甚至可以与专业的神经网络相媲美。
[美] 加文·海克(Gavin Hackeling) 著,张浩然 译
scikit-learn是一个用Python语言编写的机器学习算法库,它可以实现一系列常用的机器学习算法,是一个好工具。
本书通过14章内容,详细地介绍了一系列机器学习模型和scikit-learn的使用技巧。本书从机器学习的基础理论讲起,涵盖了简单线性回归、K-近邻算法、特征提取、多元线性回归、逻辑回归、朴素贝叶斯、非线性分类、决策树回归、随机森林、感知机、支持向量机、人工神经网络、K-均值算法、主成分分析等重要话题。
[印] 阿布舍克·维贾亚瓦吉亚(Abhishek Vijayvargia) 著,宋格格 译
《Python机器学习》通过数学解释和编程示例描述了机器学习中的概念,每一章的内容都从技术的基本原理和基于真实数据集的工作实例开始,在提出应用算法建议的同时,指出了每种技术的优缺点。 《Python机器学习》提供了大量的Python代码示例。Python已成为主流编程语言之一,它免费且开源,并得到了开放社区的支持,其中包含大量的库供读者直接使用。
《Python机器学习》有如下的显著特点:
[美] Michael Bowles(鲍尔斯) 著,沙嬴,李鹏 译
本书通过集中介绍两类可以进行有效预测的机器学习算法,展示了如何使用Python 编程语言完成机器学习任务,从而降低机器学习难度,使机器学习能够被更广泛的人群掌握。
本书为不具备数学或统计背景的读者量身打造,详细介绍了如何:
[加] Cameron Davidson-Pilon(卡梅隆·戴维森-皮隆) 著,辛愿,钟黎,欧阳婷 译
本书基于PyMC语言以及一系列常用的Python数据分析框架,如NumPy、SciPy和Matplotlib,通过概率编程的方式,讲解了贝叶斯推断的原理和实现方法。该方法常常可以在避免引入大量数学分析的前提下,有效地解决问题。书中使用的案例往往是工作中遇到的实际问题,有趣并且实用。作者的阐述也尽量避免冗长的数学分析,而让读者可以动手解决一个个的具体问题。通过对本书的学习,读者可以对贝叶斯思维、概率编程有较为深入的了解,为将来从事机器学习、数据分析相关的工作打下基础。本书适用于机器学习、贝叶斯推断、概率编程等相关领域的从业者和爱好者,也适合普通开发人员了解贝叶斯统计而使用。
如果想要小编推荐哪一类技术书,请留言。