Taobao FED

分类:Web开发

使用 ES decorators 构建一致性 API

重用和一致性是程序设计中经久不衰的两个课题。在最新的 ES Proposal 中,「decorators 语法」为此带来了一定的便利,并且,很适合应用于大型的类库中。 装饰模式提到 decorator 大家都不会陌生,即「装饰模式」—— 我们可以在「不侵入原有代码」的情况下,为代码增加一些「额外的功能」。 所谓「额外的功能」一般都比较独立,不和原有逻辑耦合,只是做一层包装。你也可以把它看成「包

「深入实践中的 Node.js」- Node 地下铁第四期南京站线下沙龙总结

前言获得知识有两种途径。一是学习理论知识;二是实践。二者缺一不可。学习知识固然重要,但最根本的是要把理论的知识和实践结合起来达到学以致用和用以促学的目的,Node.js 从 2009 年至今发展已近 8 年,时光荏苒,回想当初社区生态还不完善时候的捉襟见肘,到现在社区庞大社区完善,为一些企业打造了了不起的线上应用。 三月春盛,烟烟霞霞,Node.js 地下铁以深入实践为主题迎来了第四场活动,大家

我眼中的 JavaScript 函数式编程

JavaScript 函数式编程是一个存在了很久的话题,但似乎从 2016 年开始,它变得越来越火热。这可能是因为 ES6 语法对于函数式编程更为友好,也可能是因为诸如 RxJS (ReactiveX) 等函数式框架的流行。 看过许多关于函数式编程的讲解,但是其中大部分是停留在理论层面,还有一些是仅针对 Haskell 等纯函数式编程语言的。而本文旨在聊一聊我眼中的函数式编程在 JavaScri

认识 TypeScript

这是一个系列文章,一共会有三篇: [本篇] 认识 TypeScript - 简单描述 TypeScript 的定位、特点。 TypeScript 语法学习 - 比较文档化的讲述 TypeScript 的使用方式。 TypeScript 工程使用 - 讲述如何在工程 —— 包括 Node.js 工程、React 工程 —— 中应用 TypeScript。 最近几个月有幸体验了 TypeScri

浅析 requestAnimationFrame

相信现在绝大多数人在 JavaScript 中绘制动画已经在使用 requestAnimationFrame 了,关于 requestAnimationFrame 的种种就不多说了,关于这个 API 的资料,详见 http://www.w3.org/TR/animation-timing/,https://developer.mozilla.org/en/docs/Web/API/window.

从达标到卓越 —— API 设计之道

新技术层出不穷,长江后浪推前浪,而浪潮褪去后能留下来的,是一些经典的设计思想。 在前端界,以前有远近闻名的 jQuery,近来有声名鹊起的 Vue.js。这两者叫好又叫座的原因固然有很多,但是其中有一个共同特质不可忽视,那便是它们的 API 设计 非常优雅。 因此这次我想来谈个大课题 —— API 设计之道。 讨论内容的定义域本文并不是《jQuery API 赏析》,当我们谈论 API 的设计

编写「可读」代码的实践

编写可读的代码,对于以代码谋生的程序员而言,是一件极为重要的事。从某种角度来说,代码最重要的功能是能够被阅读,其次才是能够被正确执行。一段无法正确执行的代码,也许会使项目延期几天,但它造成的危害只是暂时和轻微的,毕竟这种代码无法通过测试并影响最终的产品;但是,一段能够正确执行,但缺乏条理、难以阅读的代码,它造成的危害却是深远和广泛的:这种代码会提高产品后续迭代和维护的成本,影响产品的稳定,破坏团

QCon San Francisco 2016 前端参会总结

11 月初有幸参加了在美国旧金山举行的 Qcon 会议,会议之余在小伙伴们的各路关系中拜访了一些美国的科技公司。此行受益颇多,这里谈一下自己的所见、所闻以及自己的感受。 会议内容会议内容覆盖了前端、设计、容器、微服务、devops、JAVA 等等,内容非常的丰富,这里选择几个前端相关的场做下分享。 Webpack: The One Build Step To Rule Them Allwebp

React 组件间通讯

React 组件间通讯说 React 组件间通讯之前,我们先来讨论一下 React 组件究竟有多少种层级间的关系。假设我们开发的项目是一个纯 React 的项目,那我们项目应该有如下类似的关系: 父子:Parent 与 Child_1、Child_2、Child_1_1、Child_1_2、Child_2_1 兄弟:Child_1 与 Child_2、Child_1_1 与 Child_2、e

聊一聊 JavaScript 中的错误隔离

接口请求失败、接口中部分数据缺失、运营数据不符合预期… 当我们的应用发布上线后,就开始面临这些风险。 而一旦这些问题导致了 JavaScript 报错(如空指针异常),并且没有被有效地隔离,就有可能引发页面的白屏、无法交互等线上问题。 在双 11 准备期间,我们收集了过往一年前端相关的线上问题,在收集的 21 个案例中,竟有一半的问题都与「数据异常触发页面显示异常」这个原因有些相关。 如何将错误