英雄会是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英雄会 第16期】刘朋:不会面试的“白帽子”不是好程序员]
[【CSDN英雄会 第15期】何一娜:诺基亚软件开发工程师典型的一天]
[【CSDN英雄会 第13期】朱金灿:韧性、悟性、具备快速学习能力是我喜欢的特质]
【CSDN英雄会 第12期】理想梧桐于博:从技术到技术管理转变时的痛点
【CSDN英雄会 第11期】哔哩哔哩殷汶杰:合格的多媒体技术工程师有成为全栈架构师的潜质
【CSDN英雄会 第10期】关成龙:核心支付系统是“双11” 最不可或缺的一项关键技术
【CSDN英雄会 第9期】 阿里巴巴刘士涛:我是如何拿到阿里巴巴offer的
【CSDN英雄会 第8期】张冰洋:深度学习必将成为未来热门的研究方向
【CSDN英雄会 第7期】沪江徐宜生:掌握工具使用技巧,是提高工作效率的最佳途径
【CSDN英雄会 第6期】 易宝支付架构师、移动产品线技术负责人程超:走在Java的路上
【CSDN英雄会 第5期】专访东平软件研发中心CEO翟东平:微信是移动端的主要力量
【CSDN英雄会 第4期】大众点评黄俊东:Android开发者经验谈
【CSDN英雄会 第3期】恒信彩虹赵中:我的十年CTI技术
【CSDN英雄会 第2期】好未来教育陈刚:Swift是怎样练成的
【CSDN英雄会 第1期】黄帅:安全不是独行侠而是系统性的运维过程
欢迎加入CSDN英雄会:http://t.cn/RV9mzUX