StarryLand

我的全部道路,就是从孤独走向人间


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

Node.js 设计模式笔记 —— 消息中间件及其应用模式(发布订阅)

发表于 2023-01-03 | 分类于 Program | | 阅读次数:
字数统计: 16k | 阅读时长 ≈ 0:16
主要有两类技术可以用来整合分布式应用:一类是通过共享存储作为一个中心化的协调者,跟踪和保存所有需要共享的信息;另一类则是通过消息中间件,向系统中的所有节点散布数据、事件和命令等。消息存在于软件系统的各个层级。我们通过互联网交换消息完成通信;通过管道发送消息给其他进程;设备驱动通过消息与硬件进行交互等 ...
阅读全文 »

Programming with Types —— 组合类型

发表于 2022-12-15 | 分类于 Program | | 阅读次数:
字数统计: 12k | 阅读时长 ≈ 0:12
复合类型最直观的创造新的复合类型的方式,就是直接将多个类型组合在一起。比如平面上的点都有 X 和 Y 两个坐标,各自都属于 number 类型。因此可以说,平面上的点是由两个 number 类型组合成的新类型。通常来说,将多个类型直接组合在一起形成新的类型,这样的类型最终的取值范围,就是全部成员类型 ...
阅读全文 »

Programming with Types —— 高阶类型(Functor、Monad)

发表于 2022-11-29 | 分类于 Program | | 阅读次数:
字数统计: 11k | 阅读时长 ≈ 0:11
通用的 map 实现map 是函数式编程中非常常见的一类接口,可以将某个函数操作应用到一系列元素上。一个通用的 map() 实现如下: 123456function* map<T, U>(iter: Iterable<T>, func: (item: T) => U): ...
阅读全文 »

Programming with Types —— 类型及类型系统

发表于 2022-11-29 | 分类于 Program | | 阅读次数:
字数统计: 5.4k | 阅读时长 ≈ 0:05
为什么要有类型从硬件和机器码这类底层视角来看,程序逻辑(代码)和代码操作的数据都是通过比特(bits)来表示,没有任何区别。当系统没办法正确地将这两者区分开来,错误就很容易发生。这类松散解析的一个例子就是 JavaScript 中的 eval() 函数。1234console.log(eval("4 ...
阅读全文 »

Kubernetes 设计模式笔记 —— 生命周期管理

发表于 2022-11-29 | 分类于 Linux | | 阅读次数:
字数统计: 2.2k | 阅读时长 ≈ 0:02
由云原生平台管理的容器化应用,并不能控制其自身的生命周期。它们必须监听由管理平台发出的事件,再对生命周期做出相对应的变更。所谓的生命周期管理,即代表应用该如何读取和响应这些由管理平台发出的生命周期事件。 鉴于某些管理策略或者外部环境因素,在任意时间点,管理平台都有可能需要启动或者终止容器中的应用。容 ...
阅读全文 »

Node.js 设计模式笔记 —— 由 Promises 和 Async、Await 实现的异步模式

发表于 2022-11-12 | 分类于 Program | | 阅读次数:
字数统计: 12k | 阅读时长 ≈ 0:12
回调函数(Callbacks)是 Node.js 中异步编程的底层构件,但它们远远达不到对用户友好的程度。对于实现代码中最常见的串行控制流,一个未经训练的开发者很容易陷入到 callback hell 问题中。即便实现是正确的,该串行控制流也会显得不必要的复杂和脆弱。 为了获得更好的异步编程体验,第 ...
阅读全文 »

Node.js 设计模式笔记 —— Streams 流编程

发表于 2022-11-12 | 分类于 Program | | 阅读次数:
字数统计: 16k | 阅读时长 ≈ 0:16
Streams 是 Node.js 的组件和模式中最重要的几个之一。在 Node.js 这类基于 event 的平台上,最高效的实时地处理 I/O 的方式,就是当有输入时就立即接收数据,应用产生输出时就立即发送数据。 Buffering vs streaming对于输入数据的处理,buffer 模式 ...
阅读全文 »

Node.js 设计模式笔记 —— Callbacks 和 Events

发表于 2022-09-07 | 分类于 Program | | 阅读次数:
字数统计: 9k | 阅读时长 ≈ 0:09
在同步式编程中,为了解决特定的问题,代码被组织成一系列连贯的计算步骤。其中每一个步骤都是阻塞的,即只有当某个操作完成以后,才有可能继续执行下一个步骤。这种方式形成的代码非常容易阅读、理解和调试。 而在异步式编程中,某些操作比如读取文件或者处理一个网络请求,是在“后台”启动和执行的。当我们调用某个异步 ...
阅读全文 »

Node.js 设计模式笔记 —— Node.js 的设计哲学和原理

发表于 2022-09-05 | 分类于 Program | | 阅读次数:
字数统计: 4.6k | 阅读时长 ≈ 0:05
一、Node.js 哲学每种编程语言平台都有其特定的“哲学”,即一系列被社区普遍接受的指导原则和规范。这些规范对语言平台本身的演进以及如何设计和开发应用都有着深刻的影响。 小的核心Node.js 核心,包含 Node.js 运行时以及所有内置的模块。这个核心遵循一系列基本的设计原则。其中一个就是尽可 ...
阅读全文 »

Node.js 设计模式笔记 —— Template 模式

发表于 2022-07-18 | 分类于 Program | | 阅读次数:
字数统计: 2.7k | 阅读时长 ≈ 0:03
Template 模式与 Strategy 模式有很多相似之处。Template 模式首先会定义一个虚拟基类,描述某个组件的骨架(即通用的部分),同时令骨架中存在的某些步骤处于未定义状态。之后由虚拟基类的子类来实现上述组件中缺失的未定义部分,这部分之前未定义的方法称为 template method ...
阅读全文 »
123…23
星舞

星舞

Personal blogs about Linux / System Administration / Arduino / Programming / Python and etc. Just something I want to do and share.

224 日志
20 分类
360 标签
RSS
GitHub E-Mail Google Twitter FB Page Instagram
© 2023 星舞 | 1.5m | 25:47
由 Hexo 强力驱动
|
主题 — NexT.Muse v6.0.5