.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. STL容器:map

    map 可以当作特殊的数组来使用,在数组开不下,或者数组下标不是整数的时候使用 map 就很方便,比如统计字符串的出现个数,统计 int 范围内的数的出现次数等等. 映射是指两个集合之间的元素的相互对 ...

  2. linux日常运维(一)

    - 进程管理ps.top - 任务计划crontab 进程管理 概念:进程是在自身的虚拟地址空间运行的一个单独的程序. 进程和程序区别:程序只是一个静态的命令集合,不占系统的运行资源:而进程是一个随时 ...

  3. FreeRTOS 和裸机的区别

    FreeRTOS 和裸机的区别 01 FreeRTOS 简介 什么是FreeRTOS? 特点:实时性.可移植性.可扩展性 架构:内核.任务.调度器.通信机制 什么是裸机? 特点:无操作系统.直接操作硬 ...

  4. .NET开源简单易用、内置集成化的控制台、支持持久性存储的任务调度框架 - Hangfire

    前言 定时任务调度应该是平时业务开发中比较常见的需求,比如说微信文章定时发布.定时更新某一个业务状态.定时删除一些冗余数据等等.今天给推荐一个.NET开源简单易用.内置集成化的控制台.支持持久性存储的 ...

  5. 【matplotlib 实战】--南丁格尔玫瑰图

    南丁格尔玫瑰图是一种用极坐标下的柱状图或堆叠柱状图来展示数据的图表. 虽然南丁格尔玫瑰图外观类似饼图,但是表示数据的方式不同,它是以半径来表示数值的,而饼图是以扇形的弧度来表达数据的. 所以,南丁格尔 ...

  6. acwing第75场周赛

    这次题比较水,但是还是没能ak,自己小结一下吧 第一道题就是自己枚举相加就行 第二道题是一个多关键字排序,wa了几次,是因为优先级有两个是相同的需要特判一下,然后可以把字符转化为数字的优先级,我用了一 ...

  7. ACTF 2023 部分WP

    来自密码手的哀嚎: 玩不了一点,太难了. CRYPTO MDH Description Malin's Diffile-Hellman Key Exchange. task.sage from has ...

  8. spring---反射(java.lang.reflect)

    反射简介 反射是Java的高级特性之一,但是在实际的开发中,使用Java反射的案例却非常的少,但是反射确实在底层框架中被频繁的使用. 比如:JDBC中的加载数据库驱动程序,Spring框架中加载bea ...

  9. go语言写http踩得坑

    1.在运行http时,报错:panic: listen tcp: address xxxx: missing port in address, 初始 代码如下 func HelloWordHander ...

  10. C#.NET 国密SM4 CBC 对称加解密 与JAVA互通 ver:20231103

    C#.NET 国密SM4 CBC 对称加解密 与JAVA互通 ver:20231103 .NET 环境:.NET6 控制台程序(.net core). JAVA 环境:JAVA8,带maven 的JA ...