Taobao FED

主页

try catch 对代码运行的性能影响

起因要捕获 JavaScript 代码中的异常一般会采用 try catch,不过 try catch 的使用是否是对代码性能产生影响呢?答案是肯定有的,但是有多少不得而知。 淘宝前端线上脚本错误的捕获方法: 1234567window.JSTracker = window.JSTracker || [];try{ //your code}catch(e){ J

Are u ok?---记一次H5项目的安卓适配

Are u ok ?当雷布斯难以和台下的印度粉丝语言沟通的时候,他不由自主地向台下的米粉呐喊Are u ok 抒发他不能讲中文却无比激动的情绪。 当我看到那台老款安卓机上的H5页面的时候,我也想对它说 Are u ok? 我不是要卖给印度人手机,而是因为在这些低版本的安卓机面前我也常常词穷技穷。 问题背景无线化风生水起呀,最近做的无线项目里有几个H5的网页,在大部分手机上表现得很正常,但是适配

致想用 Node.js 的你

Node.js,09 年这个集成了 Google V8 JavaScript 引擎和一个底层 I/O API 的项目,如今项目无数,大企业也纷纷尝试。 Node.js 有如得到了金陵才子一般,忽然间就在大街小巷中风靡开来,诱人的滋味感觉谁都想咬一口,虽然其他语言的酸葡萄理论开始蔓延,但是依旧没有影响到它的推广和发展。在强大的 PHP 和稳定的 Java 之中,慢慢的发芽并占有了一席之地。 虽说一

Node地下铁

没有一种语言是不朽的,Node.js 也是,但冷静的思辨无价。 这里是由淘宝前端团队(FED)发起的 Node.js 爱好者的地下聚集社区,产出我们在 Node.js 实践中的原创思考和片面观点。 欢迎关注。 BTW,我们在招人~

说说最近 Google Safe Browsing 引发页面加载阻塞的问题

背景一个礼拜前,在退款维权的业务中,发现这样一个问题: 在某些 Firefox 浏览器中,表单的 butterfly 加载阻塞导致功能异常了。 一开始,我们以为是即将发布的修改点导致的问题。 但再三确认本次的修改点后,确定只是改了文案啊! 这…… 因此,我们首先怀疑是否线上已经有问题? 经过测试发现,果然,确实是个线上问题。 经过并不算麻烦的自测后,发现问题还不小: 影响范围:所有 Firefo

前后端分离的思考与实践(六)

nginx + Node.js + Java 的软件栈部署实践起关于前后端分享的思考,我们已经有五篇文章阐述思路与设计。本文介绍淘宝网收藏夹将 Node.js 引入传统技术栈的具体实践。 淘宝网线上应用的传统软件栈结构为 nginx + Velocity + Java,即: 在这个体系中,nginx 将请求转发给 Java 应用,后者处理完事务,再将数据用 Velocity 模板渲染成最终的页

前后端分离的思考与实践(五)

基于前后端分离的多终端适配前言近年来各站点基于 Web 的多终端适配进行得如火如荼,行业间也发展出依赖各种技术的解决方案。有如基于浏览器原生 CSS3 Media Query 的响应式设计、基于云端智能重排的「云适配」方案等。本文则主要探讨在前后端分离基础下的多终端适配方案。 关于前后端分离 关于前后端分离的方案,在《前后端分离的思考与实践(一)》中有非常清晰的解释。我们在服务端接口和浏览器之间

前后端分离的思考与实践(四)

前后端分离模式下的安全解决方案前言 在前后端分离的开发模式中,从开发的角色和职能上来讲,一个最明显的变化就是:以往传统中,只负责浏览器环境中开发的前端同学,需要涉猎到服务端层面,编写服务端代码。而摆在面前的一个基础性问题就是如何保障 Web 安全? 本文就在前后端分离模式的架构下,针对前端在 Web 开发中,所遇到的安全问题以及应对措施和注意事项,并提出解决方案。 跨站脚本攻击(XSS)的防御

前后端分离的思考与实践(三)

Midway-ModelProxy — 轻量级的接口配置建模框架前言使用 Node.js 做前后端分离的开发模式带来了一些性能及开发流程上的优势(见《前后端分离的思考与实践 一》), 但同时也面临不少挑战。在淘宝复杂的业务及技术架构下,后端必须依赖Java搭建基础架构,同时提供相关业务接口供前端使用。Node.js 在整个环境中最重要的工作之一就是代理这些业务接口,以方便前端(Node.js 端

前后端分离的思考与实践(二)

基于前后端分离的模版探索前言在做前后端分离时,第一个关注到的问题就是渲染,也就是 View 这个层面的工作。 在传统的开发模式中,浏览器端与服务器端是由不同的前后端两个团队开发,但是模版却又在这两者中间的模糊地带。因此模版上面总不可避免的越来越多复杂逻辑,最终难以维护。 而我们选择了 Node.js,作为一个前后端的中间层。试图藉由 Node.js,来疏理 View 层面的工作。 使得前后端分工