为什么说鸿蒙的软总线是个错误设计?

2021-06-04
阅读 1 分钟
3.8k
RPC是个有态的东西,而且是操作语义的,这个自由度太大了,还没有好的抽象,这直接导致ab两点之间只能end-to-end,这个抽象程度是不够的。

Promise不是Callback

2020-05-11
阅读 4 分钟
5.1k
这一篇是在实际工程中遇到的一个难得的例子;反映在Node里两种编程范式的设计冲突。这种冲突具有普适性,但本文仅分析问题本质,不探讨更高层次的抽象。

Error Handling

2020-05-08
阅读 4 分钟
1.5k
Error Handling,不是关于Handle Error的;就像A firewall does NOT protect you from any “fire”。

React启示录

2020-04-19
阅读 5 分钟
3.1k
这个例子是我正在写的一个项目,有一个功能是在一个connection上,multiplex/demultiplex多个stream出来;考虑到使用方便,提供给用户的应该是node的stream.Readable/stream.Writable这样的类实例。

π-calculus与资源模型设计

2020-04-08
阅读 4 分钟
2.8k
但如果要一窥大师思想,我推荐阅读Robin Milner的图灵奖演讲:Elements of interaction,这个网上一搜就有,而且很好读;而且我相信它里面把共享变量看作进程,把通讯拆成I和O两个部分的思想,都是大家可以看懂的,而且,是醍醐灌顶的。

x(z).z<a>.0 | x<w>.y<w>.0 | y(v).v(u).0

2019-08-25
阅读 6 分钟
5.2k
π演算(π calculus)是一种表达并发过程(process)的数学语言,和λ在形式上有很多类似之处;λ已经是公认的计算模型,它和图灵机或递归理论(Recursion Theory)描述的计算模型是等价的,但是这个计算模型无法描述并发计算。

π,序曲,第一个reducer

2019-08-24
阅读 7 分钟
5.4k
任何一种和计算或者编程相关的数学理论,都可以有两种不同的出发点:一种是可以作为基础理论(或计算模型)解释程序员们每天用各种语言写下的代码,它背后的本质是怎样的;这就象用物理学解释生活里看到的各种自然现象;另一种是通过对理论的学习,了解到它在概念层面上具体解决了什么问题,以及针对哪类问题特别有效,...

和少妇白洁一起Thinking in Spec

2018-05-26
阅读 5 分钟
6.3k
这也是我这两天要写的代码,一个在服务器端copy/move一组文件或文件夹的功能,我是做nas的,在2018年书写在1998年各大操作系统就完成的功能,不同之处在于,现在咱们restful和microservice了。

Reactor Model

2017-10-13
阅读 17 分钟
6.1k
Reactor模型首先是一个概念模型;它可以描述在Node.js中所有的并发和异步编程行为,包括基础的异步API,EventEmitter对象,以及第三方库或实际项目中的已有的异步过程代码。

白洁血战Node.js并发编程 01 状态机

2017-09-09
阅读 7 分钟
5.4k
对象的内部结构描述为一组状态S1, S2, ... Sn,它的行为的trigger,包括内部的和外部的,描述成为一组事件E1, E2, ... En,在任何状态下,任何事件到来,对象状态的改变用Sx -> Sy的状态迁移(State Transition)来描述,这个状态迁移就是对象的行为(behavior)。

React组件模型启示录

2017-07-10
阅读 6 分钟
6.9k
这个话题很难写。 但是反过来说,爱因斯坦有句名言:如果你不能把一个问题向一个六岁孩子解释清楚,那么你不真的明白它。 所以解释清楚一个问题的关键,不是去扩大化,而是相反,最小化。 Let's begin. 组件 组件不是一个很清晰的编程概念。UML里的组件图基本上就是一个图示,远不能和具有数学完备性的State Diagram相比...

和少妇白洁一起学JavaScript之Async/Await II

2017-05-30
阅读 7 分钟
9.1k
前面写了一篇,写的很粗,这篇讲讲一些细节。实际上Fiber/Coroutine vs Async/Await之争不是一个简单的continuation如何实现的问题,而是两个完全不同的problem和solution domain。

和少妇白洁一起学JavaScript之Async/Await

2017-05-28
阅读 4 分钟
10.3k
这一篇不是要说明白什么是async/await,而是阐述为什么会在编程技术这么多年后出现和流行了这个东西,读懂这篇文章你需要对async/await有很透彻的机制理解。

少妇白洁系列之React StateUp Pattern, Explained

2017-03-07
阅读 5 分钟
13.6k
p-state, or persistent state, 是生命周期超过组件本身的state,即使组件从DOM上销毁,这些state仍然需要在组件外部持久化;

少妇白洁系列之React StateUp模式

2017-03-04
阅读 8 分钟
21.4k
“换句话说,StateUp模式把面向对象的设计方法应用到了状态对象的管理上,在遵循React的组件化机制和基于props实现组件通讯方式的前提之下做到了这一点。” ---- 少妇白洁

少妇白洁如何使用React 001?

2017-03-04
阅读 3 分钟
7.4k
写了一个非常简单的实验性Pattern,暂且称为PurifiedComponent。目的是为了解决React Component在重用的时候,state持久和方法重用的问题。

和少妇白洁一起学JavaScript

2017-02-23
阅读 10 分钟
43.3k
我不确定JavaScript语言是否应该被称为Object-Oriented,因为Object Oriented是一组语言特性、编程模式、和设计与工程方法的笼统称谓,没有一个详尽和大家都认可的checklist去比较,就很难在主观意见上互相认同。

React的Nested Component模式

2017-01-05
阅读 5 分钟
4.9k
React/JSX的Component Type是支持dot notation的,主要是为了方便把一组Component装在一个Object容器里,这样在export/import的时候很方便;如果一个Component是匿名的或者名字是小写字母开头的,JSX并不接受,但可以用一个大写字母开始的变量名来转换一下。

React Component里的状态机Pattern

2016-12-25
阅读 6 分钟
5.3k
React的工程实践中大多数团队都只关注了state该怎么存放的问题,没有意识到真正导致问题复杂的是组合状态机,后面这句话对于UI而言是放之四海皆准的;

说说Prototypal Inheritance

2016-12-17
阅读 3 分钟
4.1k
JavaScript开发者的繁殖速度和它的语言特性一样迅猛,这是好事,但是也把JS搞得比任何一种其他语言都更像流行乐,充满教派和玄学。但编程不是玄学,是科学和工程。这篇文章就用来阐述和探讨JavaScript中的一个比较关键的概念,虽然在实践上并不如在理论上那么意义重大。