国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - 如何突破PHP程序員的技術(shù)瓶頸分析

如何突破PHP程序員的技術(shù)瓶頸分析

2019-12-07 15:03PHP教程網(wǎng) PHP教程

身邊有幾個做PHP開發(fā)的朋友,也接觸到不少的PHP工程師,他們常疑慮自己將來在技術(shù)上的成長與發(fā)展,我常給他們一些建議,希望他們能破突自己,有更好的發(fā)展。

先明確我所指的PHP工程題,是指畢業(yè)工作后,主要以PHP進行WEB系統(tǒng)的開發(fā),沒有使用其的語言工作過。工作經(jīng)驗大概在3~4年,普通的WEB系統(tǒng)(百萬級訪問,千成級數(shù)據(jù)以內(nèi)或業(yè)務(wù)邏輯不是特別復雜)開發(fā)起基本得心應(yīng)手,沒有什么問題。但他們會這樣的物點: 

除了PHP不使用其它的語言,可能會點shell 腳本。 
對PHP的掌握不精(很多PHP手冊都沒有看完,庫除外) 
知識面比較窄(面對需求,除開使用PHP和mysql ,不知道其它的解決辦法) 
PHP代碼以過程為主,認為面向?qū)ο蟮膶崿F(xiàn)太繞,看不懂 
這些PHPer 在遇到需要高性能,處理高并發(fā),大量數(shù)據(jù)的項目或業(yè)務(wù)邏輯比較復雜(系統(tǒng)需要解決多領(lǐng)域業(yè)務(wù)的問題)時,缺少思路。不能分析問題的本質(zhì),技術(shù)判斷力比較差,對于問題較快能找出臨時的解決辦法,但常常在不斷臨時性的解決辦法中,系統(tǒng)和自己一步步走向崩潰。那怎么提高自己呢?怎么可以挑戰(zhàn)難度更高的系統(tǒng)? 

更高的挑戰(zhàn)在那里?結(jié)合我自己的經(jīng)驗,我列出一些具體挑戰(zhàn),讓大家先有個感性的認識。 

高性能系統(tǒng)的挑戰(zhàn)在那里? 

如何選擇WEB服務(wù)器?要不要使用fast-cgi 模式 
要不要使用反向代理服務(wù)?選擇全內(nèi)存緩存還是硬盤緩存? 
是否需要負載均衡?是基于應(yīng)用層,還是網(wǎng)絡(luò)層? 如何保證高可靠性? 
你的PHP代碼性能如何,使用優(yōu)化工具后怎么樣? 性能瓶頸在那里? 是否需要寫成C的擴展? 
用戶訪問有什么特點,是讀多還是寫多?是否需要讀寫分離? 
數(shù)據(jù)如何存儲?寫入速度和讀出速度如何? 數(shù)據(jù)增漲訪問速讀如何變化? 
如何使用緩存? 怎么樣考慮失效?數(shù)據(jù)的一致性怎么保證? 
高復雜性系統(tǒng)的挑戰(zhàn)在那里? 

能否識別業(yè)務(wù)所對應(yīng)的領(lǐng)域?是一個還是多個? 
能否合理對業(yè)務(wù)進行抽象,在業(yè)務(wù)規(guī)則變化能以很小的代價實現(xiàn)? 
數(shù)據(jù)的一致性、安全性可否保證? 
是否撐握了面向?qū)ο蟮姆治龊驮O(shè)計的方法 
當我所列出的問題,你都能肯定的回答,我想在技術(shù)上你基本已經(jīng)可能成為架構(gòu)師了。如何你還不能回答,你需要在以下幾個方向加強。 

如何你還不能回答,你需要在以下幾個方向加強: 

分析你所使用的技術(shù)其原理和背后運行的機制,這樣可以提高你的技術(shù)判斷力,提高你技術(shù)方案選擇的正確性; 
學習大學期間重要的知識, 操作系統(tǒng)原理,數(shù)據(jù)結(jié)構(gòu)和算法。知道你以前學習都是為了考試,但現(xiàn)在你需要為自己學習,讓自己知其所以然。 
重新開始學習C語言,雖然你在大學已經(jīng)學過。這不僅是因為你可能需要寫PHP擴展,而且還因為,在做C的應(yīng)用中,有一個時刻關(guān)心性能、內(nèi)存控制、變量生命周期、數(shù)據(jù)結(jié)構(gòu)和算法的環(huán)境。 
學習面向?qū)ο蟮姆治雠c設(shè)計,它是解決復雜問題的有效的方法。學習抽象,它是解決復雜問題的唯一之道。 
"這么多的東西怎么學,這得學多久呀" ?如果你努力的話,有較好的規(guī)劃,估計需要1~2年的時間。 

如何有效的學習是一個大問題。 自己有些實踐但很零散,不好總結(jié)。昨天晚上睡覺前,突然想到了RUP的核心,"以架構(gòu)為中心,用例驅(qū)動,迭代開發(fā)",借用這個思想,關(guān)于有效的學習的方法,可以這樣來表述:以原理、模型或機制為中心,任務(wù)驅(qū)動,迭代學習。 

有點抽象, 舉個例子來說明如何學習。目的: 學習如何提高處理性能。 

可迭代驅(qū)動的任務(wù): 通過IP找到所在地域。 

這是WEB應(yīng)用常見的任務(wù),IP數(shù)據(jù)庫是10左右萬行的記錄。 

第一次迭代: 不考慮性能的情況下實現(xiàn)功能(通過PHP來實現(xiàn))。因為無法直接通過KEY(IP)進行查找地域,所以直接放到數(shù)據(jù)或通過關(guān)聯(lián)數(shù)組這種簡單的方法都是不行的。思路還是先把數(shù)據(jù)進行排序,然后再進行查找。 

如何通過IP查找? 已序的數(shù)據(jù),二分查找是最快的。 
如何排序?用庫函數(shù)sort當然 是可以,但是即然是學習,那還是自己實現(xiàn)快速排序吧。 
學習目標: 排序算法,查找算法。 

PHPer 一般數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)比較差,平時也沒有這方面的任務(wù),自己也不學習,因此這方面的知識很缺乏。但是,編程解決的問題,最終都會歸結(jié)到數(shù)據(jù)結(jié)構(gòu)和對這種數(shù)據(jù)結(jié)構(gòu)操作的算法。如果數(shù)據(jù)結(jié)構(gòu)算法常在心中,那遇到問題就能清晰認識到它內(nèi)在的結(jié)構(gòu),解決方法就會自然產(chǎn)生。 

第二次迭代:優(yōu)化數(shù)據(jù)的加載與排序。如果做到第一步,那基本上還是不可用,因為數(shù)據(jù)每次都需要的加載和排序,這樣太耗時間。 解決的思路是,數(shù)據(jù)一次加載排序后,放到每個PHP進程能訪問到的地方。 

放到memcache 這是大家容易想到問題。其實放到共享內(nèi)存(EA等加速器都支持)中是更快的方式,因為memcache還多了網(wǎng)絡(luò)操作。 數(shù)據(jù)是整體放入到共享內(nèi)存,還是分塊放入,如何測試性能? 如何分析瓶頸所在(xdebug)? 在這些問題的驅(qū)動下你會學習到。 

學習目標: 檢測、定位、優(yōu)化PHP性能的方法; PHP實現(xiàn)結(jié)構(gòu)對性能的影響。 

第三次迭代: 編寫PHP的擴展。性能還是上不去,不得不進入C/C++的世界了,不過從此你將不只是PHPer 而服務(wù)端的全能型工程師,當然這對沒有做過C/C++的同學挑戰(zhàn)是巨大的。 我這里無法再簡單來說如何學習C/C++ ,可以參看 《PHP程序員學習C++》 

學習目標:C/C++的學習,PHP擴展的編寫 

怎么確定需要學習的機制和原理呢? 怎么找到驅(qū)動學習任務(wù)呢?我對需要學習的東西,都沒有什么概念,怎么回答以上的兩個問題? 

從這個技術(shù)的定位來找出需要學習的重點,即它怎么做到(機制)的和它為什么能這樣做到 (模型或原理) 
列出這個技術(shù)最常見的應(yīng)用,做為學習的任務(wù),從簡到難進行實踐。 
假如我需要學習Javascript ,我對于HTML,CSS有點感性認識。首要我了解到,JS 是WEB領(lǐng)域的動態(tài)語言,主要解決網(wǎng)頁的動態(tài)交互的。那我要學習的要點如下: 

JS如何與HTML 進行交互 (機制) 
JS的動態(tài)特性在那里,與其它動態(tài)語言有何區(qū)別?(語言模型) 
如果完全自學,找到需要學習的要點(機制、模型、原理) 設(shè)定學習任務(wù)的確不是那么容易把握。如果找到一個有經(jīng)驗的人來指導你或加一個學習型的團隊,那學習的速度的確會大大提高。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 91精品国产九九九久久久亚洲 | 亚洲男人天堂网 | 91精品国产色综合久久 | 在线激情网 | 啊啊啊网站 | 在线a视频 | 欧美日韩干 | 久草视频国产 | 免费午夜电影 | 亚洲免费视频一区 | 亚洲国产精品一区二区三区 | 五月天婷婷在线视频 | 欧美黄色小视频 | 亚洲永久免费视频 | 能看的av网站 | 成人av免费观看 | 亚洲精品久久久久中文字幕欢迎你 | 国产欧美综合一区二区三区 | 依人九九 | 久久久久高清 | 国产精品成人一区二区三区夜夜夜 | 国产人妖一区 | 在线观看免费毛片视频 | 亚洲一区二区免费看 | 99er视频| 久久久久久网站 | 一本色道久久综合狠狠躁篇的优点 | 国产最新视频 | 国产精品成人3p一区二区三区 | 久久一区视频 | 欧美午夜一区二区 | 欧美一区二区三区xxxx监狱 | 亚洲国产精品成人 | 色综合欧美| 精品日韩一区二区 | 18视频在线观看网站 | av黄色在线看 | 香蕉av在线| 五月婷婷视频 | www.成人在线视频 | 日韩久久久久久 |