QConShanghai2013-张东进-百度PHP基础设施构建思路.pptx_第1页
QConShanghai2013-张东进-百度PHP基础设施构建思路.pptx_第2页
QConShanghai2013-张东进-百度PHP基础设施构建思路.pptx_第3页
QConShanghai2013-张东进-百度PHP基础设施构建思路.pptx_第4页
QConShanghai2013-张东进-百度PHP基础设施构建思路.pptx_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,QCon北京2014大会 4月2527日,InfoQ,infoqchina,张东进 ,百度PHP基础设施构建思路,关于我,码龄6年 长期专注于Web开发技术和高性能Web架构 近一年涉足手机客户端领域 兴趣广泛,爱折腾 微博:VP进 微信:,不谈技术,谈思路,百度PHP简史 接口比实现重要 不能落实的规范都是耍流氓 勿在浮沙筑高台,百度PHP简史 - 刀耕火种(2006),百度PHP简史 - 春秋战国(20072009),百度PHP简史 - 一统江湖(20102012),ODP(在线业务开发平台),百度PHP简史 - 全面建设(2012),OxP,服务维护,运行/运维,测试,开发,如何保持标

2、准?,接口 规范,接口比实现重要,接口是模块间的耦合点 接口频繁变更导致 异构 实现可以逐步优化,而接口必须在一开始就精心设计 稳定、兼容 易用,接口的范畴,API(类、函数、宏、URL、参数等) 任何需要调用者关注的东西都是接口 配置 部署方法 加载方法 这些都要审慎考虑!,普通日志库,问题 日志格式、日志路径硬编码 通用字段需要手工填写,ODP 日志库,接口不涉及格式和打印方式 格式、打印方式由配置决定 Predefined keys User-Defined keys,ODP 日志库,调用代码无需任何修改!,总结,“金玉其外败絮其中”并不总是贬义的,不能落实的规范都是耍流氓,编码规范,部

3、署规范,安全规范,分层规范,运维规范,API规范,URL规范,规范的尴尬,成本 学习 执行 监督,难以推行,无疾而终,怎么破,三架马车 内置到SDK 自动化检查 代码review,ODP对规范的支持,自动化部署 代码生成工具 自动打包和检查工具 Conf、Log、Env等强制性基础库 AP框架 持续集成平台Checker,普通配置,xxx.conf.php 语法过于灵活 部署极为随意,ODP 配置,Conf库:虚拟配置树 $arrHosts = Conf:get(/services/db/hosts); $arrWD = Conf:getAppConf(wd); / /app/foo/wd C

4、onfigure格式 配置管理平台 配置生成和检查工具,总结,下策:全部人肉 中策:自动监督 上策:自动执行,勿在浮沙筑高台,侯捷,著名码农精神领袖 著有深入浅出MFC等书,一门极好上手的语言,真的精通?,一道面试题,00 $a = file(a_big_file); 01 $b = $a; 02 $c = ,is_ref:0 ref_count:1,$a,$b,is_ref:0 ref_count:2,$c,is_ref:1 ref_count:2,一个真实案例,while($ip = fgets($f) $arrFilterrtrim($ip) = 1; . if(empty($arrFi

5、lter$some_ip) . ,while($ip = fgets($f) $arrFilterip2long($ip) = 1; . if(empty( $arrFilterip2long($some_ip) . ,另一个真实案例,function f($a, $b) f($bigArray, count($bigArray);,function f($b, ,function f(,function f(,A,B,C,D,你真的懂她吗?,ZVal,Function Call,OO,Request Lifecycle,ZendVM,Extensions,PHPer的节操,ZendMM,Has

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论