分类
Rust模式匹配 Rust模式匹配
https://en.wikipedia.org/wiki/Pattern_matching https://baike.baidu.com/item/%E6%A8%A1%E5%BC%8F%E5%8C%B9%E9%85%8D
2021-04-16
第13章 超越安全的边界 第13章 超越安全的边界
混沌涌现秩序,光明源自黑暗。 现代人类依靠钢筋混凝土结构的现代建筑来挡风遮雨、袪暑避寒,舒服地享受生活;在大气层和地球磁场的保护下,削弱了一次又一次能够重创现代文明的强太阳高能电子流和其他宇宙射线的冲击;木星、土星等巨行星形成的屏障,大大
2021-03-22
第12章 元编程 第12章 元编程
道生一,一生二,二生三,三生万物。 元编程来源于 Meta-Programming 一词。Meta 表示“关于某事本身的某事”。比如Meta-Knowledge,代表“关于知识本身的知识”,称为元知识。再如Meta-Cognition,代
2021-03-21
第11章 安全并发 第11章 安全并发
万物并育而不相害,道并行而不相悖。 周末到了,你想在线上订购一张期待已久的电影票,选好座位点击确认后,网站却弹出一个窗口,提示你所选择的座位已经被别人预订。工作中,你兴致勃勃地专注于功能开发时,产品经理却过来告诉你,这个需求需要修改。年关
2021-03-20
第10章 模块化编程 第10章 模块化编程
良好的秩序是一切美好事物的基础。 时至今日,软件开发早已从单打独斗迈入了相互协作的时代。在日常开发中,几乎每一个系统都在依赖别人编写的类库或框架。自开源运动兴起,到现在 GitHub 网站蓬勃发展,软件开发越来越高效和便利。如果想要解决什
2021-03-19
第9章 构建健壮的程序 第9章 构建健壮的程序
每个人都有错,但只有愚者才会执迷不悟。 一个人,在经历挫折之时,可以反思错误,然后坚强面对;一栋大楼,在地震来临之际,可以吸收震力,屹立不倒;一套软件系统,在异常出现之时,可以阻止崩溃,稳定运行。这就是健壮性。健壮性是指系统在一定的内外部
2021-03-18
第8章 字符串与集合类型 第8章 字符串与集合类型
阵而后战,兵法之常,运用之妙,存乎一心。 曾经有一个人因为说了一句话而获得图灵奖,这个人就是 Pascal 语言之父尼古拉斯(Nicklaus Wirth),他说的那句话是:程序等于数据结构加算法。因为一句话而获得图灵奖,这当然是开玩笑,
2021-03-17
第7章 结构化编程 第7章 结构化编程
形每万变,神唯守一。 编程是一门技术,用它可以解决很多问题,创造很多新事物,甚至改变世界。编程更是一门艺术,在使用它解决问题或创造新事物的时候,本身就是一种精神实践活动,其中蕴含了开发者对于客观世界的认识和反映。在外行人的眼里,由 26
2021-03-16
第6章 函数、闭包与迭代器 第6章 函数、闭包与迭代器
语言影响或决定人类的思维方式。 Rust是一门混合范式的编程语言,有机地融合了面向对象、函数式和泛型编程范式。它并非将这些特性进行简单堆砌,而是通过高度一致性的类型系统融合了这三种范式的编程思想。 可以通过impl关键字配合结构体和tr
2021-03-15
第5章 所有权系统 第5章 所有权系统
律者,所以定分止争也。 《慎子》书中有一典故:“一兔走街,百人追之,分未定也;积兔满市,过而不顾,非不欲兔,分定不可争也。”大意是,一只兔子在大街上乱跑,看到的人都想据为己有,是因为这只兔子“名分未定”,而到了兔市,谁也不能随便拿,就连小
2021-03-14
第3章 类型系统 第3章 类型系统
本性决定行为,本性取决于行为。 众所周知,计算机以二进制的形式来存储信息。对于计算机而言,不管什么样的信息,都只是0和1的排列,所有的信息对计算机来说只不过是字节序列。作为开发人员,如果想要存储、表示和处理各种信息,直接使用0和1必然会产
2021-03-13
第4章 内存管理 第4章 内存管理
清空你的杯子,方能再行注满,空无以求全。 在现代计算机体系中,内存是很重要的部件之一,程序的运行离不开内存。不同的编程语言对内存有着不同的管理方式。按照内存的管理方式可将编程语言大致分为两类:手动内存管理类和自动内存管理类。手动内存管理类
2021-03-13
第2章 Rust语言精要 第2章 Rust语言精要
好读书,不求甚解;每有会意,便欣然忘食。 在学习一门新语言的时候,不要力求一次性就掌握它的全部,因为那是不可能做到的事情。应该先从整体出发,对该语言的语法做系统性梳理。这样做有两个目的: 第一,可以消除对该语言的陌生感; 第二,可以对
2021-03-12
第1章 新时代的语言 第1章 新时代的语言
不谋全局者,不足谋一域。 你肯定有过夏夜仰望星空的时候,但不知道你是否思考过这样一个问题:如何才能知道宇宙万物星罗棋布的规律?科学家们殚精竭虑地研 究,就是为了探寻这个秘密。如果科学家们能和宇宙的设计者对话,就 可以通过设计者的亲口描述了
2021-03-11
Rust编程之道学习目录 Rust编程之道学习目录
当Rust 1.0发布时,我去官方网站了解了一下Rust语言,发现它的主要特点有以下几方面: 系统级语言 无GC 基于LLVM 内存安全 强类型+静态类型 混合编程范式 零成本抽象 线程安全 我一下子就被这些鲜明的特性
2021-03-10
路由协议:西出网关无故人,敢问路在何方 路由协议:西出网关无故人,敢问路在何方
俗话说得好,在家千日好,出门一日难。网络包一旦出了网关,就像玄奘西行一样踏上了江湖漂泊的路。 上一节我们描述的是一个相对简单的情形。出了网关之后,只有一条路可以走。但是,网络世界复杂得多,一旦出了网关,会面临着很多路由器,有很多条道路可以选
2020-03-16
世界这么大,我想出网关:欧洲十国游与玄奘西行 世界这么大,我想出网关:欧洲十国游与玄奘西行
前几节,我主要跟你讲了宿舍里和办公室里用到的网络协议。你已经有了一些基础,是时候去外网逛逛了! 1、怎么在宿舍上网?还记得咱们在宿舍的时候买了台交换机,几台机器组了一个局域网打游戏吗?可惜啊,只能打局域网的游戏,不能上网啊!盼啊盼啊,终于盼
2020-03-15
交换机与VLAN:办公室太复杂,我要回学校 交换机与VLAN:办公室太复杂,我要回学校
上一次,我们在宿舍里组建了一个本地的局域网 LAN,可以愉快地玩游戏了。这是一个非常简单的场景,因为只有一台交换机,电脑数目很少。今天,让我们切换到一个稍微复杂一点的场景,办公室。 1、拓扑结构是怎么形成的?我们常见到的办公室大多是一排排的
2020-03-15
ICMP与ping:投石问路的侦察兵 ICMP与ping:投石问路的侦察兵
无论是在宿舍,还是在办公室,或者运维一个数据中心,我们常常会遇到网络不通的问题。那台机器明明就在那里,你甚至都可以通过机器的终端连上去看。它看着好好的,可是就是连不上去,究竟是哪里出了问题呢? 1、ICMP 协议的格式一般情况下,你会想到
2020-03-15
从物理层到MAC层:如何在宿舍里自己组网玩联机游戏? 从物理层到MAC层:如何在宿舍里自己组网玩联机游戏?
上一节,我们见证了 IP 地址的诞生,或者说是整个操作系统的诞生。一旦机器有了 IP,就 可以在网络的环境里和其他的机器展开沟通了。 大学宿舍里。 我们宿舍四个人,大一的时候学校不让上网,不给开通网络。但是,宿舍有一个人比较有 钱,率先买
2020-03-14
DHCP与PXE:IP是怎么来的,又是怎么没的? DHCP与PXE:IP是怎么来的,又是怎么没的?
上一节,我们讲了 IP 的一些基本概念。如果需要和其他机器通讯,我们就需要一个通讯地址,我们需要给网卡配置这么一个地址。 1、如何配置 IP 地址?那如何配置呢?如果有相关的知识和积累,你可以用命令行自己配置一个地址。可以使用 ifconf
2020-03-13
如何查看ip地址? 如何查看ip地址?
上一节结尾给你留的一个思考题是,你知道怎么查看 IP 地址吗? 当面试听到这个问题的时候,面试者常常会觉得走错了房间。我面试的是技术岗位啊,怎么问这么简单的问题?的确,即便没有专业学过计算机的人,只要倒腾过电脑,重装过系统,大多也会知道这个
2020-03-12
网络分层的真实含义是什么? 网络分层的真实含义是什么?
长时间从事计算机网络相关的工作,我发现,计算机网络有一个显著的特点,就是这是一个不仅需要背诵,而且特别需要将原理烂熟于胸的学科。很多问题看起来懂了,但是就怕往细里问,一问就发现你懂得没有那么透彻。 我们上一节列了之后要讲的网络协议。这些协议
2020-03-11
复杂度分析 复杂度分析
1、如何分析、统计算法的执行效率和资源消耗?我们都知道,数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?(
2020-03-11
数组 数组
数组:为什么很多编程语言中数组都是从0开始编号?说到数组,我想每个人都不陌生,甚至还会自信的说,它很简单啊。 是的,每一种编程语言基本都会有数组这种数据类型。不过,它不仅仅是一种编程语言中的数据类型,还是一种最基础的数据结构。尽管数组看起来
2020-03-11
网络分层的真实含义是什么? 网络分层的真实含义是什么?
1、想成为技术牛人?先搞定网络协议!1.1 为什么网络协议这么重要?你好,我是刘超,网易研究院云计算技术部的首席架构师。我主要负责两部分工作,对内支撑网易核心业务上云,对外帮助客户搞定容器化与微服务化架构。 为什么网络协议这么重要呢?为什么
2020-03-10
数据结构和算法 数据结构和算法
目录 复杂度分析 数组 复杂度分析 复杂度分析 复杂度分析 复杂度分析 复杂度分析 复杂度分析 复杂度分析 复杂度分析 复杂度分析 复杂度分析
2020-03-10
趣谈网络协议目录 趣谈网络协议目录
目录第一模块 通信协议综述 网络分层的真实含义是什么? 网络分层的真实含义是什么? 如何查看ip地址? DHCP与PXE:IP是怎么来的,又是怎么没的? 第二模块 底层网络知识详解:从二层到三层 从物理层到MAC层:如何在宿舍里自己组
2020-03-08