25
WEB开发简述 William

Web development overview

  • Upload
    wei-sun

  • View
    1.260

  • Download
    5

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Web development overview

WEB开发简述

William

Page 2: Web development overview

Web development

Always beta version

Browser/Server

无需客户端部署升级

跨平台跨硬件

响应速度非常重要(优化)

用户界面自成一派

Page 3: Web development overview

与桌面开发不同之处

安全问题极为重要,重中之重!

无状态(session/cookie) 在线购物提交然后返回

不可访问本地资源 (Why?)

稍显简陋的界面设计

兼容不同浏览器 IE/ FireFox/ Chrome/ Safari (Webkit) 遨游,腾讯搜狐浏览器是什么?

搜索的重要性

开源方案更有竞争力

不间断运行,备份方案

Page 4: Web development overview

新角色

前端工程师 (HTML, Javascript, CSS)

前端测试 (Web test framework)

美工 (Photoshop)

服务器开发 (Linux, C/C++, Python)

运营维护 (网络管理, Linux, Perl, Python)

数据库维护调优 (Mysql, PostgreSQL)

Page 5: Web development overview

Web 2.0新势力

Twitter – 10亿美金

Facebook – 337亿美金

Foursquare

Youtube Hulu 豆瓣 淘宝 团购网

平台战略,开放API,用户产生内容(UGC),第三方应用

微软在哪里?Live家族

Page 6: Web development overview

新趋势

网上办公

Web office, Web mail, Web WorkFlow

云计算

Amazon, Google Appengine, Microsoft Azure

桌面与Web战略的结合,小软件占领桌面

腾讯软件、搜狐输入法、腾讯搜狐浏览器、Chrome浏览器、淘宝旺旺

Page 7: Web development overview

Web development in RA (?)

Internal usage

Hardware embedded function

From C/S to B/S

Page 8: Web development overview

学习建议

First step, HTML/CSS/JavaScript

Second, C#, PHP, Python, Ruby

Page 9: Web development overview

数据库 Application

Scripts

Web Server

HTML files

Client browser

Page 10: Web development overview
Page 11: Web development overview

Common Gateway Interface (CGI)

http://en.wikipedia.org/wiki/Common_Gateway_Interface

PHP-CGI, (PHP-CLI)

Python WSGI

Ruby Rack

ISAPI

Page 12: Web development overview

静态内容开发演示

Apache + HTML + CSS + JavaScript

http://apcndaeforum

Page 13: Web development overview

Web开发从零开始

Apache安装配置

Php简单配置

Mysql安装配置

Page 14: Web development overview

为何选择动态语言

无需编译,热部署

开发快速,易上手

动态语言与静态语言结合

缺点?

企业成功案例

运行效率

技术支持

Page 15: Web development overview

动态内容开发演示

Php

Hello world

phpinfo()

Python

Web.py

Page 16: Web development overview

Web开发架构

LAMP (Linux Apache Mysql Php)

Nginx PostgreSQL Python/Ruby

优先选择成熟的产品

Discuz BBS,Wordpress blog

基于成熟的架构开发

Rails Sinatra Django Web.py Zend

Page 17: Web development overview

安全问题

客户端安全

木马、病毒、钓鱼

服务器端安全

XSS、DDOS

Page 18: Web development overview

商业部署维护

FTP上传,实时更新热部署

租用机房服务器

自己维护机房服务器(很少见)

安全备份策略

Page 19: Web development overview

(2008年)豆瓣网站的情况如下:

一台Web服务器运行Lighttpd,每天处理2500万个request,

峰值每秒处理1000个request; 一台应用服务器运行

Python,每天处理500万PV; 数据库服务器运行MySQL。

JavaEye网站的服务器运行情况:

一台Web+应用服务器,一台数据库服务器,Web服务器

Lighttpd,每天430万个request,峰值每秒处理150个

request,平均每秒处理50个request;

Web服务器运行Ruby1.8.6 Rails1.2.6,每天处理70万动

态请求;数据库服务器运行MySQL,CPU负载不高,在5%-

30%之间波动。

http://robbin.javaeye.com/blog/157104

Page 20: Web development overview

C10K problem

Keyword

High performance server programming

www.kegel.com/c10k.html

http://en.wikipedia.org/wiki/C10k_problem

Nginx

http://www.tornadoweb.org/

Node.js

Page 21: Web development overview

Python于Web 2.0网站的应用 - QCon Beijing 2010 http://www.slideshare.net/hongqn/qcon2010-3881323

手机之家新系统介绍及架构分享 http://www.slideshare.net/Fenng/ss-1218991?type=powerpoint

http://heroku.com/how/architecture

Page 22: Web development overview

负载平衡优化

http://en.wikipedia.org/wiki/C10k_problem

Memcache

NoSQL

http://en.wikipedia.org/wiki/Load_balancing_(computing)

Page 23: Web development overview

优化策略

前端优化

Javascript压缩 图片压缩 内容Cache

服务器优化

Nginx

数据库优化

NoSQL

Page 24: Web development overview

All in one installer

http://bitnami.org/stack/wampstack

http://bitnami.org/stack/rubystack

http://bitnami.org/stack/djangostack

Page 25: Web development overview

参考

http://www.howtoforge.com

《实战Nginx - 取代Apache的高性能Web服务器》