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...
06 Sep 2022

函数式编程在前端的应用:Elm和re-frame

Elm Elm启发了Redux和Vuex,在github上有专门的 elm-architecture 主题。 Elm本身是一个函数式编程语言,同时也是一个Web框架。整个Web框架的核心数据流,类似于一个reduce函数:当前状态 ->...
05 Sep 2022

范畴论基础(10) - Kleisli Arrow

一个返回容器类的函数,签名是 f :: a -> m b,这里的类型 m,如果是个 Monad,那这个函数可以被称为 monadic function。 如果再来一个 monadic function,签名是 g :: b ->...