1。 熟悉linux開發(fā)環(huán)境,精通c / c ++,熟悉網絡和多線程編程,精通GCC和GDB等開發(fā)工具;
2。 熟悉分布式計算平臺,例如python和hadoop;
3。 優(yōu)秀的學習能力,扎實的數(shù)據(jù)結構基礎; 算法分析,計算機系統(tǒng)結構,操作系統(tǒng),網絡等;
4。 熟悉LAMP開發(fā)架構。
5。 最好了解傳統(tǒng)數(shù)據(jù)庫(如MySQL)和非關系數(shù)據(jù)庫(如NoSQL或MongoDB)的知識;
6。 熟悉機器學習算法的知識,例如樸素貝葉斯,決策樹,支持向量機和邏輯回歸等;
7。 善于思考,自我驅動,突破性創(chuàng)新,不怕困難,敢于承諾和完成目標;
8。 具有以下條件者優(yōu)先考慮:
(1)熟悉TCP / IP協(xié)議,以及常見的Internet應用程序和協(xié)議的原理;
(2)熟悉LVS或其他負載平衡系統(tǒng)的原理;
(3)有相關的開發(fā)經驗,例如DPDK / NETMAP;
(4)了解openstack / kubernetes網絡結構和原理,并具有相關的實踐經驗。
a)理解網絡安全/系統(tǒng)安全的基本知識,并具有相關的工具系統(tǒng)開發(fā)和實施經驗。
b)了解nginx.redis.storm和其他開源軟件;
c)有數(shù)據(jù)庫開發(fā)和網絡編程經驗;
d)具有Linux操作系統(tǒng)開發(fā)和使用經驗;
e)具有腳本語言lua,perl,python開發(fā)經驗的人員;
f)具有Windows編程經驗,GDI,GDI +,DirectX和其他客戶端開發(fā)技術。
g)熟悉關系數(shù)據(jù)庫和非關系數(shù)據(jù)庫,具有數(shù)據(jù)庫設計和調優(yōu)經驗;
h)有良好的編碼習慣,可以編寫高凝聚力,低耦合的代碼,了解設計模式;
i)了解分布式系統(tǒng)原理和微服務架構,了解DevOps方法;
LAMP開發(fā)架構
LAMP指通常一起使用的組。free的首字母縮寫 運行動態(tài)網站或服務器的軟件: Linux,操作系統(tǒng)Apache,Web服務器MariaDB或MySQL,數(shù)據(jù)庫管理系統(tǒng)(或數(shù)據(jù)庫服務器)PHP,Perl或Python,腳本語言
這些開源程序本身并不是專門為與其他幾個程序一起使用而設計的,由于它們的便宜和流行(大多數(shù)Linux發(fā)行版捆綁了這些軟件),因此這種組合變得流行。 當一起使用時,它們的行為就像一個動態(tài)的“解決方案包”(Solution
包)。 其他解決方案包包括Apple的WebObjects(最初是應用程序服務器),Java / J2EE和Microsoft的.NET體系結構。
與Java / J2EE架構相比,LAMP具有Web資源豐富,重量輕,開發(fā)迅速的特點。 與Microsoft的.NET體系結構相比,LAMP具有通用,跨平臺,高性能和低價格的優(yōu)勢。 因此,就性能,質量和價格而言,LAMP是公司構建網站的首選平臺。
Apache是LAMP體系結構的核心Web
服務器。 開源,穩(wěn)定和豐富的模塊是Apache的優(yōu)勢。 但是Apache的缺點是它過分膨脹,內存和CPU開銷很高,并且會損失性能。
它的效率不如某些輕量級的Web服務器(例如nginx)。 輕量級Web服務器對靜態(tài)文件的響應能力比Apache服務器高得多。
Apache作為Web
服務器是加載PHP的最佳選擇。 如果流量很大,則可以使用nginx加載非PHP Web請求。
PHP是一種通用的開源腳本語言。 語法吸收了C語言,Java和Perl的特性,有利于學習,被廣泛使用,并且主要適合于Web開發(fā)領域。 PHP
的獨特語法是C,Java,Perl和PHP自己的語法的混合。 它可以比CGI或Perl更快地執(zhí)行動態(tài)網頁。
與其他編程語言相比,用PHP制作的動態(tài)頁面是將程序嵌入HTML(標準通用標記語言的應用程序)文檔中執(zhí)行,其執(zhí)行效率比完全生成HTML標記的CGI更高。
PHP也可以執(zhí)行編譯后的代碼。 編譯可以實現(xiàn)加密和優(yōu)化的代碼執(zhí)行,從而使代碼運行更快。
在開源數(shù)據(jù)庫中,就性能,穩(wěn)定性和功能而言,MySQL
是首選。 它可以存儲數(shù)百萬個數(shù)據(jù)。 在網站的初期,可以將MySQL和Web服務器放在一起,但是當訪問量達到一定規(guī)模后,應將MySQL數(shù)據(jù)庫與Web
服務器分離并在單獨的服務器上運行,同時保持 Web服務器和MySQL服務器之間的穩(wěn)定連接。
“ LAMP軟件包”的腳本組件包括CGI
web界面,該界面在1990年代初開始流行。 該技術允許Web瀏覽器的用戶在服務器上執(zhí)行程序并接受動態(tài)內容以及靜態(tài)內容。
程序員使用腳本語言來創(chuàng)建這些程序是因為它們可以輕松有效地處理文本流,即使這些文本流并非源自程序本身。
出于這個原因,系統(tǒng)設計人員經常將這些腳本語言稱為膠水語言。
1。 熟悉linux開發(fā)環(huán)境,精通c / c ++,熟悉網絡和多線程編程,精通GCC和GDB等開發(fā)工具;
2。 熟悉分布式計算平臺,例如python和hadoop;
3。 優(yōu)秀的學習能力,扎實的數(shù)據(jù)結構基礎; 算法分析,計算機系統(tǒng)結構,操作系統(tǒng),網絡等;
4。 熟悉LAMP開發(fā)架構。
5。 最好了解傳統(tǒng)數(shù)據(jù)庫(如MySQL)和非關系數(shù)據(jù)庫(如NoSQL或MongoDB)的知識;
6。 熟悉機器學習算法的知識,例如樸素貝葉斯,決策樹,支持向量機和邏輯回歸等;
7。 善于思考,自我驅動,突破性創(chuàng)新,不怕困難,敢于承諾和完成目標;
8。 具有以下條件者優(yōu)先考慮:
(1)熟悉TCP / IP協(xié)議,以及常見的Internet應用程序和協(xié)議的原理;
(2)熟悉LVS或其他負載平衡系統(tǒng)的原理;
(3)有相關的開發(fā)經驗,例如DPDK / NETMAP;
(4)了解openstack / kubernetes網絡結構和原理,并具有相關的實踐經驗。
a)理解網絡安全/系統(tǒng)安全的基本知識,并具有相關的工具系統(tǒng)開發(fā)和實施經驗。
b)了解nginx.redis.storm和其他開源軟件;
c)有數(shù)據(jù)庫開發(fā)和網絡編程經驗;
d)具有Linux操作系統(tǒng)開發(fā)和使用經驗;
e)具有腳本語言lua,perl,python開發(fā)經驗的人員;
f)具有Windows編程經驗,GDI,GDI +,DirectX和其他客戶端開發(fā)技術。
g)熟悉關系數(shù)據(jù)庫和非關系數(shù)據(jù)庫,具有數(shù)據(jù)庫設計和調優(yōu)經驗;
h)有良好的編碼習慣,可以編寫高凝聚力,低耦合的代碼,了解設計模式;
i)了解分布式系統(tǒng)和微服務架構的原理,了解DevOps方法;
LAMP開發(fā)框架
LAMP是指一組自由軟件首字母縮寫詞,通常一起用于運行動態(tài)網站或服務器: Linux,操作系統(tǒng)Apache,Web服務器MariaDB或MySQL,數(shù)據(jù)庫 管理系統(tǒng)(或數(shù)據(jù)庫服務器)PHP,Perl或Python,腳本語言
盡管這些開放源代碼程序本身并不是專門為與其他程序一起使用而設計的,但它們既便宜又普遍,這種組合變得很流行(大多數(shù)Linux 發(fā)行版捆綁了這些軟件)。 當一起使用時,它們的行為就像一個動態(tài)的“解決方案包”(Solution
包)。 其他解決方案包包括Apple的WebObjects(最初是應用程序服務器),Java / J2EE和Microsoft的.NET體系結構。
與Java / J2EE架構相比,LAMP具有Web資源豐富,重量輕,開發(fā)迅速的特點。 與Microsoft的.NET體系結構相比,LAMP具有通用,跨平臺,高性能和低價格的優(yōu)勢。 因此,就性能,質量和價格而言,LAMP是公司構建網站的首選平臺。
Apache是LAMP體系結構的核心Web
服務器。 開源,穩(wěn)定和豐富的模塊是Apache的優(yōu)勢。 但是Apache的缺點是它過分膨脹,內存和CPU開銷很高,并且會損失性能。
它的效率不如某些輕量級的Web服務器(例如nginx)。 輕量級Web服務器對靜態(tài)文件的響應能力比Apache服務器高得多。
Apache作為Web
服務器是加載PHP的最佳選擇。 如果流量很大,則可以使用nginx加載非PHP Web請求。
PHP是一種通用的開源腳本語言。 語法吸收了C語言,Java和Perl的特性,有利于學習,被廣泛使用,并且主要適合于Web開發(fā)領域。 PHP
的獨特語法是C,Java,Perl和PHP自己的語法的混合。 它可以比CGI或Perl更快地執(zhí)行動態(tài)網頁。
用PHP和其他編輯器制作的動態(tài)頁面與編程語言相比,PHP將程序嵌入HTML(標準通用標記語言的應用程序)文檔中以供執(zhí)行,其執(zhí)行效率比完全生成HTML標簽的CGI更高。
PHP也可以執(zhí)行已編譯的代碼,并且編譯可以實現(xiàn)加密并優(yōu)化代碼運行,從而使代碼運行更快。
在開源數(shù)據(jù)庫中,就性能,穩(wěn)定性和功能而言,MySQL
是首選。 它可以存儲數(shù)百萬個數(shù)據(jù)。 在網站的初期,可以將MySQL和Web服務器放在一起,但是當訪問量達到一定規(guī)模后,應將MySQL數(shù)據(jù)庫與Web
服務器分離并在單獨的服務器上運行,同時保持 Web服務器和MySQL服務器之間的穩(wěn)定連接。
“ LAMP軟件包”的腳本組件包括CGI
web界面,該界面在1990年代初開始流行。 該技術允許Web瀏覽器的用戶在服務器上執(zhí)行程序并接受動態(tài)內容以及靜態(tài)內容。
程序員使用腳本語言來創(chuàng)建這些程序是因為它們可以輕松有效地處理文本流,即使這些文本流并非源自程序本身。
出于這個原因,系統(tǒng)設計人員經常將這些腳本語言稱為膠水語言。