Taobao FED

归档: 2016/1

前端工程化:云构建

背景通常个人在开发项目的时,都是在本地编写构建脚本对项目进行构建,这个脚本可能是 Gulp,可能是 Grunt, 可能是 webpack,也可能是其他的一些脚本,每次代码发布之前,都要对代码进行构建,代码仓库里面包含构建脚本和构建之后的代码。对于个人开发,这样做是没有问题的,但是涉及到多人开发或者团队开发就会有一定的问题。说是问题也不是问题只不过是会导致开发效率降低,构建错误的情况越来越多。 在

进程间通信的另类实现

背景Node.js 内置的进程间通信使用非常简单,但也有一定的局限性,只能在父子进程间通信。下面是官方文档给的一个例子。 首先是父进程的 parent.js : 12345678const cp = require('child_process');const n = cp.fork(`${__dirname}/sub.js`);n.on('me

JSON Schema 那些事儿:基本概念

引子在早期的淘宝 TMS 页面搭建系统中,为了解决页面模板和数据的分离问题,机智的先知们扩充了一系列灵活的 PHP 标签函数,得以将数据的定义从模板视图中解耦出来。以其中一个最为常用的函数为例: 1_tms_custom('{"name":"TextLinks","title":"文字链接",&q

前端也应该了解点 docker 知识:docker 架构(上)

上一篇文章 前端也应该了解点 docker 知识:docker 的理念与场景 介绍了 docker 的一些理念,以及在前端方面可能的应用场景,本篇我们梳理一下 docker 的架构。 话说,我们团队的小明同学看了上篇文章之后,很是激动,迫不及待的想尝试下 docker ,然后按照网上一些教程跑出来了一个 “Hello world” ,激动的差点把鼠标给扔了。如果小明的故事到这里,那就不是我们团

无线性能优化:页面可见时间与异步加载

如何让页面尽可能早地渲染页面,页面更早可见,让白屏时间更短,尤其是无线环境下,一直是性能优化的话题。 页面可见时间页面可见要经历以下过程: 解析 HTML 为 DOM,解析 CSS 为 CSSOM(CSS Object Model) 将 DOM 和 CSSOM 合成一棵渲染树(render tree) 完成渲染树的布局(layout) 将渲染树绘制到屏幕 layout 由于 JS 可能随

前端也应该了解点 docker 知识:docker 的理念与场景

我觉着你是看了题目点进来的。前端和 docker 这俩八竿子打不着的有毛关系?那接下来我们就扯一扯,看看能不能把它俩扯一块。 首先得达成共识,现在的前端已经不是以前的狭义的前端,如果指狭义的前端,那真是半毛钱关系都没有。但你我不可否认的是,现在是大前端的时代。什么是大前端,详细的应该大老板来给解释下,但是这里还是简单的去说一下: 前端有了 Node.js,扩展到了服务端的边界,未来有更多的可能

小球是怎么落入指定球洞的?

游戏回顾不知大家是否还有印象,淘宝玩法平台(一个内部系统)前不久发布了一款新的游戏 —— 小球入洞,该游戏伴随着淘宝技术部去年双 11 当天举办的一次抽奖活动,第一次在大家面前亮相。 游戏支持预先设定必中奖项:离开发射器的小球在来回弹跳一阵之后,不偏不倚的落入到指定奖项对应的球洞中。体验该功能,可在游戏测试页右侧选项区进行如下的设置: 本文试着介绍游戏的这个「掉落至指定球洞」的功能,讲的偏思

记一次 Node.js 应用内存暴涨分析

起因之前 TMS 在运行时 CPU 中占用率和内存占用一直很高,导致应用运行状态不是很良好,需要频繁重启。经过排查,找出了部分原因: 使用的 html-minifier 模块有问题,如果输入的内容是一个有错误的 HTML 结构,会使解析进入死循环,导致 CPU 占用率 100%。 在使用 vm 模块时,使用姿势错误,导致内存占用无法释放,使内存占用暴涨。 第一个问题我们今天不予讨论,主要

无线性能优化:FPS 测试

时间回到几周前,这天,女神突然来找我,“我这里有几个页面想测量下页面滚动的顺畅性,你有啥办法不?”。Are you kidding me?这么简单,简直是道送分题啊,于是当着女神面,打开 Chrome 开发者工具,勾选上 Show FPS meter,醒目的 FPS 监控面板就出来了,滑动页面时 FPS 的曲线就基本反映出了页面滚动的顺畅性,坐等女神的夸奖~~ “这个我知道啊,但是我有好多页面,

让我们谈谈「生产环境中的 Node.js」- Node 地下铁第 1 次线下沙龙总结

1 月 9 日下午,Node 地下铁第 1 次线下沙龙在北京京仪大酒店举行,当天也是难得的好天气。 本次沙龙邀请到了 4 位线上 Node.js 大规模应用设计以及性能调优的核心工程师,共同就「生产环境中的 Node.js」这一主题进行分享。 感谢各位同学的参与,13 点半签到,很快会议厅就被挤满了,对那些全场站在后排听完分享的同学表示抱歉~ 分享Node.js 助力淘宝大促活动峰值 4 万 Q