短暂的假期里抽空整理了一份书单,以个人的见解这些应该是值得.NET工程师至少去看一遍的书籍。但所罗列的仅包括国内目前已出版的国外书籍的英文版,并不包含中文翻译及相关领域的中文书籍。这里没有任何歧视之意,只是更推荐工程师具备熟练阅读英文文献的能力,尤其是.NET方向的工程师——考虑到国内的.NET生态圈,所以需要更广大的视野。

C#

  • Essential C# 7.0
    C# 7.0本质论,作为历年来深受各层次开发人员欢迎的C#权威指南,本书讨论了从C# 3.0到7.0的最重要特性,包含了现代编程模式,可以帮助读者编写简洁、强大、健壮、安全和易于维护的C#代码。
  • Effective C#: 50 Specific Ways to Improve Your C#
    Effective C#:编写高质量C#代码的50条有效方法——第3版,本书围绕一些关于C#和.NET的重要主题,包括C#语言元素、.NET资源管理、使用C#表达设计、创建二进制组件和使用框架等,讲述了最常见的50个问题的解决方案,为程序员提供了改善C#和.NET程序的方法。

SQL

  • Effective SQL: 61 Specific Ways to Write Better SQL
    Effective SQL:编写高质量SQL语句的61条有效方法,本书通过对案例问题的分析与解决方案的实现,向读者展示了如何通过SQL编写解决复杂问题,以及如何通过数据库设计简化数据管理。这是一本将SQL高级功能实践与SQL实际应用示例完美结合的、面向所有版本SQL方言(其中包括IBM DB2、Access、SQL Server、MySQL、Oracle、PostgreSQL)的编程指南。此外,SQL语法只是本书的一小部分内容,从数据库设计与优化,到分层数据与元数据管理,本书都有所涉及。
  • NoSQL Distilled
    NoSQL精粹,本书由世界级软件开发大师和软件开发“教父”Martin Fowler与Jolt生产效率大奖图书作者Pramod J. Sadalage共同撰写。全方位比较了关系型数据库与NoSQL数据库的异同;分别以Riak、MongoDB、Cassandra和Neo4J为代表,详细讲解了键值数据库、文档数据库、列族数据库和图数据库这4大类NoSQL数据库的优劣势、用法和适用场合;深入探讨了实现NoSQL数据库系统的各种细节,以及与关系型数据库的混用。

Algorithm

  • Algorithm Design
    算法设计,这是一本关于算法设计和分析的经典教材。本书围绕算法设计进行组织,对每种算法技术选择了多个典型范例进行分析,把算法的理论跟实际存在的问题结合起来,具有很大的启发性。本书侧重算法设计思路,每章都从实际问题出发,经过深入具体的分析引出相应算法的设计思想,并对算法的正确性和复杂性进行合理的分析和论证。

Design

  • Head First Design Patterns
    深入浅出设计模式,本书的编写运用许多最新的研究,包括神经生物学、认知科学以及学习理论,这使得其能够将这些设计模式深深地烙印在你的脑海中,不容易被遗忘。你将会更擅长于解决软件设计中的问题,并能够和你的团队成员用模式的语言来更好地沟通。
  • Implementing Domain-Driven Design
    实现领域驱动设计,本书分别从战略和战术层面详尽地讨论了如何实现DDD,其中包含了大量的优秀实践、设计准则和对一些问题的折中性讨论。
  • Clean Architecture:A Craftsman's Guide to Software Structure and Design
    Clean Architecture:软件架构与设计匠艺,通过合理运用软件架构的通用法则,可以显著提升开发者在所有软件系统全生命周期内的生产力。
  • Designing Data-Intensive Applications
    设计数据密集型应用,书中包含以下内容:深入分析你已经在使用的系统,并学习如何更高效地使用和运维这些系统;通过识别不同工具的优缺点,作出更明智的决策;了解一致性、可伸缩性、容错性和复杂度之间的权衡;理解分布式系统研究,这些研究是现代数据库构建的基石;走到一些主流在线服务的幕后,学习它们的架构。
  • Refactoring: Improving the Design of Existing Code
    重构:改善既有代码的设计,软件开发的不朽经典;生动阐述重构原理和具体做法;普通程序员进阶到编程高手必须修炼的秘笈。

DevOps

  • Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
    持续交付:发布可靠软件的系统方法,本书讲述如何实现更快、更可靠、低成本的自动化软件交付,描述了如何通过增加反馈,并改进开发人员、测试人员、运维人员和项目经理之间的协作来达到这个目标。

Management

  • Git for Teams
    用于团队协作的Git,本书是一本软件团队协作指南,采用以人为本的方式讲解版本控制,强调如何利用Git促进团队协作。
  • The Mythical Man-Month: Essays on Software Engineering
    人月神话,本书内容源于作者Brooks在IBM公司任System/360计算机系列以及其庞大的软件系统OS/360项目经理时的实践经验。在本书中,Brooks为人们管理复杂项目提供了最具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践,为每个复杂项目的管理者给出了自己的真知灼见。
  • Peopleware
    人件,在软件管理领域,很少有著作能够与本书媲美。作为经久不衰的畅销书,本书深刻地洞察到软件开发的最大问题不在于技术,而在于人。人的因素并不容易解决,一旦解决了,你将更有可能获得成功。本书是软件管理领域的传奇经典,被誉为“对美国软件业影响最大的一本书”。全书从管理人力资源、创建健康的办公环境、雇用并留用正确的人、高效团队形成、改造企业文化和快乐工作等多个角度阐释了如何思考和管理软件开发的最大问题——人(而不是技术),以得到高效的项目和团队。

.NET工程师的书单的更多相关文章

  1. Java工程师核心书单推荐

    随便打开一个招聘网站,看看对高级Java工程师的技能要求. 抛开其它的经验能力等等,单纯从技术,或者说知识上来讲,可以发现一些共通的地方. Java基础 计算机基础 数据库,SQL/NoSQL 常用开 ...

  2. Java工程师的终极书单

    本份Java工程师的终极书单只在专业的Java技术博客–天天编码上发布,没有授权任何网站与个人转载. 坚持阅读好书是学习Java技术的好方式.但是,市面上与Java技术相关的书籍可谓数不胜数,如何从这 ...

  3. Java工程师书单(初级、中级、高级)

    简介 怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作一两年之后开始迷茫的程序员经常会问到的问题 ...

  4. 晒下我在2017年所阅读的JavaScript书单

    前言 学习是一个持续不断的过程,在互联网技术里畅游的程序猿们,对学习的渴望更是难以穷尽.2017即将逝去,2018已经漏出曙光,回顾这一年,在学习的路上收获还是颇丰的,下面就晒一晒2017年我所学习的 ...

  5. 数字IC设计入门书单

    首发于观芯志 写文章     数字IC设计入门书单 Forever snow   1 年前 作者:Forever snow链接:你所在领域的入门书单? - 知乎用户的回答来源:知乎著作权归作者所有,转 ...

  6. AI 经典书单 | 人工智能学习该读哪些书

    转载 2018年01月16日 00:00:00   人工智能相关岗位中,涉及到的内容包含: 算法.深度学习.机器学习.自然语言处理.数据结构.Tensorflow.Python .数据挖掘.搜索开发. ...

  7. 图灵社区 书单推荐:成为Java顶尖程序员 ,看这11本书就够了

    java书单推荐 转自 http://www.ituring.com.cn/article/211418 “学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会.个人认为看书有两 ...

  8. java后端书单

    Java开发工程师一般负责后端开发,当然也有专门做Java Web的工程师,但是随着前后端的分离,越来越多的Java工程师需要往大后端方向发展. 今天我们就来介绍一下Java后端开发者的书单. 首先要 ...

  9. 送你一份Redis书单,以后使用缓存的问题不用再问我啦!

    点击蓝色"程序员书单"关注我哟 加个"星标",每天带你读好书!

随机推荐

  1. ABAP对象-面向对象(转)

    转自:https://www.jianshu.com/p/f847c8f71438 1 面向对象基础 不多赘述何为对象与类.简单回顾一下在面向对象特性. 封装 限定内部资源的可见性 多态 相同名称的方 ...

  2. python3 对list对象的增删改查

    class peoples: people_list =[] class people: name='' age=-1 def __init__(self,name,age): self.name = ...

  3. jqgrid后台处理搜索

    jqgrid后台处理搜索, 如果点击jqgrid自带的搜索,则向后台传递“_search”参数,和searchField.searchOper.searchString三个值.如下所示: string ...

  4. ORACLE基础之oracle锁(oracle lock mode)详解

    ORACLE里锁有以下几种模式: 0:none 1:null 空 2:Row-S 行共享(RS):共享表锁,sub share  3:Row-X 行独占(RX):用于行的修改,sub exclusiv ...

  5. 编译 lineageos 14.1 on OnePlus3

    breakfast oneplus3 命令的主要作用是 1.执行 vendorsetup.sh 2. variant 默认设置为 userdebug 3. 根据机型判断 调用  lunch  cm 或 ...

  6. vue+node+elementUI实现注册功能

    后端代码 在后端的文件 routes文件夹下的connect.js文件中 // 引入mysql const mysql = require('mysql'); // 创建连接对象 const conn ...

  7. 【bzoj1941】[Sdoi2010]Hide and Seek(kd-tree)

    bzoj 题意: 给出\(n\)个点,对于每个点,\(d_i\)等于距离其最远的点的距离减去距离最近的点的距离.这里的距离为曼哈顿距离. 求\(min\{d_i\}\). 思路: 考虑直接对每个点暴力 ...

  8. 【洛谷P4589】[TJOI2018]智力竞赛(二分+最小链覆盖)

    洛谷 题意: 给出一个\(DAG\),现在要选出\(n+1\)条可相交的链来覆盖,最终使得未被覆盖的点集中,权值最小的点的权值最大. 思路: 显然最终的答案具有单调性,故直接二分答案来判断: 直接将小 ...

  9. 初学JavaScript正则表达式(十二)

    text / exec方法 text() var reg1 = /\w/; var reg2 = /\w/g; reg1.test('a') === true reg2.test('a') === t ...

  10. 第36课 经典问题(下)----关于string的疑问

    实例1: 下面的代码输出什么,为什么? #include <iostream> #include <string> using namespace std; int main( ...