.Net人的自我修养-书目汇总

2019年来现在的公司开始从事.Net相关的工作。记录一下工作以来看过(或者翻过)和听过还不错打算看相关的技术书籍或资料。

为了方便给大家参考,看(翻)过书目以难度排序。

看过正在看或翻过

入门篇(有那么一小部分看不懂)

  1. 《深入理解C#》

    可以说算是一本语法书,主要以C#的语言版本顺序一点点介绍,买的时候那版只到C# 5(大概),新出的一版大概到C#7。说是入门但是难度并不那么入门,逆变协变表达式树await等等虽然只介绍托管层但是依旧有一部分让人看不懂了,不过看看语法还不错。

  2. 《设计模式》

    这本书没啥说的,很多时候写不好都会翻翻书看看有什么可以抄的。谈谈体会,书里的23种3类设计模式很多时候还是需要灵活使用,看用的时候灵性了。

  3. 《代码整洁之道》

    这本书买的很早,java写的。谈一谈体会,各种准则列的确实很有道理,但是落到实际工作中就不是那么回事了。大白话说就是道理谁都懂(也不见得)。代码要写的好看很大程度还得看框架和灵性了。

  4. 《C++ Primer Plus》

    一直想深入一点,一直在看一直在忘,可能唯一学会的就是用来写写一部分简单的算法题吧。

  5. 《汇编语言》王爽

    虽然x86汇编有点难,但是8086汇编不算太难。这本书看的算比较细了,王老师水平不用多说,搜搜网上的评价都知道,不愧哲学家。无奈不知道是不是自己不行,书里提的问题说看到后面章节就能明白的一些问题我看完都没明白,全靠百度才恍然大悟原来是这么回事(特指Dubug时为什么栈底的内容跟着移动的问题)。

  6. 《深入浅出WPF》刘铁猛

    一本WPF的经典书了。我不理解同事为啥说这本书特别简单,书里涉及了一部分源码,比如是依赖属性的实现等等。看这本书时候就着源码对着书翻也只能说大概好像是这样。可能吃亏在.Net framework的源码虽然开源了但是没法编译和调试吧。

进阶篇 (有相当部分看不懂)

  1. 《修炼之道:.NET开发要点精讲》

    主要说的是.NET开发的一些知识点,内容没那么难。这本书的作者已经开源了(开源意味着超过了出版社的合约期,内容很老了),作者好像之前在微软工作。虽然内容比较老,但还是有很多值得借鉴的地方。

  2. 《用户态程序高效排错》熊力

    同样来自微软员工的作品,同样也开源了。主要内容是windows下托管和非托管问题的调试。这本书我大概翻了下没看完,主要是里面的调试工具实在是太老了。不过书里提到的思路还是没问题的,工具只是实现手段,重要的是解决问题的思路(再加上一部分耐心)。

  3. 《编写高性能的.NET代码》

    还不错的一本,各种.Net开发的知识点汇总,部门买的电子版,结合《.NET高级调试》一起看不错。

  4. 《WCF全面解析》上 下 蒋金楠

    如果做WCF的话值得一读,可惜WCF已经走向末路,工作中很多也都是基础应用和标准绑定,书里的各种花里胡哨的用法只能说有需求时候值得借鉴。

  5. 《.NET高级调试》

    这本书很重要。讲了很多CLR的内部原理,包括并不限于各种数据对象在内存的结构是什么样的,GC是如何管理和分配内存,同步和锁如何实现(并没有到Windows如何实现这一步)。虽然书里用很长的篇幅列了一堆SOS命令,但是这些在微软官方文档都有,大概看一下使用的时候直接查就可以了。

  6. 《计算机组成与体系结构》

    基础书不必多说。这本书翻到大概层次存储结构结束的位置。

  7. 《深入理解计算机系统》

    这本书也不必多说,我买的第三版,内容很细但是看完很难记住。举个例子,书里面说了各种位左移右移所遵循的规则,无符号和有符号的并不一致,只有在工作中发现错了才发现书里好像是这么说过。

高级篇(有非常多看不懂)

  1. 《程序员的自我修养 - 链接编译转载与库》

    主要说的是PE文件结构,动态链接静态链接等等。这本书大概是19年刚来公司看的,当时是公司同事的书,后来自己也买了一本。时间太久了,只记得很多看不懂,不过个人觉得很多东西看的太细也记不住有个映像比如PE文件结构等等,到时候可以翻书翻到也不错。

  2. 《MSIL权威指南》(上/下)包建强 & 《Expert .NET 2.0 IL Assembler》 Serge Lidin

    这本书叫《CLR元数据表解析》更加合适,书里用大段讲了各种元数据表的各种乱七八糟的作用要求关系等等。译者好像是去哪儿的高管,博客里各种和微软的大佬谈笑风生,译本却被骂很惨,我觉的也不至于那么不堪。还是一本不错的了解元数据的书。

  3. 《软件调试》张银奎

    这套书这两年出了第二版,和第一版的主要差别是加了很多arm的内容。作者是前英特尔的员工,所以有很多硬件相关的内容。个人买的第二版,内容较深,算是国内(乃至国外)软件调试方面写的最详细的书了,他解答了诸如调试断点如何实现,为什么异常捕获一般不能跨线程,Windows如何实现异常分发等等问题。个人能力有限,很多看不懂,但还是觉得非常值得一读。

  4. 《WINDOWS.核心编程》(翻过)

    这本书主要说的是windows的各种API如何调用,也说了一些windows的一些机制,比如线程/进程/锁等等。很多内容其实《软件调试》里也写了,比如SEH等等。

  5. 《Shared Source CLI 2.0 Internals》

    .Net已经开源很久了,最新的代码在GIthub上下载下来看看BOTR(Book Of The Runtime)自己也能编译调试。但是BORT过于简略,基本上可以说是除了能编译出来就CLR的源代码啥也看不懂了。《Shared Source CLI 2.0 Internals》这本开源书籍写的是微软很久前的开源版本.Net,除了Jit大部分内容都是一致的,你可以知道什么是EEClass 什么是MethodTable,方法如何调用等等,这些和现在版本的CLR源代码里都是对的上的。

没看过打算看

  1. 《计算机组成与设计 硬件软件接口》

  2. 《垃圾回收算法手册 自动内存管理的艺术》

  3. 《重构改善既有代码的设计》

  4. 《NET CLR via C#》

  5. 《深入理解Windows操作系统》 第七版

买了未来也许会看的书但是现在完全不会看的书

  1. 机器学习等等

  2. 安卓相关等等

  3. 《应用密码学 协议 算法与C源程序》

  4. QT等等

  5. 《格蠹汇编》张银奎

提供一个不错的搜书网站 https://xmsoushu.com/#/

.Net人的自我修养-书目汇总的更多相关文章

  1. 第八周读书笔记(人月神话X月亮与六便士)——到底什么才是一个程序员的自我修养?

    写了这么久的读书笔记,涉及到问题大多是一些如何把软件工程做好,如何把自己的职业生涯做好.但总感觉逻辑链上缺了一环,亦即:我们为什么要把软件工程做好,我们成为一名优秀的职业生涯的意义到底在于什么?我觉得 ...

  2. 程序员的自我修养(2)——计算机网络(转) good

    相关文章:程序员的自我修养——操作系统篇 几乎所有的计算机程序,都会牵涉到网络通信.因此,了解计算机基础网络知识,对每一个程序员来说都是异常重要的. 本文在介绍一些基础网络知识的同时,给出了一些高质量 ...

  3. IT人的自我导向型学习:学习的4个层次

    谈起软件开发一定会想到用什么技术.采用什么框架,然而在盛行的敏捷之下,人的问题逐渐凸显出来.不少企业请人来培训敏捷开发技术,却发现并不能真正运用起来,其中一个主要原因就是大家还没有很好的学习能力.没有 ...

  4. GIS制图人员的自我修养(2)--制图意识

    GIS制图人员的自我修养(2)--制图意识 by 李远祥 上次提及到GIS制图人员的一些制图误区,主要是为GIS制图人员剖析在制图工作中的一些问题.但如何提高制图的自我修养,却是一个非常漫长的过程,这 ...

  5. GIS制图人员的自我修养(1)--制图误区

    GIS制图人员的自我修养 by 李远祥 最近一直坚持写GIS制图的技术专题,并不是为了要介绍有什么好的技术和方法去制图,而是要告诉所有从事这一方向的人员一个铁铮铮的实现--要做好GIS制图,必须加强自 ...

  6. Hacker的社交礼仪与自我修养【转】

    Hacker School是位于纽约的一所特殊的编程“学校”,他们的目标是帮助参与者变成“更好的程序员”,之所以说他们特殊是因为这所“学校”没有老师,没有考试,也不会颁发证书,他们信奉三人行必有我师, ...

  7. IT技术人员的自我修养

    1. 前言        在IT领域摸爬滚打多年,从一个普通程序员到技术主管,到技术经理,再到技术总监,踩过不少坑.加过不少班,也背过不少锅,在提升自身技术能力与管理能力的同时,也一直在思考,作为IT ...

  8. IT技术管理者的自我修养

    1. 前言 本来写<IT技术管理者的自我修养>与<IT技术人员的自我修养>是一开始就有的想法.但发表<IT技术人员的自我修养>后,收到了不少良好的反馈,博客园的编辑 ...

  9. 东站七雄保C位!论三线楼市网红板块的自我修养

    不对!东站板块才是伍家岗的C位.这里有东站七雄! 前些天发了一篇城东C位之路的文章,居然引发了诸葛说房聊天群内大佬的激烈纷争.公说公有理婆说婆有理,一时争的是不可开交,大有约架之势.所以我决定提前写& ...

  10. Java程序员的自我修养

    一.自我修养路线图 如图,这是笔者所走的路.且不论这路走的对不对,这个过程中行业环境会影响到你,大可不必钻牛角尖.附上这张图的目的是为了说,如果你想成为一个优秀的程序员,那么你一定要有规划.当然,别想 ...

随机推荐

  1. 传统的MVC开发模式和前后端分离开发模式

    1. 引言 在当今互联网时代,移动应用和网页应用的发展极大地推动了前后端分离开发模式的兴起.传统的后端渲染方式已经不能满足用户对高性能和优质用户体验的需求,于是前后端分离逐渐成为了一种主流的开发模式. ...

  2. c语言代码练习2(2)改进

    //利用for循环计算1-10阶乘的和#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main( ) { int num ...

  3. Caused by: liquibase.exception.ValidationFailedException: Validation Failed:1 change sets check sum

    db/changelog/mysql/changelog-0001-307096-1.0.sql::1.0::buoluo.meng was: 8:a5d8f616a121230c204fd2b878 ...

  4. 【matplotlib 实战】--散点图

    散点图,又名点图.散布图.X-Y图,是将所有的数据以点的形式展现在平面直角坐标系上的统计图表. 散点图常被用于分析变量之间的相关性.如果两个变量的散点看上去都在一条直线附近波动,则称变量之间是线性相关 ...

  5. Unity - UIWidgets 4. 添加图标显示

    Material Icon字体下载(github) 前面的返回按钮, 以及自己试验的一些Icon都不显示, 然后回去翻UIWidgets的README public class UIWidgetsEx ...

  6. Web Woeker和Shared Worker的使用以及案例

    目录 1.前言 2.介绍 Web Worker 3.使用须知及兼容性 3.1.使用须知 3.2.兼容性 4.使用 Web Worker 4.1.创建 Web Worker 4.2.与主线程通信 4.3 ...

  7. JAVA类的加载(5)——总结

    总结一下:1.类加载(初始化) 包括加载(类的class文件读入内存,并为之创建一个java.lang.Class对象,由类加载器完成).连接(把类的二进制数据合并到JRE中).初始化(对静态属性进行 ...

  8. Net 高级调试之六:对象检查之值类型、应用类型、数组和异常的转储

    一.简介 今天是<Net 高级调试>的第六篇文章.记得我刚接触 Net 框架的时候,还是挺有信心的,对所谓的值类型和引用类型也能说出自己的见解,毕竟,自己一直在努力.当然这些见解都是书本上 ...

  9. MIT实验警示:人类或需要人工智能辅助才能理解复杂逻辑

    麻省理工实验揭示人类的天赋缺陷 麻省理工学院林肯实验室(MIT Lincoln Laboratory)的一项研究表明,尽管形式规范具有数学上的精确性,但人类并不一定能对其进行解释.换句话说就是,人类在 ...

  10. DP:摆动序列

    问题描述 如果一个序列满足下面的性质,我们就将它称为摆动序列: 1. 序列中的所有数都是不大于k的正整数: 2. 序列中至少有两个数. 3. 序列中的数两两不相等: 4. 如果第i – 1个数比第i ...