how to: start your website

30
How To: Start your website 平平平平平 平平平

Upload: serina-dillon

Post on 01-Jan-2016

25 views

Category:

Documents


3 download

DESCRIPTION

How To: Start your website. 平台研发部 刘普功. Steve Jobs 10/5/2011. Dennis Richter 10/12/2011. Michael Hart 9/6/2011. 目录. 简介 注册域名及托管主机 网站优化 自建主机 其他注意事项 参考资料. 为何建立个人网站. 每个人都有创业梦 个人站点 展现个人特点 试验新技术和新产品 开源 Wiki 开源 Blog 新开发工具 个人站点也可以 … TechCrunch Martinfowler.com Weibo / tmall. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: How To: Start your website

How To:Start your website

How To:Start your website

平台研发部刘普功

Page 2: How To: Start your website

2

Steve Jobs10/5/2011

Dennis Richter10/12/2011

Michael Hart9/6/2011

Page 3: How To: Start your website

3

目录

简介注册域名及托管主机网站优化自建主机其他注意事项参考资料

Page 4: How To: Start your website

为何建立个人网站

4

每个人都有创业梦个人站点

展现个人特点试验新技术和新产品

开源 Wiki开源 Blog新开发工具

个人站点也可以…TechCrunchMartinfowler.comWeibo/tmall

Page 5: How To: Start your website

5

站点建立要素

域名 服务器 程序

注册

购买

共享主机

专用主机

自己编写

开源

购买

维护

硬件维护

系统运营维护

业务处理数据中心

Page 6: How To: Start your website

6

目录

简介注册域名及托管主机网站优化自建主机方案其他注意事项参考资料

Page 7: How To: Start your website

域名注册

7

域名选择 国际域名 (.com/.net/.org) 注册

DomainSiteGodaddyetc

国内域名 (.cn) 注册中国万网新网Etc

国际 / 国内域名注册比较 国际域名更便宜 [$3/ 年 ] .cn 不再对个人开放 国内域名需备案

Page 8: How To: Start your website

域名注册流程 Demo – [Godaddy]

注册用户选择域名选择年限确认订单支付方式管理域名

8

Page 9: How To: Start your website

主机商选择

9

国内主机不推荐 费用高 需备案

国外主机 $5/ 月 Windows 主机

ASP/ASP.NET/PHP Linux 主机

PHP/Perl/Ruby/Python

国外主机商选择 Godaddy LunarPages Amazon EC2 ( 免费使用一年 MicroInstance)

Page 10: How To: Start your website

10

目录

简介注册域名及托管主机网站优化自建主机其他注意事项参考资料

Page 11: How To: Start your website

用户体验

11

跨浏览器支持 IE ( 6 , 7 , 8 , 9 ) Firefox Chrome/Safari (webkit)

不要向用户显示不友好错误信息不要明文显示用户邮件地址页面 Post 之后重定向以避免重复提交向用户提供提交建议或者其他反馈的功能建立一些限制

CAPTCHA 验证码限制搜索发帖时间间隔

研发中心 UI 十八条黄金守则

Page 12: How To: Start your website

性能 & SEO

12

了解缓存机制 HTTP 缓存 / 内存缓存 知道可以缓存,什么没有必要缓存,何种方式缓存比较合适

启用 Gzip 压缩在网站根目录放置 favicon.icoCSS 放在顶部, JS 放在底部使用搜索引擎友好 URL (URL Rewrite)设置 robots.txt ( 可以自己尝试写个爬虫 )有个 xml 格式的 sitemap使用 Google Analytics 或者 Alexa Analytics避免类似 Click Here 的连接研发中心 UI 十八条黄金守则

Page 13: How To: Start your website

Demo

13

跨浏览器支持工具 IETester: 模拟 IE6 , IE7 , IE8, IE9

性能 Firefox, firebug,yslow Httpwatch/httpfox/fiddler

SysinternalsSuite Dbgview Procex Filemon …

Page 14: How To: Start your website

安全

14

OWASP 开发指导 每年发布 Top 10 网站攻击弱点

永远不要相信用户的录入不要试图创造自己的认证系统安全保存密码处理信用卡信息 ( PCI-DSS )敏感信息页面使用 HTTPS常见漏洞

SQL Injection XSS/CSRF

研发中心代码安全规范保持了解最新的攻击方式 (OWASP)

Page 15: How To: Start your website

安全 – Web SSO

15

为什么需要 Web SSO 当存在多个子站点 使用第三方认证登录 提供给第三方认证登录 提高用户使用友好度

原理

用户访问被保护信息 ...

... 认证信息返回信息提供商 .

1

3

... 用户被指向到认证中心登录 ...2

应用用户

认证中心

Page 16: How To: Start your website

安全 – Web SSO

16

常见实现方法 Cookie CAS SAML OpenID OAuth

问题: 单点故障需要为各个语言提供客户端支持如果 SSO 实现有漏洞其下所有应用都被暴露SSO 安全报告 by Rui Wang, Shuo Chen 和

XiaoFeng Wang ,研究 googleId, paypal Access, facebook等,找到数个严重逻辑错误

Page 17: How To: Start your website

设计和架构

17

Think big, Start Small; Keep every stage small

持续重构择机改版NOSQL ( Dynamo vs Bigtable )相对稳定的数据结构引入合适的技术避免技术债务备份,备份,备份SHIT Happens – 做好准备Scale up vs Scale out ITIL/MOFFamily Tree Scenario

Page 18: How To: Start your website

杂项

18

理解 HTTP协议,知道 GET, POST, sessions, cookies 等

保证 XHTML/HTML 和 CSS符合 W3C 规范了解 Javascript , Ajax 以及 Javascript框架了解浏览器如何处理页面资源 (javascript, CSS etc)2/8准则: 20% 开发, 80%维护有个好的错误报告及跟踪机制版本管理工具文档化记录适度的日志了解开发环境:操作系统,编程语言, Web Server,

Database etc.

Page 19: How To: Start your website

19

目录

简介注册域名及托管主机网站优化自建主机其他注意事项参考资料

Page 20: How To: Start your website

为何自建主机

20

自建主机的好处 访问速度可以保证 流量无限制 避免成为被天朝特色殃及的池鱼 隐私数据可以得到更好的保护 可定制系统环境 (Linux/Windows/Unix) 方便跟踪性能和日志

自建主机的不足 费用增加

硬件设备软件 License 费用电费 /UPS 设备

安全要求 运维要求 备案要求

Page 21: How To: Start your website

存储选择 是否使用 RAID? 分布式存储?

Page 22: How To: Start your website

存储选择

22

是否使用 RAID?

Page 23: How To: Start your website

服务器性能估算

23

Web服务器 要求估算SPECweb99:

∑(各业务处理的消息交互次数 ) = ∑( 用户数 * 该业务用户使用比率 * 每用户业务每分钟使用次数 * 每个Session 的呼叫次数 ) * 峰值系数

数据库服务器要求估算 TPC-C ( TPM ) = TASK * S * F / (80% * T * C) TASK:为每日业务统计峰值交易量

T:为每日峰值交易时间S:交易的复杂度C:主机 CPU 处理余量F:业务量发展冗余预留

Page 24: How To: Start your website

24

目录

简介注册域名及托管主机网站优化自建主机进阶参考资料

Page 25: How To: Start your website

技术进阶

25

不要拘泥于特定语言 /操作系统选择恰当的工具 ( 根据任务场景 )知道如何重构系统 , 理解 Unit Test 和 TDD 相关知识理解各种缓存机制适合的场景Scale up vs Sacle out懂一点 UI 设计方面的知识知道些项目管理知识关注开源社区向他人分享知识Architectural pattern

ESB/EAI/SOAETL/DW/BI

MDMP2P

Page 26: How To: Start your website

技术无关

26

像用户一样思考放下骄傲,承认失误保持谦逊活到老学到老学会休息利用 GITHUB, Freelancer等工具雇佣自由职

业者内容为王

Page 27: How To: Start your website

其他

安全性扩展性CDN

27

Page 28: How To: Start your website

References

Amazon EC (AWS) 注册

http://blog.csdn.net/along602/article/details/6410732 Godaddy 注册

http://www.issoho.com/html/res/godaddy_domain.html

Progressive Enhancement

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

Best Practices for Speeding Up Your Web Site http://developer.yahoo.com/performance/rules.html

Security Nowhttp://twit.tv/sn

Check Browser Compatibility http://browsershots.org/

Browser Security Handbook http://code.google.com/p/browsersec/wiki/Main

28

Page 29: How To: Start your website

References

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

http://baike.baidu.com/view/7102.htm TPC 事务处理性能委员会

http://www.tpc.org The Standard Performance Evaluation Corporation

http://www.spec.org/benchmarks.html#web Open Web Application Security Project

https://www.owasp.org/index.php/Main_Page CDN 内容分发网络

http://baike.baidu.com/view/21895.htm Continuous Integration

http://martinfowler.com/articles/continuousIntegration.html

NOSQL Database http://nosql-databases.org/

29

Page 30: How To: Start your website

谢 谢谢 谢