什么樣的公司會(huì)用nodejs?
用了一段時(shí)間,js語(yǔ)言比python等其他腳本語(yǔ)言要好。node在后端的應(yīng)用也比python強(qiáng)。有幾個(gè)原因:
中有很多優(yōu)秀的第三方庫(kù),很多前端庫(kù)也可以在Node環(huán)境下使用,這是其他語(yǔ)言無(wú)法比擬的。
性能不錯(cuò),實(shí)際性能與golang相當(dāng),遠(yuǎn)高于其他腳本語(yǔ)言。
用的是js語(yǔ)言,掌握的很好,前后端和移動(dòng)端都可以吃。
天生就是異步編程,要求程序員起點(diǎn)高,比其他腳本語(yǔ)言少爛代碼。接觸express、koa等web框架,可以看到這些框架設(shè)計(jì)精巧,比django好很多。
Node.js的速度一直很受開發(fā)者歡迎,數(shù)據(jù)輸入和答案輸出的速度快如閃電。Node.js不不需要設(shè)置一個(gè)單獨(dú)的線程,鎖定和其他令人頭痛的問題,也沒有額外的開銷來(lái)降低速度。只需編寫一些簡(jiǎn)單的代碼,Node.js就會(huì)迅速采取正確的步驟。
Node.js的回調(diào)模型改變了它的編程模式,使得程序員避免同時(shí)操作多個(gè)任務(wù)。Javascript引擎可以決定何時(shí)運(yùn)行什么代碼。因此,程序員可以編寫更短的事件驅(qū)動(dòng)代碼,并關(guān)注重要的邏輯。
但是Node.js也有一些問題,Node.js的代碼要盡量簡(jiǎn)單,并且能正常工作,因?yàn)槿绻i死了,整個(gè)服務(wù)器都可能被鎖死。操作系統(tǒng)開發(fā)者努力創(chuàng)造了許多安全網(wǎng)來(lái)抵御編程錯(cuò)誤,但Node.js會(huì)讓這些安全網(wǎng)失效。
基本上,使用nodejs的公司更傾向于javascript。
Python全棧工程師,需要掌握哪些技能與知識(shí)?
全棧只是一個(gè)概念,分為很多類別。真正的全棧工程師涵蓋了web開發(fā)DBA爬蟲的測(cè)試和操作,需要學(xué)習(xí)的內(nèi)容相當(dāng)龐大。就web開發(fā)方向而言(我現(xiàn)在學(xué)的是web方向),需要學(xué)習(xí)的內(nèi)容:前端知識(shí)包括HTML5CSS3JSJqueryAjax,后端至少需要熟練使用Django和tornado,對(duì)于flask肯定會(huì)更好。我還沒有我還不知道其他方向。