程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 技術走出去看看開闊思維,不要做井底之蛙

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

編輯:關於PHP編程

突然寫個感悟:感覺有些公司不能呆久了。呆久了,技術得不到提升。過去的經歷存在大腦數據庫,人做判斷是根據大腦數據庫已經存儲的信息,所以思維模式容易受到過去的影響。

 

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

1,關於網站建設公司。

我以前去一個公司面試的時候,是一個網站建設公司。我當面對老板說,我說公司可以呆,但是呆久了。技術很難得到提升。浪費了提升技術水平的機會。

我與a同學也勸過一個同學,你以前在這種公司呆過,就不要繼續找這方面工作了,會導致你技術難以得到質的提升。找那種網站運營的公司去。這樣技術提升快。

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

 

互聯網系統,是開放性系統,開發對所有人訪問,訪問數量具有不確定性。暴露在外界。

作為對外提供服務,那麼必須要做到網站提供服務穩定,不間斷。如果用戶在用網站過程中,程序報錯,網站不穩定,用戶會流失掉。

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

 

如果是自己公司運營的網站,你要考慮的東西是方方面面的,1、你要考慮服務器安全吧。2、因為是對所有用戶是開放的(你總希望訪問的用戶越多越好,這樣產生商業價值)。要考慮這個系統承載訪問量大的時候怎麼處理 3、數據庫是否扛得住。服務器要選擇什麼樣子的。

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結構、數據切分等。

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved