讨论一下PHP相关技能的层次
1、PHP编程能力
由于PHP的入门较为简单,所以暂时只有熟悉和精通两个级别。
1、熟悉PHP:精通PHP语法,掌握常用的函数,熟悉PHP5下的OOP应用,这个是基础,也没什么好说的。
2、精通PHP:对PHP运行机制的理解;对系统资源的调用交互理解;关健性能的优化能力。
2、MySQL能力
在开发上的应用基于几个能力体现:
1、了解:知道用PHP连接数据库;懂得写一些简单的SQL;建一些简单的索引;懂得用工具简单操作一下数据库(增删改库表结构数据等等)。
2、熟悉:懂得在开发应用上设计数据库,建立一些有效的索引,用explain分析SQL性能,压力测试等等。
3、很熟悉:深入了解数据库索引、存储引擎原理以及运行机制,能有效地构建高性能可扩展的数据库结构/架构,有效地优化数据库性能配置并加以调试,分析数据库运行状态。
4、精通:简单地说具备以上所有能力的同时,有多年高负载分布式环境下的优化管理经验。
据我观察以及交往经验,70%的PHPer处在了解阶段,25%处于熟悉阶段,>4%很熟悉,精通的人基本就不是phper了。
70%这个群体最容易忽视MySQL,以为MySQL只是简单的存储媒介,没有优化意识,认为加个内存、CPU就能解决问题。
典型事件:join、order by、group by等语句性能一塌糊涂,数据库根本没有设计(仅限于拆成一个主表,N个附表等),搞不清字段类型及作用,碰到大表的复杂查询就没辙。
20%这个群体的人只是MySQL运行机制理解不透彻,对影响MySQL性能的关健因素把握不明确,不熟练。
典型事件:熟读手册,但说不清索引原理,不知道二叉树、HASH等算法对于数据库的作用
>4%的群体已经基本可以胜任DBA的职能。
3、OOP能力
1、了解:了解变量的作用域、类型,及其意义,了解继承机制等,懂得复用、封装概
念。
2、熟悉:熟练应用接口、抽象等技术混合开发程序,并理解其中含义,一般研究过JAVA。
3、很熟悉:有过OOP架构设计经验,熟悉设计模式、UML,熟悉PHP对象运行机制,内容管理等。
4、精通:应该是架构师级别了,不限于PHP。
经常我们会碰到一些自称熟悉OOP却连public、private、protected、static都解释不清的人,是肯定没有经历过正规的OOP项目。
4、大型网站经验
1、了解:熟悉PHP开发下的缓存应用(memcache、APC等);接触过LVS、SQUID应用;
有一定的session处理方案;熟悉负载均衡;熟悉PHP数据连接池应用;了解PHP编程性能优化。
2、熟悉:掌握分布式缓存及缓存性能优化、熟悉存储系统、文件系统、数据库,开发可扩展平台。能结合负载均衡合理布置流量,对PHP运行性能进行监控与分析。
3、非常熟悉:具备系统分析师能力,已经超出phper环节...
4、精通:太深奥..
5、操作系统应用能力
操作系统的熟悉与精通需要需要广泛且扎实的基础理论,而对于开发者来说,熟悉基本的命令操作,对WEB相关服务的安装、配置、优化能力需要具备。
讨论一下PHP相关技能的层次的更多相关文章
- android相关技能
深读: 如:View.ViewGroup.AdapterView.ListView.GridView.Window.ViewDragHelper.ItemTouchHelper.SurfaceView ...
- IT职业:2021年掌握的10项关键技能
原文:https://enterprisersproject.com/article/2020/12/it-careers-10-critical-skills-master-2021 科技行业似乎在 ...
- 跟上节奏 大数据时代十大必备IT技能(转)
新的想法诞生新的技术,从而造出许多新词,云计算.大数据.BYOD.社交媒体……在互联网时代,各种新词层出不穷,让人应接不暇.这些新的技术,这些新兴应用和对应的IT发展趋势,使得IT人必须了解甚至掌握最 ...
- Docker和DevOps是找工作必备技能
根据最近的IT Jobs Watch数据,涉及Docker技术的的工作角色上升了317名次,排在500个最受追捧的IT技能第二位.无独有偶,从Rackspace最近的研究表明,Docker和DevOp ...
- 跟上节奏 大数据时代十大必备IT技能
跟上节奏 大数据时代十大必备IT技能 新的想法诞生新的技术,从而造出许多新词,云计算.大数据.BYOD.社交媒体……在互联网时代,各种新词层出不穷,让人应接不暇.这些新的技术,这些新兴应用和对应的IT ...
- Tomcat相关面试题,看这篇就够了!保证能让面试官颤抖!
Tomcat相关的面试题出场的几率并不高,正式因为如此,很多人忽略了对Tomcat相关技能的掌握. 这次整理了Tomcat相关的系统架构,介绍了Server.Service.Connector.Con ...
- 蓝牙协议分析(5)_BLE广播通信相关的技术分析
1. 前言 大家都知道,相比传统蓝牙,蓝牙低功耗(BLE)最大的突破就是加大了对广播通信(Advertising)的支持和利用.关于广播通信,通过“玩转BLE(1)_Eddystone beacon” ...
- 自己动手写CPU之第五阶段(2)——OpenMIPS对数据相关问题的解决措施
将陆续上传本人写的新书<自己动手写CPU>(尚未出版).今天是第16篇.我尽量每周四篇 5.2 OpenMIPS对数据相关问题的解决措施 OpenMIPS处理器採用数据前推的方法来解决流水 ...
- 6月20日 Django中ORM介绍和字段、字段参数、相关操作
一.Django中ORM介绍和字段及字段参数 二.Django ORM 常用字段和参数 三.Django ORM执行原生SQL.在Python脚本中调用Django环境.Django终端打印SQL语句 ...
随机推荐
- Java中关于String的split(String regex, int limit) 方法
今天在对一个String对象进行拆分的时候,总是无法到达预计的结果.呈现数据的时候出现异常,后来debug之后才发现,错误出在String spilt上,于是开始好好研究下这东西,开始对api里的sp ...
- ora-01445 无法从不带保留关键字的表的联接视图中选择 ROWID 或采样
ora-01445无法从不带保留关键字的表的联接视图中选择 ROWID 或采样 从网上找了很多资料,许多都是没结贴的,说什么的都有,排查了一下sql 发现各个段的left join都没有错误. 有一个 ...
- [SQL注入3]from_sqli_to_shell_II
[SQL注入1]这关学习盲注 ,这篇还有些东西没理透,后面搞明白了再修改. http://www.pentesterlab.com/exercises/from_sqli_to_shell_II/ 准 ...
- 标签 Attribute
在一个类上面放一个标签,可以用来表示一些特定规则,比如某个对象的某个属性不想被json化,那么我们在它头上放个标签就行了,或是做ORM时指定某个Class对应的table名字等. 最后标签是通过反射来 ...
- Iterator pattern(c++实现)
概述: 在现在的电视机中,我们使用[后一个]和[前一个]按钮可以很方便的换台,当按下[后一个]按钮时,将切换到下一个预置的频道.想象一下在陌生的城市中的旅店中看电视.当改变频道时,重要的不是几频道,而 ...
- Qt自定义带游标的slider,在滑块正上方显示当前值(类似于进度条,用一个额外的QLabel冒充QSilder的一部分,然后move就行了)
首先自定义QSlider的子类MyCustomSlider,如下所示. mycustomslider.h #ifndef MYCUSTOMSLIDER_H #define MYCUSTOMSLIDER ...
- COJ 0138 NOIP201108计算系数
NOIP201108计算系数 难度级别:A: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 给定一个多项式(ax + by)^k,请求出多项式 ...
- MVC4.0中ViewBag、ViewData、TempData和ViewModel几种传值方式的区别
MVC框架实现了数据的分离,使页面看起来更加的简洁,MVC4.0中Controller和View的数据传输有上边这几种方式,今天我们来探讨下这几种方式的却别. 一:ViewBag和ViewData V ...
- delphi客户端调服务器端的java webservice如何在参数中传对象? 转
我试过java返回一个对象到delphi端没问题,可反过来,delphi通过参数传一个对象到java,java端得到的对象值变为空,不知道是不是delphi这边设置或者对象注册方面有问题,究竟该怎么解 ...
- 2014-08-13 SQL语句之Left Join
今天是在吾索实习的第26天.这天在处理数据库数据的时候发现了一个不错的语句就是Left Join,即左连接. 其功能是:即使右表中没有匹配,也从左表返回所有的行.也就是说,显示的行数与左表一致,且当 ...