感覺不能自動(dòng)變?yōu)橛洃?/i>
任何習(xí)慣都是放棄了對(duì)細(xì)節(jié)的控制
? #每日這是啥# ??
/web開發(fā)/B/S架構(gòu)/語言是怎么開發(fā)的/什么是爬蟲/
/爬蟲笑話/渲染/網(wǎng)站內(nèi)容更新問題/
/點(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)用程序是一種可以通過Web訪問的應(yīng)用程序咧栗,程序的最大好處是用戶很容易訪問應(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),通過將任務(wù)合理分配到Client端和Server端嫁佳,降低了系統(tǒng)的通訊開銷挨队,需要安裝客戶端才可進(jìn)行管理操作。B/S架構(gòu):客戶端基本上沒有專門的應(yīng)用程序蒿往,應(yīng)用程序基本上都在服務(wù)器端盛垦。由于 客戶端沒有程序,應(yīng)用程序的升級(jí)和維護(hù)都可以在服務(wù)器端完成瓤漏,升級(jí)維護(hù)方便腾夯。
?語言是怎么開發(fā)的 ?
one ?一門編程語言是如何被創(chuàng)造出來的颊埃?
編程高級(jí)語言類似于人類自然語言,你想創(chuàng)造一門語言蝶俱,那就得創(chuàng)造出這門語言的基本語言元素班利,比如單詞,關(guān)鍵字榨呆。然后是基于這些基礎(chǔ)元素上的詞法罗标,語法,語義等积蜻。計(jì)算機(jī)只能識(shí)別二進(jìn)制機(jī)器語言闯割,所以創(chuàng)造編程語言的關(guān)鍵是要編寫出能轉(zhuǎn)換成機(jī)器語言的工具,也就是編譯器竿拆。理論上只要你能寫出編譯器宙拉,你就能制造出任意編程語言。編譯原理是計(jì)算機(jī)科學(xué)最高深的理論之一如输。
two ?需求是首要驅(qū)動(dòng).
匯編的出現(xiàn)是為了減少打孔的痛苦.
高級(jí)語言的出現(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
具備編程能力;
了解目前流行語言特性不见。
思考內(nèi)容:
確定語言用途和功能場景澳化;
選擇語言基礎(chǔ)特性和功能;
確定你要用什么去編譯實(shí)現(xiàn)你所需要?jiǎng)?chuàng)造實(shí)現(xiàn)的語言稳吮;
步驟什么的缎谷,就按編譯原理里面的來詞法、語法分析什么的灶似。
?什么是爬蟲 ?
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)上爬來爬去的蜘蛛春感。網(wǎng)絡(luò)蜘蛛是通過網(wǎng)頁的鏈接地址來尋找網(wǎng)頁砌创,從網(wǎng)站某一個(gè)頁面(通常是首頁)開始,讀取網(wǎng)頁的內(nèi)容鲫懒,找到在網(wǎng)頁中的其它鏈接地址嫩实,然后通過這些鏈接地址尋找下一個(gè)網(wǎng)頁,這樣一直循環(huán)下去窥岩,直到把這個(gè)網(wǎng)站所有的網(wǎng)頁都抓取完為止甲献。如果把整個(gè)互聯(lián)網(wǎng)當(dāng)成一個(gè)網(wǎng)站,那么網(wǎng)絡(luò)蜘蛛就可以用這個(gè)原理把互聯(lián)網(wǎng)上所有的網(wǎng)頁都抓取下來颂翼。
?爬蟲笑話 ?
作為一家大數(shù)據(jù)公司的運(yùn)營小編晃洒,經(jīng)常會(huì)有人問我“誒慨灭?你說的爬蟲是什么呀”“爬蟲的用途是什么呀?”“你們公司是賣爬蟲的嗎球及,有蜥蜴嗎缘挑?”等一系列問題
? 渲染 ?
簡單來說,渲染是瀏覽器的某種基礎(chǔ)功能桶略,它將你的 HTML 和 CSS 解析成 DOM 樹,并將其轉(zhuǎn)換成屏幕上的像素點(diǎn)诲宇。對(duì)于 Web 平臺(tái)來說际歼,渲染是非常重要的。
一是因?yàn)楣美叮瑒?dòng)態(tài)網(wǎng)頁的本質(zhì)是接受用戶或腳本生成的輸入鹅心,并將其轉(zhuǎn)化為視覺結(jié)果。渲染是這個(gè)過程的核心纺荧,因此無論你的頁面做的有多么酷炫旭愧,如果渲染出了問題,用戶就不會(huì)有任何好的體驗(yàn)宙暇。
其二输枯,渲染是網(wǎng)頁性能的主要決定因素(感知的和實(shí)際的),渲染是無法中斷的占贫,如果 JavaScript 運(yùn)行太久頁面就會(huì)變得笨重桃熄,這當(dāng)然會(huì)引起用戶注意。
其三型奥,現(xiàn)代網(wǎng)頁是動(dòng)態(tài)的——會(huì)不斷地修改內(nèi)容瞳收,加載內(nèi)容,進(jìn)行動(dòng)畫厢汹。為了跟上步伐螟深,保證交互流暢,渲染代碼必須是一等公民烫葬。
from/掘金
?前端初學(xué)者關(guān)于網(wǎng)站內(nèi)容更新的提問界弧? ?
夕立改二
多嘴幾句,希望能幫助題主繞開一些坑厘灼。僅針對(duì)不使用WordPress這類傻瓜式工具的獨(dú)立開發(fā)夹纫。
網(wǎng)上各類腳本語言搭建Web的教程,成效都非常顯著设凹,一個(gè)文件舰讹,寫兩句話,裝個(gè)服務(wù)器闪朱,就能跑網(wǎng)站了月匣。但是這通常會(huì)讓初學(xué)者以為Web就該這么開發(fā)钻洒,掉坑不復(fù)返。我的建議是锄开,如果不急著出成品素标,可以先靜下心來,去學(xué)一學(xué)Java下的Web框架Spring萍悴。相比各類腳本語言头遭,Spring的學(xué)習(xí)成本是比較高的。你可以去讀文檔癣诱,也可以去看教程(源碼就算了计维,中前期沒必要)。這種久經(jīng)磨練的成熟框架撕予,結(jié)構(gòu)已經(jīng)非常漂亮鲫惶,最主要的是,各類教程沒法給你繞開整個(gè)Web應(yīng)用的運(yùn)行流程实抡,畢竟這是需要編譯的Java欠母。當(dāng)你完完全全搞懂究竟服務(wù)器如何運(yùn)作,為什么要用MVC分層吆寨,為什么要用前端模板赏淌,為什么要引入控制反轉(zhuǎn)等一系列可能你在腳本語言教程里看不到的問題后,你再回過頭去鸟废,用你喜歡的腳本語言和框架出成品猜敢,效率會(huì)非常高,并且知道怎么做盒延,為什么這么做缩擂,代碼可維護(hù)性也會(huì)極好。
?軟件安裝的過程中都做了什么 ?
①文件從安裝源位置拷貝到目標(biāo)位置添寺。
②往系統(tǒng)目錄寫入一些必要的動(dòng)態(tài)連接庫(DLL)胯盯。(可選)
③往系統(tǒng)注冊(cè)表中寫入相應(yīng)的設(shè)置項(xiàng)仙蚜。(可選)
④建立開始菜單里的程序組和桌面快捷方式吠撮。(可選)
⑤其他動(dòng)作。(可選)
?點(diǎn)擊一個(gè)網(wǎng)頁鏈接屁倔,然后發(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)冀痕,通過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ì)出來的圖片等素材受扳。需要使用Photoshop Illustrator Sketch等
前端:就是把這些圖片轉(zhuǎn)換成瀏覽器端能運(yùn)行的代碼。需要使用HTML CSS JS等
后端:就是把變化的部分抽象出來放到服務(wù)器上兔跌,主要目的是把變化的部分存儲(chǔ)到數(shù)據(jù)庫里去勘高,從而達(dá)到動(dòng)態(tài)網(wǎng)站的目的。這里所謂的動(dòng)態(tài)網(wǎng)站的意思是坟桅,改變其中的某些參數(shù)华望,從而得到不同的數(shù)據(jù),數(shù)據(jù)展現(xiàn)在頁面上得到的就是不同的信息仅乓。例如:你登錄了淘寶得到的是你的淘寶購買的內(nèi)容赖舟,別人登錄了淘寶看到的就是別人登錄的內(nèi)容。原因是你倆購買的記錄存儲(chǔ)在數(shù)據(jù)庫是不一樣的夸楣,而這部分是后端來負(fù)責(zé)的宾抓。
?形式語言 ?
在數(shù)學(xué)、邏輯和計(jì)算機(jī)科學(xué)中豫喧,形式語言(英語:Formal language)是用精確的數(shù)學(xué)或機(jī)器可處理的公式定義的語言石洗。
如語言學(xué)中語言一樣,形式語言一般有兩個(gè)方面:?語法和語義紧显。專門研究語言的語法的數(shù)學(xué)和計(jì)算機(jī)科學(xué)分支叫做形式語言理論讲衫,它只研究語言的語法而不致力于它的語義。在形式語言理論中鸟妙,形式語言是一個(gè)字母表上的某些有限長字符串的集合焦人。一個(gè)形式語言可以包含無限多個(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ā)展 ?
? 未來前端是否還會(huì)存在??
? 設(shè)計(jì)獅的一張草圖一鍵生成產(chǎn)品花椭??
文案編輯/狂喜
素材來源/baidu ?知乎 ?掘金 ?csdn
圖片來源/26教A座