复杂 Web 应用的状态管理

上周五在公司分享的话题 —— 复杂 Web 应用的状态管理。演示文档在这,分享视频在这,参考了贺老介绍过的高桥流简报法。后续会把分享的内容整理成文章,照例这里占坑先。

低耦合让项目 scale well,可是有时候适量的耦合又可以让开发更便利,我们在一遍遍的实践中寻求着平衡。自己的技术追求,会不会变成别人的负担,就像曾经他人做过的那样;在做架构的过程中,这样的担心与日俱增。

下午从 X 座顺了瓶 go...

全篇

MobX 与 Angular 1.x

MobX 是个好东西,熟悉 Vue 的同学应该会很亲切,Vue 中有这样一个机制:数据(data)的内容是 observable 的(借助 getter/setter),在组件 render 或计算 computed 的值时,被使用到的 observable 数据会被作为本次推导过程(render / compute)的依赖被记录下来,当这些依赖发生改变(被 set)时,对应的推导过程被自动触发(...

全篇

第一本书

React 全栈

关于前端的“新东西”们 中说到过:

我会专门写一篇文章讲我对 React 的思考,我希望我的思考能够像这篇文章一开始说到的那样,让更多的习惯了传统前端开发方式的工程师能够感同身受到 React 所解决的痛点,并喜欢上 React 或者一些可能比 React 更优秀的解决方案。

文章最后还是没憋出来,上半年工作之外的时间几乎全放在了这本书上 — 《React 全栈》。早先我以为我会写一本偏文字的书,...

全篇

Stateless functional components 以及 PureRender

Stateless functional components 以及 PureRenderMixin 是 React 开发中很重要的两个概念,二者实则存在着千丝万缕的联系,对大多数人来说很难理清它们的关系。本文目的是搞清楚这两个概念,顺便澄清一个很广泛的误解,并分享一些乱七八糟的想法。

Stateless functional components(SFC) 是什么

Stateless functio...

全篇

关于前端的“新东西”们

前边一段时间微博上前端界的论战可谓沸沸扬扬,主要争论的点在于要不要学习并使用层出不穷的新工具、新框架。作为一个(勉强还算)“资深”的前端工作者,这个问题也困扰了我很久,一方面,对于前端已有的知识体系的了解与掌握让自己一度觉得大道在手,天下需求再不出我掌握;另外一方面又隐隐觉得触摸到了瓶颈,一段时间内进步的缓慢让自己感到焦虑。对于新的工具、框架,我既会觉得他们解决的不过是一直以来已有的工具、方法论可...

全篇

域名与 https 相关

做了 nighca.me 的 https 支持。

github pages 对 https 的支持依然不给力,帮助文档的说法是不支持,事实上有支持,但是不支持自定义域名。

所以为了迁移到 https,把站点从 github pages 挪到了自己在 digitalocean 的机器上,国内访问前者本来就不快,所以算是破罐子破摔,速度基本没啥影响。顺便把域名从 dnspod 转移到了 cloudxns ...

全篇

Static Properties in ES Class

问题

ES6 的 class 支持 static property 吗?

static property, 即类(class,在 JS 中即构造函数 constructor)上的静态属性,代码示例如下:

class MyClass {
  static myStaticProp = 42;

  constructor() {
    console.log(MyClass.myStaticProp);...

全篇

从实现一个Event Emitter说起

事件驱动(Event-driven)模型是 Javascript 编程中绕不过去的概念,事件发射器 (Event Emitter) 则是事件驱动模型的核心。Event Emitter 与 class(及其 inherit)很相似的是,几乎每一个稍大的前端项目都会把它实现一遍。大多数情况下它被抽象成一个 Emitter 类,通过实例方法提供事件绑定(on/bind)、事件触发(fire/trigge...

全篇

HTML代码风格检查工具对比

作为一个前端,不可避免同时与三个语言打交道:JS、CSS 和 HTML。而 HTML,超文本标记语言,是其中可编程性最弱的,一直以来得到的关注都较少。加上浏览器对 HTML 逆天的容错支持,即使是错误百出的文档也可以在浏览器里边表现得中规中矩。这样的背景下,绝大部分被产出的 HTML 代码都存在着各种各样的小问题,比如缺少必要的元信息(meta),比如混乱的 class、id 或属性的取值格式;这...

全篇