DailyLife-coder | 感覺(jué)不能自動(dòng)變?yōu)橛洃?/h2>

感覺(jué)不能自動(dòng)變?yōu)橛洃?/i>

任何習(xí)慣都是放棄了對(duì)細(xì)節(jié)的控制

? #每日這是啥# ??

/web開發(fā)/B/S架構(gòu)/語(yǔ)言是怎么開發(fā)的/什么是爬蟲/

/爬蟲笑話/渲染/網(wǎng)站內(nèi)容更新問(wèn)題/

/點(diǎn)擊網(wǎng)絡(luò)鏈接后發(fā)生了什么/前端后臺(tái)界面的不同/


? web開發(fā) ?

一個(gè)web應(yīng)用程序是一個(gè)能夠讓用戶完成某些特定任務(wù)?的網(wǎng)站。而一個(gè)普通的網(wǎng)站的主要目標(biāo)是給用戶提供信息(博客,新聞,指導(dǎo),等)。

Web應(yīng)用程序是一種可以通過(guò)Web訪問(wèn)的應(yīng)用程序,程序的最大好處是用戶很容易訪問(wèn)應(yīng)用程序,用戶只需要有瀏覽器即可,不需要再安裝其他軟件。


?B/S結(jié)構(gòu) ?

(Browser/Server,瀏覽器/服務(wù)器模式),是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB瀏覽器是客戶端最主要的應(yīng)用軟件。

?C/S架構(gòu) ?

Client/Server架構(gòu),即客戶端/服務(wù)器架構(gòu)。是大家熟知的軟件系統(tǒng)體系結(jié)構(gòu),通過(guò)將任務(wù)合理分配到Client端和Server端,降低了系統(tǒng)的通訊開銷,需要安裝客戶端才可進(jìn)行管理操作。B/S架構(gòu):客戶端基本上沒(méi)有專門的應(yīng)用程序,應(yīng)用程序基本上都在服務(wù)器端。由于 客戶端沒(méi)有程序,應(yīng)用程序的升級(jí)和維護(hù)都可以在服務(wù)器端完成,升級(jí)維護(hù)方便。


?語(yǔ)言是怎么開發(fā)的 ?

one ?一門編程語(yǔ)言是如何被創(chuàng)造出來(lái)的?

編程高級(jí)語(yǔ)言類似于人類自然語(yǔ)言,你想創(chuàng)造一門語(yǔ)言,那就得創(chuàng)造出這門語(yǔ)言的基本語(yǔ)言元素,比如單詞,關(guān)鍵字。然后是基于這些基礎(chǔ)元素上的詞法,語(yǔ)法,語(yǔ)義等。計(jì)算機(jī)只能識(shí)別二進(jìn)制機(jī)器語(yǔ)言,所以創(chuàng)造編程語(yǔ)言的關(guān)鍵是要編寫出能轉(zhuǎn)換成機(jī)器語(yǔ)言的工具,也就是編譯器。理論上只要你能寫出編譯器,你就能制造出任意編程語(yǔ)言。編譯原理是計(jì)算機(jī)科學(xué)最高深的理論之一。

two ?需求是首要驅(qū)動(dòng).

匯編的出現(xiàn)是為了減少打孔的痛苦.

高級(jí)語(yǔ)言的出現(xiàn)是為了減少匯編的痛苦.

java是為了方便跨平臺(tái).

也有的是為了某個(gè)方面更方便,功能更強(qiáng)大,或者更開放. 甚至只是為了對(duì)抗.比如 J#

知識(shí)儲(chǔ)備:

學(xué)習(xí)完編譯原理;

https://baike.baidu.com/item/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/4194

具備編程能力;

了解目前流行語(yǔ)言特性。

思考內(nèi)容:

確定語(yǔ)言用途和功能場(chǎng)景;

選擇語(yǔ)言基礎(chǔ)特性和功能;

確定你要用什么去編譯實(shí)現(xiàn)你所需要?jiǎng)?chuàng)造實(shí)現(xiàn)的語(yǔ)言;

步驟什么的,就按編譯原理里面的來(lái)詞法、語(yǔ)法分析什么的。


?什么是爬蟲 ?

Web Spider

爬蟲:一段自動(dòng)抓取互聯(lián)網(wǎng)信息的程序,從互聯(lián)網(wǎng)上抓取對(duì)于我們有價(jià)值的信息。

網(wǎng)絡(luò)爬蟲的英文即Web Spider,是一個(gè)很形象的名字。把互聯(lián)網(wǎng)比喻成一個(gè)蜘蛛網(wǎng),那么Spider就是在網(wǎng)上爬來(lái)爬去的蜘蛛。網(wǎng)絡(luò)蜘蛛是通過(guò)網(wǎng)頁(yè)的鏈接地址來(lái)尋找網(wǎng)頁(yè),從網(wǎng)站某一個(gè)頁(yè)面(通常是首頁(yè))開始,讀取網(wǎng)頁(yè)的內(nèi)容,找到在網(wǎng)頁(yè)中的其它鏈接地址,然后通過(guò)這些鏈接地址尋找下一個(gè)網(wǎng)頁(yè),這樣一直循環(huán)下去,直到把這個(gè)網(wǎng)站所有的網(wǎng)頁(yè)都抓取完為止。如果把整個(gè)互聯(lián)網(wǎng)當(dāng)成一個(gè)網(wǎng)站,那么網(wǎng)絡(luò)蜘蛛就可以用這個(gè)原理把互聯(lián)網(wǎng)上所有的網(wǎng)頁(yè)都抓取下來(lái)。


?爬蟲笑話 ?

作為一家大數(shù)據(jù)公司的運(yùn)營(yíng)小編,經(jīng)常會(huì)有人問(wèn)我“誒?你說(shuō)的爬蟲是什么呀”“爬蟲的用途是什么呀?”“你們公司是賣爬蟲的嗎,有蜥蜴嗎?”等一系列問(wèn)題


? 渲染 ?

簡(jiǎn)單來(lái)說(shuō),渲染是瀏覽器的某種基礎(chǔ)功能,它將你的 HTML 和 CSS 解析成 DOM 樹,并將其轉(zhuǎn)換成屏幕上的像素點(diǎn)。對(duì)于 Web 平臺(tái)來(lái)說(shuō),渲染是非常重要的。

一是因?yàn)椋瑒?dòng)態(tài)網(wǎng)頁(yè)的本質(zhì)是接受用戶或腳本生成的輸入,并將其轉(zhuǎn)化為視覺(jué)結(jié)果。渲染是這個(gè)過(guò)程的核心,因此無(wú)論你的頁(yè)面做的有多么酷炫,如果渲染出了問(wèn)題,用戶就不會(huì)有任何好的體驗(yàn)。

其二,渲染是網(wǎng)頁(yè)性能的主要決定因素(感知的和實(shí)際的),渲染是無(wú)法中斷的,如果 JavaScript 運(yùn)行太久頁(yè)面就會(huì)變得笨重,這當(dāng)然會(huì)引起用戶注意。

其三,現(xiàn)代網(wǎng)頁(yè)是動(dòng)態(tài)的——會(huì)不斷地修改內(nèi)容,加載內(nèi)容,進(jìn)行動(dòng)畫。為了跟上步伐,保證交互流暢,渲染代碼必須是一等公民。

from/掘金


?前端初學(xué)者關(guān)于網(wǎng)站內(nèi)容更新的提問(wèn)? ?

夕立改二

多嘴幾句,希望能幫助題主繞開一些坑。僅針對(duì)不使用WordPress這類傻瓜式工具的獨(dú)立開發(fā)。

網(wǎng)上各類腳本語(yǔ)言搭建Web的教程,成效都非常顯著,一個(gè)文件,寫兩句話,裝個(gè)服務(wù)器,就能跑網(wǎng)站了。但是這通常會(huì)讓初學(xué)者以為Web就該這么開發(fā),掉坑不復(fù)返。我的建議是,如果不急著出成品,可以先靜下心來(lái),去學(xué)一學(xué)Java下的Web框架Spring。相比各類腳本語(yǔ)言,Spring的學(xué)習(xí)成本是比較高的。你可以去讀文檔,也可以去看教程(源碼就算了,中前期沒(méi)必要)。這種久經(jīng)磨練的成熟框架,結(jié)構(gòu)已經(jīng)非常漂亮,最主要的是,各類教程沒(méi)法給你繞開整個(gè)Web應(yīng)用的運(yùn)行流程,畢竟這是需要編譯的Java。當(dāng)你完完全全搞懂究竟服務(wù)器如何運(yùn)作,為什么要用MVC分層,為什么要用前端模板,為什么要引入控制反轉(zhuǎn)等一系列可能你在腳本語(yǔ)言教程里看不到的問(wèn)題后,你再回過(guò)頭去,用你喜歡的腳本語(yǔ)言和框架出成品,效率會(huì)非常高,并且知道怎么做,為什么這么做,代碼可維護(hù)性也會(huì)極好。


?軟件安裝的過(guò)程中都做了什么 ?

①文件從安裝源位置拷貝到目標(biāo)位置。

②往系統(tǒng)目錄寫入一些必要的動(dòng)態(tài)連接庫(kù)(DLL)。(可選)

③往系統(tǒng)注冊(cè)表中寫入相應(yīng)的設(shè)置項(xiàng)。(可選)

④建立開始菜單里的程序組和桌面快捷方式。(可選)

⑤其他動(dòng)作。(可選)


?點(diǎn)擊一個(gè)網(wǎng)頁(yè)鏈接,然后發(fā)生了什么? ?

1. http是一個(gè)應(yīng)用層的協(xié)議。

2. DNS解析:將www.baidu.com解析成目的IP地址,如果URL里不包含端口號(hào),則會(huì)使用該協(xié)議的默認(rèn)端口號(hào)。

在本地機(jī)器上配置網(wǎng)絡(luò)時(shí)都會(huì)填寫DNS,這樣本機(jī)就會(huì)把URL發(fā)送給這個(gè)配置的DNS服務(wù)器;如果能夠找到相應(yīng)的URL則返回其IP,否則該DNS將繼續(xù)將該解析請(qǐng)求發(fā)送給上級(jí)DNS,整個(gè)DNS可以看成一個(gè)樹狀結(jié)果,該請(qǐng)求將一直發(fā)送到根直到得到結(jié)果。

3. 建立socket連接

Socket是對(duì)TCP/IP協(xié)議的封裝,Socket本身并不是協(xié)議,而是一個(gè)調(diào)用接口(API),通過(guò)Socket,我們才能使用TCP/IP協(xié)議。

4. 請(qǐng)求連接成功建立后,開始向web服務(wù)器發(fā)送請(qǐng)求,這個(gè)請(qǐng)求一般是Get或Post命令(Post用于Form參數(shù)的傳遞))?

5. 應(yīng)答web服務(wù)器收到這個(gè)請(qǐng)求,進(jìn)行處理。如果找到文件,web服務(wù)器將該內(nèi)容傳送給響應(yīng)的Web瀏覽器。

6. 關(guān)閉連接


?前端,后臺(tái),界面都是什么具體點(diǎn),有啥不同? ?

界面就是:用Photoshop等設(shè)計(jì)工具設(shè)計(jì)出來(lái)的圖片等素材。需要使用Photoshop Illustrator Sketch等

前端:就是把這些圖片轉(zhuǎn)換成瀏覽器端能運(yùn)行的代碼。需要使用HTML CSS JS等

后端:就是把變化的部分抽象出來(lái)放到服務(wù)器上,主要目的是把變化的部分存儲(chǔ)到數(shù)據(jù)庫(kù)里去,從而達(dá)到動(dòng)態(tài)網(wǎng)站的目的。這里所謂的動(dòng)態(tài)網(wǎng)站的意思是,改變其中的某些參數(shù),從而得到不同的數(shù)據(jù),數(shù)據(jù)展現(xiàn)在頁(yè)面上得到的就是不同的信息。例如:你登錄了淘寶得到的是你的淘寶購(gòu)買的內(nèi)容,別人登錄了淘寶看到的就是別人登錄的內(nèi)容。原因是你倆購(gòu)買的記錄存儲(chǔ)在數(shù)據(jù)庫(kù)是不一樣的,而這部分是后端來(lái)負(fù)責(zé)的。


?形式語(yǔ)言 ?

在數(shù)學(xué)、邏輯和計(jì)算機(jī)科學(xué)中,形式語(yǔ)言(英語(yǔ):Formal language)是用精確的數(shù)學(xué)或機(jī)器可處理的公式定義的語(yǔ)言。

如語(yǔ)言學(xué)中語(yǔ)言一樣,形式語(yǔ)言一般有兩個(gè)方面:?語(yǔ)法和語(yǔ)義。專門研究語(yǔ)言的語(yǔ)法的數(shù)學(xué)和計(jì)算機(jī)科學(xué)分支叫做形式語(yǔ)言理論,它只研究語(yǔ)言的語(yǔ)法而不致力于它的語(yǔ)義。在形式語(yǔ)言理論中,形式語(yǔ)言是一個(gè)字母表上的某些有限長(zhǎng)字符串的集合。一個(gè)形式語(yǔ)言可以包含無(wú)限多個(gè)字符串。


?淺談 C/S 和 B/S 架構(gòu) ?

https://blog.csdn.net/tennysonsky/article/details/45062079


web開發(fā):

https://blog.csdn.net/suyimin2010/article/details/80552286


?每日筆記 ?

?看 得 懂 算 我 輸?

今日質(zhì)疑:

? 隨著人工智能的不斷發(fā)展 ?

? 未來(lái)前端是否還會(huì)存在??

? 設(shè)計(jì)獅的一張草圖一鍵生成產(chǎn)品??


文案編輯/狂喜

素材來(lái)源/baidu ?知乎 ?掘金 ?csdn

圖片來(lái)源/26教A座

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容