0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

学底层狠无聊?

程序员cxuan 来源:程序员cxuan 2023-06-21 09:09 次阅读

大家好我是 cxuan。

不知道各位有没有过这样的感觉:就是在学习计算机的过程中,当学到某个知识点的时候,想要搞懂它,就去搜索引擎、书籍中寻找答案,结果找到了一大堆复杂的描述,看了半天也没看懂,只是看了个寂寞。

举个例子:我想知道什么是docker,随便来看看网络上的介绍:

88c38a80-0fc7-11ee-962d-dac502259ad0.png

这篇文章说的也没错,但对于新手来说,就如同一杯白开水,看完依旧不知道什么是docker。

从作者的角度,这是一种典型的正向思维:我知道什么是docker,我用专业的术语描述给你,你也就知道了。

但实际上,这种正向思维潜意识里,默认了读者具有很多专业的知识背景。以上面那篇文章为例,注意看里面的措辞:

Docker 是一个开源的应用容器引擎,是虚拟化的一种轻量级替代技术。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,开销很低。docker解决了服务器昂贵的问题,生产环境和测试环境不一致的问题。

他默认了读者知道什么是容器,什么是虚拟化,什么是沙箱机制,什么是开发环境和测试环境不一致等等问题。

然而事实上,想要去搜这个问题的人,大概率是不具备这些专业基础知识的。

而我更推荐的一种方式是逆向思维:假设读者是个小白,应该如何写,才能让小白也能看懂。

还是以Docker为例,来看看这篇文章。

首先以故事情节的形式,把读者吸引进来,并且引出了问题,为后面Docker技术的登场做铺垫:

88e50138-0fc7-11ee-962d-dac502259ad0.png

接下来通过对话的形式,交代虚拟机和容器的区别:

893f0eda-0fc7-11ee-962d-dac502259ad0.png

再然后,通过故事情节的推动,引出Docker的三个核心技术,以及它们分别解决了什么问题:

89782e68-0fc7-11ee-962d-dac502259ad0.png

8a10e70c-0fc7-11ee-962d-dac502259ad0.png

8a428186-0fc7-11ee-962d-dac502259ad0.png

通过故事情节推动和风趣幽默的语言,把Docker复杂又晦涩的底层技术原理一层层剥给读者来看,让人印象深刻,轻松掌握。

上面这些图,是最近上市的一本新书《趣话计算机底层技术》中的内容,限于篇幅的限制,这里只截取了其中一部分。

这本书的作者是轩辕之风,也是我们一起做公众号的朋友,他曾经在百度、360、奇安信等大厂工作多年,开发经验丰富。轩辕大佬一直坚持在公众号上用讲故事的方式,把计算机底层的技术知识讲的清晰易懂,几乎每一篇故事文章都获得过博客园的置顶精选。我看过好几篇都觉得很不错,没想到现在作者轩辕居然把这个故事系列出书了,像上面这样的故事,这本书有好几十篇,全都是专注在计算机底层相关的技术。

8a7a16e6-0fc7-11ee-962d-dac502259ad0.png

说到底层技术,我发现很多程序员都在忙着学习各种编程语言、各种开发框架和各种中间件的使用,却对计算机底层相关的技术知之甚少。造成这一现象主要有几个原因:

1、很多程序员都是半路出家,没有系统化的学习过计算机底层知识。

2、科班出身的程序员,大学里陈旧的教学方式让大家对这些底层技术提不起兴趣。

3、实际工作中的很多岗位,只需要CRUD能力就足矣,对计算机底层技术没那么看重。

随着越来越多新人的加入,计算机软件开发行业竞争也越来越激烈,只靠CRUD技能很大程度上会限制程序员们在技术领域的发展。而学习了解这些底层技术知识,修炼好程序员的内功,可以帮助我们知其然还能知其所以然。

轩辕大佬的这本书主要是用故事的方式讲述计算机底层相关的技术,用通俗易懂的表达方式帮助大家学习底层技术,对于很多新手小白来说简直是福音。

这些故事的主人公可能是计算机里的一个程序、一个进程、一个线程、一个函数、一个数据包、一个文件等这样的软件角色,也可能是CPU、内存、网卡等这样的硬件角色。这本书透过这些角色的视角去讲述发生在计算机世界里的故事,在故事中学习和了解计算机底层技术的工作原理

这本书主要涵盖计算机中的CPU、存储、I/O、操作系统、系统编程、安全六个主题,每个主题一章,你不必从头到尾逐篇阅读,完全可以挑选自己感兴趣的任何章节开始。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    2985

    浏览量

    41718
  • 容器
    +关注

    关注

    0

    文章

    481

    浏览量

    21878
  • Docker
    +关注

    关注

    0

    文章

    437

    浏览量

    11603

原文标题:学底层狠无聊?

文章出处:【微信号:cxuangoodjob,微信公众号:程序员cxuan】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    无聊之作,音乐键盘

    本吊看见外星人笔记本牛b的键盘灯怒了,本吊穷啊。所以有了这无聊之作。。。。。。。。。。上图
    发表于 12-16 22:12

    刚制作 150W高频单硅电鱼机

    本帖最后由 237238009 于 2013-5-16 01:11 编辑 无聊制作的小小电鱼机,电小河的小鱼,田野的田鸡,不错/哈哈。
    发表于 05-16 01:03

    闲的无聊出来给大家讲讲电路设计,赚点名气

    PCB设计 画板10年了,闲的无聊,有要原理设计和PCB设计的说出来?闲的蛋疼的人,免费带你们,但是你们要一步一步画呀,大家选个题目:比如:平板电脑设计 (DDR3/sata/LVDS/u
    发表于 11-19 13:08

    今天无聊看到了这个宝贝,求大神指导

    无聊逛了下淘宝,看到了这个产品,感觉还不错,但是不知道怎么用,你们有谁用过么?这个到底是怎么实现的呢?求大神指导{:4_107:}http://shop108533047.taobao.com
    发表于 02-21 11:38

    嵌入式LINUX应该什么?做驱动还是做应用

    入式LINUX应该什么?做驱动还是做应用不少人问我,到底是驱动还是应用? 我只能说凭兴趣,并且驱动和应用并不是截然分开的 1. 我们说的驱动,其实并不局限于硬件的操作,还有操作系统的原理、进程
    发表于 08-07 00:04

    无聊啊!

    无聊啊,来这里溜达,逛上一圈,哎!居然没人么!
    发表于 05-06 21:41

    机器人的“快、准、

    ``说起对工业机器人的性能要求,无非就是“快、准、”三字。其实这也就是对机器人关节伺服电机的要求,今天我们就来拆解一下这三字背后的含义。其中“快”、“准”的意思大家都非常好了解,就是要求伺服电机
    发表于 09-19 21:33

    无聊的罐头DIY设计制作

    无聊的罐头DIY设计制作DIY&分享—GravityShare无聊的盒子/没用的盒子,估计是很多人都有见过或者玩过,那么你是否见过无聊的罐头呢?哈哈,其实原理是一样的,只是换了个外壳而已
    发表于 09-20 00:41

    总结分享linux系统驱动怎么

    很多初学者会问,嵌入式Linux怎么?下面就来讨论讨论这个问题。 嵌入式Linux可以分为两部分:底层系统、应用开发。 对于应用开发 : C语言、数据结构、JAVA什么的需学好。嵌入式应用开发
    发表于 11-11 09:45

    通讯硬件底层如何传输数据

    很多童鞋编程、通讯都不清楚硬件底层时如何传输数据的,刚好最近整理了些概念和原理,方便大家参阅。如有不妥,欢迎指正!模拟信号与数字信号“模拟信号”(analog signal)是“模拟数据”的电平
    发表于 08-06 08:30

    ROS小车STM32底层控制代码 精选资料分享

    ,将所有的代码整合到一个工程中去。在公众号:小白移动机器人,发送:ROS小车底层,即可获得源码工程文件。相信大家对配置代码都很清楚了,这里直接描述软件执行流程,以及部分代码展示注意:该工程文件中的STM32与ROS通信的程序和前面写的文章提供的程序,有一点出入,之前是为
    发表于 08-16 06:42

    嵌入式新手该先C语言还是先汇编?

    嵌入式新手该先C语言还是先汇编?这是一个非常有争议的问题。而目前C语言已渐渐深入了,有意向学习嵌入式的不少,但是疑问是,嵌入式能不能只用C 写程序?观点1:汇编,只是一个语言工具。你要学习
    发表于 11-09 06:31

    MIUI8.2新功能, 想知道你有多无聊吗?

    想知道你每天有多无聊?手机解锁多少次吗?MIUI开发版日前提添加了一个全新的功能,能够记录每天手机解锁的次数。
    发表于 02-28 11:16 8185次阅读
    MIUI8.2新功能, 想知道你有多<b class='flag-5'>无聊</b>吗?

    鸿蒙os底层是安卓吗

    鸿蒙os底层是安卓系统吗?答案显然是否定的。根据小编的求证了解发现,华为的鸿蒙操作系统只有一半是鸿蒙系统底层,而另一半却是安卓系统的底层
    的头像 发表于 07-06 09:11 1w次阅读

    AMBA4—“无聊的”Narrow transfers

    AMBA总线无论FPGA还是ASIC,应该都是比较常用的一组总线协议。对于其中的协议,有一种传输格式叫Narrow Transfers,颇有些“无聊”~
    发表于 06-30 17:21 526次阅读
    AMBA4—“<b class='flag-5'>无聊</b>的”Narrow transfers