【四旋翼飞行器】76小时吃透四轴算法!史上最强软硬结合实战项目,👉戳此立抢👈

PHP工程师怎样自我突破

工程师人生 2018-10-11 09:36 次阅读
身边有几个做PHP开发的朋友,因为面试,也接触到不少的PHP工程师,他们常疑虑自己将来在技术上的成长与发展,我常给他们一些建议,希望他们能破突自己,有更好的发展。 PHP工程师面临成长瓶颈 先明确我所指的PHP工程题,是指毕业工作后,主要以PHP进行WEB系统的开发,没有使用其他语言工作过。工作经验大概在3~4年,普通的WEB系统(百万级访问,千成级数据以内或业务逻辑不是特别复杂)开发起基本得心应手,没有什么问题。但他们会这样的物点: 除了PHP不使用其它的语言,可能会点shell 脚本。 对PHP的掌握不精(很多PHP手册都没有看完,库除外) 知识面比较窄(面对需求,除开使用PHP和mysql ,不知道其它的解决办法) PHP代码以过程为主,认为面向对象的实现太绕,看不懂 这些PHPer 在遇到需要高性能,处理高并发,大量数据的项目或业务逻辑比较复杂(系统需要解决多领域业务的问题)时,缺少思路。不能分析问题的本质,技术判断力比较差,对于问题较快能找出临时的解决办法,但常常在不断临时性的解决办法中,系统和自己一步步走向崩溃。那怎么提高自己呢?怎么可以挑战难度更高的系统? PHP工程师怎样自我突破 更高的挑战在那里? 结合我自己的经验,我列出一些具体挑战,让大家先有个感性的认识。 高性能系统的挑战在哪里? 如何选择WEB服务器?要不要使用fast-cgi 模式 要不要使用反向代理服务?选择全内存缓存还是硬盘缓存? 是否需要负载均衡?是基于应用层,还是网络层? 如何保证高可靠性? 你的PHP代码性能如何,使用优化工具后怎么样? 性能瓶颈在那里? 是否需要写成C的扩展? 用户访问有什么特点,是读多还是写多?是否需要读写分离? 数据如何存储?写入速度和读出速度如何? 数据增涨访问速读如何变化? 如何使用缓存? 怎么样考虑失效?数据的一致性怎么保证? 高复杂性系统的挑战在哪里? 能否识别业务所对应的领域?是一个还是多个? 能否合理对业务进行抽象,在业务规则变化能以很小的代价实现? 数据的一致性、安全性可否保证? 是否撑握了面向对象的分析和设计的方法 当我所列出的问题,你都能肯定的回答,我想在技术上你基本已经可能成为架构师了。如何你还不能回答,你需要在以下几个方向加强。 怎么样提高,突破瓶颈 如何你还不能回答,你需要在以下几个方向加强: 分析你所使用的技术其原理和背后运行的机制,这样可以提高你的技术判断力,提高你技术方案选择的正确性; 学习大学期间重要的知识, 操作系统原理,数据结构和算法。知道你以前学习都是为了考试,但现在你需要为自己学习,让自己知其所以然。 重新开始学习C语言,虽然你在大学已经学过。这不仅是因为你可能需要写PHP扩展,而且还因为,在做C的应用中,有一个时刻关心性能、内存控制、变量生命周期、数据结构和算法的环境。 学习面向对象的分析与设计,它是解决复杂问题的有效的方法。学习抽象,它是解决复杂问题的唯一之道。 “这么多的东西怎么学,这得学多久呀” ? 如果你努力的话,有较好的规划,估计需要1~2年的时间,怎么学习的问题,我们后续再谈。 (注:下面是原文作者左文建分享的学习方法) 学习建议 如何有效的学习是一个大问题。 自己有些实践但很零散,不好总结。昨天晚上睡觉前,突然想到了RUP的核心,“以架构为中心,用例驱动,迭代开发”,借用这个思想,关于有效的学习的方法,可以这样来表述: 以原理、模型或机制为中心,任务驱动,迭代学习 有点抽象, 举个例子来说明如何学习。 目的: 学习如何提高处理性能。 可迭代驱动的任务: 通过IP找到所在地域。 这是WEB应用常见的任务,IP数据库是10左右万行的记录。 第一次迭代: 不考虑性能的情况下实现功能(通过PHP来实现) 因为无法直接通过KEY(IP)进行查找地域,所以直接放到数据或通过关联数组这种简单的方法都是不行的。思路还是先把数据进行排序,然后再进行查找 1. 如何通过IP查找? 已序的数据,二分查找是最快的。 2. 如何排序?用库函数sort当然 是可以,但是即然是学习,那还是自己实现快速排序吧。 学习目标: 排序算法,查找算法 PHPer 数据结构和算法基础比较差,平时也没有这方面的任务,自己也不学习,因此这方面的知识很缺乏。但是,编程解决的问题,最终都会归结到数据结构和对这种数据结构操作的算法。如果数据结构算法常在心中,那遇到问题就能清晰认识到它内在的结构,解决方法就会自然产生。 第二次迭代:优化数据的加载与排序 如果做到第一步,那基本上还是不可用,因为数据每次都需要的加载和排序,这样太耗时间。 解决的思路是,数据一次加载排序后,放到每个PHP进程能访问到的地方。 放到memcache 这是大家容易想到问题。其实放到共享内存(EA等加速器都支持)中是更快的方式,因为memcache还多了网络操作。 数据是整体放入到共享内存,还是分块放入,如何测试性能? 如何分析瓶颈所在(xdebug)? 在这些问题的驱动下你会学习到 学习目标: 检测、定位、优化PHP性能的方法; PHP实现结构对性能的影响。 第三次迭代: 编写PHP的扩展 性能还是上不去,不得不进入C/C++的世界了,不过从此你将不只是PHPer 而服务端的全能型工程师,当然这对没有做过C/C++的同学挑战是巨大的。 我这里无法再简单来说如何学习C/C++ ,可以参看 《PHP程序员学习C++》 学习目标:C/C++的学习,PHP扩展的编写 怎么确定需要学习的机制和原理呢? 怎么找到驱动学习任务呢? 我对需要学习的东西,都没有什么概念,怎么回答以上的两个问题? 从这个技术的定位来找出需要学习的重点,即它怎么做到(机制)的和它为什么能这样做到 (模型或原理) 列出这个技术最常见的应用,做为学习的任务,从简到难进行实践。 假如我需要学习Javascript ,我对于HTML,CSS有点感性认识 首要我了解到,JS 是WEB领域的动态语言,主要解决网页的动态交互的。 那我要学习的要点如下: JS如何与HTML 进行交互 (机制) JS的动态特性在那里,与其它动态语言有何区别?(语言模型) 如果完全自学,找到需要学习的要点(机制、模型、原理) 设定学习任务的确不是那么容易把握。如果找到一个有经验的人来指导你或加一个学习型的团队,那学习的速度的确会大大提高。 最后,我想说的是: PHP因为简单而使用,但不能因为它的简单而限制我们成长!
收藏 人收藏
分享:

评论

相关推荐

Web前端开发是做什么的 薪资待遇怎么样

前端开发这个行业目前来说已经不算是个新兴的行业了,越来越多的人在这两年开始转型做Web前端开发,但是....
的头像 工程师人生 发表于 01-23 17:18 76次 阅读
Web前端开发是做什么的 薪资待遇怎么样

工程师对于深度学习的4个档次

最近不少朋友问我,转行做深度学习的话,能不能找到工作,能找到什么样的工作,能达到什么样的收入水平……
的头像 工程师人生 发表于 01-23 17:11 30次 阅读
工程师对于深度学习的4个档次

一位大数据工程师的自述

其实个人在大数据在大数据这个坑中,细细算来,时间也有3+年了,从一开始做大数据中心平台开发构建,到现....
的头像 工程师人生 发表于 01-23 17:04 71次 阅读
一位大数据工程师的自述

大数据工程师需要具备哪些能力

大数据是眼下非常时髦的技术名词,与此同时自然也催生出了一些与大数据处理相关的职业,通过对数据的挖掘分....
的头像 工程师人生 发表于 01-23 16:55 86次 阅读
大数据工程师需要具备哪些能力

怎样成为优秀的大数据工程师

在互联网盛行的今天,能够预测未来需要依靠更多数据支持,从数据的趋势和分析中,就可以把未来的发展动向掌....
的头像 工程师人生 发表于 01-23 16:43 56次 阅读
怎样成为优秀的大数据工程师

怎样快速成为算法工程师

在本文介绍算法工程师当中,我分为以下三个部分来为大家做简单的讲解和梳理:
的头像 工程师人生 发表于 01-22 17:03 45次 阅读
怎样快速成为算法工程师

一名算法工程师的迷茫

一个程序员网友在网上诉说自己是误打误撞做了算法工程师一职,但是工作的事情,让他觉得自己非常尴尬的存在....
的头像 工程师人生 发表于 01-22 16:58 57次 阅读
一名算法工程师的迷茫

JAVA工程师周末一般都做什么

身处在互联网大潮中,JAVA工程师又似乎成为了这个时代最火、最受欢迎的职业。“老实、高薪、不花心”是....
的头像 工程师人生 发表于 01-22 16:48 62次 阅读
JAVA工程师周末一般都做什么

工程师最重要的能力是有哪些

手机响了,是一个实施工程师打过来的,说现场的数据采集不上来,问怎么解决。我问软件的版本,仪器的型号,....
的头像 工程师人生 发表于 01-22 16:37 60次 阅读
工程师最重要的能力是有哪些

网络工程师的现状如何

学技术不是职业规划的万能药!
的头像 工程师人生 发表于 01-21 16:12 150次 阅读
网络工程师的现状如何

工程师思维是怎样的

为什么想到写这篇文章?作者是想通过对工程师思维的分析和解读,让工程师能正确对待那些在现实工作中看上去....
的头像 工程师人生 发表于 01-21 16:06 128次 阅读
工程师思维是怎样的

怎样成为全栈工程师

随着软件技术的发展以及市场需求的变化,全栈工程师似乎已成为未来发展趋势。很多 Flag 公司都已经声....
的头像 工程师人生 发表于 01-21 16:00 113次 阅读
怎样成为全栈工程师

前端工程师要做哪些事情

前端工程师的英文名为front-end engineer,简称FE。
的头像 工程师人生 发表于 01-18 16:36 143次 阅读
前端工程师要做哪些事情

张飞电子视频课程宗旨

对于工程师到外面去找工作,人家公司问你的第一个就是说:你会什么?会做什么?在工程师在公司里面最会做项....
的头像 发烧友学院 发表于 01-16 17:19 257次 阅读
张飞电子视频课程宗旨

IC设计工程师应该要具备的知识架构(超详细)

作为一个真正合格的数字IC设计工程师,你永远都需要去不断学习更加先进的知识和技术。因此,这里列出来的....
发表于 01-04 16:36 218次 阅读
IC设计工程师应该要具备的知识架构(超详细)

花几个小时,就挣3000块,这个福利就等工程师来了!

发表于 01-02 14:56 2036次 阅读
花几个小时,就挣3000块,这个福利就等工程师来了!

EMC工程师的发展及演变

要了解什么是EMC工程师,我们首先要了解什么是EMC。工程师这个职业相信大家都耳熟能详了,像硬件工程....
的头像 韬略科技EMC 发表于 12-22 10:47 787次 阅读
EMC工程师的发展及演变

完全免费!电子发烧友创新开放实验室正式建成开放

在华强聚丰集团旗下的电子发烧友成立十周年之际,为回馈社会,给电子发烧友工程师用户提供更多的设计资源的....
的头像 人间烟火123 发表于 12-11 17:04 2512次 阅读
完全免费!电子发烧友创新开放实验室正式建成开放

工程师的工作日常生活,太真实了

1当一早客户又要求改程序的时候工程师的脑海里是...2当突然从领导那得知被安排接手离职同事的项目时.....
的头像 电子发烧友网工程师 发表于 12-01 10:07 1009次 阅读
工程师的工作日常生活,太真实了

一名工程师的工作总结

在新的公司工作半年了时间飞逝,作为一名工程师,也要时刻对自己反省,这样才能够有所提升,在工作中我总结....
的头像 工程师人生 发表于 11-29 14:44 1000次 阅读
一名工程师的工作总结

工程师怎样体现自己的价值

我一直认为,工程师,尤其是一线的,是最接近真相的人,也是最懂业务的人,应该有充分自由去实现自己想做的....
的头像 工程师人生 发表于 11-28 15:15 547次 阅读
工程师怎样体现自己的价值

非计算机专业前端工程师的真实经历

2010年5月4号,大三,在浙大紫金港的图书馆,第一次知道了HTML的含义,慢慢的开始接触CSS,j....
的头像 工程师人生 发表于 11-26 15:44 621次 阅读
非计算机专业前端工程师的真实经历

一位工程师的亚马逊面试经历

这一切都从我还在SAP工作的时候开始。几个同行注意到亚马逊在耶鲁镇开了一家新办公室。我记得应该是在2....
的头像 工程师人生 发表于 11-23 16:43 1299次 阅读
一位工程师的亚马逊面试经历

Chrome‎视觉设计工程师师讲述自己是如何进入Google的

两年多前我进 Google 的时候,有几个人请我说说如何录取的故事,我答应了,但从未做到。有可能因为....
的头像 工程师人生 发表于 11-19 11:11 996次 阅读
Chrome‎视觉设计工程师师讲述自己是如何进入Google的

设计工程师面试时常遇到的问题

这篇文章我想聊聊面试人的心得。当我必须要面试新人的时候,肯定代表我在某方面会比应试者有经验。面试的过....
的头像 工程师人生 发表于 11-18 10:44 536次 阅读
设计工程师面试时常遇到的问题

如何进行安卓动态桌面的设计与实现

为解决目前应用市场上常见的Android手机桌面应用存在的诸多问题,本文采用MV架构设计,Andro....
发表于 11-16 17:17 832次 阅读
如何进行安卓动态桌面的设计与实现

成功的工程师通常都具备哪些思维

如果你是一个天才工程师(马上可以离开),可以独立完成一个很多事情,你可以是一个怪咖,因为我相信没有一....
的头像 工程师人生 发表于 11-14 17:01 556次 阅读
成功的工程师通常都具备哪些思维

一位工程师的日常工作感悟

年轻的同学喜欢按学习曲线来看自己过去的每一年,但是这种方式很快就会步入到瓶颈,学习曲线增长突然会变得....
的头像 工程师人生 发表于 11-13 10:17 660次 阅读
一位工程师的日常工作感悟

十年工程师生涯分享

再过几天就是我从业十年的纪念日啦,回首这过去的十年,个中辛酸和快乐只有经历过后才有切肤的体会,有加班的烦劳,有择业的困惑...
发表于 11-08 09:46 204次 阅读
十年工程师生涯分享

解决芯片工程师的两大痛点

看看今天的物联网和智能设备领域,你可能会觉得现在是成为芯片工程师最好的年代。设备越来越小,将越来越多....
发表于 11-07 16:38 643次 阅读
解决芯片工程师的两大痛点

开关稳压器LT1766EGN#TRPBF主要应用于哪些产品

开关稳压器  LT1766EGN#TRPBF 这是料号  主要应用于哪些产品 ...
发表于 11-07 11:36 206次 阅读
开关稳压器LT1766EGN#TRPBF主要应用于哪些产品

为什么说未来是全栈工程师的世界

技术在过去的几十年里进步很快,也将在未来的几十年里发展得更快。今天技术的门槛下降得越来越快,原本需要....
的头像 工程师人生 发表于 11-05 14:20 579次 阅读
为什么说未来是全栈工程师的世界

PHP程序员怎样规划技术成长路线

按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别....
的头像 工程师人生 发表于 11-05 11:30 430次 阅读
PHP程序员怎样规划技术成长路线

未来的工程师会做些什么

更新: Grace和Noah一直忙于他们的夏季项目。 查看他们的工作,并在每个星期的8月份回来看看更多。 我参加工程课已经很长时...
发表于 11-01 15:45 176次 阅读
未来的工程师会做些什么

工程师写技术博客有哪些好处

没有读者,写技术博客文章感觉不到太多的作用,是浪费时间的事情,是这样吗?
的头像 工程师人生 发表于 10-31 11:21 612次 阅读
工程师写技术博客有哪些好处

工程师怎样关注自己的健康问题

我发现很多程序员都认为敲代码对他们的身体健康貌似没什么影响。我真的非常希望,大家能对程序员面临的健康....
的头像 工程师人生 发表于 10-31 10:54 596次 阅读
工程师怎样关注自己的健康问题

关于放大器设计工程师必须知道的100个基本问题(ZT)

网上看到以对答形式总结的基本原理、概念及实用经验,非常棒的资料,转发分享,放大器应用是个经验活,希望大家多分享交流: ...
发表于 10-31 09:04 271次 阅读
关于放大器设计工程师必须知道的100个基本问题(ZT)

工程师写博客有什么好处

客文章,是种与自我的对话,也是种与外界的联繫,也是获得 level up 或 skill learn....
的头像 工程师人生 发表于 10-30 15:11 1078次 阅读
工程师写博客有什么好处

一个老工程师给新毕业大学生的几点建议

作为一个二十年前毕业的大学生,我和现在的许多人一样走过了,迷茫,选择,再迷茫,再选择的过程。现在把我所经历的一些东西写出...
发表于 10-29 09:32 374次 阅读
一个老工程师给新毕业大学生的几点建议

如何成为更优秀的工程师?

来自Heap(一家主要为企业提供用户数据分析架构的企业)早期员工Michael Malis,就如何成....
的头像 嵌入式资讯精选 发表于 10-28 09:51 708次 阅读
如何成为更优秀的工程师?

工程师面试创业公司的真实经历

硅谷充满了下面这种创业公司,它们疯狂崇拜在面试中能够答对几道编码难题的候选人,并认为雇佣这些人最终会....
的头像 工程师人生 发表于 10-27 09:43 596次 阅读
工程师面试创业公司的真实经历

一名资深IT工程师的面试经验

我已经在 IT 领域工作了相当长时间,有 12 年了。作为一个曾经的求职者和面试官,我对面试有一个客....
的头像 工程师人生 发表于 10-24 10:02 705次 阅读
一名资深IT工程师的面试经验

IT工程师怎样利用副项目找工作

为了在 IT 科技领域谋求一份工作而做副项目,这要不就是极好利用时间,就是在极大浪费时间。
的头像 工程师人生 发表于 10-24 09:41 444次 阅读
IT工程师怎样利用副项目找工作

IT工程师如何高效的学习

IT 行业是一个变化非常快的行业,它需要我们持续去学习新的知识和技能。 但是,工作以后,我们经常会发....
的头像 工程师人生 发表于 10-23 10:46 696次 阅读
IT工程师如何高效的学习

为什么有的公司总是抱怨找不到好的工程师

几个月前,我参加了一场针对技术领域女性的活动。很多参加者中是新的开发者,毕业于编程学校或者计算机科学....
的头像 工程师人生 发表于 10-23 10:37 617次 阅读
为什么有的公司总是抱怨找不到好的工程师

一位Java工程师的找工作经历

作者从业 10 几年,经历过大大小小的面试也去过一些大公司,还经历过一些大的找工作浪潮,也看到过很多....
的头像 工程师人生 发表于 10-22 10:56 1035次 阅读
一位Java工程师的找工作经历

一名前端工程师的从业经历

四年之前,我也是从原生Js开始,HTML,CSS,浏览器兼容,操作DOM,Ajax交互,慢慢到后来,....
的头像 工程师人生 发表于 10-21 09:51 741次 阅读
一名前端工程师的从业经历

产品开发别侥幸——该来的一定会来的

注:本文是作者以前发表在其个人博客,现在发布到电子发烧友专栏开发的产品越多,就越相信这个世界不存在完美的产品,
的头像 聚丰开发 发表于 10-19 11:26 540次 阅读
产品开发别侥幸——该来的一定会来的

一名JAVA工程师的八年从业经验分享

在中国有很多人都认为IT行为是吃青春饭的,如果过了30岁就很难有机会再发展下去!其实现实并不是这样子....
的头像 工程师人生 发表于 10-19 10:28 901次 阅读
一名JAVA工程师的八年从业经验分享

一位Java工程师的职业规划

一位哲人说过:“走好每一步,就是你的人生。”,人生之路说长也长,是因为这是你一生所要走的艰难险阻的跋....
的头像 工程师人生 发表于 10-19 10:17 722次 阅读
一位Java工程师的职业规划

成为高级工程师的必备素质有哪些

之前很多人问过我这么个问题,说怎样才能成为一名高级工程师?我觉得这是一个很好的话题,技术人的职业规划....
的头像 工程师人生 发表于 10-19 09:42 909次 阅读
成为高级工程师的必备素质有哪些

工程师和码农的最大区别在哪

工程师和码农的区别并不在于技术水准的高低。
的头像 工程师人生 发表于 10-17 09:15 814次 阅读
工程师和码农的最大区别在哪

前端工程师面试技巧

我在Twitter和Stripe的一部分工作内容是面试前端工程师。其实关于面试你可能很有自己的一套,....
的头像 工程师人生 发表于 10-15 10:57 598次 阅读
前端工程师面试技巧

网页工程师应该怎样规划自己的技术之路

如今网页的重要性毋庸置疑,在商业上,好的网站已经是企业保持竞争力的重要环节。伴随着网页开发技术的日新....
的头像 工程师人生 发表于 10-12 10:26 1152次 阅读
网页工程师应该怎样规划自己的技术之路

成为Python工程师需要哪些技能

掌握计算机的构成和工作原理
的头像 工程师人生 发表于 10-12 09:54 864次 阅读
成为Python工程师需要哪些技能

PM应该把工程师作为伙伴而不是工具

过节前看到一篇文章,讲产品项目就应该由工程师来主导,但国内让PM去驱动项目,搞得乱七八糟,很恼火,怎....
的头像 工程师人生 发表于 10-12 09:38 705次 阅读
PM应该把工程师作为伙伴而不是工具

工程师必看:六招搞定常见电子元器件的检测

1. 判断晶振的好坏 先用万用表(R×10k挡)测晶振两端的电阻值,若为无穷大,说明晶振无短路或漏电;再将试电笔插入市电插孔内,...
发表于 10-04 16:52 312次 阅读
工程师必看:六招搞定常见电子元器件的检测

不用加班就能挣3000块,这个国庆就等工程师来了!

有份献给工程师的国庆大礼待接收… 给工程师的你一个“名利双收”的国庆节… 国之庆典,举国欢腾 天安门下,汇集无数人炽热的...
发表于 09-29 10:08 1023次 阅读
不用加班就能挣3000块,这个国庆就等工程师来了!

面试问题-难忘的面试经历

作者: TI专家Bruce Trump 翻译: TI信号链工程师 Rickey Xiong (熊尧) 本周的TI校园招聘之行使我回忆起一些难忘的...
发表于 09-21 09:41 325次 阅读
面试问题-难忘的面试经历

如何循序渐的进学习PHP开发

无论学习什么,都不可能一口吃成个胖子,都需要我们循序渐进,按部就班的来,尤其是高深的IT行业,下面我们就一起探讨怎么循序...
发表于 09-19 18:15 330次 阅读
如何循序渐的进学习PHP开发