大智网汇
综合信息情报站

有哪些你看了以后大呼过瘾的计算机书籍?

赞(0) 打赏
以上内容(如有图片或视频亦包括在内)为自媒体平台用户上传并发布,未作人工编辑处理,不构成投资建议请自行甄别,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:wolfba@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容!

评论 5

  1. #1

    推荐下最近读的两本书:

    1、《半导体简史》

    这本书一共就五章,但是每章都很厚重,从基础、应用和制造三个当面展开半导体的发展历程。

    同时,这本书的大部分内容都是人物或者公司传记,读起来比较有意思,适合绝大多数对半导体感兴趣的读者。此外,还有部分内容比较深入,适合于半导体专业人员阅读,这部分内容普通读者是可以直接跳过去的,并不影响对其他部分的阅读。所以,无论是感兴趣的普通读者,还是专业读者,大家都能找到自己感兴趣的部分。

    我比较喜欢传记,所以这种人物和公司传记的形式,深得我心。我把目录贴出来,大家感兴趣的可以读读。

    2、《高效程序员的45个习惯——敏捷开发修炼之道》

    这本书就如其题目所言,提出了45个敏捷开发的习惯,每个习惯用短短的几页进行介绍,其中还包含了具体的例子。可以按照顺序阅读,也可以单个直接进行阅读。

    我之前带领团队按照敏捷开发的方式进行过好几年的开发,所以从我自己的角度而言,这本书的内容可以分为三个部分:了解并且之前实施过的敏捷开发习惯;了解但是之前并未实施过的敏捷开发习惯;之前并未了解过的敏捷开发习惯。我自己阅读过后,后续会更加的重视“了解但是之前并未实施过的敏捷开发习惯”和“之前并未了解过的敏捷开发习惯“这两部分,争取将这些优秀的习惯都融入到实际的开发之中。

    因此,我后续还会不断的阅读本书,至少要在这些习惯上做到知行合一。

    最后,引用封面上的一句话“习惯改变行为,行为决定命运”。

    小乖他爹1年前 (2022-12-24)回复
  2. #2

    来吧~ 《360 安全规则集合》整合了数百种编程问题,看里面的示例就可以领略 C/C++ 代码能丧心到什么程度,很多示例代码令读者大呼变态,但其背后都是严峻的安全问题!

    这部书既可以作为规范指南,也可以作为 C/C++ ISO 等标准的导读,用纯正的中文讲解了数百种巨坑,现已在 Github 上开源:

    快乐代码1年前 (2023-01-20)回复
  3. #3

    这是一本在国内外都被称为技术书籍巅峰之作的神书!

    国内的豆瓣评分 9.7(满分 10.00),接近 90% 的人为这本书打了五星好评。

    国外的 Goodreads(类似于豆瓣) 评分 4.72(满分 5.00) ,接近 80% 的人为这本书打了五星好评。

    这本书就是 《Designing Data-Intensive Application》 ,也被简称为 DDIA,在国内通常被翻译为 《数据密集型应用系统设计》。

    我一直觉得这是一本有点被书名耽误的神书,大家千万不要被书名给“欺骗”了。

    单看书名,很多人估计觉得这就是一本专门为数据处理相关工作的程序准备的书籍。我当时在第一眼看这本书的书名的时候就是这种感觉。

    实际不然,这本书适合每一位做后端开发的程序员阅读,尤其适合每一位 CRUD 程序员阅读!
    这本书的主要讲了分布式数据库、数据分区、事务、分布式系统等内容。从数据模型与查询语言,数据编码到数据复制和分区,再到事务,一致性共识,分布式系统面临的一些挑战(如故障与部分失效、不可靠网络和时钟),作者都结合实例提供了有深度的讲解,在工业与学术之间平衡的很好。

    就比如在讲快照隔离实现技术多版本并发控制(MVCC, multi-version concurrentcy control)的时候,作者就图解了 PostgreSQL 如何实现基于 MVCC 实现的快照级别隔离。

    作者认为:

    • 数据是后端系统的核心,我们所做的任何事情都是围绕着数据来展开的;
    • 现在的大部分应用程序都是 数据密集型(data-intensive) 而非 计算密集型(compute-intensive),也就是说系统的瓶颈通常来自于对数据的处理而非 CPU ;
    • 数据库、消息队列、缓存等中间件/软件可以被统称为 数据系统(data system) ,它们之间的界限越来越模糊,例如:数据存储可以被当成消息队列用(Redis),消息队列则带有类似数据库的持久保证(Apache Kafka)。

    这本书介绍的很多概念你可能之前都听过,但是在看了书中的内容之后,你可能会豁然开朗:“哇塞!原来是这样的啊!这不是某技术的原理么?”。

    下图是我在第二次看这本书的时候做的笔记

    第一次看这本书的时候还在读大三,那时候读这本书只觉得内容很干,但是很多地方自己看不懂。等到第二次再读就好多了,很多不太能理解的概念也能搞清了。

    看了这本书你会发现国内外的非常多的系统设计课程以及和数据相关的课程里面的很多内容在这本书中都有提到。

    这本书有很多地方的讲解都能让你对这个知识点有新的认识。

    就比如在介绍事务的 ACID 特性的时候,这本书中如是说:
    Atomicity, isolation, and durability are properties of the database, whereas consis‐ tency (in the ACID sense) is a property of the application. The application may rely on the database’s atomicity and isolation properties in order to achieve consistency, but it’s not up to the database alone.

    翻译过来的意思是:原子性,隔离性和持久性是数据库的属性,而一致性(在 ACID 意义上)是应用程序的属性。应用可能依赖数据库的原子性和隔离属性来实现一致性,但这并不仅取决于数据库。因此,字母 C 不属于 ACID 。

    看了之后是不是感觉自己被 ACID 这个概念被误导了很久?

    再比如说在介绍数据复制这部分内容的时候,这本书介绍了三种常见的复制方案及其优点和缺点。

    主从复制非常流行,主要是因为它很容易理解,也不需要担心冲突问题。而万 一出现节点失效、网络中断或者延迟抖动等情况,多主节点和无主节点复制方案会更加可靠,不过背后的代价则是系统的复杂性和弱一致性。

    看这本书的时候,你可以结合 MIT6.824 分布式系统课程。油管上这门课程的视频版本,地址:youtube.com/channel/UC_

    这这门课程是全英文的,英语能力不够好的同学很难坚持学习下来。

    不过,不用担心!B 站有这个课程的中文翻译版合集,地址:bilibili.com/video/av91。国内也有小伙伴还提供了这门课程的中文文字版,地址:mit-public-courses-cn-translatio.gitbook.io

    看了之后表示:“真羡慕 MIT 的学生,在大学能有这么好的学习方式和实践!”。我特么可太羡慕了!这门课的 Lab 非常不错!

    另外,这本书的作者 Martin Kleppmann(马丁·科勒普曼)是剑桥大学计算机科学与技术系的噶几研究助理和讲师,是一位在工业界和学术界的大牛,参与了多个知名开源项目包括 AutomergeApache AvroApache Samza。Martin Kleppmann 的个人博客地址:martin.kleppmann.com/

    考虑到版权问题,这里就不分享这本书籍的 PDF 版本了。感兴趣的小伙伴,可以自己购买纸质书或者找一下这本书的开源翻译版本。

    作者:JavaGuide
    链接:zhihu.com/question/5040
    来源:知乎

    最近很多同学问我大厂面试的核心知识点,东哥熬夜整理出来了9大核心知识点,需要的自取:

    另外,我当初在准备各大公司技术笔试的时候刷了大量的算法题,其中就是参考了一本谷歌大神的LeetCode刷题笔记,帮我整理了解题思路,归纳了出刷题方法,非常不出错,转给需要的同学:

    最后给大家介绍一份计算机经典书籍,送大家一份硬核书籍资源:读大学跟工作期间,我买了很多书,大部分是一些技术书籍,也收集了这些书籍的电子版,都在这里,现在免费share给大家,包括了计算机类常用电子书,包括C,C++,Java,Python,Java,Linux,Go等,希望大家能认真阅读。点击下方链接直达获取:

    码字不易,硬核码字更难,希望大家不要吝啬自己的鼓励,给我 :

    @码农出击

    一个点赞,鼓励下我!

    码农出击1年前 (2023-02-19)回复
  4. #4

    推荐几本让程序员们爱不释手的经典书。

    1、代码整洁之道

    鲍勃大叔作品,程序员,汇聚编程数十年编程生涯的心得体会,阐释如何解决软件开发人员、项目经理及软件项目领导们所面临的棘手的问题。

    本书提出一种观点:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称“启示”),并辅以来自实际项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。

    本书阅读对象为一切有志于改善代码质量的程序员及技术经理。书中介绍的规则均来自作者多年的实践经验,涵盖从命名到重构的多个编程方面,虽为一“家”之言,然诚有可资借鉴的价值。

    2、重构 改善既有代码的设计(第2版 平装版)

    1. 软件开发大师的不朽经典

    2. 生动阐述重构原理和具体做法   

    3. 普通程序员进阶到编程高手必须修炼的秘笈

    本书是经典著作《重构》出版20年后的更新版。书中清晰揭示了重构的过程,解释了重构的原理和实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了60多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助开发人员一次一小步地修改代码,从而减少了开发过程中的风险。

    3、深度学习

    深度学习领域奠基性经典畅销书,数据科学家和机器学习从业者必读,长期位居美亚AI和机器学习类图书榜首,图灵奖获奖作品,全彩印刷。

    《深度学习》由全球知名的三位专家IanGoodfellow、YoshuaBengio和AaronCourville撰写,是深度学习领域奠基性的经典教材。全书的内容包括3个部分:第1部分介绍基本的数学工具和机器学习的概念,它们是深度学习的预备知识;第2部分系统深入地讲解现今已成熟的深度学习方法和技术;第3部分讨论某些具有前瞻性的方向和想法,它们被公认为是深度学习未来的研究重点。

    4、UNIX环境高级编程 第3版

    本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的第3版。在本书第2版出版后的8年中,UNIX发生了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持前一版风格的基础上,根据新的标准对内容进行了修订和增补,反映了新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了众多应用实例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。

    5、Python编程快速上手 : 让繁琐工作自动化

    Python编程从入门到实践姊妹篇,零基础自学Python教程书籍,提供配套同步教学视频、在线编程环境!针对Python3.X版本更新。

    本书是一本面向初学者的Python编程实用指南。本书不仅介绍了Python语言的基础知识,而且通过案例实践教读者如何使用这些知识和技能。本书的第一部分介绍了基本的Python编程概念,第二部分介绍了一些不同的任务,通过编写Python程序,可以让计算机自动完成它们。第二部分的每一章都有一些项目程序供读者学习。每章的末尾还提供了一些习题和深入的实践项目,帮助读者巩固所学的知识。附录部分提供了所有习题的解答。

    6、操作系统导论

    本书围绕虚拟化、并发和持久性这三个主要概念展开,介绍了所有现代系统的主要组件(包括调度、虚拟内存管理、磁盘和I/O子系统、文件系统)。全书共50章,分为3个部分,分别讲述虚拟化、并发和持久性的相关内容。作者以对话形式引入所介绍的主题概念,行文诙谐幽默却又鞭辟入里,力求帮助读者理解操作系统中虚拟化、并发和持久性的原理。

    本书内容全面,并给出了真实可运行的代码(而非伪代码),还提供了相应的练习,很适合高等院校相关专业的教师开展教学和高校学生进行自学。

    7、编程珠玑(第2版)

    • 非常有影响力的计算机科学著作之一
    • 融深邃思想、实战技术与趣味轶事于一炉的奇书
    • 带你真正领略计算机科学之美

    本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。

    8、鸟哥的Linux私房菜 基础学习篇 第四版

    本书是知名度颇高的Linux入门书《鸟哥的Linux私房菜基础学习篇》的新版,全面而详细地介绍了Linux操作系统。

    全书分为五部分:第一部分着重说明计算机的基础知识、Linux的学习方法,如何规划和安装Linux主机以及CentOS 7.x的安装、登录与求助方法;第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四部分介绍了对于系统安全非常重要的Linux账号的管理、磁盘配额、高级文件系统管理、计划任务以及进程管理;第五部分介绍了系统管理员(root)的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份以及核心的管理等。

    本月最新的重磅计算机书籍

    1、人工智能:现代方法(第4版)(上下册)

    系统性总结人工智能的方方面面,国际人工智能领域专家斯图尔特·罗素撰写人工智能百科书,时隔十年重磅更新,被全球全球1500多所学校采用的经典教材。

    本书全面、深入地探讨了人工智能(AI)领域的理论和实践,以统一的风格将当今流行的人工智能思想和术语融合到引起广泛关注的应用中,真正做到理论和实践相结合。全书分7个部分,共28章,理论部分介绍了人工智能研究的主要理论和方法并追溯了两千多年前的相关思想,内容主要包括逻辑、概率和连续数学,感知、推理、学习和行动,公平、信任、社会公益和安全;实践部分完美地践行了“现代”理念,实际应用选择当下热度较高的微电子设备、机器人行星探测器、拥有几十亿用户的在线服务、AlphaZero、人形机器人、自动驾驶、人工智能辅助医疗等。本书适合作为高等院校人工智能相关专业本科生和研究生的教材,也可以作为相关领域专业人员的参考书。

    2、图解深度学习:可视化、交互式的人工智能指南

    深入浅出讲解深度学习的主流技术及背后的原理,彩色印刷,图文并茂,助你快速上手TensorFlow和PyTorch等热门工具。

    本书利用精美的插图和有趣的类比,对深度学习的主流技术和背后的原理进行了深入浅出的讲解,解释了什么是深度学习,深度学习流行的原因,以及深度学习与其他机器学习方法的关系。阅读本书,读者可以掌握卷积神经网络、循环神经网络、生成对抗网络和深度强化学习等热门技术,学习 TensorFlow、Keras 和 PyTorch 等热门工具的使用,同时能够更深刻地理解计算机视觉、自然语言处理和游戏等领域的人工智能应用。本书还提供了简单明了的示例和代码,能够帮助读者动手实践。

    3、图神经网络:基础、前沿与应用

    图神经网络GNN城堡书重磅上市,全彩印刷,吴凌飞、裴健、崔鹏、赵亮联合编撰,清华大学教授、中科院院士张钹作序推荐,众多大咖联袂推荐!

    本书致力于介绍图神经网络的基本概念和算法、研究前沿以及广泛和新兴的应用,涵盖图神经网络的广泛主题,从基础到前沿,从方法到应用,涉及从方法论到应用场景方方面面的内容。全书分为四部分:第一部分介绍图神经网络的基本概念;第二部分讨论图神经网络成熟的方法;第三部分介绍图神经网络典型的前沿领域;第四部分描述可能对图神经网络未来研究比较重要和有前途的方法与应用的进展情况。

    人邮异步社区1年前 (2023-02-19)回复
  5. #5

    随着时间越来越久,我买的书越来越多,但是都看完不太现实。后来发现书不在于多,而在于经典。

    买了书搬家是个麻烦事,我从网上搜集了一套计算机电子书,从中筛选了我看过的好书分享给大家。

    在这里我推荐我看过的比较好的书,从入门到进阶。

    这是我上学期间买过的一些书,其中的很大一部分还没看完:

    我整理的这些书大家可以在这里免费白嫖,都是嵌入式领域的经典书籍,从入门到深入理解,整理全了!

    推荐一个 github仓库,上面放了上百本经典的嵌入式,计算机书籍,可以star一下,下次找书直接在上面搜索就可以了github 书籍宝藏仓库 github访问不了可以访问这个:gitee 书籍宝藏仓库

    • 编程语言
    • C
    • 《C primer plus》
    • 《C和指针》
    • 《C陷阱与缺陷》
    • 《C专家编程》
    • C++
    • 《C++ Primer》
    • 《Effective C++ 》
    • 《STL 源码剖析》

    • 数据结构与算法
    • 《大话数据结构》
    • 《数据结构与算法分析-C语言描述》

    • ARM体系与架构
    • 《ARM体系结构与编程》
    • 《嵌入式Linux应用开发完全手册》

    • 操作系统
    • 《现代操作系统》
    • 《操作系统——精髓与设计原理》
    • 《操作系统真相还原》

    • 计算机组成原理
    • 《程序是怎样跑起来的》
    • 《编码-隐匿在计算机软硬件背后的语言》
    • 《深入理解计算机系统》

    • 计算机网络
    • 《网络是怎样连接的》
    • 《计算机网络:自顶向下方法》
    • 《TCP/IP 详解》

    • Linux环境
    • 《鸟哥的LINUX私房菜》
    • 《UNIX环境高级编程》
    • 《UNIX网络编程》
    • 《Linux命令行与Shell脚本编程大全》

    • Linux驱动
    • 《Linux设备驱动开发详解》
    • 《Linux设备驱动程序》

    • Linux内核
    • 《Linux内核完全剖析-基于0.12内核》
    • 《Linux内核设计与实现》
    • 《深入理解LINUX内核》
    • 《深入Linux内核架构》
    • 《Linux内核源代码情景分析》

    编程语言

    C

    《C primer plus》

    这本书几乎囊括了C语言所有的知识点,并且书中对于每一个语法细节都有很多生动简单的例子,同时给出了程序的运行结果,学起来会很舒服,不会那么枯燥。

    一直认为,能把printf函数讲清楚的书一定是好书。从本书对printf函数的讲解的篇幅之大,就可以看出它的专业性。

    600多页的书,算是第一本认真读完的C语言类书籍。如果不是因为它的趣味而且专业、详细但不是手册类型的书籍,我肯定是读不下去的。

    总是觉得厚书通常废话多,但是这本书却值得细细品读。经常性的,书中所提到的问题恰好是困扰了你很久的问题,读下之后,有想抱着作者亲一口的冲动!!

    总的来说,前面的比较基础,后面的稍有难度。前面虽然简单,但是也有很多比其他书出彩的地方,后面虽然难了点,但是并非虎头蛇尾,而且这一部分通常很有趣。

    强烈建议想好好学C语言的人,一定要读这本书。如果你还会点汇编知识,并且有探究的精神,那么这本书真的会让你很有成就感和共鸣感!

    新手学习的时候一定要自己动手敲每一个例子,这样才能学得好,代码能看懂跟能写出来差距还是挺大的

    《C和指针》

    学会C的基本理论后,想要从初级水平进阶到中级水平,该书无疑是最好的一本参考书。指针可以说是C语言的灵魂,随便看一下linux kernel源码,就能发现里面到处都有指针的身影,很多让人眼前一亮的技巧都是通过指针实现的。

    这里需要提醒一点,虽然本书书名是《C和指针》,但是其它的C语法都有详细介绍,只不过书中对指针的介绍比较多。

    《C陷阱与缺陷》

    这本书是Andrew Koenig大神以自己1985年在Bell实验室时发表的一篇论文为基础,结合自己的工作经验扩展而成的。作者写作本书的出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。

    相比较那些大部头的计算机图书,这本只有100多页的小册子会让你有读下去的欲望,本书的内容是短小精悍。

    全书分为8章,分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。

    读过这本书之后,当自己写代码时,要时刻回想书中的内容,防止自己犯同样的错误!

    《C专家编程》

    这本书与展示了最优秀的C程序员所使用的编码技巧,并专门开辟了一章对C++的基础知识进行了介绍。

    书中C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习C++等问题进行了细致的讲解和深入的分析。全书撷取几十个实例进行讲解,对C程序员具有非常高的实用价值。

    C++

    《C++ Primer》

    这本书完全是从一个专业开发者的角度去写的,把基础知识讲的很的深入和很透彻,让你理解什么是c++开发思想,讲解了很多在实际开发中的用法,问题,注意点等。

    你可以感受到作者的水平之高,态度之认真,学完这本书,会让你对整个c++语言有个比较清晰的认识,对代码的规范化,对内存管理机制,对效率问题都会有不少提升。

    《Effective C++ 》

    这是一本C++的入门书籍,Lippman之所以写这本书就是因为《C++ Primer》对于初学者来说太笨重了,而这本书却是从不同的方面——C++的本质和组织结构对语言进行阐释,可以帮助初学者对这门语言有一个大致的了解。

    对于初学者而言,不要在最开始就陷入到C++的细节之中,否则会有“不识庐山真面目,只缘身在此山中”的感觉,C++的语法实在太多了。。。

    《STL 源码剖析》

    对这本经典的书我已经无法用简单的词语来形容了。我只能说,学C/C++的人如果没有看过这本书,实在是可惜。

    这本书,侯捷老师对 STL 中的各个组件进行了剖析,对 STL 的用法给出了一些示例,另外把 STL 中几乎所有功能都讲了一遍,在容器部分对其中用到的数据结构进行了细致的讲解。

    尤其值得一提的是,书中有大量的插图,对于读者理解数据结构和算法能够起到事半功倍的效果,可见侯捷老师是下了大量功夫的。 C++程序员都应该读读这本书。

    数据结构与算法

    《大话数据结构》

    如果你跟我一样不是计算机科班出身,又想自学数据结构以及初步了解算法,那么就从这样的书籍开始吧。

    非常棒的一本入门数据结构的书,每一章节都会有一个场景举例帮助理解数据结构,书中代码也可以边调试边学习。

    《数据结构与算法分析-C语言描述》

    在学习过C语言后,不要拖太久了,就看它,书很好,讲解透彻简明,虽然范围有点广,但是比国内大部分已经好很多了,建议刷完后面的题目,做有意见挑战性的锻炼能力的题目。

    这本讲算法的虽然只有300多页,比不上算法导论那样的大部头,不过讲了许多的算法设计技术,整本书的信息量很大,好好研读,一定会有较大收获。

    ARM体系与架构

    《ARM体系结构与编程》

    这本书可以看作是对ARM参考手册的中文摘译版,看ARM英文手册有难度的,可以参考下这本书。

    《嵌入式Linux应用开发完全手册》

    韦老师写的完全手册,很全面。从裸机到驱动再到嵌入式应用。 结合着开发板和视频食用效果更好。

    操作系统

    《现代操作系统》

    介绍计算机操作系统很不错的一本书,看的时候有种膜拜感啊,入门操作系统必读的一本书。

    从各个层面上进行介绍,够广也够深,最后一章的各方面综合介绍也好有意思,末尾的相关书籍推荐也大赞。这也是我觉得写操作系统原理写的最好的书,很适合初学者入门操作系统阅读,可以全方面了解操作系统原理。

    缺点:中文翻译版不给力,个别地方可能会影响理解,但基本意思是不会有明显出入的。如果你时间精力允许,建议慢慢啃原版;如果实在没那么多精力,翻译版也还凑合。

    《操作系统——精髓与设计原理》

    这本书和《现代操作系统》类似,两本书看一本就好了,另一本可以用来当作工具书查阅。

    《操作系统真相还原》

    力荐此书,但建议先读完操作系统原理教材再看,你会发现阅读教材的过程中产生的很多疑问都被这本书解答了。

    教材为了将操作系统原理讲得具有普适性,会故意将很多原理抽象化,避免其中的细节,所以读起来经常感觉云里雾里,似懂非懂。而且为了显得权威,语言会比较生硬,晦涩难懂。

    这本书会把那些由于知识局限性导致的难以描述清楚的疑惑都回答了,让你对操作系统有更清晰更全面的认识。

    我曾经对操作系统的很多实现细节产生过疑问,但 google 半天也找不到满意的回答,由于是很细节的东西,关键词少了犹如大海捞针,关键词多了结果往往寥寥无几,而且还答非所问,即使能搜到很多都是带着讲一下,并没有深入探讨。

    总之,这本书非常适合那些对操作系统有很强兴趣的同学,读后绝对受益匪浅。

    推荐一个 github仓库,上面放了上百本经典的嵌入式,计算机书籍,可以star一下,下次找书直接在上面搜索就可以了github 书籍宝藏仓库 github访问不了可以访问这个:gitee 书籍宝藏仓库

    计算机组成原理

    《程序是怎样跑起来的》

    计算机的本质本没有那么复杂,都被专家教授的一大堆外星语搞得没人想学。

    这本书用人类可以理解的语言配合示例简要的介绍了cpu,内存,硬盘,操作系统等基本概念,及他们是如何演变成现在这样的。将一个概念讲出来不难,但将一个概念给别人讲懂了才难。

    读完这本书,印象最深的是它当中对于补码的描述。 “将二进制数的各数位的数值全部取反,然后再将结果加1”,这种描述与我看过的教材很不一样。

    我看过的教材都是说“除第一位的其他位取反”,这促使我上网进一步了解了一下,才终于明白了为什么当初我老是记不明白补码的计算方法。。。因为原本教材给出的方法就是很不自然且很生硬的做法。。。。

    《编码-隐匿在计算机软硬件背后的语言》

    作为电子专业的学生,看到这本书觉得很亲切,电路+数电+微机原理的科普版本。里面涉及了模拟电路,数字电路,组成原理,汇编语言,操作系统,高级编程语言等计算机专业课程。特别偏重模拟电路和数字电路。

    如果在我大二的时候看到这本书,我的数电、计算机原理乃至整个大学生涯的理科知识结构都会有翻天覆地的变化。

    作者用丰富的想象和清晰的笔墨将看似繁杂的理论阐述得通俗易懂,你丝毫不会感到枯燥和生硬。更重要的是,你会因此而获得对计算机工作原理较深刻的理解。这种理解不是抽象层面上的,而是具有一定深度的。 深入浅出!从逻辑门到操作系统!

    《深入理解计算机系统》

    CSAPP yyds,被誉为计算机科学中的圣经。学习这本书,一定要做一下官方的实验课,如果只看书,大概能学到四成,看书+ 做lab 才可能学到七八成。

    所以大家一定要去完成lab,而且这些lab都是非常有趣的,比如拆炸弹、缓冲区溢出攻击、代理服务器等。

    lab链接:csapp.cs.cmu.edu/3e/lab

    视频教程:bilibili.com/video/BV1i

    看完你会对计算机底层机制有一个overview式的理解,清楚地知道一个"hello world"程序从编写,编译,链接,最后实际运行的全过程。

    作者在开篇提到,"如果你全心投身学习本书中的概念,完全理解底层计算机系统以及它对应用程序的理解,你会步上成为为数不多的大牛之路"。

    没错,是"步上","逐渐成为"大牛。CSAPP是一本很基础的书,糅合了计算机组成原理,操作系统,体系结构,网络编程,并行程序设计原理等课程的基础知识。

    除第一章外,每一章甚至是一小节都可以扩展成一本书来讲授。对于刚接触编程,或者像我这种非CS专业出身的人来说,这是一本方向性的书,它会告诉你,要想成为一个优秀的程序员,你应当重点理解哪些计算机底层原理,告诉你应该在以后的自学过程中,应该重点学习哪些课程。

    不了解底层,永远不可能写出好的C程序,也不可能写出高效的程序。计算机没有那么智能,不会思考,只会按照数字逻辑模式去判断问题,这就需要程序员对计算机原理有一定了解。

    计算机网络

    《网络是怎样连接的》

    将一个又大又硬的核桃 砸破,掰开,揉碎,喂给你吃,夫复何求?读起来真的十分畅快,少有些晦涩的字词句需要反复咀嚼,多的是基本简单易懂的解释和说明。

    开局就给出整本书的整体建筑架构,章章开头分析咱到第几层了,还有几层,又点明几个重点,段落间还有些小总结,重要的是插图做的太好了,抽象变具体图起到了极大的作用。读着能让我觉得有种自己学到了,赚到了的感觉,真的棒。

    《计算机网络:自顶向下方法》

    一本很适合自学的书,讲解细致而富有条理,同时略去了很多细枝末节的信息,从而不至于让初学者无所适从。可以说是学计算机网络最好的图书,没有之一。

    无论是对每一层的解释,还是整个计算机网络的总体描述都通俗易懂由浅入深,第七版还更新了sdn等比较新的内容与时俱进,唯一的缺点就是翻译在一些地方不够认真,有能力还是看原版比较好。

    《TCP/IP 详解》

    计算机网络入门书籍,全面度还是不错的,虽然举例上有点老。想对网络协议有较全面了解的可以一看,但卷一关注的是协议部分。

    推荐一个 github仓库,上面放了上百本经典的嵌入式,计算机书籍,可以star一下,下次找书直接在上面搜索就可以了github 书籍宝藏仓库 github访问不了可以访问这个:gitee 书籍宝藏仓库

    Linux环境

    《鸟哥的LINUX私房菜》

    最好的中文Linux入门书,案头必备的工具书,内容很全,基本想知道的都可以在里面找到,适合当作工具书来查阅,不适合通读。

    《UNIX环境高级编程》

    百科全书式的书籍,思路清晰,借着一圈儿介绍各种系统调用的过程,基本上就顺带把每个 api 后面的实现大概也都讲了。

    翻译有些生涩。建议先快速通览,然后用到时再细细翻看所需章节。

    《UNIX网络编程》

    unix网络编程的宝典,这是一本很厚的书(800页),但是如果学完这本书就以为精通网络编程的话,那就错了。

    网络编程水很深,学完这本书只是个开始。 我个人觉得很多章节不用细看,大致了解就行,遇到的时候有能有映像,然后翻出来再详细看看,当手册用。

    《Linux命令行与Shell脚本编程大全》

    嵌入式开发中,shell脚本偶尔也会用到。这本书既有基础又有进阶。日常工作中很难系统性学习,通过这本书可以查缺补漏。

    有些脚本用shell写估计比Python会快一些,前提是对shell要足够熟悉!总的来讲这本书还是不错的!

    Linux驱动

    《Linux设备驱动开发详解》

    这本书当作驱动开发的入门书籍不错。特别是里面讲的device tree以及platform bus部分,解释了之前的一些疑惑。

    整体而言这本书尚可,挺实用,可以作为入门,但不适合深入学习。

    《Linux设备驱动程序》

    对于写Linux驱动的人来说, 这本书应该是教科书级别的!经典的书籍就是一时半会看不懂,建议大家实践之后再回过头来看一看。

    虽然现在的linux设备驱动的接口和作者写书时的差别已经很大了,但是其中的主要框架基本没有什么变化。

    可以根据自己的兴趣去阅读一个完整的驱动,再通过驱动模型的视角去理解一个驱动如何在模型中表现,就可以把整个驱动的框架了然于心了。剩下的就是去熟悉特定类型驱动的特点和对应接口了。

    Linux内核

    《Linux内核完全剖析-基于0.12内核》

    首先膜拜一下赵博士,通过这本书能感受到他钻研的态度和无私分享成果的肚量。

    如果想了解一个操作系统的实现过程,那么这本书就是你的最佳选择,它选择Linux 0.12内核讲解了整个内核代码,一个简单的操作系统就是这样子的!

    强烈建议所有欲深究系统编程的同学们通读一遍,一方面对x86系统会有一个比较深刻的理解,另一方面对提高阅读代码能力也有很大的帮助 。

    《Linux内核设计与实现》

    这本书对于想玩Linux内核开发的人来说,算得上是入门宝典了。基本上涵盖了Linux内核开发需要的知识,虽然有些地方写得不够深入,但我现在每读一次都有新的理解和收获。

    《深入理解LINUX内核》

    经典无需多言!内核设计里有不少精妙绝伦的设计值得学习和揣摩!

    这本书主要内容包括进程管理,内存管理,虚拟文件系统,设备驱动等。读完这本书,对Linux中断的硬件原理,进程调度类型时间片原理,内存缺页中断处理流程这三部分技术内容领悟更加深刻。

    唯一的缺点就是翻译的有点生硬, 建议与英文原版对照一起阅读。

    《深入Linux内核架构》

    讲的很细致,基于 2.6 的源码来讲解,但是几乎所有东西在 5.0 里依然是适用的。此书要和《深入理解内核》结合起来看,简直完美极了。

    《Linux内核源代码情景分析》

    基于场景跟着作者去阅读内核源码,学习效果还是很好的。作者对各个核心的功能从入口到出口一步步详细的解释,将各个函数根据功能串联起来,形成一条条清晰的主线,形成一个有机的整体。

    书本虽然很厚,阅读起来非常畅快,跟看小说一样。书本也不止是剖析代码,而是先把概念讲的很清楚。不必在乎它的源码版本老旧,核心的框架还是一样的。

    这本书对相关细节的描述非常清楚,缺点就是在一堆又一堆代码中穿梭找不到森林,很容易迷失掉自我。就好像是用source insight跟踪函数一样,懒得读源代码的朋友,可以先读读这本。

    。。。。未完待续,后续会整体得更完善,更加成体系。

    我整理的这些书大家可以在这里免费白嫖,都是嵌入式领域的经典书籍,从入门到深入理解,整理全了!

    推荐一个 github仓库,上面放了上百本经典的嵌入式,计算机书籍,可以star一下,下次找书直接在上面搜索就可以了github 书籍宝藏仓库 github访问不了可以访问这个:gitee 书籍宝藏仓库

    练手项目推荐这篇文章:

    笔试面试推荐这个专栏:

    学习路线:

    嵌入式经典书籍,免费下载,值得收藏:

    码字不易,如果觉得本篇文章对你有帮助,可以点个免费的赞支持作者 @仲一

    仲一1年前 (2023-02-19)回复

大智网汇

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 wolfba@q.com 举报,一经查实,本站将立刻删除。

投稿&软文

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

微信扫一扫打赏

登录

找回密码

注册