摘要:總得來說,從大三開始到入職奇虎這年,一直處于自己探索階段,各種折騰,浪費(fèi)了不少青春,收獲總得來說不是很大。入職奇虎之后,有了一份穩(wěn)定的工作,從此一天當(dāng)作兩天來用,惡補(bǔ)我之前浪費(fèi)的青春。
經(jīng)過緊張的開發(fā),我終于費(fèi)了九牛二虎之力將 zendAPI 的項(xiàng)目官網(wǎng)做好上線了,眨眼已經(jīng)入職奇虎一年了,我也走完了我的職業(yè)生涯規(guī)劃的第一年,別問我之前4年干啥去了,我去瀟灑了 (拉著幾個(gè)大學(xué)同學(xué)創(chuàng)業(yè)去了)。回想這一年一路走來有太多的酸甜苦辣了,不過總體來說吉人自有天相過程還算順利。
曾經(jīng)有人問我,你為什么要做開源項(xiàng)目呢?現(xiàn)在開源項(xiàng)目這么多,在 Github 上大到操作系統(tǒng),小到一個(gè)網(wǎng)頁(yè)按鈕的顏色設(shè)置都有相應(yīng)的開源項(xiàng)目,我們拿來用就可以了,為什么還得自己去費(fèi)這么大的力氣去做一個(gè)根本不賺錢的項(xiàng)目呢?平時(shí)工作已經(jīng)這么忙了,還得擠出時(shí)間去研究和開發(fā)。
對(duì)于這個(gè)問題我想從如下幾個(gè)方面進(jìn)行回答:
PHP 內(nèi)核項(xiàng)目的現(xiàn)狀隨著 PHP7 的發(fā)布,其實(shí) PHP 在語(yǔ)言特性和運(yùn)行速度上來說已經(jīng)可以滿足了絕大數(shù)的系統(tǒng)開發(fā),在易用性和穩(wěn)定性上都沒有什么問題,同時(shí)文檔書籍豐富,非常容易入手。但是在另一個(gè)方面 PHP 社區(qū)在 zend engine 也就是 PHP 內(nèi)核開發(fā)上就不是很用心了,接口難用,基本沒有什么好的文檔,大大增加了擴(kuò)展的開發(fā)。曾經(jīng)有一個(gè)笑話說 PHP 社區(qū)里面的幾個(gè)重要成員要是同時(shí)失蹤了,PHP 內(nèi)核項(xiàng)目估計(jì)就完蛋了,盤子太大不好接。笑話歸笑話,但是也從側(cè)面反映了 PHP 社區(qū)確實(shí)在做的不好,核心引擎的文檔實(shí)在太匱乏。另一方面是因?yàn)槭?C 開發(fā),雖然速度快,但是開發(fā)效率不是很高,項(xiàng)目代碼量大了加上各種宏調(diào)用,可讀性確實(shí)不高。
為了改善這種情況,我嘗試做 zendAPI 項(xiàng)目,使用現(xiàn)代的 C++11 對(duì) zend engine 的核心數(shù)據(jù)結(jié)構(gòu)和接口進(jìn)行二次封裝,同時(shí)保證封裝出來的接口都有文檔描述。努力在不降低性能的前提下,大大降低 PHP 擴(kuò)展的開發(fā)難度。
個(gè)人成長(zhǎng)經(jīng)歷我對(duì)計(jì)算機(jī)是有很大的興趣,回想當(dāng)年高考就立志要成為一名牛叉的程序員,高中時(shí)候就買了很多計(jì)算機(jī)書籍,不過都被高中老師收繳了,高考之后就迫不及待報(bào)考了計(jì)算機(jī),在大學(xué)開始了自己的自學(xué)歷程。這個(gè)階段我是處于一個(gè)朦朧的階段,相信自己的自學(xué)能力,但是事實(shí)證明沒有好的導(dǎo)師指導(dǎo),光靠自己不行。總得來說,從大三開始到入職奇虎這5年,一直處于自己探索階段,各種折騰,浪費(fèi)了不少青春,收獲總得來說不是很大。這個(gè)人生經(jīng)歷讓我具備了一般人所沒有的危機(jī)感,正是這種危機(jī)感讓我一刻也不敢松懈。入職奇虎之后,有了一份穩(wěn)定的工作,從此一天當(dāng)作兩天來用,惡補(bǔ)我之前浪費(fèi)的青春。
總結(jié)來說,我不怕折騰。
有人曾經(jīng)問我,很多開源項(xiàng)目都已經(jīng)有了,為什么還要重新發(fā)明輪子, 比如像 zendAPI 這種項(xiàng)目有類似的項(xiàng)目
PHP-CPP 官網(wǎng)網(wǎng)址: http://www.php-cpp.com/ 做了很久了,也算比較成熟了。
PHP-X 官網(wǎng)網(wǎng)址:https://github.com/swoole/PHP-X 國(guó)內(nèi) PHP 大牛韓天峰(swoole 框架作者)的項(xiàng)目
是不是別人做了,我們就放棄做了?放棄享受架構(gòu)與實(shí)現(xiàn)整個(gè)項(xiàng)目的樂趣,或者為自己的懶惰找一個(gè)借口?
我感覺答案是否定的,我感覺我們不但要做,而且就是要著重去重新發(fā)明這個(gè)輪子,我們的重點(diǎn)不在輪子本身,而是發(fā)明輪子這個(gè)過程,輪子的成敗其實(shí)對(duì)我們個(gè)人來說沒有過程重要,在重新發(fā)明輪子的過程中,相信我,您會(huì)收獲很多的。
一直以來,我都在思考一個(gè)問題,作為一名程序員,我應(yīng)該做到什么程度,才對(duì)得起自己,沒有白活一生,我一直都很羨慕國(guó)外的那些大牛,為整個(gè)領(lǐng)域做出了杰出的貢獻(xiàn),我也很想跟他們一樣,為后人留下點(diǎn)什么。所以我一直在追求著一樣?xùn)|西,目標(biāo)一直就沒有變,zendAPI 以后算我留下的一個(gè)作品,我會(huì)一直在路上,這個(gè)只是一個(gè)開始。
在文章的最后,借用 Linux 中一句很出名的話結(jié)束這篇博文, Have a lot of fun !
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/25835.html
摘要:項(xiàng)目是什么是對(duì)的接口使用的最新標(biāo)準(zhǔn)進(jìn)行而面向?qū)ο蟮姆庋b,從而屏蔽了底層的接口復(fù)雜性,加快開發(fā)擴(kuò)展的效率。國(guó)內(nèi)同類型的項(xiàng)目推薦目前國(guó)內(nèi)有一個(gè)跟比較類似的項(xiàng)目,這個(gè)項(xiàng)目是項(xiàng)目作者開發(fā),值得推薦。項(xiàng)目名字項(xiàng)目的地址是大家有興趣可以研究。 項(xiàng)目Logo showImg(https://segmentfault.com/img/bVVtW8?w=716&h=218); zendAPI 是什么? ...
摘要:從而讓的擴(kuò)展開發(fā)成為一種享受,不用在考慮不同版本帶來的差異性,讓開發(fā)者專注于自身的業(yè)務(wù)邏輯。怎么參與交流下面是我們項(xiàng)目的線上交流群和微信的二維碼,大家可以掃碼加入技術(shù)圈歡迎大家在這兩個(gè)平臺(tái)上與我們進(jìn)行互動(dòng)特別感謝無線電安全研究部獨(dú)角獸團(tuán)隊(duì) 360開源項(xiàng)目介紹: 360開源官方github: https://github.com/qihoo360 今天給大家介紹一個(gè)360最新開源的產(chǎn)...
摘要:目前的情況是我從未開發(fā)過項(xiàng)目我從來沒有開發(fā)過擴(kuò)展我需要一個(gè)由我控制的項(xiàng)目,實(shí)施自己的想法,可能不成熟基于這三個(gè)條件,我急需要一個(gè)類似的項(xiàng)目作為原型進(jìn)行開發(fā),所以選擇了。在研究我也可以實(shí)踐編程和熟悉接口,為進(jìn)一步改進(jìn)奠定堅(jiān)實(shí)的基礎(chǔ)。 背景: 記得去年的這個(gè)時(shí)候,我剛來奇虎的時(shí)候,在研究 PHP 的時(shí)候無意之中發(fā)現(xiàn)了 PHP—CPP 這個(gè)項(xiàng)目,立刻就被她吸引了,原來 PHP 的擴(kuò)展居然還可...
摘要:如果內(nèi)核這方面如果做得好的話,估計(jì)也沒有我們這個(gè)項(xiàng)目了。規(guī)范化版本號(hào)與版本發(fā)布流程,針對(duì)主流平臺(tái)進(jìn)行測(cè)試,提供相應(yīng)的二進(jìn)制包等等。 因?yàn)闀r(shí)間有限,開發(fā)在每天的上午6點(diǎn)到9點(diǎn),晚上9點(diǎn)到12點(diǎn)以及周末,所以項(xiàng)目周期可能比正常的要長(zhǎng)一點(diǎn),我的計(jì)劃如下: 7月到8月完成對(duì) zend engine 的一些核心數(shù)據(jù)庫(kù)的封裝 這個(gè)階段主要針對(duì) zend engine 一些常用的數(shù)據(jù)接口做一些面向?qū)?..
摘要:每一個(gè)擴(kuò)展必須有一個(gè)描述對(duì)象,在中我們類主要的作用主要完成這個(gè)功能。表示我們擴(kuò)展導(dǎo)出符號(hào)給其他庫(kù)使用。文章使用的編程文檔的引用連接參考手冊(cè)參考手冊(cè)原文鏈接開發(fā)擴(kuò)展之模塊入口定義 zendAPI 項(xiàng)目不提供任何底層的功能,只是封裝了 zend engine 提供的功能,對(duì)上提供一個(gè)易用的編程接口。這篇文章中,我們將介紹 C++ 世界與 C 世界交匯的地方,在這里也是 zendAPI 的接...
閱讀 1859·2021-09-22 15:29
閱讀 3351·2019-08-30 15:44
閱讀 3558·2019-08-30 15:43
閱讀 1763·2019-08-30 13:48
閱讀 1489·2019-08-29 13:56
閱讀 2474·2019-08-29 12:12
閱讀 965·2019-08-26 11:35
閱讀 1051·2019-08-26 10:25