.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. 聊聊基于Alink库的决策树模型算法实现

    示例代码及相关内容来源于<Alink权威指南(Java版)> 概述 决策树模型再现了人们做决策的过程,该过程由一系列的判断构成,后面的判断基于前面的判断结果,不断缩小范围,最终推出结果. ...

  2. Android Studio3.2.1升级刨坑记录

    Android Studio出了3.2.1,我用的是2.3,所有决定升级一下,看看如何 为了保险一点,下载了官方的解压版本,也就是说不含sdk,下载android-studio-ide-181.501 ...

  3. CF1877 Div2 A-E 题解

    A 显然 \(n\) 个队的得分之和为 \(0\),因此答案为这 \(n-1\) 个数的和的相反数. 赛时代码 B 小贪心. 将所有人按 \(b\) 升序排序,\(b\) 相同时按 \(a\) 降序, ...

  4. Windows下VC++编译器32位memcpy、memmove函数汇编代码详解

    整理者:赤勇玄心行天道 QQ号:280604597 微信号:qq280604597 QQ群:511046632 博客:www.cnblogs.com/gaoyaguo  blog.csdn.net/c ...

  5. RLChina2022公开课-博弈搜索算法

    序列决策 序列决策问题一般用马尔可夫决策模型进行描述 搜索算法的优化

  6. AGC044C Strange Dance 题解

    在2020年A卷省选day2t2有类似建立trie的技巧. 题目链接 显然是建一棵三叉trie树,代表0/1/2 对这棵trie树,我们需要支持子树交换和全局加1 考虑第一个操作怎么做?直接打个懒标记 ...

  7. P5445 [APIO2019] 路灯 题解

    题目链接 题目描述 给你一个 01 串,有 \(q\) 个时刻,每个时刻要么把一位取反,要么问你在过去的所有时刻中有多少个时刻 \(a\) 和 \(b-1\) 之间都为 1. 题目分析 观察题目,我们 ...

  8. Odoo—货运管理—odoo时差问题

    第一次踩odoo时差的坑,才知道原来odoo在存储日期数据时,是以UTC0时区存放的,和北京时间相差8个小时.只是odoo本身能很好的处理日期数据的存储和展示,所以刚开始接触odoo,不容易发现这个问 ...

  9. 【scipy 基础】--线性代数

    SciPy的linalg模块是SciPy库中的一个子模块,它提供了许多用于线性代数运算的函数和工具,如矩阵求逆.特征值.行列式.线性方程组求解等. 相比于NumPy的linalg模块,SciPy的li ...

  10. Git、GitHub、Gitlab的区别以及与SVN的比较

    概念解析 Git   Git是一个开源的分布式版本控制系统(Version Control System,VCS),可以有效.高速地处理项目版本管理.   版本控制是一种记录一个或若干文件内容变化,以 ...