存储开发入门到进阶,这几本书一定要看!!

这篇具有很好参考价值的文章主要介绍了存储开发入门到进阶,这几本书一定要看!!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

有些朋友是已经深耕存储多年,有的朋友是刚刚入门、或者说有兴趣但是迟迟不得入门。以下从笔者的经验出发,向大家推荐几本书,可以比较系统的补充一些编程的内功和存储的基础知识,向你展示一条存储通关之路。

语言

语言是第一个要度过的关,就跟你学习语文一样,你要学习优美的文章,首先你得认字,以下就简要推荐几部语言入门的书籍,推荐两本 C 的入门书籍,两本 Go 的书籍。(市面上的好书非常之多,各有长短,大家可以自己斟酌,各取所需)

为什么选择 C 和 Go 各推荐两部?

  • C 语言无论是做哪个方面的,只要是你想和操作系统的一些底层原理打交道,这个 C 语言是逃不过的(比如想像看 Linux 源码,那么就要能读懂 C );

  • 得益于云原生的火爆,Go 水涨船高,K8S,minio,etcd 等众多 Go 优秀的项目。且笔者当前也是使用 Go 技术栈在做存储;

《C Primer Plus》

存储开发入门到进阶,这几本书一定要看!!,c/c++,golang,存储开发,分布式存储,linux

C 语言的语法本身非常简单,所以入门者走马观花的读完语法,会感觉自己啥都懂,一写代码啥都错。这本书除了详尽的语法内容,还搭配大量的代码示例和代码讲解,这对入门者来说,是非常重要的。

往往入门的时候,就是进门最难,无从下手的感觉最难受。所以,入门一项新技术的时候,最好的办法是先把姿势用起来,然后逐步配合理解,这样学习更容易理解。

《C 专家编程》

存储开发入门到进阶,这几本书一定要看!!,c/c++,golang,存储开发,分布式存储,linux

如果你感觉自己入门了,但是理解还不深刻,特别是对 C 语言的指针,内存分配还一知半解,经常忘记(因为只知其然,不知其所以然),那么这本书可能可以帮助到你。

这本书能把 C 语言的概念讲透,某些特性可能你想破脑袋也想不出来原因,这部书可能一下就跟你讲明白了,因为这些特性可能是有历史原因的。本书从 C 的历史、语言特性、循序渐进的把问题给你讲明白,非常值得推荐。

《Go语言编程》

存储开发入门到进阶,这几本书一定要看!!,c/c++,golang,存储开发,分布式存储,linux

Go语言编程(图灵出品)

市面上 Go 的书籍还挺多的,也是非常优秀的,在此推荐两部可以用来入门的。第一部就是许世伟大佬撰写的《Go 语言编程》,这本书是国内最早一批 Go 的书籍,非常值得推荐。

本书从 Go 语言的诞生和发展历程开始,介绍 Go 语言的基础用法,再介绍面向对象编程特性和并发编程姿势,最后还介绍了 Go 语言标准库和配套工具的用法,包括安全编程、网络编程、工程管理工具等。

总体来说,本书是一本适合入门,且实用性很强的书。

《Go语言并发之道》

存储开发入门到进阶,这几本书一定要看!!,c/c++,golang,存储开发,分布式存储,linux

该书是难得的佳作,众所周知 Go 以并发见长,但并发也常常是最难使用的,这本书就是详细的阐述了 Go 并发的特点,包括 Go 的并发设计哲学,是难得的佳作。这本书能教会你 Go 并发的十八般姿势。

存储入门

好,到这里,现在你已经会一两门基础语言了,能够看懂源码了,是时候做点跟存储相关的啥了。首先要补充的是一些基础知识,Linux 基础,系统 IO 接口使用等。

《鸟哥的 Linux 私房菜》

如果连 Linux 都不知道是啥?那就太尴尬了,做服务端开发的小伙伴 Linux 是你绕不过的坎,但也不要怕,有很好的入门书籍,赶紧了解起来。

存储开发入门到进阶,这几本书一定要看!!,c/c++,golang,存储开发,分布式存储,linux

推荐:《鸟哥的Linux私房菜 基础学习篇 第四版》

这本书可以说是入门 Linux 的最好书籍,入门最重要的就是让学生保持兴趣,并且逐步掌握姿势,这本书做到了这点。

想当初,学完 C 语言之后,感觉自己掌握了倚天屠龙宝剑,后来发现连个文件的概念(属性、权限)都理解不了,尴尬。

笔者也是从这本书逐步入门 Linux 的,轻松的学习过程中才发现,哦,原来这就是 Linux 呀,这就是文件呀,原来文件要执行权限才能执行,软链是这样创建的,原来文件的格式跟后缀没啥关系呀(跟 Windows 不同)。

那么下面重点推荐几个章节:第二部分 Linux文件、目录与磁盘格式

  • 第5章 Linux的文件权限与目录配置

  • 第6章 Linux文件与目录管理

  • 第7章 Linux磁盘与文件系统管理

  • 第8章 文件与文件系统的压缩

学习完这部分,你至少知道文件系统是个啥东西,文件是个啥东西,咋用这东西。

再次称赞这部书,真的是入门宝典。

《UNIX 环境高级编程》

存储开发入门到进阶,这几本书一定要看!!,c/c++,golang,存储开发,分布式存储,linux

现在你可能知道文件是啥了,但是你的程序怎么才能读写这个文件呢?

推荐:《Unix 环境高级编程》

说实话,这本书再怎么推荐都不为过(这是一本要流传后世的书籍),这本书是推荐作为存储后端开发的入门书的。云存储本质上也是由一个个本地存储节点通过网络连接起来的,所以你必须得了解本地存储的一个使用形式和形态。

《UNIX 环境高级编程》自然不是只讲解存储的书,但是这本书是存储入门的必修课。

推荐几个必读章节:

  • 第三章 文件 I/O :系统的介绍了最核心的文件相关的系统 I/O 调用接口;

  • 第四章 文件和目录 :介绍了文件和目录的相关接口,通过这样你会系统的了解文件和目录究竟有哪些操作;

  • 第五章 标准 I/O 库 :讲解了封装的带 buffer 的标准库使用姿势,通过这个章节,你能了解系统调用和标准库 I/O 的区别;

其他的章节也是非常有用的,比如和网络 I/O 相关的章节。我挑选出来以上的章节,你读完至少对文件的操作不再陌生。

《大话存储》

存储开发入门到进阶,这几本书一定要看!!,c/c++,golang,存储开发,分布式存储,linux

到这,你可能掌握了文件 IO 的方法,但是对于存储的各种形态可能还不知所云。比如,什么是 Raid?什么是 DAS,NAS,SAN?什么块存储、对象存储、文件存储?

国内阐述存储的书籍很少,很少有一本书能系统的介绍存储的各种形态和知识,初学者很难理解各种各样的存储的到底是个啥?

大话存储系列从比较高的层次来拆解传统存储到云存储的原理,是一个比较好的入门系列,这本书可以当作存储科普书来学习,里面基本涵盖了所有存储相关的知识点、术语,和常用的套路(注意,本书没有什么源码分析,里面主要是理论和存储形态,主要是加深你的存储理解)。

所以,我认为这本书的风格很适合入门、自学存储知识,作者是站在比较高的一个层次,用很通俗的话来解释各种存储的,笔者第一本存储的书就是《大话存储》。

《程序员的自我修养》

存储开发入门到进阶,这几本书一定要看!!,c/c++,golang,存储开发,分布式存储,linux

全名《程序员的自我修养:链接、装载与库》,是博文视点出品。这是一本国内大牛写的书,为什么推荐这本书?

程序员写出代码,编译成二进制,运行在操作系统之上。如果你对二进制程序都不了解,都不知道二进制居然还有格式(ELF),那就太尴尬了。这本书能补足你的程序员的内功,对编译、链接、运行 的过程不再陌生。

这本书能够给你新的视角,读了这本书,你应该能知道代码如果变成二进制在系统中运行的。系统软件底层的组成机制是什么?可执行文件(二进制)竟然还有格式?

举个例子,你是否有思考过一下问题:

  • 为什么程序从 main 开始执行?

  • 二进制文件里面竟然还有格式?

  • 目标文件是什么,静态链接,动态链接又是怎么回事?

  • 编译阶段总报错,链接阶段总报错,你能快速定位吗?

  • 句柄是什么?

这本书能解答上面的问题,如果说你一直对进程运行和库装载、编译链接等问题一知半解,那么这本书可能对你是有用的。该书的风格我也很喜欢,明明你之前觉得很复杂的概念,作者能以非常通俗简单的方式让你理解,这个需要很高的功底。

书本太厚,读起来非常费时间,有没有更快速的入门与进阶方式,当然是有的,来看看零声教育这套存储开发架构体系课程,绝对能打破你对培训的认知,从底层原理到实战技巧,快速掌握存储开发所需要的技术。

试听内容

最新C/C++存储开发实战教程,分布式存储,linux内核文件系统,分布式文件系统,TiDB,RocksDB,SPDK,fuse,ceph,NVMehttps://www.bilibili.com/video/BV1gZ4y1n7F6/存储开发完整的学习知识图谱:

自下而上-存储全栈(TiDB/RockDB/SPDK/fuse/ceph/NVMe/ext4) v1.4

存储开发入门到进阶,这几本书一定要看!!,c/c++,golang,存储开发,分布式存储,linux

存储进阶

你已经对怎么使用存储有了初步了解,这个时候你可能会产生更多的疑问,你想了解计算机内部存储层次的正金字塔和倒金字塔的区别,你想了解操作系统内部文件的实现形式,那么下面的书籍可能可以解答你的问题。

《深入理解计算机系统》

存储开发入门到进阶,这几本书一定要看!!,c/c++,golang,存储开发,分布式存储,linux

哇,这本书我只能用哇来形容了,是一本修炼内功的书,是一本枕头书,这本书为什么是最值得推荐的?

知识框架!!!零碎的知识最可怕,我们前期学习的时候,东一下西一下,学到了很多,但是总感觉遇到问题的时候不能举一反三,或者总感觉对自己学的有一层模糊的感觉。

这个很大的原因是因为知识体系不系统。程序员无非就是和计算机打交道,所以深入的理解计算机无比重要。编程语言只是你和计算机打交道的一个工具而已,语言是最简单的一部分,举个例子,你会写字,你就能写出文章吗?文章是有结构的,是有套路的,是有体系的。

《深入理解计算机系统》这本书最重要的就是帮你构建计算机系统的知识体系。

第一部分:程序结构和执行:告诉你程序的静态结构,存储分层的原理,让你对计算机系统的静态结构有个认识;第二部分:在系统上运行程序:告诉你程序是怎么编译和链接的,程序是怎么加载的,程序运行的时候是怎么分配内存的,让你对程序的动态运行有个认识;第三部分:程序的交互和通信:这部分介绍了 IO 的接口和基础知识,包括存储 IO 和网络 IO,多路 IO 复用等并发知识;

这本书内容其实并没有特别难,但这本书是真的厚,需要你大量的时间,这个时间很值得。

《存储技术原理分析》

存储开发入门到进阶,这几本书一定要看!!,c/c++,golang,存储开发,分布式存储,linux

《UNIX 环境高级编程》你学完之后,至少是大概知道了 IO 是怎么一回事,这个时候你会对操作系统,文件系统这些核心的逻辑感兴趣,你可能会想知道 VFS 是什么东西, Linux 里面一切皆文件是什么意思?文件系统,块设备,驱动有都是什么作用?

那么你可以看这本书,敖青云的存储技术原理分析。该书按照三大块讲述:

  • 存储技术概论

  • 设备驱动

  • 存储 I/O

读完这本书,你肯定能知道 VFS 是什么,块设备是什么,文件系统是什么。书比较厚,啃起来可能比较费劲,但是还是推荐把第一章概述,第八章文件系统读完。你会对 系统调用,vfs,ext具体文件系统有个质的变化。

这本书是一本源码级别的书,是一本真正对你工程编码有直接帮助的书。

《分布式对象存储:原理、架构及Go语言实现》

存储开发入门到进阶,这几本书一定要看!!,c/c++,golang,存储开发,分布式存储,linux

这本书比较简单,但是也非常值得学习。本书首先从一个最简单的对象存储服务原型开始,讨论在原型中存在的问题并介绍对象存储服务中一些常见的概念以及设计理念,然后通过改变架构或添加功能的方式解决这些问题。这一迭代步骤将发生多次,最终我们会收获一个足够完善的对象存储服务。

如果你想自己用 Go 编写一个对象存储,那么这本书可以帮助到你。

对象存储文档

最后推荐一个了解云存储的非常好的方式:公有云文档。以对象存储来讲,公有云会有非常详尽的文档解释,包括对象存储是什么?快速入门,SDK 使用示例,各种接口示例等等。

总结

  • 对于一个新的领域,笔者认为学习的路径应该是从使用姿势开始,先用起来,先知其然。保持兴趣,保持自己的信心最重要;

  • 等你各种姿势使用都体验了个遍,不出意外你肯定对其内部原理会很感兴趣,这个时候可以从一个很小的点切入,把这个点分析个透彻,会给你带来不一样的感受,这个时候知其所以然也;文章来源地址https://www.toymoban.com/news/detail-821627.html

到了这里,关于存储开发入门到进阶,这几本书一定要看!!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 抖音小店怎么开通?六步教你开通抖音小店,创业者一定要看!

    大家好,我是电商花花。 新年新气象,想做抖音小店必然是要先开抖音小店的, 2024年,抖音小店相关规则又有了一些新变化,那么2024年我们应该怎么开通抖音小店呢? 今天来给大家分享一下最新开通抖音小店的流程和教学,帮助大家在开通抖音小店的时候避免踩坑。 我们

    2024年02月19日
    浏览(39)
  • 怎么给图片去底色?这几个方法一定要知道

    如果你是一位设计师或者是需要制作图片的人,那么你一定知道去除图片底色的重要性。无论是制作海报、广告、产品图片还是网站页面,去除图片底色可以让你的设计更加精细、美观、专业。在本文中,我们将介绍三种常见的图片去底色方法,帮助你轻松实现去底色的需求

    2024年02月15日
    浏览(50)
  • 视频剪辑没素材?一定要收藏这几个网站。

    本期推荐6个高质量视频素材网站,能免费下载,还能商用,建议收藏! 1、菜鸟图库 菜鸟图库-视频素材免费下载 菜鸟图库有设计、图片、音频、视频等超多素材,大部分都能免费下载。视频素材质量都很高,有自然、人物、科技、农业等分类,很适合用来做宣传素材。免费

    2024年02月03日
    浏览(46)
  • 程序员想兼职赚钱?这几个渠道你一定要知道?

    某一天当一个程序员,一拍脑门想要兼职,赚点小钱,于是他打开了知乎,打开了百度搜索兼职。结果弹出了一大部分有兼职要视频剪辑的,写文稿的等等等等。逛了一圈,发现根本没有自己合适的兼职。 我想说: 喂!喂!喂! 你不是程序员吗?我们程序员当然要用自己的

    2024年02月14日
    浏览(50)
  • 如何保障医疗机器人的功能与安全?这几条编码标准你一定要了解

    在医疗物联网(IoMT)、机器学习(ML)和人工智能(AI)的推动下,医疗机器人和医疗技术正在飞速进步,随之而来的是侵入性更少的手术、更准确的诊断和更个性化的治疗选择,为患者带来了更多的可能性。 但是,这些所有的创新都离不开软件,而软件带来了更多的安全防

    2024年02月08日
    浏览(46)
  • 不管是前端还是后端,都要看的Elasticsearch快速入门

    Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎,Elasticsearch和Mysql,Redis,MongoDb,Clickhouse等一样,都可以认为它 是一种数据库 设想一个场景: user表有6千多万条数据,我想查询nick中包含”大帅哥“的数据: Select nick from user where nick like \\\'%大帅哥%\\\' 比如,我

    2024年02月08日
    浏览(47)
  • 100天精通Golang(基础入门篇)——第15天:深入解析Go语言中函数的应用:从基础到进阶,助您精通函数编程!(进阶)

    🌷 博主 libin9iOak带您 Go to Golang Language.✨ 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批

    2024年02月12日
    浏览(66)
  • 【小黑送书—第十二期】>>一本书讲透Elasticsearch:原理、进阶与工程实践(文末送书)

    Elasticsearch 是一种强大的搜索和分析引擎,被广泛用于各种应用中,以其强大的全文搜索能力而著称。 不过,在日常管理 Elasticsearch 时,我们经常需要对索引进行保护,以防止数据被意外修改或删除,特别是在进行系统维护或者需要优化资源使用时。 Elasticsearch提供了一种名

    2024年03月12日
    浏览(66)
  • golang开发工程师-第一步:golang入门基础教学

    人生格言:好记性不如烂笔头! 建议:看这篇文章,前提是必须会java,javascript等一门语言。你可以把golang语言看做是缝合怪;集c,java,javascript等语言优点于一身。如果你没有任何编程语言傍身,本人还是建议你去哔站看视频,就不要在这里浪费时间了~~~ 优势一:golang代码

    2024年02月04日
    浏览(41)
  • mac安装Golang开发环境及快速入门

    目录 一、Mac brew 安装go环境 1.1 安装步骤 1.2 设置GOPATH 及环境变量 1.3 编写第一个go程序 二、快速入门 2.1 快速入门需求 2.2 go学习(自用) 2.2.1 go基础程序 2.2.2 变量声明 2.2.3 常量和枚举 2.2.4 函数与多种返回值 2.2.5 init函数与import导包 2.2.6 import匿名、别名导包 2.2.7 defer调用顺

    2024年02月15日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包