SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
微博LAMP演变	

-  Laruence  
微博示意图	

2  
最初的微博	

l  Apache Prefork	

l  PHP-5.2 + APC 	

l  Swift(Simplified Kohana)	

l  Smarty	

l  BigPipe	

3  
最初的微博	

l  日访问量巨大, 在业务高速增长期, 架构一直没变	

l  响应时间越来越慢	

l  用户效率, 服务成本.	

l  代码量庞大, 只做加法不敢做减法	

l  开发成本大, 开发周期长	

l  开发效率	

l  工作方向	

l  性能优化	

l  结构优化	

4  
内容	

l  性能优化	

l  框架优化 - Yaf	

l  配置优化 - Weibo	

l  模板优化 - 弃用Smarty	

l  并行化 - CBigpipe	

l  结构优化	

l  PL服务化 – Yar	

l  进行中的工作	

l  接下来	

5  
Yaf – Yet Another framework	

l  Yaf	

l  PHP社区第一个C语言扩展框架, 最快的PHP框架	

l  兼容PSR0的自动加载	

l  基于命名空间的文件目录组织	

l  自带高性能的PHP模板引擎	

l  已开源	

6  
Weibo Extension	

l  Weibo Ext	

l  Weibo_Conf	

1.  在Apache启动的时候Parse	

2.  Fork的时候利用COW, 避免共享内存	

3.  Lookup只需要一个zval的复制(时间复杂度,空间复杂度 O(1))	

l  Weibo_Util	

1.  运算密集型/PHP脚本无法实现的功能	

2.  业务无关性	

3.  ID encode, At, Link, Topic …	

7  
PHP Templates	

l  模板的优化	

l  Smarty太过庞大	

l  不兼容的自动加载规则	

l  编译后的模板代码臃肿,低效	

l  PHP本身就是一个很好的模板语言	

l  模板自动转换工具	

8  
Apache Optimize	

l  Apache配置调优	

l  避免多余的配置	

l  目录结构优化	

l  梳理Rewrite规则, 去除无用分支	

l  统一的国际化	

l  gettext全面应用	

9  
性能优化	

10  
l  响应时间下降	

44% 	

l  吞吐提升	

78%	

l  CPU利用率下降	

l  内存占用率下降	

业务解耦	

l  代码过于繁多, 只做加法不做减法 	

l  主干开发, 团队配合风险大, 开发周期长	

l  大包上线, 上线周期长, 风险大	

l  新业务, 新需求不断增加, 恶化趋势明显	

l  怎么办?	

11  
业务解耦	

l  我们已经有了解耦的基础	

l  Pagelet	

l  Bigpipe	

l  Pagelet服务化	

l  SOA(Service-Oriented Architecture)的实践	

12  
Pagelet服务化	

l  Pagelet独立开发/上线/运维	

l  Pagelet通过接口对外提供数据	

l  Pagelet之间通过L0 Cache来共享数据	

13  
Yar – Yet Another RPC Framework	

l  Yar	

l  开源社区第一个PHP并行RPC框架	

l  高效, 轻量级, 易用的RPC框架	

l  Curl + PHP Stream	

l  PHP, Json, Messagepack	

l  已开源	

	

14  
性能优化 - CBigpipe	

l  Yar - 并行化的RPC	

l  Curl Multi + Select(epoll)	

l  Bigpipe + Yar = Concurrent Bigpipe	

l  Pagelets并发渲染	

l  Fastest Pagelet Renderred first	

15  
CBigpipe – Concurrent Bigpipe	

l  CBigpipe	

l  Pagelets并行生成, 谁快谁先到客户端渲染	

l  各自独立容灾, 前面的PL失败不会影响后面的PL	

l  生成时间缩短为”最耗时的PL”生成时间	

l  但是, 吞吐下降 	

l  1 变 M (M << N)	

	

16  
Yar Plus	

l  前端PHP后端C的服务架构	

l  Yar + C = Yar C framework	

l  Master/Slaver	

l  异步模型	

l  Msgpack	

l  运维友好	

	

17  
Yar C Framework	

l  业务面向统一的Yar Client	

l  PHP Service和C Service无缝切换	

l  前端PHP后端C的服务架构成型 	

l  关键词检测服务	

l  白名单服务	

l  策略服务	

l  策略服务为例	

l  单机每秒处理请求20K+	

	

18  
0
5000
10000
15000
20000
25000
Yar C Nginx Lua
Nginx and PHP 5.4	

l  Nginx	

l  异步 – 单机承载更多连接, 弥补并行化的吞吐下降, 有利于长连接	

l  配置编程 – 更高的配置灵活性	

l  二次开发 – 唯一请求ID,替代部分7层功能	

l  PHP5.4 + Zend Opcache	

l  迁移代价小, 和5.2的兼容性好	

l  大量Bug修复, 大量新特性(Closure, Slow log etc)	

l  性能提升 (30%)	

19  
Zend Opcache	

l  不仅仅是Opcode Cache	

l  常量表达式预先计算	

l  常数散播	

l  Numeric offset转换	

l  Nop移除	

l  CFG dead block移除	

l  Literals合并	

l  7 ~ 10% 快于APC	

	

20  
Nginx and PHP 5.4(with O +)	

l  替换的过程很漫长	

l  小坑踩了不少	

l  Libmemcached	

l  Bigpipe和gzip	

l  Rewrite规则改写	

l  Request_time和lingering_close	

21  
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
25并发   50并发  
Apache
Nginx
响应时间对比  
首屏时间	

l  数据填满用户浏览器的时间(800 * 600)	

l  建立连接时间 + 第一个包处理时间 + 接收时间 + 渲染时间	

l  数据来自第三方统计机构	

	

22  
3.82 	

3.17 	

2.57 	

2.37 	
 2.24 	
 2.11 	

1.772	

0.0	

0.5	

1.0	

1.5	

2.0	

2.5	

3.0	

3.5	

4.0	

4.5	

2011Q4	
 2012Q1	
 2012Q2	
 2012Q3	
 2012Q4	
 2013Q1	
 201306	

唯一请求ID	

l  服务间调用关系复杂	

l  模块依赖繁多	

l  出现问题定位耗时, 困难	

l  到底是哪个环节出错了?	

23  
Yac – Yet Another Cache	

l  Zend Opcache没有User Data Cache	

l  L0 Memcached的代价和维护成本	

l  我们User Data Cache的特点	

l  内容Cache和用户ID相关	

l  内容Cache一般大小固定	

l  内容Cache出错的代价	

24  
Yac – Lockless cache	

l  Yac	

l  无锁的共享内存Cache	

l  Last win	

l  随机LRU	

l  冲突的解决	

l  已开源	

25  
灰度发布系统	

l  快速的产品功能验证	

l  快速的AB测试	

l  快速的新功能迭代	

26  
分流系统  
灰度1  
实时日志反馈/分析系统  
灰度2   灰度3   ……  
分量上线系统  
策
略
投
放
管
理
系
统
  
基于流量   基于用户特征  基于地域  
灰度发布系统	

27  
代码规范	

l  微博应用代码规范.txt, 微博模板开发规范.txt	

l  代码规范检测平台, 代码提交的时刻实时检查.	

l  微博应用代码规范.exe, 微博模板开发规范.exe	

l 技术保障规范的规范, 才是真的规范	

28  
未来?	

29  
l  Nginx	

l  PHP5.4	

l  Yar and Persistent link	

l  Yaf and Security	

l  核心包和包管理/发布Cycle (40%)	

l  灰度发布系统 and 分级上线系统	

l  基本服务 and Yar C 	

l  …	

以微博之⼒力, 让世界更美 !	
weibo.com	
加入我们: http://hr.weibo.com/jobs/

Weitere ähnliche Inhalte

Was ist angesagt?

凌波微步:wagon + VS Code 的輕功哲學
凌波微步:wagon + VS Code 的輕功哲學凌波微步:wagon + VS Code 的輕功哲學
凌波微步:wagon + VS Code 的輕功哲學Shengyou Fan
 
使用 wagon + VS Code 輕鬆打造 Windows 平台 PHP/Laravel 開發環境
使用 wagon + VS Code 輕鬆打造 Windows 平台 PHP/Laravel 開發環境使用 wagon + VS Code 輕鬆打造 Windows 平台 PHP/Laravel 開發環境
使用 wagon + VS Code 輕鬆打造 Windows 平台 PHP/Laravel 開發環境Shengyou Fan
 
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者Shengyou Fan
 
Laravel installfest 工作坊 投影片
Laravel installfest 工作坊 投影片Laravel installfest 工作坊 投影片
Laravel installfest 工作坊 投影片Shengyou Fan
 
專案啟動與環境設定
專案啟動與環境設定專案啟動與環境設定
專案啟動與環境設定Shengyou Fan
 
開發環境建置
開發環境建置開發環境建置
開發環境建置Shengyou Fan
 
給你一個使用 Laravel 的理由
給你一個使用 Laravel 的理由給你一個使用 Laravel 的理由
給你一個使用 Laravel 的理由Shengyou Fan
 
wagon - 免安裝可攜的 Laravel 開發環境
wagon - 免安裝可攜的 Laravel 開發環境wagon - 免安裝可攜的 Laravel 開發環境
wagon - 免安裝可攜的 Laravel 開發環境Shengyou Fan
 
成為全能 php 攻城獅
成為全能 php 攻城獅成為全能 php 攻城獅
成為全能 php 攻城獅Shengyou Fan
 
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定啟動 Laravel 與環境設定
啟動 Laravel 與環境設定Shengyou Fan
 
Why to choose laravel framework
Why to choose laravel frameworkWhy to choose laravel framework
Why to choose laravel frameworkBo-Yi Wu
 
Improvements Made in KoP 2.9.0 - Pulsar Summit Asia 2021
Improvements Made in KoP 2.9.0  - Pulsar Summit Asia 2021Improvements Made in KoP 2.9.0  - Pulsar Summit Asia 2021
Improvements Made in KoP 2.9.0 - Pulsar Summit Asia 2021StreamNative
 
Serverless Event Streaming with Pulsar Functions-xiaolong
Serverless Event Streaming with Pulsar Functions-xiaolongServerless Event Streaming with Pulsar Functions-xiaolong
Serverless Event Streaming with Pulsar Functions-xiaolongStreamNative
 
The Evolution History of RoP(RocketMQ-on-Pulsar) - Pulsar Summit Asia 2021
The Evolution History of RoP(RocketMQ-on-Pulsar) - Pulsar Summit Asia 2021The Evolution History of RoP(RocketMQ-on-Pulsar) - Pulsar Summit Asia 2021
The Evolution History of RoP(RocketMQ-on-Pulsar) - Pulsar Summit Asia 2021StreamNative
 
柴锋 跨平台移动应用的自动化验收测试
柴锋 跨平台移动应用的自动化验收测试柴锋 跨平台移动应用的自动化验收测试
柴锋 跨平台移动应用的自动化验收测试Trinea Trinea
 
Nashorn on JDK 8 (ADC2013)
Nashorn on JDK 8 (ADC2013)Nashorn on JDK 8 (ADC2013)
Nashorn on JDK 8 (ADC2013)Kris Mok
 
2021.laravelconf.tw.slides5
2021.laravelconf.tw.slides52021.laravelconf.tw.slides5
2021.laravelconf.tw.slides5LiviaLiaoFontech
 
選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅Shengyou Fan
 

Was ist angesagt? (20)

凌波微步:wagon + VS Code 的輕功哲學
凌波微步:wagon + VS Code 的輕功哲學凌波微步:wagon + VS Code 的輕功哲學
凌波微步:wagon + VS Code 的輕功哲學
 
使用 wagon + VS Code 輕鬆打造 Windows 平台 PHP/Laravel 開發環境
使用 wagon + VS Code 輕鬆打造 Windows 平台 PHP/Laravel 開發環境使用 wagon + VS Code 輕鬆打造 Windows 平台 PHP/Laravel 開發環境
使用 wagon + VS Code 輕鬆打造 Windows 平台 PHP/Laravel 開發環境
 
使用者認證
使用者認證使用者認證
使用者認證
 
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
 
課程簡介
課程簡介課程簡介
課程簡介
 
Laravel installfest 工作坊 投影片
Laravel installfest 工作坊 投影片Laravel installfest 工作坊 投影片
Laravel installfest 工作坊 投影片
 
專案啟動與環境設定
專案啟動與環境設定專案啟動與環境設定
專案啟動與環境設定
 
開發環境建置
開發環境建置開發環境建置
開發環境建置
 
給你一個使用 Laravel 的理由
給你一個使用 Laravel 的理由給你一個使用 Laravel 的理由
給你一個使用 Laravel 的理由
 
wagon - 免安裝可攜的 Laravel 開發環境
wagon - 免安裝可攜的 Laravel 開發環境wagon - 免安裝可攜的 Laravel 開發環境
wagon - 免安裝可攜的 Laravel 開發環境
 
成為全能 php 攻城獅
成為全能 php 攻城獅成為全能 php 攻城獅
成為全能 php 攻城獅
 
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
 
Why to choose laravel framework
Why to choose laravel frameworkWhy to choose laravel framework
Why to choose laravel framework
 
Improvements Made in KoP 2.9.0 - Pulsar Summit Asia 2021
Improvements Made in KoP 2.9.0  - Pulsar Summit Asia 2021Improvements Made in KoP 2.9.0  - Pulsar Summit Asia 2021
Improvements Made in KoP 2.9.0 - Pulsar Summit Asia 2021
 
Serverless Event Streaming with Pulsar Functions-xiaolong
Serverless Event Streaming with Pulsar Functions-xiaolongServerless Event Streaming with Pulsar Functions-xiaolong
Serverless Event Streaming with Pulsar Functions-xiaolong
 
The Evolution History of RoP(RocketMQ-on-Pulsar) - Pulsar Summit Asia 2021
The Evolution History of RoP(RocketMQ-on-Pulsar) - Pulsar Summit Asia 2021The Evolution History of RoP(RocketMQ-on-Pulsar) - Pulsar Summit Asia 2021
The Evolution History of RoP(RocketMQ-on-Pulsar) - Pulsar Summit Asia 2021
 
柴锋 跨平台移动应用的自动化验收测试
柴锋 跨平台移动应用的自动化验收测试柴锋 跨平台移动应用的自动化验收测试
柴锋 跨平台移动应用的自动化验收测试
 
Nashorn on JDK 8 (ADC2013)
Nashorn on JDK 8 (ADC2013)Nashorn on JDK 8 (ADC2013)
Nashorn on JDK 8 (ADC2013)
 
2021.laravelconf.tw.slides5
2021.laravelconf.tw.slides52021.laravelconf.tw.slides5
2021.laravelconf.tw.slides5
 
選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅
 

Andere mochten auch

High Performance Solution for PHP7
High Performance Solution for PHP7High Performance Solution for PHP7
High Performance Solution for PHP7Xinchen Hui
 
A History of PHP
A History of PHPA History of PHP
A History of PHPXinchen Hui
 
The secret of PHP7's Performance
The secret of PHP7's Performance The secret of PHP7's Performance
The secret of PHP7's Performance Xinchen Hui
 
PHP7 - For Its Best Performance
PHP7 - For Its Best PerformancePHP7 - For Its Best Performance
PHP7 - For Its Best PerformanceXinchen Hui
 
PHP7.1 New Features & Performance
PHP7.1 New Features & PerformancePHP7.1 New Features & Performance
PHP7.1 New Features & PerformanceXinchen Hui
 
The Php Life Cycle
The Php Life CycleThe Php Life Cycle
The Php Life CycleXinchen Hui
 
PHP7 - The New Engine for old good train
PHP7 - The New Engine for old good trainPHP7 - The New Engine for old good train
PHP7 - The New Engine for old good trainXinchen Hui
 

Andere mochten auch (8)

Php performance
Php performancePhp performance
Php performance
 
High Performance Solution for PHP7
High Performance Solution for PHP7High Performance Solution for PHP7
High Performance Solution for PHP7
 
A History of PHP
A History of PHPA History of PHP
A History of PHP
 
The secret of PHP7's Performance
The secret of PHP7's Performance The secret of PHP7's Performance
The secret of PHP7's Performance
 
PHP7 - For Its Best Performance
PHP7 - For Its Best PerformancePHP7 - For Its Best Performance
PHP7 - For Its Best Performance
 
PHP7.1 New Features & Performance
PHP7.1 New Features & PerformancePHP7.1 New Features & Performance
PHP7.1 New Features & Performance
 
The Php Life Cycle
The Php Life CycleThe Php Life Cycle
The Php Life Cycle
 
PHP7 - The New Engine for old good train
PHP7 - The New Engine for old good trainPHP7 - The New Engine for old good train
PHP7 - The New Engine for old good train
 

Ähnlich wie Weibo lamp improvements

Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAEq3boy
 
未来网络技术发展探梦 - 开篇
未来网络技术发展探梦 - 开篇未来网络技术发展探梦 - 开篇
未来网络技术发展探梦 - 开篇Yao-Wei Ou
 
徐晓 Qq空间技术架构之峥嵘岁月
徐晓 Qq空间技术架构之峥嵘岁月徐晓 Qq空间技术架构之峥嵘岁月
徐晓 Qq空间技术架构之峥嵘岁月drewz lin
 
Phalcon the fastest php framework 阿土伯
Phalcon   the fastest php framework 阿土伯Phalcon   the fastest php framework 阿土伯
Phalcon the fastest php framework 阿土伯Hash Lin
 
Phalcon phpconftw2012
Phalcon phpconftw2012Phalcon phpconftw2012
Phalcon phpconftw2012Rack Lin
 
夸父通讯中间件
夸父通讯中间件夸父通讯中间件
夸父通讯中间件Open Party
 
大话Php之性能
大话Php之性能大话Php之性能
大话Php之性能liqiang xu
 
轻量级Flash服务器开发框架(刘恒)
轻量级Flash服务器开发框架(刘恒)轻量级Flash服务器开发框架(刘恒)
轻量级Flash服务器开发框架(刘恒)FLASH开发者交流会
 
杜嵩 Arch summit2012 dusong@freewheel
杜嵩 Arch summit2012 dusong@freewheel杜嵩 Arch summit2012 dusong@freewheel
杜嵩 Arch summit2012 dusong@freewheeldrewz lin
 
Lvs在大规模网络环境下的应用pukong
Lvs在大规模网络环境下的应用pukongLvs在大规模网络环境下的应用pukong
Lvs在大规模网络环境下的应用pukongMichael Zhang
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at TaobaoJoshua Zhu
 
基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发mysqlops
 
构建基于Lamp的网站架构
构建基于Lamp的网站架构构建基于Lamp的网站架构
构建基于Lamp的网站架构Cosey Lee
 
陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路yingganfei
 
美团点评技术沙龙05 - 前后端联调方案探索与应用
美团点评技术沙龙05 - 前后端联调方案探索与应用美团点评技术沙龙05 - 前后端联调方案探索与应用
美团点评技术沙龙05 - 前后端联调方案探索与应用美团点评技术团队
 
用 Ruby 開發 IoT 應用 - 以 RubyConf.tw 打卡系統為例
用 Ruby 開發 IoT 應用 - 以 RubyConf.tw 打卡系統為例用 Ruby 開發 IoT 應用 - 以 RubyConf.tw 打卡系統為例
用 Ruby 開發 IoT 應用 - 以 RubyConf.tw 打卡系統為例亮齊 曾
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰Scourgen Hong
 
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术C1000K高性能服务器构建技术
C1000K高性能服务器构建技术Feng Yu
 

Ähnlich wie Weibo lamp improvements (20)

Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAE
 
未来网络技术发展探梦 - 开篇
未来网络技术发展探梦 - 开篇未来网络技术发展探梦 - 开篇
未来网络技术发展探梦 - 开篇
 
徐晓 Qq空间技术架构之峥嵘岁月
徐晓 Qq空间技术架构之峥嵘岁月徐晓 Qq空间技术架构之峥嵘岁月
徐晓 Qq空间技术架构之峥嵘岁月
 
Phalcon the fastest php framework 阿土伯
Phalcon   the fastest php framework 阿土伯Phalcon   the fastest php framework 阿土伯
Phalcon the fastest php framework 阿土伯
 
Phalcon phpconftw2012
Phalcon phpconftw2012Phalcon phpconftw2012
Phalcon phpconftw2012
 
夸父通讯中间件
夸父通讯中间件夸父通讯中间件
夸父通讯中间件
 
大话Php之性能
大话Php之性能大话Php之性能
大话Php之性能
 
轻量级Flash服务器开发框架(刘恒)
轻量级Flash服务器开发框架(刘恒)轻量级Flash服务器开发框架(刘恒)
轻量级Flash服务器开发框架(刘恒)
 
杜嵩 Arch summit2012 dusong@freewheel
杜嵩 Arch summit2012 dusong@freewheel杜嵩 Arch summit2012 dusong@freewheel
杜嵩 Arch summit2012 dusong@freewheel
 
Lvs在大规模网络环境下的应用pukong
Lvs在大规模网络环境下的应用pukongLvs在大规模网络环境下的应用pukong
Lvs在大规模网络环境下的应用pukong
 
Micro service
Micro serviceMicro service
Micro service
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at Taobao
 
基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发
 
构建基于Lamp的网站架构
构建基于Lamp的网站架构构建基于Lamp的网站架构
构建基于Lamp的网站架构
 
陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路
 
美团点评技术沙龙05 - 前后端联调方案探索与应用
美团点评技术沙龙05 - 前后端联调方案探索与应用美团点评技术沙龙05 - 前后端联调方案探索与应用
美团点评技术沙龙05 - 前后端联调方案探索与应用
 
用 Ruby 開發 IoT 應用 - 以 RubyConf.tw 打卡系統為例
用 Ruby 開發 IoT 應用 - 以 RubyConf.tw 打卡系統為例用 Ruby 開發 IoT 應用 - 以 RubyConf.tw 打卡系統為例
用 Ruby 開發 IoT 應用 - 以 RubyConf.tw 打卡系統為例
 
Erlang and HTML5
Erlang and HTML5Erlang and HTML5
Erlang and HTML5
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
 
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
 

Weibo lamp improvements