SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Downloaden Sie, um offline zu lesen
Welefen
2011-09-25
• Welefen / 李成银




       百度空间                百度新首页


• @welefen in twitter,微博,github
• welefen@gmail.com
• http://www.welefen.com
热爱标准化建设和
前端自动化工具的开发
随着web应用越来越复杂

Web Page => Web App
前端开发越来越复杂

                   2011
2004
同时前端人员也越来越多
• 编码规范问题越来越严重

• 很多陷阱新人可能并不知道

• 很多优化并不是上线前都做了

• 多人同时开发冲突的问题

• 人多了,开发效率反而低了
尝试过使用guideline和codereivew解
决编码规范的问题。但由于时间和人力
有限始终没能很好的开展,最终每个人
有自己的风格。
也在积极寻找第三方工具
• yui compressor
• css sprites generator
• smush it
• jslint
• …
额。。。好吧,先这样吧。以后有时间
在改。

这次图片优化没做啊,下次记得要优化。

杯具,静态文件缓存又忘记清。。。
这谁写代码,太2了

我这次
都没法改了。。。
<img src=“” />

<a href=“javascript:void(0)”></a>
A方案行,B方案也支持中纠结

A OR B ? 那都支持吧

- 我们一直在妥协,时间长了,什么都
乱了
开发中不应该妥协,要么0,要么是1。

- 上线前强制检测,有错误无法上线
 让犯错变得困难

- 集成第三方和自主开发工具
 能自动化的绝不人工
前端编译平台
即统一的执行脚本(如:build.sh),
上线前对代码检测和自动化,发现有
error的时候编译不让通过,无法上线。

-   开发的时候也可以手工执行这个脚本去检测
• 模块目录结构检查
• 文件命名检查
• HTML、JS、CSS编码规范检查
• JS、CSS文件合并
• CSS3样式自动补全
• JS、CSS等静态文件清除缓存
• HTML、JS、CSS压缩
• CSS Sprites
• CSS背景图片转DataURI
• 图片优化
• XSS漏洞检查和自动修复
• JS、CSS代码Beautify
• 线下地址替换成线上地址
• 线下域名检测
• 多域名
• Smarty3性能优化
• 图片目录统一为img,不在为到底使用img,
imgs, image, images哪一个而纠结
• js目录统一为js, 禁止使用javascript,
scripts等名称
• 检测的时候发现多余的目录,直接编译不
通过
• HTML里含有模版语法(如:Smarty)
• 不能单靠正则去检测
• 词法分析也要考虑各种模版语法的情况
支持模版语法的HTML分析、
               检测、压缩工具




https://github.com/welefen/Fl
词
法
分
析
检
测
WEB SERVER压缩

• Web Server动态压缩有性能问题,虽然是ms级别
• 不够安全,用户输入的内容,无法完全覆盖测试
• 编译的时候去压缩
• 只将安全的内容压缩


-   非pre,textarea内的空行,多个空格
-   非IE条件注释
-   可去除的结束标签
-   可删除的标签数据默认值
-   无特殊字符属性值的左右引号
-   可删除属性值的属性
-   。。。
百度新首页:http://www.baidu.com/home
• 单一的文件多人开发时容易出现冲突
• js使用document.write
• css使用@import url
• 开发的时候使用小文件模式
• 编译的时候自动合并,去重
  -   开发时容易定位问题,且不容易冲突
将document.write封装成
  importScript函数
我们终于说服PM,UE在某些地方使用CSS3
      样式来渐进增强
虽然有辅助性的工具,但修改起来还是麻烦
编
译
• 为了性能,设置了cache-control和

expires头

• 缓存时间内,正常访问不发生请求

• 代码改动后,需要通知客户端清缓存
• 最原始的方法:手工改动版本号



 base.js?v=1   base.js?v=2


 - 经常发生忘记改的情况
• 后端变量或者编译的时候加时间戳


base.js?v={=$var=}   base.js?v=201109121215


  - 能够自动清缓存
- 每次上线所有的缓存都清了,包括未改动的文
件
•   md5方式
                          文件md5值后8位



      base.js    base.js?v=cfa05e53



    - 能够自动清缓存,且未改动的文件缓存不会清
    - 有些代理可能不支持query
    - 上线过程中可能引起服务不正常
•   更好的方式
                       文件md5值后8位



     base.js   base_cfa05e53.js
• 虽然能自动生成图片,并给出background-position
• 但要手工去改对应css文件
• 每次都要打包上传
• 有改动后要重新一次,还要注意缓存
  - 其实也可以自动化,只要个简单的配置即可
• 将要合并在一起的小图片放在同一个子文件
夹下
• 配置
• 自动合并图,自动去修改css
合并图
小图




     配置

           修改的css
• XSS漏洞检查和自动修复

• 图片优化

• Smarty3性能优化

• CSS背景图片转DataURI
• 让工程师减少犯错

• 尽量自动化,提高开发效率

• 既然不能反抗,那就好好享受吧
Thank You

Weitere ähnliche Inhalte

Was ist angesagt?

Open source的devops工具箱 公開版@coscup2016
Open source的devops工具箱 公開版@coscup2016Open source的devops工具箱 公開版@coscup2016
Open source的devops工具箱 公開版@coscup2016Kirk Chen
 
關於 Javascript 非同步的那些事兒 公開版
關於 Javascript 非同步的那些事兒 公開版關於 Javascript 非同步的那些事兒 公開版
關於 Javascript 非同步的那些事兒 公開版Kirk Chen
 
網頁開發工具 20140630
網頁開發工具 20140630網頁開發工具 20140630
網頁開發工具 20140630Yeh Yung-Hsin
 
Web 开发漫谈 —— 前端篇
Web 开发漫谈 —— 前端篇Web 开发漫谈 —— 前端篇
Web 开发漫谈 —— 前端篇尚斌 杨
 
那些mockup沒告訴你的事@WebConf.tw 2013
那些mockup沒告訴你的事@WebConf.tw 2013那些mockup沒告訴你的事@WebConf.tw 2013
那些mockup沒告訴你的事@WebConf.tw 2013Adam Wang
 
網站可靠性工程工作手冊
網站可靠性工程工作手冊網站可靠性工程工作手冊
網站可靠性工程工作手冊偉君 方
 
1 秒鐘的奮戰:WordPress 網站優化的愛恨情仇/WordPress Optimize: A Love-hate Relationship
1 秒鐘的奮戰:WordPress 網站優化的愛恨情仇/WordPress Optimize: A Love-hate Relationship1 秒鐘的奮戰:WordPress 網站優化的愛恨情仇/WordPress Optimize: A Love-hate Relationship
1 秒鐘的奮戰:WordPress 網站優化的愛恨情仇/WordPress Optimize: A Love-hate RelationshipWilliam Tai
 
7. 設計樣板套用
7. 設計樣板套用7. 設計樣板套用
7. 設計樣板套用Nelson Chen
 
Webify 一键部署
Webify 一键部署Webify 一键部署
Webify 一键部署琦 胡
 
Tobecontinue
TobecontinueTobecontinue
Tobecontinueyongwumai
 
一小時可以打造什麼服務Plus twMVC#18
一小時可以打造什麼服務Plus twMVC#18一小時可以打造什麼服務Plus twMVC#18
一小時可以打造什麼服務Plus twMVC#18twMVC
 
網站部署與第三方服務整合
網站部署與第三方服務整合網站部署與第三方服務整合
網站部署與第三方服務整合Shengyou Fan
 
02 C# & VB基本語法 for ASP.NET
02 C# & VB基本語法 for ASP.NET02 C# & VB基本語法 for ASP.NET
02 C# & VB基本語法 for ASP.NETMIS2000 Lab.
 
Ruby 的快与慢
Ruby 的快与慢Ruby 的快与慢
Ruby 的快与慢vincent253
 
拥抱开源-关于程序员的自我提高
拥抱开源-关于程序员的自我提高拥抱开源-关于程序员的自我提高
拥抱开源-关于程序员的自我提高Yihua Huang
 
迷雾中奔跑-互联网产品开发思考
迷雾中奔跑-互联网产品开发思考迷雾中奔跑-互联网产品开发思考
迷雾中奔跑-互联网产品开发思考Qingji Chen
 
HTML5 規格最新發展現況 (HTML5 趨勢發展與技術應用論壇)
HTML5 規格最新發展現況 (HTML5 趨勢發展與技術應用論壇)HTML5 規格最新發展現況 (HTML5 趨勢發展與技術應用論壇)
HTML5 規格最新發展現況 (HTML5 趨勢發展與技術應用論壇)Will Huang
 

Was ist angesagt? (20)

Open source的devops工具箱 公開版@coscup2016
Open source的devops工具箱 公開版@coscup2016Open source的devops工具箱 公開版@coscup2016
Open source的devops工具箱 公開版@coscup2016
 
關於 Javascript 非同步的那些事兒 公開版
關於 Javascript 非同步的那些事兒 公開版關於 Javascript 非同步的那些事兒 公開版
關於 Javascript 非同步的那些事兒 公開版
 
網頁開發工具 20140630
網頁開發工具 20140630網頁開發工具 20140630
網頁開發工具 20140630
 
Web 开发漫谈 —— 前端篇
Web 开发漫谈 —— 前端篇Web 开发漫谈 —— 前端篇
Web 开发漫谈 —— 前端篇
 
那些mockup沒告訴你的事@WebConf.tw 2013
那些mockup沒告訴你的事@WebConf.tw 2013那些mockup沒告訴你的事@WebConf.tw 2013
那些mockup沒告訴你的事@WebConf.tw 2013
 
網站可靠性工程工作手冊
網站可靠性工程工作手冊網站可靠性工程工作手冊
網站可靠性工程工作手冊
 
1 秒鐘的奮戰:WordPress 網站優化的愛恨情仇/WordPress Optimize: A Love-hate Relationship
1 秒鐘的奮戰:WordPress 網站優化的愛恨情仇/WordPress Optimize: A Love-hate Relationship1 秒鐘的奮戰:WordPress 網站優化的愛恨情仇/WordPress Optimize: A Love-hate Relationship
1 秒鐘的奮戰:WordPress 網站優化的愛恨情仇/WordPress Optimize: A Love-hate Relationship
 
7. 設計樣板套用
7. 設計樣板套用7. 設計樣板套用
7. 設計樣板套用
 
Webify 一键部署
Webify 一键部署Webify 一键部署
Webify 一键部署
 
工作坊簡介
工作坊簡介工作坊簡介
工作坊簡介
 
Angularjs
AngularjsAngularjs
Angularjs
 
Tobecontinue
TobecontinueTobecontinue
Tobecontinue
 
一小時可以打造什麼服務Plus twMVC#18
一小時可以打造什麼服務Plus twMVC#18一小時可以打造什麼服務Plus twMVC#18
一小時可以打造什麼服務Plus twMVC#18
 
網站部署與第三方服務整合
網站部署與第三方服務整合網站部署與第三方服務整合
網站部署與第三方服務整合
 
02 C# & VB基本語法 for ASP.NET
02 C# & VB基本語法 for ASP.NET02 C# & VB基本語法 for ASP.NET
02 C# & VB基本語法 for ASP.NET
 
Ruby 的快与慢
Ruby 的快与慢Ruby 的快与慢
Ruby 的快与慢
 
拥抱开源-关于程序员的自我提高
拥抱开源-关于程序员的自我提高拥抱开源-关于程序员的自我提高
拥抱开源-关于程序员的自我提高
 
迷雾中奔跑-互联网产品开发思考
迷雾中奔跑-互联网产品开发思考迷雾中奔跑-互联网产品开发思考
迷雾中奔跑-互联网产品开发思考
 
Html_20150329
Html_20150329Html_20150329
Html_20150329
 
HTML5 規格最新發展現況 (HTML5 趨勢發展與技術應用論壇)
HTML5 規格最新發展現況 (HTML5 趨勢發展與技術應用論壇)HTML5 規格最新發展現況 (HTML5 趨勢發展與技術應用論壇)
HTML5 規格最新發展現況 (HTML5 趨勢發展與技術應用論壇)
 

Andere mochten auch

吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践taobao.com
 
淘宝开放产品前端实践
淘宝开放产品前端实践淘宝开放产品前端实践
淘宝开放产品前端实践taobao.com
 
第三方内容开发最佳实践
第三方内容开发最佳实践第三方内容开发最佳实践
第三方内容开发最佳实践taobao.com
 
高力:19楼现有前端架构
高力:19楼现有前端架构高力:19楼现有前端架构
高力:19楼现有前端架构taobao.com
 
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化taobao.com
 
编辑器设计U editor
编辑器设计U editor编辑器设计U editor
编辑器设计U editortaobao.com
 
浅谈 Javascript 性能优化
浅谈 Javascript 性能优化浅谈 Javascript 性能优化
浅谈 Javascript 性能优化rainoxu
 
Linux 系列分享[1] 概览
Linux 系列分享[1]   概览Linux 系列分享[1]   概览
Linux 系列分享[1] 概览rainoxu
 
Steve Jobs Announces iTown - Douban Special Event, Jan 2012
Steve Jobs Announces iTown - Douban Special Event, Jan 2012Steve Jobs Announces iTown - Douban Special Event, Jan 2012
Steve Jobs Announces iTown - Douban Special Event, Jan 2012Dexter Yang
 
通用JS时代的模块机制和编译工具
通用JS时代的模块机制和编译工具通用JS时代的模块机制和编译工具
通用JS时代的模块机制和编译工具Dexter Yang
 
Learning JavaScript in Three Web Apps(中文)
Learning JavaScript in Three Web Apps(中文)Learning JavaScript in Three Web Apps(中文)
Learning JavaScript in Three Web Apps(中文)Dexter Yang
 
Git 零基础介绍
Git 零基础介绍Git 零基础介绍
Git 零基础介绍Ethan Zhang
 
新版阿尔法城背后的前端MVC实践
新版阿尔法城背后的前端MVC实践新版阿尔法城背后的前端MVC实践
新版阿尔法城背后的前端MVC实践Dexter Yang
 
不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会Joseph Chiang
 
Web前端性能优化 2014
Web前端性能优化 2014Web前端性能优化 2014
Web前端性能优化 2014Yubei Li
 
基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程zhangdaiping
 
使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式Will Huang
 
Frontend django, Django Web 前端探索
Frontend django, Django Web 前端探索Frontend django, Django Web 前端探索
Frontend django, Django Web 前端探索Tim (文昌)
 

Andere mochten auch (20)

吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
 
淘宝开放产品前端实践
淘宝开放产品前端实践淘宝开放产品前端实践
淘宝开放产品前端实践
 
第三方内容开发最佳实践
第三方内容开发最佳实践第三方内容开发最佳实践
第三方内容开发最佳实践
 
高力:19楼现有前端架构
高力:19楼现有前端架构高力:19楼现有前端架构
高力:19楼现有前端架构
 
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化
 
Berserk js
Berserk jsBerserk js
Berserk js
 
编辑器设计U editor
编辑器设计U editor编辑器设计U editor
编辑器设计U editor
 
浅谈 Javascript 性能优化
浅谈 Javascript 性能优化浅谈 Javascript 性能优化
浅谈 Javascript 性能优化
 
Linux 系列分享[1] 概览
Linux 系列分享[1]   概览Linux 系列分享[1]   概览
Linux 系列分享[1] 概览
 
Steve Jobs Announces iTown - Douban Special Event, Jan 2012
Steve Jobs Announces iTown - Douban Special Event, Jan 2012Steve Jobs Announces iTown - Douban Special Event, Jan 2012
Steve Jobs Announces iTown - Douban Special Event, Jan 2012
 
通用JS时代的模块机制和编译工具
通用JS时代的模块机制和编译工具通用JS时代的模块机制和编译工具
通用JS时代的模块机制和编译工具
 
Learning JavaScript in Three Web Apps(中文)
Learning JavaScript in Three Web Apps(中文)Learning JavaScript in Three Web Apps(中文)
Learning JavaScript in Three Web Apps(中文)
 
Git 零基础介绍
Git 零基础介绍Git 零基础介绍
Git 零基础介绍
 
新版阿尔法城背后的前端MVC实践
新版阿尔法城背后的前端MVC实践新版阿尔法城背后的前端MVC实践
新版阿尔法城背后的前端MVC实践
 
不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会
 
Web前端性能优化 2014
Web前端性能优化 2014Web前端性能优化 2014
Web前端性能优化 2014
 
基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程
 
Node way
Node wayNode way
Node way
 
使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式
 
Frontend django, Django Web 前端探索
Frontend django, Django Web 前端探索Frontend django, Django Web 前端探索
Frontend django, Django Web 前端探索
 

Ähnlich wie 李成银:前端编译平台

美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介pan weizeng
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合Qiangning Hong
 
W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探美团点评技术团队
 
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...Alan Tsai
 
构建可维护的Javascript 小米网
构建可维护的Javascript 小米网构建可维护的Javascript 小米网
构建可维护的Javascript 小米网yang alex
 
How to ASP.NET MVC4
How to ASP.NET MVC4How to ASP.NET MVC4
How to ASP.NET MVC4Daniel Chou
 
網站上線了,然後呢?
網站上線了,然後呢?網站上線了,然後呢?
網站上線了,然後呢?Kirk Chen
 
基于Seajs的项目构建
基于Seajs的项目构建基于Seajs的项目构建
基于Seajs的项目构建Zhang Xiaoxue
 
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計Amigo 陳兆祥
 
Android快速发布&持续集成
Android快速发布&持续集成Android快速发布&持续集成
Android快速发布&持续集成whykill
 
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩Wen-Tien Chang
 
實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)Gelis Wu
 
Calliplus 開發經驗分享
Calliplus 開發經驗分享Calliplus 開發經驗分享
Calliplus 開發經驗分享Daniel Kao
 
[DCTPE2011] 3) 主題演講:用Drupal 打造更美好的網際網路
[DCTPE2011] 3) 主題演講:用Drupal 打造更美好的網際網路[DCTPE2011] 3) 主題演講:用Drupal 打造更美好的網際網路
[DCTPE2011] 3) 主題演講:用Drupal 打造更美好的網際網路Drupal Taiwan
 
01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overview01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overviewAlan Tsai
 
白玉磊 Webrebuild
白玉磊 Webrebuild白玉磊 Webrebuild
白玉磊 Webrebuild裕波 周
 
石玉磊 Web rebuild
石玉磊 Web rebuild石玉磊 Web rebuild
石玉磊 Web rebuildWebrebuild
 
Multi thread 多執行緒程式設計(use c#)
Multi thread 多執行緒程式設計(use c#)Multi thread 多執行緒程式設計(use c#)
Multi thread 多執行緒程式設計(use c#)Gelis Wu
 

Ähnlich wie 李成银:前端编译平台 (20)

美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合
 
W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探
 
Web Development Roadmap
Web Development RoadmapWeb Development Roadmap
Web Development Roadmap
 
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
 
构建可维护的Javascript 小米网
构建可维护的Javascript 小米网构建可维护的Javascript 小米网
构建可维护的Javascript 小米网
 
How to ASP.NET MVC4
How to ASP.NET MVC4How to ASP.NET MVC4
How to ASP.NET MVC4
 
網站上線了,然後呢?
網站上線了,然後呢?網站上線了,然後呢?
網站上線了,然後呢?
 
基于Seajs的项目构建
基于Seajs的项目构建基于Seajs的项目构建
基于Seajs的项目构建
 
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計
 
Android快速发布&持续集成
Android快速发布&持续集成Android快速发布&持续集成
Android快速发布&持续集成
 
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
 
實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)
 
Calliplus 開發經驗分享
Calliplus 開發經驗分享Calliplus 開發經驗分享
Calliplus 開發經驗分享
 
Drupal Camp Taipei Keynote
Drupal Camp Taipei KeynoteDrupal Camp Taipei Keynote
Drupal Camp Taipei Keynote
 
[DCTPE2011] 3) 主題演講:用Drupal 打造更美好的網際網路
[DCTPE2011] 3) 主題演講:用Drupal 打造更美好的網際網路[DCTPE2011] 3) 主題演講:用Drupal 打造更美好的網際網路
[DCTPE2011] 3) 主題演講:用Drupal 打造更美好的網際網路
 
01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overview01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overview
 
白玉磊 Webrebuild
白玉磊 Webrebuild白玉磊 Webrebuild
白玉磊 Webrebuild
 
石玉磊 Web rebuild
石玉磊 Web rebuild石玉磊 Web rebuild
石玉磊 Web rebuild
 
Multi thread 多執行緒程式設計(use c#)
Multi thread 多執行緒程式設計(use c#)Multi thread 多執行緒程式設計(use c#)
Multi thread 多執行緒程式設計(use c#)
 

Mehr von taobao.com

编辑器设计Kissy editor
编辑器设计Kissy editor编辑器设计Kissy editor
编辑器设计Kissy editortaobao.com
 
百度前端性能监控与优化实践
百度前端性能监控与优化实践百度前端性能监控与优化实践
百度前端性能监控与优化实践taobao.com
 
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践Node.js在淘宝的应用实践
Node.js在淘宝的应用实践taobao.com
 
Kind editor设计思路
Kind editor设计思路Kind editor设计思路
Kind editor设计思路taobao.com
 
Java script physical engine
Java script physical engineJava script physical engine
Java script physical enginetaobao.com
 
Html5环保小游戏
Html5环保小游戏Html5环保小游戏
Html5环保小游戏taobao.com
 
阅读类Web应用前端技术探索
阅读类Web应用前端技术探索阅读类Web应用前端技术探索
阅读类Web应用前端技术探索taobao.com
 
完颜:移动网站的兼容性探索
完颜:移动网站的兼容性探索完颜:移动网站的兼容性探索
完颜:移动网站的兼容性探索taobao.com
 
张平:JavaScript引擎实现
张平:JavaScript引擎实现张平:JavaScript引擎实现
张平:JavaScript引擎实现taobao.com
 
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具taobao.com
 
张克军:前端基础架构的实践和思考
张克军:前端基础架构的实践和思考张克军:前端基础架构的实践和思考
张克军:前端基础架构的实践和思考taobao.com
 
刘平川:【用户行为分析】Marmot实践
刘平川:【用户行为分析】Marmot实践刘平川:【用户行为分析】Marmot实践
刘平川:【用户行为分析】Marmot实践taobao.com
 
前端Mvc探讨及实践
前端Mvc探讨及实践前端Mvc探讨及实践
前端Mvc探讨及实践taobao.com
 
黄希彤:【无障碍访问】Margin
黄希彤:【无障碍访问】Margin黄希彤:【无障碍访问】Margin
黄希彤:【无障碍访问】Margintaobao.com
 
何一鸣:【无障碍访问】Aria in taobao
何一鸣:【无障碍访问】Aria in taobao何一鸣:【无障碍访问】Aria in taobao
何一鸣:【无障碍访问】Aria in taobaotaobao.com
 
西乔:理性的设计
西乔:理性的设计西乔:理性的设计
西乔:理性的设计taobao.com
 
杨永全:【组障碍访问】一个盲人眼中的网页内容无障碍体验与设计 大纲
杨永全:【组障碍访问】一个盲人眼中的网页内容无障碍体验与设计 大纲杨永全:【组障碍访问】一个盲人眼中的网页内容无障碍体验与设计 大纲
杨永全:【组障碍访问】一个盲人眼中的网页内容无障碍体验与设计 大纲taobao.com
 
More weapons, more power
More weapons, more powerMore weapons, more power
More weapons, more powertaobao.com
 
无名小站首页改版 -渐进增强与css3
无名小站首页改版 -渐进增强与css3无名小站首页改版 -渐进增强与css3
无名小站首页改版 -渐进增强与css3taobao.com
 
【前端Mvc】之豆瓣说实践
【前端Mvc】之豆瓣说实践【前端Mvc】之豆瓣说实践
【前端Mvc】之豆瓣说实践taobao.com
 

Mehr von taobao.com (20)

编辑器设计Kissy editor
编辑器设计Kissy editor编辑器设计Kissy editor
编辑器设计Kissy editor
 
百度前端性能监控与优化实践
百度前端性能监控与优化实践百度前端性能监控与优化实践
百度前端性能监控与优化实践
 
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
 
Kind editor设计思路
Kind editor设计思路Kind editor设计思路
Kind editor设计思路
 
Java script physical engine
Java script physical engineJava script physical engine
Java script physical engine
 
Html5环保小游戏
Html5环保小游戏Html5环保小游戏
Html5环保小游戏
 
阅读类Web应用前端技术探索
阅读类Web应用前端技术探索阅读类Web应用前端技术探索
阅读类Web应用前端技术探索
 
完颜:移动网站的兼容性探索
完颜:移动网站的兼容性探索完颜:移动网站的兼容性探索
完颜:移动网站的兼容性探索
 
张平:JavaScript引擎实现
张平:JavaScript引擎实现张平:JavaScript引擎实现
张平:JavaScript引擎实现
 
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具
 
张克军:前端基础架构的实践和思考
张克军:前端基础架构的实践和思考张克军:前端基础架构的实践和思考
张克军:前端基础架构的实践和思考
 
刘平川:【用户行为分析】Marmot实践
刘平川:【用户行为分析】Marmot实践刘平川:【用户行为分析】Marmot实践
刘平川:【用户行为分析】Marmot实践
 
前端Mvc探讨及实践
前端Mvc探讨及实践前端Mvc探讨及实践
前端Mvc探讨及实践
 
黄希彤:【无障碍访问】Margin
黄希彤:【无障碍访问】Margin黄希彤:【无障碍访问】Margin
黄希彤:【无障碍访问】Margin
 
何一鸣:【无障碍访问】Aria in taobao
何一鸣:【无障碍访问】Aria in taobao何一鸣:【无障碍访问】Aria in taobao
何一鸣:【无障碍访问】Aria in taobao
 
西乔:理性的设计
西乔:理性的设计西乔:理性的设计
西乔:理性的设计
 
杨永全:【组障碍访问】一个盲人眼中的网页内容无障碍体验与设计 大纲
杨永全:【组障碍访问】一个盲人眼中的网页内容无障碍体验与设计 大纲杨永全:【组障碍访问】一个盲人眼中的网页内容无障碍体验与设计 大纲
杨永全:【组障碍访问】一个盲人眼中的网页内容无障碍体验与设计 大纲
 
More weapons, more power
More weapons, more powerMore weapons, more power
More weapons, more power
 
无名小站首页改版 -渐进增强与css3
无名小站首页改版 -渐进增强与css3无名小站首页改版 -渐进增强与css3
无名小站首页改版 -渐进增强与css3
 
【前端Mvc】之豆瓣说实践
【前端Mvc】之豆瓣说实践【前端Mvc】之豆瓣说实践
【前端Mvc】之豆瓣说实践
 

李成银:前端编译平台