返回 登录
0

姜海强:PHP语言的开发效率最高,服务器等成本也最低

英雄会是CSDN旗下针对国内IT技术领域专家展示和交流的平台。通过线下线上的互动形式,为CSDN社区专家提供更多学习、合作、宣传的机会。英雄会后续将在北上广深等国内一二线城市建立分会,各个分会后期将组织技术交流活动。

为了让大家更好地认识CSDN英雄会的成员,我们特别开设了【CSDN英雄会】采访专栏,讲述他们的技术成长之路。

本期邀请的嘉宾姜海强,姜海强是盛力世家PHP架构师,同时也是CSDN学院讲师,博客专家,在PHP、Yii2.0缓存上有所建树。

图片描述

盛力世家PHP架构师 姜海强


CSDN:请简单介绍一下您自己。

姜海强:姜海强,曾热衷于C#、Asp.Net、Spring.Net、Lucene.Net、Entity Framework、.Net MVC以及Mono等.Net技术的研究,最开始从事WPF、Windows Store应用开发,逐步研究PHP并从事PHP开发工作,现任盛力世家PHP及服务器架构师,热爱开源技术,喜欢研究与分享新技术。

CSDN:您目前工作的重点是什么?进展如何?

姜海强:我目前的工作重点是直播TV系统的维护与升级改版,各项工作都在团队的共同努力下顺利的进行中,在这里也感谢我所有的同事和领导给予我的支持。

CSDN:您为什么会走PHP架构技术这条路,PHP架构的技术特点是什么?它有什么特别吸引您的地方吗?

姜海强: 说起为什么会走上PHP生态圈的道路,其实有很多巧合因素,当然也可以说是机遇。我在大学的主修专业是食品科学与工程专业,和软件开发几乎是没有一点关系,那么我是什么时候开始接触软件开发呢?这一切都要感谢我们学校的米新江教授,我们私下里称他老米,老米做计算机教育三十余载,2001年创建了廊坊师范学院信息技术提高班,以独特的教学方法和教育理念培养出一群“狼”一样的学生,得到社会的广泛认可。为教育界和IT界做出了突出贡献。颇具社会影响力。2011年12月,清华大学计算机杂志社主编和多所名校(北京大学、天津师范大学、清华大学、北京交通大学等)的专家教授来信息技术提高班观摩指导,对米新江教授的信息技术提高班教学理念和教育模式给予了肯定。其后,众多知名杂志周刊、新闻网站对米新江教授及信息技术提高班的报道,引发了社会的高度关注。

我当时是第九期学员,先后学习了电脑软硬件基础知识、常用软件的使用等,使用Visual Basic 6.0入门开发,在老师的提高班作品展中获得小组二等奖,后由于一些原因退出提高班,自己报考天津大学软件工程自考申请第二学士,先后系统学习离散数学、软件测试、Java程序设计、数据库等课程,毕业前拿到了上家公司的Offer从事Windows Store开发。

工作往往不是一帆风顺的,随着Android和iOS移动端市场份额的飙升,Windows Store的份额持续低迷,公司也希望我转型,后来凭借自己对Asp.Net技术储备开始研究PHP,上下班公交车路上看韩顺平老师视频,下班回到家里和周末都是在研究PHP, PHP与Asp.Net相比,学习资源要更多,基本语法也比C#要简单,后来渐渐也对Linux产生了浓厚的兴趣,各种解决方案都有完善的资料和案例,大概经过一个月的时间,算是走上了PHP的不归路。

PHP与Asp.Net和Java相比,PHP语言的开发效率是最高的,服务器等成本也是最低的,这也是很多公司采用PHP的理由,PHP入门要比Java和Asp.Net相对简单很多,团队组建起来比较快,另外,成熟的开源框架特别多,选择的机会也多。

CSDN:作为一名PHP架构师,需要具备哪些技能?

姜海强: 从我个人的工作经历来讲,PHP架构师对技术、经验和管理层面都有较高的要求。

技术层面首当其冲的就是精通PHP语言、面向对象编程思想和设计模式,当然也少不了服务器端编程的公共基础,比如说Mysql、Redis、全文检索引擎、分布式架构等。

经验方面,代码量是绝对要储备的,至少要经历过几个高并发的项目,头脑清楚,思路清晰,能够快速定位问题,并能根据需求快速给出合理的解决方案,文档能力也是必须的。

管理层面,能把产品需求合适的转变为文档和程序实现,成为产品和程序之间沟通的纽带,了解身边同事的编码风格,组织技术分享,能够带领团队按时完成项目。

CSDN:能否介绍下盛力世家架构体系演进之路。

姜海强:刚刚加入公司的时候,公司已经有了一个前台的Demo,这个Demo是一位资深.Net同事在公司老框架基础上改写的;公司PHP团队只有我和这位同事,公司在北京,这位同事在深圳,我们两个人只能靠微信和QQ对话;后来总监找我改版优化等事宜,由于同事接触PHP时间不是很长,但是我们两个人都对.Net有一定的了解,有时我们会类比.Net编程思想进行沟通,现在想起来还是很有趣的。

当时,给我们一个月的时间,改版这个Demo,上线前台、接口和后台,没有任何文档,只有这个Demo,当时处于直播行业热潮,时间不等人,我们用了将近两个月的时间上线直播TV,最开始只有简单的一台Web服务器和一台数据库服务器,上线当天就做了推送,由于系统刚上线,数据量少,直播间同时在线有两万多人,服务器没有体现出压力,当时真是兴奋不已。

后期由于数据量的递增,系统暴露出的问题也越来越多,系统也在不断的增加功能,我们两个人明显感觉力不从心,后来我原来的同事也加入了进来,团队慢慢壮大起来,我们有对技术的争执,也有一起解决某个技术难题的欢呼,慢慢地从单台服务器到多台服务器的分布式架构。

CSDN:盛力世家在架构上有特殊需求吗?如何有,是如何实现的?

姜海强:公司主要做直播平台,由于项目初期规划不够充分,出现很多设计不够合理的地方,但是系统已经上线,如何在现有系统基础上优化而不出现问题是对我们最大的考量,这样我们即使改版也只能向下兼容,有针对性的优化。

另外,直播对数据实时要求比较高,包括全文索引的实时性,首页主播直播状态的实时性,数据分析等,随着平台用户和PV的增长,也暴露出很多的问题,很多需求难以和理论上达到一致,我们不得不自己编写一些代码去实现一些需求。

项目对于开发者来说就像自己的孩子,从立项到最后的升级改版维护都是你一直在经营,你在其中花费了大量的精力,哪里比较薄弱开发者是最清楚的。

CSDN:您加入盛力世家以来,平台有哪些改变?

姜海强:平台方面,从最初单台服务器到业务隔离的多台服务器,从数据库只有几百兆到现在每天的访问日志2G左右。当然,开发和维护直播行业的项目对自己的提升是更多的,因为很多的技术都是新技术,我们不得不去啃这块硬骨头。

CSDN:在您看来,您最青睐哪种PHP架构?

姜海强:其实从代码层次来讲,我还是更倾向于.Net那种明确的分层,面向对象的编程思想,适当的根据需求应用恰当的模式解决项目中的问题。

好的架构不是设计出来的,而是随着系统的复杂度不断增加一点一点演变出来的,好的架构不在于你应用了多少前沿的技术,而在于你的架构能否很好的满足你目前的业务。

CSDN:您对刚接触PHP的新人,有什么样的指导?

姜海强:首先要从基础抓起,学习数据库,前端,服务器,Redis等公共基础,学习初期切勿频繁更换语言,耗费自己不必要的精力,因为学编程就好比练武,练武首先要有基本功,然后才选择使用哪一种武器,编程语言就好比练武中的武器,基础有了,选用什么样的武器就看自己的喜好了。

CSDN:Yii2.0缓存框架的优点有哪些?

姜海强:首先,Yii2.0的缓存将缓存的CRUD操作进行封装,非常巧妙地解决了缓存存储介质的改变需要修改代码问题,符合设计模式中的开闭原则,支持的存储介质包括File、Apc、Memcache、Redis等;其次,Yii2.0支持多层缓存,包括页面、片段、数据、HTTP等,能够满足日常项目开发中的绝大部分需求。

CSDN:Yii 2.0相比Yii 1.1.x有哪些重大改进?

姜海强:首先,体现最明显的是对PHP最低版本的要求是5.4,数组的写法全部采用[]代替Array;其次,引入命名空间,对原来Yii1.1.x的类也进行了合理的拆分和优化;最后,基于Composer管理扩展依赖,整合Bootstrap等。

CSDN:您在CSDN上的博客发布了多篇设计模式方面的文章,请问写博客给您带来了些什么?最后希望您能够对CSDN提些建议。

姜海强:简单说一下我对写博客的看法。我写博客就是总结一下自己的工作和学习的经验,初衷是让自己回头看的时候能够方便复习,然而博客与传统的笔记相比,博客对环境的要求比较低,只要能上网的地方就可以看博客,当然也想让更多的学者避免走弯路,如果有幸能够帮助学者解决问题当然最好。

未来希望CSDN组织更多的大会,建立更多的社区,能够让国内学者聆听最前沿的技术,加紧追赶国际差距。

最后感谢CSDN的专访,同时感谢同事、领导对我的支持与厚爱。

姜海强博客地址:http://blog.csdn.net/jhq0113


往期回顾



欢迎加入CSDN英雄会:http://t.cn/RV9mzUX

图片描述

评论