最新中文字幕免费看影视,在线观看国产一区二区三区,在线欧美日韩制服国产,中文字幕,亚洲一区,制服欧美激情丝袜综合色

新聞資訊

精品主題,實(shí)戰(zhàn)科普,最新行業(yè)熱點(diǎn)話題,隨時掌握云上咨訊。

當(dāng)前位置:首頁 >新聞資訊 >行業(yè)動態(tài)
PHP 鳥哥:我也曾經(jīng)是“不適合”編程的人111
來源:中科服    發(fā)布時間:2015-01-27    文章分類:行業(yè)動態(tài)     分享:

網(wǎng)名:雪候鳥,大家尊稱鳥哥,惠新宸 @Laruence, 是國內(nèi)最有影響力的 PHP 技術(shù)專家,PHP 開發(fā)組核心成員,PECL 開發(fā)者,Zend 公司外聘顧問。他曾供職于雅虎,百度,現(xiàn)在新浪微博任平臺及數(shù)據(jù)部總架構(gòu)師兼首席 PHP 顧問。惠新宸是 PHP NG 核心開發(fā)者,PHP5.4,5.5 的主要開發(fā)者。作為 PECL 開發(fā)者貢獻(xiàn)了 Yaf ,Yar 以及 Yac、Taint 等多個優(yōu)秀開源作品,同時也是 APC,Opcache,Msgpack 等項(xiàng)目的維護(hù)者。
從一個在網(wǎng)上搜 PHP 教程的初學(xué)者,到 PHP 開發(fā)組核心成員,惠新宸覺得整個過程就像“打怪升級”。和 Java 一樣也被稱為藍(lán)領(lǐng)語言的 PHP,在他看來恰恰是能夠培養(yǎng)更多編程者的搖籃,而人人都能編程的時代,勢必會產(chǎn)生更多能夠推動技術(shù)進(jìn)步的牛人。他在博客風(fēng)雪之隅上分享關(guān)于 PHP 語言和 Zend 引擎相關(guān)的研究、技術(shù)、新聞。左手代碼,右手詩。
問:你是如何開始對編程感興趣的?
我第一次進(jìn)行“編程”好像還是在小霸王學(xué)習(xí)機(jī)上。后來大學(xué)學(xué)的是計(jì)算機(jī),研究生的時候負(fù)責(zé)學(xué)校校園化建設(shè),主動或者被動地做了很多 Web 開發(fā)工作,包括當(dāng)時學(xué)校很多二級部門的網(wǎng)站,校園 BBS 的維護(hù)等。 想想好像也沒有那么一件事,或者一個契機(jī)說我就喜歡上編程了。就感覺很自然地就做了這個行業(yè),也沒有覺得不喜歡,就這么做下來了。
問:你是如何喜歡上 PHP 的?你又是如何成為 PHP 開發(fā)組核心成員的?
當(dāng)時在研究生的時候要做一個網(wǎng)站,完全不會的情況下就去網(wǎng)上搜,剛好搜到一個 PHP 的教程,教怎么做一個簡單的網(wǎng)站,于是試著照著做了一下,發(fā)現(xiàn)無論從安裝、部署(當(dāng)時還沒有那種集中化部署工具,不過也有很多教程教怎么部署 LAMP)、編寫代碼,測試都很方便,語法還和C語言很像,甚至很多 API 的名字也和 libc API 的一樣。于是就這樣開始了和 PHP 的不解之緣。
應(yīng)該是在 2011 年吧,那個時候?yàn)榘俣乳_發(fā)了 Ap(Yaf 的前身項(xiàng)目),當(dāng)時在百度內(nèi)部用的還不錯,于是我想著要貢獻(xiàn)到 PECL 上去,修改了一些以后,改名為 Yaf(Yet another framework,這個名字也是有點(diǎn)自嘲的意思,因?yàn)?nbsp;PHP 的框架非常多),就發(fā)郵件到 PHP 的郵件組,因?yàn)橛⒄Z比較爛,所以過程還是比較曲折,好在當(dāng)時 Pierre Joye 幫助我了很多,讓 Yaf 進(jìn)入了 PECL。
另外在提交 Yaf 之前我其實(shí)一直都在研究 PHP 的源代碼,所以也提交了不少 Bug 和 Fix,比如我記得有一天中午,Rasmus(PHP 之父)在 IRC 上說發(fā)現(xiàn)一個 Bug,我差不多 5 分鐘后就給出了 Fix。
等慢慢的和一些人熟悉,得到了大家的信任以后,我就發(fā)起申請,之后就獲得了 PHP 核心代碼的提交權(quán)限,參與到 PHP 的直接開發(fā)和 Bug 修復(fù)中,成為了開發(fā)組的一員。
至于說核心么,那是慢慢積累來的,其實(shí)也是一個互信的過程。如果你的工作大家認(rèn)可,那么就會尊重你的意見。我慢慢地和 Dmitry Stogov 變的熟了起來,得到了 Zend 核心部分的提交權(quán)限,提交了很多核心 Bug 的修復(fù)和新特性,再后來成為了 Zend 外聘顧問,慢慢成為了 Core Developer。
聽起來好像有點(diǎn)打怪升級的感覺吧。
問:你是在什么樣的契機(jī)下開發(fā)了 Yaf?當(dāng)時百度是如何支持 Yaf 開發(fā)的?
在 Yaf 之前,關(guān)于使用不使用框架其實(shí)一直有一個經(jīng)典的爭論就是:“使用框架會降低性能,而不使用框架會降低開發(fā)效率?!?/span>
當(dāng)時百度內(nèi)部的框架很多,包括開源的 Yii,ZF 之類的,也包括有的團(tuán)隊(duì)自己寫的。這樣有一個問題就是類庫,一些周邊設(shè)施沒有辦法互通。
還有一個原因就是,很多框架作者把框架發(fā)布出去以后,會發(fā)現(xiàn)不同的人會對框架做各種修改,導(dǎo)致時間久了,一個框架發(fā)出去,就變成了各種變種,后續(xù)統(tǒng)一升級也變得不可能。
所以,我決定要用 PHP 擴(kuò)展實(shí)現(xiàn)一個框架來解決這些問題,當(dāng)然在寫這個擴(kuò)展之前其實(shí)也不是很有信心,不知道采用擴(kuò)展能帶來多大的性能提升。好在最后的結(jié)果是很好的。
問:為什么選擇用C語言來寫 Yaf?
PHP 是C語言寫的,所以他的擴(kuò)展也是采用C語言來寫的,于是就選擇了C語言來寫 Yaf。
問:為什么會離開百度,來到新浪微博?
這個其實(shí)原因很多,比如當(dāng)時在百度是 T7 了,業(yè)務(wù)上的事情參與得少了,感覺自己好像沒有那么多事情要做,有點(diǎn)虛度的感覺。
另外,我當(dāng)時在百度的商業(yè)搜索部,并不直接接觸訪問量大的系統(tǒng),所以也希望找個大的平臺再鍛煉下,而微博剛好就是這樣一個平臺。
來了微博以后,確實(shí)接觸到了很多之前沒有遇到過的挑戰(zhàn),也感覺自己的知識有了更大的舞臺可以發(fā)揮。
問:你現(xiàn)在在新浪微博具體負(fù)責(zé)的工作是什么?
我現(xiàn)在在微博技術(shù)部,帶著一個基礎(chǔ)服務(wù)小組,我們主要的工作也分階段,前兩年的主要工作就是做微博 LAMP 的性能優(yōu)化,包括各種基礎(chǔ)框架,工具研發(fā),環(huán)境優(yōu)化,規(guī)范制定等等。
這兩年,微博的 LAMP 架構(gòu)已經(jīng)趨于穩(wěn)定,整體性能也有幾倍的提升。我們也有了一套自己的高性能 LAMP 整體解決方案。所以 LAMP 優(yōu)化的工作少了一些。現(xiàn)在主要精力都放在基礎(chǔ)設(shè)施的研發(fā)上,比如緩存中間層,轉(zhuǎn)碼服務(wù),通信平臺等等。
問:PHP7(PHPNG)有沒有把新浪微博平臺使用 PHP 的需求和痛點(diǎn)當(dāng)做重要的反饋?
這個當(dāng)然是有的,自從我加入開發(fā)組以來,和不少的其他成員有過類似的爭論就是:我認(rèn)為性能很重要,而有人會認(rèn)為新特性很重要,那么當(dāng)一個新特性影響性能的時候我們就會發(fā)生爭執(zhí)。
我很偏執(zhí)于性能提升,這也是為什么我后來和 Dmitry Stogov 合作比較多的原因,因?yàn)樗蔡貏e關(guān)心性能。
而我關(guān)心性能的主要原因就是,對于每1% 的性能提升能給微博這樣的國內(nèi)最大的 LNMP 平臺帶來的價(jià)值我有很真實(shí)的體會。目前我們微博的整體性能雖然相比兩年前有了很大的提升,但是我認(rèn)識到在不影響開發(fā)效率的情況下,進(jìn)一步的提升只能依賴于 語言、環(huán)境的性能提升。所以這部分也就是微博對 PHP 的需求。
PHP7 在 WordPress 上相比于 5.6,有 100% 以上的真實(shí)性能提升(QPS),我相信明年,等 PHP7 發(fā)布以后,我們微博的整體 LAMP 平臺的各項(xiàng)業(yè)務(wù)也可以得到 100% 的性能提升。
問:你參與 PHP7(PHPNG)開發(fā)的流程是什么樣的?你是如何和其他開發(fā)組成員合作的?
PHPNG 當(dāng)時是一個秘密的項(xiàng)目,最初的參與者只有 Dmitry 和我,我還記得是今年開春的時候,當(dāng)時我們做的基于 PHP5 的 JIT 項(xiàng)目因?yàn)樾Ч焕硐胨詳R置了,大家都比較郁悶。
Dmitry 說他有個想法,把 ZVAL 重新設(shè)計(jì)下,壓縮一下大小來減少內(nèi)存占用。然后我們倆個人討論了一下,因?yàn)槠鋵?shí)我們每天都會有各種想法,所以當(dāng)時也只是覺得:嗯,這個想法也許能 Work。但還不是很有信心。
當(dāng)時的主要想法是趕緊做出一個能運(yùn)行的原型來測試下效果。這個過程中我們主要是討論想法,然后各自實(shí)現(xiàn)要做的部分,再合并。
合作的主要工具還是靠 Skype,不過因?yàn)樗谑ケ说帽?,和我們有時差,所以也會借助于郵件交流,通過 Github 來 Review 代碼。
等到后來項(xiàng)目差不多有了結(jié)論,我們發(fā)現(xiàn),“嘿,這個主意不錯,起作用了”。然后就公開了。之后就變成了正常的大家協(xié)作模式,有想法就提交 RPC,提交 Patch,投票,大家 Reivew,然后合并。
問:PHP7 到目前為止已經(jīng)增加或減少了哪些特性?在發(fā)布之前,還將如何提升性能?
有很多,除了 PHPNG 這個分支主要提供性能提升以外,我們還有 AST(抽象語法樹)的支持,Uniform Variable syntax,64bits length string supports,一些新的語法糖,以及最近的 Native TLS 等。
PHP7 將在 2015 年 10 月正式發(fā)布, 在這之前,我們還有一些想法要嘗試,比如使用 zend_array 直接替代 Hashtable;比如通過指定函數(shù)重新分節(jié),排序來減少 iTLB miss;比如把 JIT 的一部分優(yōu)化手段(類型推倒)引入到 PHP 中,配合一些類型專有的 OPCodeHandler 來提速;再比如進(jìn)一步提高代碼數(shù)據(jù)局部性減少 Cache miss 等等。
當(dāng)然,我們還有一個并行在做的 JIT 項(xiàng)目,只不過我很擔(dān)心這個項(xiàng)目能不能在 PHP7 發(fā)布的時候準(zhǔn)備就緒。
問:PHP 的新版本將跨過 PHP6 直接升級為 PHP7 嗎?為什么?
這個主要的原因是,當(dāng)年 PHP 有過一個開發(fā)版本叫做 PHP6,但后來這個版本失敗了,沒有發(fā)布。所以,這次的版本也就應(yīng)該是 PHP7 了。
問:Facebook 發(fā)布的語言 Hack 和 PHP 是什么關(guān)系?Hack 的目的是要取代 PHP 嗎?這兩種語言相比各自有什么優(yōu)勢?
沒什么太大的關(guān)系,Hack is not PHP。要說取代的話,我相信他們(Facebook)可能會有這樣的想法吧,不過這個要看社區(qū)接受不接受了。
對于 Hack 我不是特別熟悉,不好具體評價(jià)。
問:有人認(rèn)為由于 PHP 易于學(xué)習(xí),門檻低,所以導(dǎo)致一些并不適合編程的人涌了進(jìn)來,你怎么看待這種觀點(diǎn)?
這個觀點(diǎn)我實(shí)在不敢贊同。我在本科畢業(yè)的時候,也嘗試找了一些開發(fā)工作,面試了幾個單位,都被拒了,也許在當(dāng)時面試我的那些人眼里,我就是一個不適合編程的人吧。
但是 PHP 因?yàn)殚T檻低,讓人可以很快看到自己“編程”的成果,會對新手產(chǎn)生一個正向反饋激勵的作用,讓有興趣的人變得更有興趣。 而編程的人越多,那么產(chǎn)生大牛、對整個技術(shù)進(jìn)步做出貢獻(xiàn)的人出現(xiàn)的概率也越大。
并且,未來的編程語言一定是朝著易用性發(fā)展,進(jìn)一步降低編程的門檻,也許會有一天人人都能編程也說不定呢!
問:一名合格的 PHP 工程師的知識結(jié)構(gòu)是怎樣的?
我記得以前有一句話說:“ PHP 工程師都是萬金油”,其實(shí)這句話不僅僅對 PHP 工程師適用,應(yīng)該對所有的工程師都適用。
知識結(jié)構(gòu)要很廣。Web 開發(fā)涉及的技術(shù)點(diǎn)是比較多的,HTML、CSS、JS、SQL 這些以外,還要懂得一些 Nginx、Linux、Mysql 的配置、維護(hù)、排錯常用的辦法,這些都應(yīng)該懂一些。
問:除了技術(shù)能力之外,你在面試的時候還會注重什么?
我會特別注意思維清晰、溝通、談吐。其實(shí)說穿了就是未來一起共事的話,會不會有障礙,以及成長潛力是否大。
問:曾經(jīng)的 phpe.net 站長陳伯樂現(xiàn)在在賣男人襪。你對未來的打算是什么?會一直都是一位 coder 嗎?
其實(shí)我是一個很懶的人,從來不會考慮得很遠(yuǎn),今朝有酒今朝醉。所以對未來其實(shí)我也不是很清楚,我只是覺得現(xiàn)在我還是喜歡編程,喜歡通過自己的工作讓大家受益并獲得社區(qū)的贊譽(yù),我覺得這樣挺好的,我會繼續(xù)做下去的。


返回列表

你知道你的Internet Explorer是過時了嗎?

為了得到我們網(wǎng)站最好的體驗(yàn)效果,我們建議您升級到最新版本的Internet Explorer或選擇另一個web瀏覽器.一個列表最流行的web瀏覽器在下面可以找到.