2019年来现在的公司开始从事.Net相关的工作。记录一下工作以来看过(或者翻过)和听过还不错打算看相关的技术书籍或资料。
为了方便给大家参考,看(翻)过书目以难度排序。
看过正在看或翻过 入门篇(有那么一小部分看不懂)-
《深入理解C#》
可以说算是一本语法书,主要以C#的语言版本顺序一点点介绍,买的时候那版只到C# 5(大概),新出的一版大概到C#7。说是入门但是难度并不那么入门,逆变协变表达式树await等等虽然只介绍托管层但是依旧有一部分让人看不懂了,不过看看语法还不错。
-
《设计模式》
这本书没啥说的,很多时候写不好都会翻翻书看看有什么可以抄的。谈谈体会,书里的23种3类设计模式很多时候还是需要灵活使用,看用的时候灵性了。
-
《代码整洁之道》
这本书买的很早,java写的。谈一谈体会,各种准则列的确实很有道理,但是落到实际工作中就不是那么回事了。大白话说就是道理谁都懂(也不见得)。代码要写的好看很大程度还得看框架和灵性了。
-
《C++ Primer Plus》
一直想深入一点,一直在看一直在忘,可能唯一学会的就是用来写写一部分简单的算法题吧。
-
《汇编语言》王爽
虽然x86汇编有点难,但是8086汇编不算太难。这本书看的算比较细了,王老师水平不用多说,搜搜网上的评价都知道,不愧哲学家。无奈不知道是不是自己不行,书里提的问题说看到后面章节就能明白的一些问题我看完都没明白,全靠百度才恍然大悟原来是这么回事(特指Dubug时为什么栈底的内容跟着移动的问题)。
-
《深入浅出WPF》刘铁猛
一本WPF的经典书了。我不理解同事为啥说这本书特别简单,书里涉及了一部分源码,比如是依赖属性的实现等等。看这本书时候就着源码对着书翻也只能说大概好像是这样。可能吃亏在.Net framework的源码虽然开源了但是没法编译和调试吧。
-
《修炼之道:.NET开发要点精讲》
主要说的是.NET开发的一些知识点,内容没那么难。这本书的作者已经开源了(开源意味着超过了出版社的合约期,内容很老了),作者好像之前在微软工作。虽然内容比较老,但还是有很多值得借鉴的地方。
-
《用户态程序高效排错》熊力
同样来自微软员工的作品,同样也开源了。主要内容是windows下托管和非托管问题的调试。这本书我大概翻了下没看完,主要是里面的调试工具实在是太老了。不过书里提到的思路还是没问题的,工具只是实现手段,重要的是解决问题的思路(再加上一部分耐心)。
-
《编写高性能的.NET代码》
还不错的一本,各种.Net开发的知识点汇总,部门买的电子版,结合《.NET高级调试》一起看不错。
-
《WCF全面解析》上 下 蒋金楠
如果做WCF的话值得一读,可惜WCF已经走向末路,工作中很多也都是基础应用和标准绑定,书里的各种花里胡哨的用法只能说有需求时候值得借鉴。
-
《.NET高级调试》
这本书很重要。讲了很多CLR的内部原理,包括并不限于各种数据对象在内存的结构是什么样的,GC是如何管理和分配内存,同步和锁如何实现(并没有到Windows如何实现这一步)。虽然书里用很长的篇幅列了一堆SOS命令,但是这些在微软官方文档都有,大概看一下使用的时候直接查就可以了。
-
《计算机组成与体系结构》
基础书不必多说。这本书翻到大概层次存储结构结束的位置。
-
《深入理解计算机系统》
这本书也不必多说,我买的第三版,内容很细但是看完很难记住。举个例子,书里面说了各种位左移右移所遵循的规则,无符号和有符号的并不一致,只有在工作中发现错了才发现书里好像是这么说过。
-
《程序员的自我修养 - 链接编译转载与库》
主要说的是PE文件结构,动态链接静态链接等等。这本书大概是19年刚来公司看的,当时是公司同事的书,后来自己也买了一本。时间太久了,只记得很多看不懂,不过个人觉得很多东西看的太细也记不住有个映像比如PE文件结构等等,到时候可以翻书翻到也不错。
-
《MSIL权威指南》(上/下)包建强 & 《Expert .NET 2.0 IL Assembler》 Serge Lidin
这本书叫《CLR元数据表解析》更加合适,书里用大段讲了各种元数据表的各种乱七八糟的作用要求关系等等。译者好像是去哪儿的高管,博客里各种和微软的大佬谈笑风生,译本却被骂很惨,我觉的也不至于那么不堪。还是一本不错的了解元数据的书。
-
《软件调试》张银奎
这套书这两年出了第二版,和第一版的主要差别是加了很多arm的内容。作者是前英特尔的员工,所以有很多硬件相关的内容。个人买的第二版,内容较深,算是国内(乃至国外)软件调试方面写的最详细的书了,他解答了诸如调试断点如何实现,为什么异常捕获一般不能跨线程,Windows如何实现异常分发等等问题。个人能力有限,很多看不懂,但还是觉得非常值得一读。
-
《WINDOWS.核心编程》(翻过)
这本书主要说的是windows的各种API如何调用,也说了一些windows的一些机制,比如线程/进程/锁等等。很多内容其实《软件调试》里也写了,比如SEH等等。
-
《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源代码里都是对的上的。
-
《计算机组成与设计 硬件软件接口》
-
《垃圾回收算法手册 自动内存管理的艺术》
-
《重构改善既有代码的设计》
-
《NET CLR via C#》
-
《深入理解Windows操作系统》 第七版
-
机器学习等等
-
安卓相关等等
-
《应用密码学 协议 算法与C源程序》
-
QT等等
-
《格蠹汇编》张银奎
提供一个不错的搜书网站 https://xmsoushu.com/#/