技術走出去看看開闊思惟,不要作井底之蛙

忽然寫個感悟:感受有些公司不能呆久了。呆久了,技術得不到提高。過去的經歷存在大腦數據庫,人作判斷是根據大腦數據庫已經存儲的信息,因此思惟模式容易受到過去的影響。php

 

作phper,想提高技術,兩類公司不能呆久了:一類是網站建設公司。二類是接項目單子爲盈利的公司。像軟件外包公司就是的。html

1,關於網站建設公司。mysql

我之前去一個公司面試的時候,是一個網站建設公司。我當面對老闆說,我說公司能夠呆,可是呆久了。技術很可貴到提高。浪費了提高技術水平的機會。linux

我與a同窗也勸過一個同窗,你之前在這種公司呆過,就不要繼續找這方面工做了,會致使你技術難以獲得質的提高。找那種網站運營的公司去。這樣技術提高快。c++

網站建設公司,公司以幫人建設網站、網站策劃營銷做爲盈利來源。建設一個網站,通常1000多塊錢,多的幾千。從技術角度,作這類網站,寫代碼不須要考慮什麼性能,原本這種網站的都是一些簡單的功能。給顧客以實現功能爲主。至於什麼代碼擴展性,代碼性能。sql優化,徹底不須要考慮。一個是由於接的這種網站功能,訪問量都是很小的,更談不上什麼併發訪問。好比,網站建設公司接一個單,幫一家大公司作一個內部辦公方面的系統,既然是內部應用的,通常是員工使用提升效率。訪問量不多。一個公司有幾千個員工(這種公司已經很大規模的了),內部系統對外人通常不開發。預算幾千個去訪問已經不少了。同時一千個員工併發訪問可能性過小了,關於pv,不像社交類的網站,系統的用戶天天都去上網站點擊這點擊那的,服務器,數據庫的壓力確實不小。這類系統,由於併發訪問和訪問量不多,在設計系統的時候,談不上考慮服務器性能,數據庫性能,你能夠去考慮,但我以爲至少是不須要去考慮的。沒意義。sql語句按照最簡單的吧。不須要優化。系統裏面的功能該有的都實現了,就ok了。純粹是考慮代碼的熟練度。程序員

 

互聯網系統,是開放性系統,開發對全部人訪問,訪問數量具備不肯定性。暴露在外界。web

做爲對外提供服務,那麼必需要作到網站提供服務穩定,不間斷。若是用戶在用網站過程當中,程序報錯,網站不穩定,用戶會流失掉。面試

上面兩個因素決定了,所須要涉及到的技術更加複雜。sql

 

若是是本身公司運營的網站,你要考慮的東西是方方面面的,一、你要考慮服務器安全吧。二、由於是對全部用戶是開放的(你總但願訪問的用戶越多越好,這樣產生商業價值)。要考慮這個系統承載訪問量大的時候怎麼處理 三、數據庫是否扛得住。服務器要選擇什麼樣子的。數據庫

web應用的特色,針對全部用戶都是開放訪問,意味數據量更多,併發訪問多。

 

 

php語言的優點和特色,就是用來作web開發。因此做爲web開發的高手側重是,高性能網站架構部署、如何提高網站的用戶訪問速度、數據庫大數據量如何處理(數據庫性能優化,sql優化、數據庫架構部署、數據切分等)、如何應對大併發訪問等方面。

作傳統的軟件開發,轉型向web開發後,側重點不一樣的。好比,之前在某個公司,該技術經理之前是作c++開發的。呆的是那種外資軟件公司,因此他們開發東西流程都是很規範的。一個項目一個項目的開發。可是到了作web應用的公司後,他的技能就顯得捉襟見肘。由於咱們的手機網站當時訪問量很大的(有錢能夠投廣告),天天的訂單數量維持在3k-4k。訪問量大,數據處理量也大。數據庫時不時的崩潰。尤爲是涉及到後臺須要給營銷、市場部門作數據統計。這個常常不當心點擊就把後臺給卡死了(數據量太多了,功能沒規劃好,很耗費數據庫性能),因此不少統計功能,確實是只能勉強用用,市場部沒事哪敢去後臺點擊。

同時,還遇到前臺訪問數據速度不夠快。固然是老闆以爲競爭對手的怎麼那麼快。可是技術經理折騰一天,還加班,都沒搞清楚性能瓶頸在哪裏(之前我還總結要找瓶頸才能解決速度問題,http://www.cnblogs.com/wangtao_20/archive/2012/05/10/2493899.html),因此試不少東西,都沒解決好。

實際上,web開發,若是想提高網站性能,要懂些磁盤知識,服務器硬件(好比內存,cpu、節點如何擴展)知識。與傳統的軟件開發所側重的知識點是不一樣的。

每種技術都有其自身的特色,作php開發與作asp.net開發,一樣是語言,側重點不一樣。

作php,我感受跟asp(或者asp.net)開發也是很大不一樣,asp.net微軟公司強大,不少性能,好的工具都已經幫你解決了。幫作.net開發的省去不少事情。另一點,因爲windows系列自己微軟公司是避源的,不開發。因此裏面結構只有微軟公司最清楚,封閉的東西老是有瓶頸限制很難進一步擴展的。因此假如你的網站訪問量達到很大的時候,靠本身技術解決不了的,必須改動底層或許提高服務性能,由於微軟出於商業考慮使得系統的封閉性,你不可能也沒那個能力去修改底層的東西,此時是已經摸到天花板了,通常是向微軟花錢買服務,那是微軟的要作的,並不是.net程序員要考慮的。京東商城數據量那麼大,就是這樣子的。它有錢嘛。

linux環境下,整個操做系統不只是免費開源,並且你以爲性能遇到瓶頸了,你能夠本身在上面作定製開發。你們的智慧老是要比微軟公司一家的智慧要多。

因此,以php語言來作web開發,要了解和學習的東西要求更多。通常php+mysql是中小型公司選擇最多的(大公司有錢就去用oracle,好比阿里巴巴主要的數據庫仍是oracle,他們用mysql也有,畢竟mysql免費,經過不少的mysql節點集羣產生大數據量存儲效果)。因此,想提高網站的性能,對mysql的數據庫不是侷限於怎麼用。而是怎麼優化提升mysql的性能。好比:主從結構,分佈式mysql結構、數據切分等。

相關文章
相關標籤/搜索