21 Sep 2022

Clojure Macro介绍

Clojure语言 Clojure是一门Lisp方言,Lisp这个名称是"LISt Processor"的缩写。这里有一个深层次的含义:Lisp可以处理List数据,同时Lisp代码本身也是List数据。 与其它编程语言...
18 Sep 2022

Lambda Calculus(λ-calculus)

来源链接 参考:Lambda Calculus in JavaScript 介绍 1930年代,由数学家Church完善 同一时代的 Turing ,提出了图灵机 Church 早于 Turing 几个月,用λ演算 证明了David Hil...
16 Sep 2022

CRDT开源实现yjs背后的论文YATA

0. 论文介绍 论文链接:link 论文中提出叫YATA(Yet Another Transformation Approach)的算法。 1. 与OT的关系 OT的本质,是对op进行集中(由服务器进行)的排序,同时对改变了顺序的op进行变...
16 Sep 2022

CQRS与Event Sourcing

介绍 CQRS = Command and Query Responsibility Segregation 命令和查询责任分离 Martin Fowler的介绍:link 传统架构(不分离的架构) 应用中有一个Model层,有一个Serv...
15 Sep 2022

双因素认证(2FA)与HOTP/TOTP

名词定义 HOTP: HMAC-based One-Time Password TOTP: 基于时间的一次性密码算法(Time-based One-Time Password) 2FA: 双因素认证(Two-Factor Authentic...