建站知識(shí)
發(fā)布時(shí)間:2018-10-11
其實(shí)現(xiàn)在網(wǎng)站的后端開(kāi)發(fā)語(yǔ)言有很多,列出來(lái)普及一下知識(shí)!
1/ .net/java
龐大,復(fù)雜。但 Java 的優(yōu)點(diǎn)就是適合處理特別大的數(shù)據(jù)量,如果你的項(xiàng)目會(huì)很快實(shí)現(xiàn)大爆發(fā),需要處理海量的請(qǐng)求,那么 Java 是一個(gè)不錯(cuò)的選擇。
2/ PHP
可以快速上手,相比其他語(yǔ)言,可以更快的為應(yīng)用添加各種新功能。當(dāng)然,可維護(hù)性就另當(dāng)別論了。
3/ Ruby
非常接近自然語(yǔ)言,基本上即使不懂編程,也能看明白 70% 或 80%。04 年出現(xiàn)了一個(gè)用 Ruby 編寫(xiě)的 Web 開(kāi)發(fā)框架 Ruby on Rails,當(dāng)時(shí)的效果是非常震撼的,以前需要一個(gè)團(tuán)隊(duì)才能搞定的事情,使用 Ruby on Rails 后 1 個(gè)人就可以勝任了,所以 Ruby on Rails 在極短的時(shí)間內(nèi)就成為了 Ruby 的代名詞,也成為了新手學(xué)習(xí) Web 開(kāi)發(fā)的不二選擇,但是 Ruby 語(yǔ)言也并非十全十美,快的同時(shí),他的大短板就是性能。Twitter 早就是使用 Ruby on Rails 開(kāi)發(fā)的,但是隨著用戶(hù)數(shù)的逐步增長(zhǎng),Twitter 的宕機(jī)開(kāi)始變得非常頻繁,后來(lái)他們迫不得已將整個(gè)系統(tǒng)從 Ruby 遷移到到了一個(gè)從 Java 派生出來(lái)的語(yǔ)言 Scala。
4/ node.js
簡(jiǎn)單來(lái)說(shuō),可以把 node.js 理解為跑在服務(wù)器上的 javascript,再直白一點(diǎn),就是一個(gè)跑在服務(wù)器上的瀏覽器,因?yàn)?nbsp;node.js 早就是從 chrome 瀏覽器的Javascript 引擎 V8 中剝離出來(lái)的。相比 Ruby,Node.js 程序可以獲得更高的并發(fā)性能,這在一些高并發(fā)的場(chǎng)景下(比如群聊,多人協(xié)作等)會(huì)很有優(yōu)勢(shì)。
5/ 其它(python,closure 等)
6/ 無(wú)后端(leancloud)
無(wú)后端編程是近的一個(gè)新趨勢(shì),但她并非說(shuō)是真的沒(méi)有后端,而只是把后端交給一些第三方的云平臺(tái),比如 Leancloud,F(xiàn)irebase 等。如果你開(kāi)發(fā)一個(gè)手機(jī) App,這樣的好處就是你可以在早期沒(méi)有后端程序員的情況下快速開(kāi)工,像Leancloud 這樣的云平臺(tái)已經(jīng)可以勝任大部分的應(yīng)用場(chǎng)景,如果后期業(yè)務(wù)邏輯復(fù)雜之后再尋找合適的后端工程師遷移也不遲。
7/ 強(qiáng)編程語(yǔ)言 Lisp
如果要評(píng)選一個(gè)強(qiáng)的編程語(yǔ)言,該是哪個(gè)呢?答案就是Lisp。為什么是 Lisp?Lisp 的作者在很早以前就從數(shù)學(xué)的層面總結(jié)了一個(gè)完美的編程語(yǔ)言應(yīng)該具備的 9 種能力,而 Lisp 就是為了配合他的這個(gè)理論而產(chǎn)生出來(lái)的語(yǔ)言。Hacker News 是由 YC 的創(chuàng)始人 Paul Graham 開(kāi)發(fā)的,而 Paul Graham 本身就是一個(gè) Lisp 程序員,他為了開(kāi)發(fā) Hacker News,專(zhuān)門(mén)發(fā)明了一種新語(yǔ)言叫做 Arc,但因?yàn)樗腔?nbsp;Lisp 的,所以也被歸為了 Lisp 的方言之一。
| 數(shù)據(jù)庫(kù)
我們平常訪(fǎng)問(wèn)的大部分網(wǎng)站都是需要登錄操作的,登錄之后我們看到的就是只和自己相關(guān)的那部分內(nèi)容。這些用戶(hù)信息是保存在什么地方的呢?這就需要用到數(shù)據(jù)庫(kù)。關(guān)于數(shù)據(jù)庫(kù),代表性的有兩個(gè):
1/ MySQL
2/ MongoDB
MySQL 是常用的結(jié)構(gòu)化數(shù)據(jù)庫(kù),也是大多數(shù)創(chuàng)業(yè)公司的選擇。為什么是結(jié)構(gòu)化的?就是說(shuō)它的表的結(jié)構(gòu)是固定的,比如我們常見(jiàn)的 User 表在 MySQL 中就是這樣的:
id name email password
1 一元 y@modao.io $2a$10$ZxNhLyDTdagtUc...
2 產(chǎn)品集小妹 xiaomei@36kr.com $2a$10$zK7TnBXYYFz...
如果我們需要取得一條用戶(hù)記錄來(lái)檢查他輸入的密碼是否正確,這時(shí)我們就需要使用 SQL,SQL 就是結(jié)構(gòu)化查詢(xún)語(yǔ)言。
簡(jiǎn)單來(lái)說(shuō),SQL 數(shù)據(jù)庫(kù)保存的是結(jié)構(gòu)化數(shù)據(jù),NOSQL 數(shù)據(jù)庫(kù)則可以保存非結(jié)構(gòu)化數(shù)據(jù)。舉個(gè)例子,還拿上面的用戶(hù)表來(lái)舉例,如果我們現(xiàn)在想要給產(chǎn)品集小妹增加一些額外的屬性,比如她給某個(gè)產(chǎn)品點(diǎn)贊可以效果 x2,那么如果是 SQL 數(shù)據(jù)庫(kù),我們就需要給數(shù)據(jù)庫(kù)增加一個(gè)新的字段來(lái)保存這個(gè)屬性:
id name email x2
1 一元 y@modao.io false
2 產(chǎn)品集小妹 xiaomei@36kr.com true
但是如果是 MongoDB 這樣的 NOSQL 數(shù)據(jù)庫(kù),我們就不需要給所有用戶(hù)都增加一個(gè)x2的屬性,只需要給產(chǎn)品集小妹單獨(dú)增加就可以了,NOSQL 中保存到數(shù)據(jù)是如下這個(gè)樣子的:
{id: ‘1’, name: ‘一元’, email: 'y@modao.io’, password: ‘…’}
{id: ‘1’, name: ‘產(chǎn)品集小妹’, email: 'xiaomei@36kr.com’, password: ‘…’, x2: true}
| Cookie 和 Session
服務(wù)器要處理成千上萬(wàn)用戶(hù)的請(qǐng)求,那么他是如何區(qū)分每個(gè)用戶(hù),并返回給每個(gè)用戶(hù)他所需要的內(nèi)容的 ?這就要涉及到 Cookie 和 Session。我們可以將 Cookie 理解為是服務(wù)器給每個(gè)用戶(hù)分配的唯一 ID,這個(gè) ID 由用戶(hù)瀏覽器保存,而 Session 則是服務(wù)器為了維護(hù)這個(gè)會(huì)話(huà)在服務(wù)器端保存的與 cookie 對(duì)應(yīng)的用戶(hù)數(shù)據(jù)。
完善的售后服務(wù)體系,專(zhuān)業(yè)的后臺(tái)培訓(xùn)
安全、穩(wěn)定、無(wú)后顧之憂(yōu)
詳細(xì)報(bào)價(jià)單,不弄虛作假
十年以上建站經(jīng)驗(yàn),重合同講信譽(yù)
大連新圖聞科技有限公司是一家品牌設(shè)計(jì)服務(wù)提供商,企業(yè) 網(wǎng)絡(luò)服務(wù)品牌,也是企業(yè)郵箱“盈世”的大連地區(qū)代理商。 公司服務(wù)項(xiàng)目包括網(wǎng)站建設(shè)、平面設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣、商 業(yè)攝影、企業(yè)郵箱等,幫助客戶(hù)提高企業(yè)綜合競(jìng)爭(zhēng)能力。
市場(chǎng)部 : 8001@newtwowin.com
業(yè)務(wù)聯(lián)系,業(yè)務(wù)需求請(qǐng)發(fā)到此郵箱.
QQ咨詢(xún): 94091176
客服部:xxz@newtwowin.com
地址:大連市西安路羅斯福B座3109