php怎么成为高手,php程序员是继续往php道路走下去?
我也是一个PHP程序员。说到是否要转java,我觉得不急,先把PHP发展好,接近天花板了再谈进一步提升工资的方法吧。
PHP高并发解决方案了解几种了?
PHP设计模式在工作中用到几种了?
PHP异步任务解决方案了解几种了?
PHP数据库优化方案,了解几种了?
PHP高可用集群架构了解并掌握几种了?
PHP分布式事务解决方案了解几种了?
NOsql数据库精通几种了?
微服务系统设计和交互方案了解几种了?
这些你都会了,你也基本到了PHP的顶点了。而这些技术在java中很多也是相通的。你把这些全学会了,不管你是从事PHP还是java,都应该是架构师左右的人物了。而架构师的月薪一般在30~50K左右。说白了,还是看能力经验,你能力强,在哪个语言里都能风生水起。
有个朋友,做PHP全栈五六年时20K,转java做区块链变25K了。他对java也还是不太熟,但很多PHP的开发经验却也能应用到java开发。
咱不谈经验,谈谈职业规划和身边人的发展吧。现在大家都是报团取经验的。一个人很难看未来,但是身边有一群志同道合的人,还是学不同语言的同学朋友,通过他们的工作经验和求职经历,就很容易发现一些技术发展趋势了。
php是世界上最好的语言吗?
谢邀。
凡事涉及“最”字,难免带有个人感情色彩。既然掺杂了感情色彩,讲道理就没意思了,不如来听我讲个关于PHP的故事吧~233333
程序员的灵魂拷问窗外静谧的街道上偶尔传来几声蝉鸣。开发一组办公室里,18度的空调像是对外面烈日的回应,技术老大王明十指如飞地敲着键盘,眉头皱得死紧,如临大敌的样子。
“我该不该去打扰他呢?”
身上盖着毛毯、蜷缩在椅子上还手捧热水杯的PM Jeccia终于忍不住开口了:“老大,能不能把你后面的空调调到至少25度啊,我都感觉快要感冒了!”
软妹子是开发组里的珍稀保护动物。
王明的视线从一团黑乎乎的文字里拔出来,他这才发现Jeccia抱着个毛毯像个生病的小猫咪:“Jeccia,你怎么了,现在可是快40度了哦。”
“什么40度,老大,你空调都开到18度了,再这样下去,我明天可能都不能上班了。”
“啊?我说怎么回手按降温没有用,我还以为这个新空调这么快坏了。”
Jeccia一脸黑线:“老大,你进入开发模式也要照顾照顾我们这些小弟啊。身体才是革命本钱!”
突然老大站起来,严肃地看着Jeccia,喷火的目光像极了她高中时代那个严肃的班主任。
好多年前的阴影毫无征兆地涌现在Jeccia的心头。
“Jeccia,PHP是世界上最好的语言吗?”
产品经理的求生欲Jeccia战战兢兢地直视那接近暴躁的老大,一时间,福至心灵,这一刻,她的求生欲到达了巅峰!
“我只是一个无辜弱小的产品经理,我想听听你们程序员的看法?你觉得PHP语言到底怎么样呢?”
王明长叹一声,指着自己的电脑屏幕,忍不住对开始了对PHP SDK安装过程饱含着心酸和苦涩的控诉!
原来,和这位技术大牛对抗这么久的不是什么妖魔bug,而是看似简单的安装环境配置。
王明其实觉得用PHP真的很规范、方便,因此用PHP编写web已经成了他信手拈来的基本操作,谁知道安装每次都……
“理论操作猛如虎,一旦安装二百五”!
“PHP是世界上最好的语言”这句话已经成为程序员界的一个梗了。这个问题,作为专业人士,王明告诉Jeccia,程序员的世界不是非黑即白,程序语言的选择更不是非此即彼的。
Jeccia配合着老大的表演,捧场道:
“不明觉厉啊老大,求更多科普!”
王明耐心地解释——任何一种语言在其所应用的场景下就是最好的,正如C对应于机器,而python对应于爬虫一样,术业有专攻,PHP一直以来都是编写web的很好选择,因此这项技术至今仍然在不停的被推广和应用。
PHP作为一项成熟的面向对象编程,因为其跨平台性和多重支持性受到了很多web开发者的青睐,而且各种成熟的框架和完整的支持也保证了PHP长盛不衰的发展。
不过,PHP当然不是那么完美。
比如它对多线程支持比较弱,还有就是最让王明恼火的这个SDK的安装配置问题。
很久以来,一个高级语言能否长盛不衰的原因就在于其能否不断的升级更新,这也象征着新老之间的交接,但因此带来的问题就是,多版本的安装和环境的配置往往成为了开发者们新的烦恼,而编程和DEBUG都仿佛成了毛毛细雨。
Jeccia若有所思地看着王明,点头表示自己听懂了。最后,默默地拿起了手机,给他转发了一条新闻。
“老大,看手机!”
与PHP超般配的一款神器原来,Jeccia分享给王明的是她从别的开发交流群里看到的一条最新消息。
“阿里云出了一款神器哦,跟你的PHP很配呢。”
Jeccia举着手机对着王明大声地念了起来:“这款神器叫PHP Composer全量镜像工具,面向所有php开发者。你只需要在工具上,选择你想要应用的版本,阿里云就可以帮助你自动配置好所需要的环境。”
王明听了,眼睛一亮:“这就是说,以后再也不用担心开发时各种版本安装的困扰了!”
他激动不已,赶紧看起了这条新闻——
这款工具最大的优点就是快,几乎实现与PHP Packagist官方实时同步,每隔30秒刷新全国CDN缓存。它基于阿里云的对象存储OSS和CDN研发同步系统,通过任务分发,实现同步的快速和稳定。
这也就意味着你再也不用担心后续的版本更替、环境重新配置的问题。
第二天,王明试用了PHP Composer全量镜像工具之后,又恢复了淡定端庄的形象。他自掏腰包请所有办公室的人喝起了奶茶,给Jeccia加了双份珍珠!
这时,Jeccia眨了眨眼:
“老大,PHP是世界上最好的语言吗?”
王明扶了扶眼镜,悠悠地说:“这种灵魂拷问emmmmmm 在回答之前,不如先听我讲个故事吧。”
如何做能提升编程能力?
Max跟你一起用科技改变世界对于这个问题,Max认为简单明了的回答才是大道
提高编程能力只需要做到以下几点
多写,熟能生巧在实战中提高编码能力,编码质量。多看多思考,多学习别人的代码,取其精华去其糟粕。然后多问几个为什么,将别人的知识转化为自己的能力,反正知识又没有版权税多总结分享,编程是一个不断学习不断进步的工作,在学习新知识之后一定要及时总结分享出来。总结是为了巩固知识,分享不但是为了别人能够一起学习,最重要的是为了能够通过大家的眼睛发现你在学习中可能会出现的错误编程的道路,没有捷径可走,必须紧随快速发展的科技不断更新知识,多写多看多思考多总结分享保持步伐不被拉下。
关注Max,一起在学习中进步,在进步中分享,在分享中突破自己。如何才能写出高质量的代码?
作为一名java开发工程师,对于这个问题我算是比较有感触的,所以想说说我对java开发的一些看法,纯属个人意见,不喜轻喷!
什么样的代码算是高质量代码,或者说是高质量代码的特征?在我看来,主要就是在于可读性、易扩展两方面。
首先,我觉得最重要是要可读性高。为什么这么说呢?相信做过开发的朋友都知道,互联网公司的人员流动率还是比较高的,可能出现的情况是领导突然跟你说,你去交接一下某某某同事的工作,而交接的时候一般情况主要是业务流程、功能模块来交接,大概率不会一行一行的代码去读。如果项目正常运转,不出问题、也没有需求变更(大概率需求会变更),那就是你好我好大家好,如果出了问题或者需求变更,还是之前同事的那些模块,那就必须得去啃代码了。这个时候代码的易读性就显得非常重要了。你可以试想一下,通篇没有一句注释、一个方法几百行、if/else满天飞、方法之间参数传递全是map、sql语句各种嵌套子查询、关联查询7-8个表,当你看到这样的代码,估计心里顿时万马奔腾,怒火蹭蹭蹭的往头上涌去。所以我觉得可读性是第一要素。
其次,扩展性要好。这个也很好理解,现在是信息时代,流量为王,为了提高市场占有率,普遍需求变更频繁,2周一次发布都是正常频率。在这种频繁需求变更的情况下,如果代码的扩展性不高,每一次需求都需要大量改动代码,即耗费时间还容易出错,比如漏改某处地方而引起其他功能异常。所以开发过程中要注意代码扩展性,当然也不要去过分设计,让代码晦涩难懂。
高质量代码在开发中的意义?《计算机程序的构造和解释》一书提到代码是写给人看的,不是写给机器看的,只是顺便计算机可以执行而已。如果代码是写给机器看的,那完全可以使用汇编语言或者机器语言(二进制),直接让机器执行。所以代码一定要让人容易理解。高质量代码的好处:
好的代码读起来令人赏心悦目,比如java里的spring、mybatis等框架,读源码时常常不自觉发出惊叹,代码原来还可以这么写!
质量高意味着维护成本低,运行稳定
质量高意味着扩展性强,方便业务开发
如何去写高质量代码?对于做java的来说,我建议去看一下《阿里巴巴Java开发手册》。
手册以 Java 开发者为中心视角,划分为编程规约、异常日志、单元测试、安全规约、MySQL 数据库、工程结构、设计规约七个维度,再根据内容特征,细分成若干二级子目录。根据约束力强弱及故障敏感性,规约依次分为强制、推荐、参考三大类。对于规约条目的延伸信息中,“说明”对规约做了适当扩展和解释;“正例”提倡什么样的编码和实现方式;“反例”说明需要提防的雷区,以及真实的错误案例。 摘自《阿里巴巴 Java 开发手册》最后推荐一下阿里巴巴代码规范扫描插件,以IDEA为例,安装如下
使用如下:
没有工作经验如何成为前端工程师?
我觉得题主现在喜欢只是喜欢,不知道你是不是达到了对前端开发有极强好奇心的程度。与其说是没有怕没有工作经验,倒不如说是迷茫了,总是怕,而不去做。--------------------------------------------------------------------------------------------------------------------------------------------我觉得题主总是认为:人家从高中就开始搞程序(比如),我和人家差了6、7年的时间,我比人家起步不知道晚多少耶~。所以题主顿时就没有信心了,也没有了学习的劲头。要我说,题主不妨先把这种心理状态改一改,诚实的面对自己。想想那些大牛们在16、7岁接触编程的时候,你在干嘛,说不定题主还在传传纸条或者偷瞄暗恋的妹子咧。这样一来,形成如此大的差距也就是理所当然的咯。况且题主还是文科生,缺少了理科环境的浸淫,多少劣势还是蛮大的。所以说,错就错了,之前的事情过去也就过去了,放下过去,把握当下的自己,诚恳的和自己谈谈,找到自己的差距并且努力改变,才是当务之急,比总是纠结自己技不如人要好的多。--------------------------------------------------------------------------------------------------------------------------------------------好了,既然问题找到了,那就开始解决。我的建议首先,认清自己当前的状态,把心态调整过来,承认自己就是什么也不是的渣渣。既然都已经一无所有,还怕个毛,从头开始学习呗。先把技能树画出来,思维导图会做吧?清楚自己要走的每一步,接下来就是排除一切干扰。我说的干扰是指,题主想做前端,那就不要看见什么就去搞什么。比如在学JS,听人说用go来搭建小型网站速度快哟 => 于是跑去学go => 又听说前端最好要懂得后台的知识 => 于是又去学php => 学了php才知道服务器和数据库的知识也要懂 => 去学MySQL => 又学了Apache => 又学了IIS,最后才反应过来,妈的老子是要学前端的!!!并不是说后台知识不要去学,是你所列的技能树里面它在什么位置,需不需要立即就去学习,自己心里总得有个谱。如果不是当下必须完成的任务,就放到一边,一定要集中精力解决当下最棘手的问题。其次,请每天保持三个小时学习时间。如上面所说,已经知道自己差距如此巨大,难道这不是拼命努力的最好的理由吗?鉴于题主已经工作,那就尽量保持每天三小时的学习(最少也要两个小时吧。。。)。此处的两三个小时是指真正全神贯注的两三个小时,并不是说学一会刷个微博,然后再看看新闻之类的,此时也不要相信什么番茄工作法,什么学25分钟休息10分钟,就坐那老老实实给我学,不让尿憋的满脸通红都不起来去厕所!相信如果题主真能像我说的坚持住的话,三个月左右应该会见到很明显的效果,工程师肯定达不到,刚刚入门的码农菜鸟肯定是没有问题的。再次,多动手敲代码。写程序绝对是个勤行,不动手操作根本就不行,不管你看高手的源码多少次,都不如自己动手写来的实际。尽量把算法、数据结构和编译原理等计算机理论性的东西放在中期偏后学习,在对敲代码还不熟练的初期,学个毛算法!什么MVC、MVVC都玩蛋去,刚开始敲明白代码才是最重要的(数据结构与算法、编译原理和计算机操作系统等理论是一定要学的,而且对于励志做程序员的人来说也是非常重要的。如果说编程就是说话的话,那些理论的东西就是句式,就是精炼的文言文,就是通假字,就是作文格式,就是说话中的灵魂)。题主说学JS时候卡壳了,这对于一个非科班出身的人来说,非常非常的正常,不要产生畏惧心理。document.getElementById不会用?写他20遍,我就不信还不会用。程序思维理解不了?多在现实生活中找例子,把抽象概念恢复到具象上会容易理解不少。做永远比说更重要。第四,对于找工作而言,我建议能去大公司还是要去大公司。不知道题主的互联网公司是什么样的,目前现在的小公司并不分什么前端后台那么清楚,如果仅仅只会前端的话,小公司不一定能学到发挥多大作用。据我了解,目前的小公司,尤其是外包公司,前端的定义(他们根本没有这个概念)就是ps个效果图,出个静态页面,js也都是到网上扒现成的,改改就用了,对于做开发没多大帮助(默认题主是要做开发的,话说不想做工程师的设计不是好产品经理!)。所以我认为,选择比能力重要。最后,去他的工作经验!并不是说工作经验不重要,对于那些高级工程师,经验是相当重要的(比如架构师之类的),但题主现在算是个新手,想入行而已。入行远没有题主想象的那么难,你学的差不多以后,做几个像样的作品出来,我觉得比你说有一年工作经验更有说服力。牛逼,比工作经验重要。当年Guido去谷歌面试的时候,只说了三个字:I wrote Python. 就是这么霸气的存在!其实面试就是拿出你最有说服力的东西而已。--------------------------------------------------------------------------------------------------------------------------------------------以上完全是我自己的感想,不一定对每个人都有用。自学的路很孤独,也很痛苦,你经常会走弯路,经常会碰壁,会卡在一个功能上一两个星期,希望题主能找个志同道合的人一起学习之路,遇到问题还可以交流交流,两个人的道路会好走的多。像咱们这个年纪(跟年轻人挤一挤^_^),试错的机会已经少了很多,与其说一直纠结,不如放下包袱努力前行,同为文科生,同为半路出家,作为比你大几岁的其他人(其实是我)也在努力着,你还有什么理由不努力咧?如果真像题主所说的喜欢互联网,那就趁自己还年轻,为了自己爱的东西拼一把吧!前方道路坎坷,临行前请壮士干了这碗鸡汤,共勉