天天看點

姜海強:PHP語言的開發效率最高,伺服器等成本也最低

英雄會是CSDN旗下針對國内IT技術領域專家展示和交流的平台。通過線下線上的互動形式,為CSDN社群專家提供更多學習、合作、宣傳的機會。英雄會後續将在北上廣深等國内一二線城市建立分會,各個分會後期将組織技術交流活動。

為了讓大家更好地認識CSDN英雄會的成員,我們特别開設了【CSDN英雄會】采訪專欄,講述他們的技術成長之路。

本期邀請的嘉賓姜海強,姜海強是盛力世家PHP架構師,同時也是CSDN學院講師,部落格專家,在PHP、Yii2.0緩存上有所建樹。

姜海強:PHP語言的開發效率最高,伺服器等成本也最低

盛力世家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

姜海強:PHP語言的開發效率最高,伺服器等成本也最低