回复内容:
很多时候一门技术的瓶颈都不在其本身。我有一个朋友遇到过这样的问题:
./script.sh && binary.bin
script.sh 中 export 的变量在 binary.bin 中没有生效,相信诸位已经看出问题出在哪里。
对于我的这位朋友,需要做的不是回去复习 SHELL 编程。而是要把 fork() 和 execv() 的工作机制搞清楚,才能举一反三,不被相似问题卡住。
所以我的建议是,先多学些其他方面的知识,再写 PHP 感觉就不一样了。
试试yii
调侃一下。
你问题里说到的什么深入的了解PHP什么的。。完全是外行人跟你说的吧?PHP无非是一个工具。一个真正的裁缝,不会跟你说,要深入的研究剪刀如何使用吧?
对于以上的问题,我的回答就是以上几句话,然后说点题外话。
踏入软件开发这个行业,门槛其实很低,学一门语言,学会SQL,会对数据库做曾删改查,那你就入行了。。是的,就这么简单。但是,做好一个项目,你要学的东西远远不止这些。当然,你也要给自己定一个方向,毕竟一个优秀的项目不是你一个人一个角色就能完成的。
大概列一下,这个行业内你能选的角色,按重要程度,以及难度系数排序:
- 系统分析师 一个需求都明确的项目,有什么好说的?能把什么东西都理顺,并且,能让整个团队沿这个方向走的人,你说有多重要吧。
- 系统架构师 让系统有优秀的基因,这个是架构师干的。
- 算法工程师 这个放第三个,是因为难度高个人认为。但是,对于小项目或者,对于性能要求不高的项目来说,这个角色。。。还真可有可无。
- DBA 让一切数据井然有序。这年代,数据有多重要大家都懂的。
- 普通的开发人员 效率,经验,少出错。
- 测试人员 效率,经验,找出错。
- 产品经理 这个放最后面,是因为。这个岗位可以不懂技术,对于产品经理来说,运营方面的能力要比技术方面的能力更重要。
以上其实有很多会重合的岗位,没有那么分工明细。但大致的,方向可以这么选。
方向定了,你会迷茫的东西也就少了。学习上的瓶颈,会变成工作效率或者能力上的瓶颈,两者瓶颈对于自身的压力是不同的,压力越大,突破瓶颈的速度也会越快(如果,觉得自己突破不了这个瓶颈,那你就不要干了。。。。)。
去找正确的问题,届时自然会知道该学什么
我要说PHP本来就没太多可深入的余地了题主会不会打我…
真要深入就深入到它的周边吧。学习如何在php上做性能调优,学习怎么判断运行的性能瓶颈。学习数据库的优化。学习memcache等kv数据库的使用。
其实, 我觉得(不一定对哈) 技术 起源于 需求. 所以, 当你考虑下一步要学什么的时候, 应该问自己: 你还需要啥? 你的业主需要啥? 未来你需要啥? 很简单, 缺啥补啥.
例如, 你觉得PHP效率太低, 有如下方法: PHP C扩展, 直接C, 换其它脚本
如果你觉得网络太慢, 这是典型C10K, 可以: PHP加速器,其它优化(一般是缓存), 换编程架构(事件驱动), RPC扩展(听过没用过) , 分布式(我好想了解具体), 其它..
如果你觉得现在的网站功能太弱, 喜欢浏览器极致体验, 可以: 学习js/css, 学习交互设计..(我真不知道了)
如果你觉得网站不安全, 可以: 关注SQL注入, XSS注入, 目录遍历, 内存溢出(C), 等等其它
所以, 你想学啥?
1.自写框架
2.c/c++
写了多少代码只是过程,关键看写的是什么,产生了什么结果,你得到了哪些领悟,
关键还是思想,就是一个问题,能够分析出瓶颈在哪,如何去解决(不只是PHP范围)
eyeOS
看完这个系统, 就知道自己还有多少路要走了
才3ooo行代码,对lnmp架构如何,如何优化mysql,php底层机制。linux下的php,还有自己能否写个框架,看看一些开源的代码。有很多,小伙子不要浮躁,