標籤:
也是做了很多年的互連網開發,有些感慨,為什麼說互連網開發人員技術能力偏弱呢,我們來看看互連網上主流的技術,PHP,Python,MySQL,Memcache,Redis,Nginx,HTTP協議,負載平衡,如果你覺得上面列出這些都很高大上,那麼很不幸的告訴你,你中招了,
1、PHP,PHP從4開始流行,很簡單的一個指令碼語言,對於大部分web應用情境的確很適合,你對作業系統,對網路通訊幾乎一無所知,就可以成為一個合格的福士開發人員,捫心自問,你的編程能力體現在哪裡
2、Python相比PHP相對有些技術含量,但在web開發方面也和PHP是同一個水平的
3、MySQL現在已經發展不不錯,主要是innodb的力量,innodb成為預設引擎也是近幾年的事,儘管如此,你還不是把他當myisum用,只有各別應用情境會注重innodb的功能,如交易。資料庫論最強,開源當屬PostgreSQL,商務資料庫當屬Oracle,這個應該是沒有爭議的,
4、Memcache,這不就是一個雜湊表嗎,雜湊表其實很簡單,難的是哈西函數的演算法,然而它也不過是選擇了一個業界比較認可的一個函數,當然源碼裡還有一個備選,對於一個做過C語言的人來說,實現一個Memcache真的很容易,而且不需要是C專家層級
5、Redis,可以說是相對Memcache增加了幾個資料結構的支援,支援儲存,而它所支援的資料結構也都是比較簡單的資料結構,當然我沒有看過源碼,不過從功能上來說也沒有什麼技術亮點,只是比Memcache靈活一些
6、Nginx,開發一個基本的web伺服器其實很簡單,Nginx最初就是很簡單,epoll/kqueue 是其高效能的關鍵,算是當時利用了比較先進的系統提供的服務,不過我覺得這應該歸功說作業系統,因為這項技術誰都可以用,而且使用上也比原來的select,poll 要好用一些。當然他還有代理功能,代理功能說白了就是協議轉寄,Nginx的核心功能可以說就是I/O,無論是代理還是靜態態檔案服務
7、HTTP協議,這個協議很落後,也很低效,原因是這個協議設計之初也不會想到會有今天的應用規模,目前主流的是1.1版本,其實改進方案很多,只是原有web基礎設施可沒有那麼容易更換,比如瀏覽器,畢竟曆史包袱總是會成為很難解決的問題
8、負載平衡,聽起來很高大上,但是這最已經不是什麼新技術,就是在網路某層上做調度
其實還可以例舉很多技術名詞,但多數都是多少年前的技術搬到了互連網上,重新封裝了一下
從技術方面看,互連網還有很長的路要走,作為一個互連網開發人員的技術道路也還有很長的路要走,不要以為會用幾個開源軟體就覺得技術很強了,殊不知演算法才是程式的靈魂,電腦技術知識才是基本功,對於那些簡單開源軟體的配置與使用,等你到了一定水平,從不會到會可能就是分分鐘的事兒
為什麼說互連網開發人員普遍技術能力偏弱