npm 私有源搭建

目标 搭建一套私有 npm 服务,支持以下功能: 发布管理私有 npm 包; 提供 npm 镜像服务,加速 npm 安装依赖速度; 方案 为开发者提供了一套简单易用的私有源解决方案。它支持以下功能: 支持发布和管理私有源; 部署简单; 支持两种自动同步方案: 全量同...

Read Me

胡言乱语

从某种角度上讲软件开发确实比宇宙运行要复杂,因为宇宙运行是满足客观规律的,被一些普适的机制来驱动,比如物理、数学;但是软件开发不是,因为需求的可以是随心所欲的,用户的预期是也可以是随心所欲的,或者说,是人的复杂性决定了软件开发的复杂性。反过来推,人没有什么客观规律,因此人比已知的一切还要复杂。这也许...

Read Me

Saga 优势

保持 action 的纯粹性 action 应该是无副作用的,saga 通过 effects 的方式保持 action 的纯粹性 强大的异步处理 saga 使用 generator 模式工作,并将 effects 分为不同类型交给中间件分别处理,对于复杂异步处理十分方便: 阻塞与无阻塞 for...

Read Me

写给大家看的设计书——字体

字体基本规则 排版简单规则(英文) 标点后面有一个空格 引号使用形似两个6和两个9的双引号 “” 美式英语中,逗号和句号总是出现在引号内,问号和感叹号则联系上下文确定 撇号应该使用形似9的单引号 ’ 连字符 和一字号 – 并不一样,连字符用于连接词语或断行 oddlooking ,一字...

Read Me

写给大家看的设计书笔记——设计原则

四大基本原则 1. 对比——避免元素太过相似 2. 重复——让视觉要素重复出现,即能增强条理性,又能增强统一性 3. 对齐——每一个元素都应当与页面的另一个元素有某种视觉联系 4. 亲密性——彼此相关的项互相靠近,有助于组织信息,减少混乱,提供清晰的结构 千万不要畏畏缩缩,大胆的运用这些原则。 不...

Read Me

《哲学家都在干什么》笔记一

希腊哲学 2000多年来,希腊哲学仍在深远的影响着我们,在这个时期,人类开始以非超自然的角度解释这个世界,涌现了大批哲学家,最著名的当属苏格拉底。 苏格拉底和孔子生活在同一时期,当时东西方社会文化和历史进程都有其相似性:都有百花齐放的学说,都由无数个小国(或城邦)组成的泛文化圈,最终都被曾经弱小的国...

Read Me

JavaScript 数组惰性求值

我们以一个常见的简单例子开始。 当我们需要操作一个大数组 arr (就假设 arr 有1000个元素好了),我们要对这个数组中每个元素进行平方,在过滤出前5个大于 100 的元素,如果我们使用 Underscore (或者LocalDash)要怎么做呢? // 辅助函数 function squar...

Read Me

NPM 版本控制小坑

我们在项目中引入 NPM 模块时,需要对依赖进行有效的版本控制,否则当某个依赖做了不向下兼容的升级,就会造成我们项目出错。同样,我们在开发 NPM 模块时,也需要做好版本控制,以免给其他开发者造成困扰。 NPM 版本号规范 NPM 上所有模块都遵循 规则。 简单规则如下: 版本格式:主版本号.次...

Read Me

Promise 小记(一)

什么是Promise 只要一提到 JavaScript 异步编程,我想绝大多数人都会想到 JS 回调函数。而 ES6 为我们带来了新的异步编程方式——Promise。 Promise并不是JS首创的,而是来源于E语言,它是基于并列/并行处理设计的一种编程语言。Promise 把基于回调的异步处理对象...

Read Me

什么是WebAssembly

JavaScript在10天被创造出来并迅速得到流行,这使它留下了很多缺陷,因此在过去几年诞生了很多项目试图通过将其他语言编译为JS来克服JS本身的一些短板。比如Google的Dart,微软的TyprScript。尽管目前JS引擎极力优化,但一套基于字节码的系统仍然会有更快更好的性能表现,这就是We...

Read Me