怎样成为PHP 方向的一个合格的架构师

突然看到这篇文章, 值得反省, 乐在其中, 在接下来的发展中不被淘汰的都来看看,

如何成为一个架构师

先明确这里所指的PHP工程师,是指主要以PHP进行Web系统的开发,没有使用其的语言工作过。工作经验大概在3~4年,普通的Web系统(百万级访问,千成级数据以内或业务逻辑不是特别复杂)开发起基本得心应手,没有什么问题。但他们会有这样的误点:

◆ 除了PHP不使用其它的语言,可能会点shell 脚本。

◆ 对PHP的掌握不精(很多PHP手册都没有看完,库除外)。

◆ 知识面比较窄(面对需求,除开使用PHP和MYSQL,不知道其它的解决办法)。

◆ PHP代码以过程为主,认为面向对象的实现太绕,看不懂。

这些PHPer在遇到需要高性能,处理高并发,大量数据的项目或业务逻辑比较复杂(系统需要解决多领域业务的问题)时,缺少思路。不能分析问题的本
质,技术判断力比较差,对于问题较快能找出临时的解决办法,但常常在不断临时性的解决办法中,系统和自己一步步走向崩溃。那怎么提高自己呢?怎么可以挑战
难度更高的系统?

更高的挑战在那里?

结合我自己的经验,我列出一些具体挑战,让大家先有个感性的认识。

高性能系统的挑战在那里?

◆ 如何选择Web服务器?要不要使用fast-cgi 模式;

◆ 要不要使用反向代理服务?选择全内存缓存还是硬盘缓存?

◆ 是否需要负载均衡?是基于应用层,还是网络层? 如何保证高可靠性?

◆ 你的PHP代码性能如何,使用优化工具后怎么样? 性能瓶颈在那里? 是否需要写成C的扩展?

◆ 用户访问有什么特点,是读多还是写多?是否需要读写分离?

◆ 数据如何存储?写入速度和读出速度如何? 数据增涨访问速读如何变化?

◆ 如何使用缓存? 怎么样考虑失效?数据的一致性怎么保证?

高复杂性系统的挑战在那里?

◆ 能否识别业务所对应的领域?是一个还是多个?

◆ 能否合理对业务进行抽象,在业务规则变化能以很小的代价实现?

◆ 数据的一致性、安全性可否保证?

◆ 是否撑握了面向对象的分析和设计的方法?

这里所列出的问题,你都能肯定的回答,说明在技术上你基本已经可能成为架构师了。如何你还不能回答,你需要在以下几个方向加强。

怎么样提高,突破瓶颈

如何你还不能回答,你需要在以下几个方向加强:

◆ 分析你所使用的技术其原理和背后运行的机制,这样可以提高你的技术判断力,提高你技术方案选择的正确性;

◆ 学习大学期间重要的知识,操作系统原理,数据结构和算法。知道你以前学习都是为了考试,但现在你需要为自己学习,让自己知其所以然;


重新开始学习C语言,虽然你在大学已经学过。这不仅是因为你可能需要写PHP扩展,而且还因为,在做C的应用中,有一个时刻关心性能、内存控制、变量生命周期、数据结构和算法的环境;

◆ 学习面向对象的分析与设计,它是解决复杂问题的有效的方法。学习抽象,它是解决复杂问题的唯一之道。

转自:http://blog.csdn.net/fangaoxin/article/details/6713756

怎样成为PHP 方向的一个合格的架构师,布布扣,bubuko.com

时间: 2024-10-26 01:08:02

怎样成为PHP 方向的一个合格的架构师的相关文章

如果让你自评一下,你能成为一个好的架构师吗

架构师,这个title就和总监之类的title一样,已经彻底被用烂了,但在一个软件产品的生命周期中,架构师是实实在在的一个极度重要的角色,这篇文章就来讲讲我觉得的架构师的画像,到底具备什么素质的同学是贴合架构师形象的,同时欢迎大家回复下在你心目中NB的架构师的画像是怎么样的呢. 业务理解和抽象能力架构师的第一职责是理解业务,并转换为可被研发理解的实现方案,因此业务理解能力是架构师的必备技能,通常来说一个资深的业务架构师,对业务会有非常深的认识和积累,一个极好的业务架构师应该能大概预判业务未来的发

你离 精通微服务 只差一个阿里资深架构师整理的微服务实战文档

前言 什么是微服务 在介绍微服务时,首先得先理解什么是微服务,顾名思义,微服务得从两个方面去理解,什么是"微".什么是"服务", 微,狭义来讲就是体积小.著名的"2 pizza 团队"很好的诠释了这一解释(2 pizza 团队最早是亚马逊 CEO Bezos提出来的,意思是说单个服务的设计,所有参与人从设计.开发.测试.运维所有人加起来 只需要2个披萨就够了 ). 而所谓服务,一定要区别于系统,服务一个或者一组相对较小且独立的功能单元,是用户可以

学习成为一个IT架构师

做了4年的java程序员,一直考虑自己以后的发展方向.自己是一个不适合走管理路线的人,所以考虑继续在技术方面深入下去. 相信好多程序员都和我有相同的感觉,做了好多年代码民工,感觉自己每天都在重复着相同的事情. Copy代码复制粘贴,感觉过了这么久自己的进度很小. 辞去了之前的工作,打算静下心来好好考虑下自己以后的道路.打算在这段时间,学习下如何成为一个好的架构师. 第一节: 首先了解了下什么是架构师,架构师都有那些? 架构师实际上就是软件的总体设计师.首席设计师就是总设计师,打个通俗的比方:**

资深大牛分享:一个合格的Java程序员如何成长为优秀的架构师

踽踽独行上下求索总是痛苦,如果有良师益友陪伴点拨必能事半功倍.从新手码农到高级架构师,要经过几步?要多努力,才能成为为人倚重的技术专家?本文将为你带来一张程序员发展路径图,但你需要知道的是,天下没有普适的道理,具体问题还需具体分析,实践才能出真知.资深大牛分享:一个合格的Java程序员如何成长为优秀的架构师如果大家如果在自学遇到困难,想找一个java的学习环境,可以加入我们的java学习圈,点击我加入吧,会节约很多时间,减少很多在学习中遇到的难题. 我认为,架构师的内功主要包含三部分:判断力.执

目录 如何成为一个合格的段子手

如何成为一个合格的段子手(六) http://mp.weixin.qq.com/s?__biz=MzAxNzI4MTMwMw==&mid=402013430&idx=1&sn=b5ab0781684d4a4a5a71211349061f28&3rd=MzA3MDU4NTYzMw==&scene=6#rd 如何成为一个合格的段子手(五) http://mp.weixin.qq.com/s?__biz=MzAxNzI4MTMwMw==&mid=402002325

我想做一个合格的工程师

我想吐槽下,在新公司经过三个月的试用期,前两天终于完成了转正答辩,其实答辩就是两个我们项目组的两个项目经理(一个项目经理马上要离任了,另外一个新来的两个月,继任前者作为项目经理.),还有一个人事的同事.连一个部门经理或者稍大点的领导都没有参与我的答辩.感觉答辩的意义都没有了,但是巨坑的是,新项目经理说“有木有打算培训班学习想法”,“对数据库的应用要学习学习”,我想这不是赤裸裸讽刺我基础太差么?其实我确实来这家公司之前,没有用过MVC,这个能力也学稍弱与这个项目经理.但是我可以讲,我的其他能力绝对

作为一个合格的Web前端工程师,需要具备哪些技能呢?

那么作为一个合格的Web前端工程师,需要具备哪些技能呢? HTML5 HTML是超级文本标记语言,是为"网页创建和其他可在网页浏览器中看到的信息"设计的语言.HTML5是由万维网发布的最新的语言规范,是开放的Web网络平台的奠基石,所以做Web前端,精通HTML5是必须要掌握的一项技能. CSS3 CSS即层叠样式表. 在网页制作时采用层叠样式表技术,可以有效地对页面的布局.字体.颜色.背景和其它效果实现更加精确的控制. 只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,

怎样成为一个合格的测试工程师

一个测试工程师应该具备的素质我想在很多介绍软件测试的书里已经都列举过了,这里就不在重复,而一个合格的测试工程师和一个测试工程师的最大区别在哪儿?不外乎就在与测试思想.合格就在于他接受到测试任务后所做的第一件事情是想而不是做.合格就在于他将他自己的想法始终贯穿于整个测试中,包括测试设计中,测试执行中,测试分析中. 许多人都会说测试思想是一个空洞的东西,而我也曾经写过或说过太多的例子用以证明它,这里只建议想做合格测试工程师的人去看一本书吧,它的名字是<think in java>,在我眼里,它并不

一个合格的前端工程师必看的书籍

以我的经验,大部分技术,熟读下列四类书籍即可. 入门,用浅显的语言和方式讲述正确的道理和方法,如head first系列 全面,巨细无遗地探讨每个细节,遇到疑难问题时往往可以在这里得到理论解答,如Definitive Guide/Programming xx系列 实践,结合实际中经常遇到的情景环境,来描述如何设计和解决问题,如cookbook系列 深入,讲解一些文化,思路,甚至于哲学上的东西,真正做到深入一种语言去编程,如unix编程艺术,程序员修炼之道等等 那么,目前为止我认为最好的书是: c