快捷搜索:  汽车  科技

做一个优秀的程序员怎么做(如何提升自身能力)

做一个优秀的程序员怎么做(如何提升自身能力)● 深入了解各种重构手法,每个手法都包含解释、动机、做法和范例4 个部分;● 识别代码中能指示出需要重构的地方的“坏味道”;新版沿袭了第1 版的结构,依次解释什么是重构,为什么要重构,如何通过“坏味道”识别出需要重构的代码,以及如何在实践中成功实施重构(无论用的是什么编程语言)。● 理解重构的过程和重构的基本原则;● 快速有效地应用各种重构手法,提升程序的表达力和可维护性;

身在程序员的圈子里,不学习,很快就会被淘汰。代码迭带如此之快,每年读几本好书提升自己再合适不过,小编今天不给大家多推荐,就两类,程序员的素养、机器学习和深度学习两大类,希望伙伴们能喜欢为份书单。

做一个优秀的程序员怎么做(如何提升自身能力)(1)

程序员素养书单

1、重构:改善既有代码的设计(第2版)

[美] 马丁·福勒(Martin Fowler) 著,熊节,林从羽 译

做一个优秀的程序员怎么做(如何提升自身能力)(2)

  • 重构20年,世界软件开发大师MartinFowler的不朽经典生动阐述重构原理和具体做法,普通程序员进阶到编程高手的修炼秘笈和代码整洁之道

这本备受关注的第2 版在第1 版的基础上做了全面修订,反映了编程领域业已发生的许多变化。第2 版中介绍的重构列表更加内聚,并用JavaScript 语言重写了代码范例。此外,第2 版中还新增了与函数式编程相关的重构范例,旨在教会读者如何在没有类的环境下开展重构。

新版沿袭了第1 版的结构,依次解释什么是重构,为什么要重构,如何通过“坏味道”识别出需要重构的代码,以及如何在实践中成功实施重构(无论用的是什么编程语言)。

● 理解重构的过程和重构的基本原则;

● 快速有效地应用各种重构手法,提升程序的表达力和可维护性;

● 识别代码中能指示出需要重构的地方的“坏味道”;

● 深入了解各种重构手法,每个手法都包含解释、动机、做法和范例4 个部分;

● 构建稳固的测试,以支持重构工作的开展;

● 理解重构过程的权衡取舍以及重构存在的挑战等。

2、代码整洁之道:程序员的职业素养

[美] 罗伯特·C.马丁(Robert C.Martin) 著

余晟,章显洲 译

做一个优秀的程序员怎么做(如何提升自身能力)(3)

  • 代码整洁之道Clean Code姐妹篇编程大师40余年心得体会 阐释软件工艺中的原理、技术、工具和实践助力专业软件开发人员具备令人敬佩的职业素养

软件开发大师Robert C. Martin在书中介绍了真实软件技艺中的各项原则、技术、工具和实践,展示了怎么以自豪、自尊和自信的心态进行软件开发,怎么取得卓越表现和丰硕成果,怎么做到有效沟通和确切估算,怎么以坦诚的心态面对困难,并引导读者认识到专业程序员肩负的责任重大,阐述了什么才是程序员的职业素养。

书中的具体内容包括:

  • 成为真正的软件专业人士需要具备哪些条件,如何应对彼此冲突又紧张的进度表和不近情理的管理人员;如何做到流畅编程,克服阻塞状态;如何应对无休止的工作压力,避免崩溃;如何培养坚持不懈的态度,如何拥抱新的开发范式;如何管理好时间,避免身陷泥潭无法自拔;如何培育有利于程序员和开发团队茁壮成长的环境;什么时候应该说“不”,怎么说;什么时候应该说“是”,承诺意味着什么。

、软技能:代码之外的生存指南

[美] 约翰 Z.森梅兹(John Z.Sonmez) 著,王小刚 译

做一个优秀的程序员怎么做(如何提升自身能力)(4)

  • 软件行业泰斗级人物Martin和软件架构师Hanselman作序推荐凸显技术中人的因素 讲解软件专业的所有软技能John是软件开发人员的人生导师

这是一本真正从“人”(而非技术也非管理)的角度关注软件开发人员自身发展的书。书中论述的内容既涉及生活习惯,又包括思维方式,凸显技术中“人”的因素,全面讲解软件行业从业人员所需知道的所有“软技能”。

本书聚焦于软件开发人员生活的方方面面,从揭秘面试的流程到精耕细作出一份杀手级简历,从创建大受欢迎的博客到打造你,从提高自己工作效率到与如何与“拖延症”做斗争,甚至包括如何投资不动产,如何关注自己的健康。

本书共分为职业篇、自我营销篇、学习篇、生产力篇、理财篇、健身篇、精神篇等七篇,概括了软件行业从业人员所需的“软技能”。通过阅读本书,软件工程人员、编程人员和其他技术人员能够积极思考自己的职业生涯,丰富自己的生活,让自己更接近成功。

4、代码整洁之道

[美] 马丁 著,韩磊 译

做一个优秀的程序员怎么做(如何提升自身能力)(5)

  • 敏捷软件开发系列作者软件工程大师经典力作互联网产品与运营专家韩磊献译当今代码大全 体会代码之美 获第13届Jolt大奖
  • 《代码整洁之道》提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,《代码整洁之道》作者给出了一系列行之有效的整洁代码操作实践。这些实践在《代码整洁之道》中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。

5、编程珠玑(第2版•修订版)

[美] 乔恩·本特利(Jon Bentley) 著,黄倩,钱丽艳 译,刘田 校

做一个优秀的程序员怎么做(如何提升自身能力)(6)

  • 20余年畅销不衰计算机科学的不朽经典伟大的计算机科学著作之一程序员推选的心爱计算机图书讲解如何正确选择和高效地实现算法 基于C和C 语言编写

《编程珠玑(第2版·修订版)》是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者JonBentley以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。《编程珠玑(第2版·修订版)》对各个层次的程序员都具有很高的阅读价值。

机器学习与深度学习书单

1、深度学习 [deep learning]

[美] Ian,Goodfellow,[加] Yoshua,Bengio,

做一个优秀的程序员怎么做(如何提升自身能力)(7)

  • AI圣经,deeplearning中文版,2018年图灵奖获奖者作品,业内人称“花书”人工智能机器学习深度学习领域奠基性经典畅销书长期位居美国ya马逊AI和机器学习类图书榜首!所有数据科学家和机器学习从业者的bi读图书!特斯拉CEO埃隆·马斯克等国内外众多专家推jian!

本书囊括了数学及相关概念的背景知识,包括线性代数、概率论、信息论、数值优化以及机器学习中的相关内容。同时,它还介绍了工业界中实践者用到的深度学习技术,包括深度前馈网络、正则化、优化算法、卷积网络、序列建模和实践方法等,并且调研了诸如自然语言处理、语音识别、计算机视觉、在线推荐系统、生物信息学以及视频游戏方面的应用。最后,本书还提供了一些研究方向,涵盖的理论主题包括线性因子模型、自编码器、表示学习、结构化概率模型、蒙特卡罗方法、配分函数、近似推断以及深度生成模型。

2、人工智能(第2版)

[美] 史蒂芬·卢奇(Stephen Lucci),丹尼·科佩克(Danny Kopec) 著

做一个优秀的程序员怎么做(如何提升自身能力)(8)

  • 人工智能百科全书易于上手的人工智能自学指南涵盖机器学习 深度学习 自然语言处理 神经网络 计算机博弈等各种知识 图文详细 讲解细致 配备丰富的教学资源和学习素材

美国经典教材,在美亚上,被评价为自Russell & Norvig的《人工智能:一种现代方法》之后更好的教材,更加适合本科生使用。

本书是作者结合多年教学经验、精心撰写的一本人工智能教科书,堪称“人工智能的百科全书”。全书涵盖了人工智能简史、搜索方法、知情搜索、博弈中的搜索、人工智能中的逻辑、知识表示、产生式系统、专家系统、机器学习和神经网络、遗传算法、自然语言处理、自动规划、机器人技术、高级计算机博弈、人工智能的历史和未来等主题。

本书提供了丰富的教学配套资源,适合作为高等院校人工智能相关专业的教材,也适合对人工智能相关领域感兴趣的读者阅读和参考。

3、Python 神经网络编程

做一个优秀的程序员怎么做(如何提升自身能力)(9)

  • 人工智能深度学习机器学习领域又一重磅力作自己动手用Python编写神经网络美亚排名前茅荣获众多好评 全彩印刷 图表丰富

本书将带领您进行一场妙趣横生却又有条不紊的旅行——从一个非常简单的想法开始,逐步理解神经网络的工作机制。您无需任何超出中学范围的数学知识,并且本书还给出易于理解的微积分简介。本书的目标是让尽可能多的普通读者理解神经网络。读者将学习使用Python开发自己的神经网络,训练它识别手写数字,甚至可以与专业的神经网络相媲美。

4、scikit-learn机器学习(第2版)

[美] 加文·海克(Gavin Hackeling) 著,张浩然 译

做一个优秀的程序员怎么做(如何提升自身能力)(10)

scikit-learn是一个用Python语言编写的机器学习算法库,它可以实现一系列常用的机器学习算法,是一个好工具。

本书通过14章内容,详细地介绍了一系列机器学习模型和scikit-learn的使用技巧。本书从机器学习的基础理论讲起,涵盖了简单线性回归、K-近邻算法、特征提取、多元线性回归、逻辑回归、朴素贝叶斯、非线性分类、决策树回归、随机森林、感知机、支持向量机、人工神经网络、K-均值算法、主成分分析等重要话题。

5、Python机器学习

[印] 阿布舍克·维贾亚瓦吉亚(Abhishek Vijayvargia) 著,宋格格 译

做一个优秀的程序员怎么做(如何提升自身能力)(11)

  • Python机器学习实战教程人工智能图书,Python程序员进阶图书涵盖数据可视化、无监督学习、神经网络和深度学习、推荐系统等常见知识

《Python机器学习》通过数学解释和编程示例描述了机器学习中的概念,每一章的内容都从技术的基本原理和基于真实数据集的工作实例开始,在提出应用算法建议的同时,指出了每种技术的优缺点。 《Python机器学习》提供了大量的Python代码示例。Python已成为主流编程语言之一,它免费且开源,并得到了开放社区的支持,其中包含大量的库供读者直接使用。

《Python机器学习》有如下的显著特点:

  • 涵盖机器学习的所有主要领域;讨论主题和图解说明;不同ML方法的比较,解决任何问题;在应用任何ML算法之前处理真实世界噪声数据的方法;每个概念的python代码示例;Jupyter Notebook脚本提供了用于测试和测试算法的数据集。

6、Python机器学习 预测分析核心算法

[美] Michael Bowles(鲍尔斯) 著,沙嬴,李鹏 译

做一个优秀的程序员怎么做(如何提升自身能力)(12)

  • 人工智能深度学习参考书目掌握算法和Python编程用Python分析数据 预测结果的简单高效的方式

本书通过集中介绍两类可以进行有效预测的机器学习算法,展示了如何使用Python 编程语言完成机器学习任务,从而降低机器学习难度,使机器学习能够被更广泛的人群掌握。

本书为不具备数学或统计背景的读者量身打造,详细介绍了如何:

  • 针对任务选择合适算法;对不同目的应用训练好的模型;学习数据处理机制,准备数据;估模型性能以保证应用效果;掌握Python 机器学习核心算法包;使用示例代码设计和构建你自己的模型;构建实用的多功能预测模型。

7、贝叶斯方法 概率编程与贝叶斯推断

[加] Cameron Davidson-Pilon(卡梅隆·戴维森-皮隆) 著,辛愿,钟黎,欧阳婷 译

做一个优秀的程序员怎么做(如何提升自身能力)(13)

  • 机器学习 人工智能 数据分析从业者的技能基础国际杰出机器学习专家余凯博士 腾讯专家研究员岳亚丁博士推荐下一个十年,掌握贝叶斯方——就像今天掌握C、C 、Python一样重要

本书基于PyMC语言以及一系列常用的Python数据分析框架,如NumPy、SciPy和Matplotlib,通过概率编程的方式,讲解了贝叶斯推断的原理和实现方法。该方法常常可以在避免引入大量数学分析的前提下,有效地解决问题。书中使用的案例往往是工作中遇到的实际问题,有趣并且实用。作者的阐述也尽量避免冗长的数学分析,而让读者可以动手解决一个个的具体问题。通过对本书的学习,读者可以对贝叶斯思维、概率编程有较为深入的了解,为将来从事机器学习、数据分析相关的工作打下基础。本书适用于机器学习、贝叶斯推断、概率编程等相关领域的从业者和爱好者,也适合普通开发人员了解贝叶斯统计而使用。

猜您喜欢: