創(chuàng)作者 :丹丹@招聘FE 58招聘技術(shù)團(tuán)隊(duì)
序
瀏覽器緩存只是為了提升頁面再次被訪問的速度,而對于提升首次訪問的響應(yīng)能力,通常是采用CDN進(jìn)行加速。CDN在前端優(yōu)化過程中起著關(guān)鍵性的作用,理解CDN的工作原理對前端開發(fā)人員提升網(wǎng)站性能有著很大的幫助,本文從CDN工作原理、CDN緩存相關(guān)、前端優(yōu)化三個(gè)角度對CDN常見問題進(jìn)行基礎(chǔ)介紹。
CDN工作原理
CDN是什么?
CDN(Content delivery networks,內(nèi)容分發(fā)網(wǎng)絡(luò)),其目的是通過在源服務(wù)器和用戶之間增加一層新的網(wǎng)絡(luò)架構(gòu),將網(wǎng)站的內(nèi)容分發(fā)到最接近用戶的網(wǎng)絡(luò)“邊緣”,使用戶可以就近取得所需的內(nèi)容,提高用戶訪問網(wǎng)站的響應(yīng)速度。我們的日常生活中,無論是在網(wǎng)站上看新聞,網(wǎng)上購物,觀看視頻,還是聊天,都和CDN息息相關(guān)。
使用CDN好處?
提升網(wǎng)頁加載速度
處理高流量負(fù)載
無需成本完成本地化覆蓋
減少帶寬消耗
在多臺服務(wù)器間均衡負(fù)載
使你的網(wǎng)站免于DDoS(拒絕服務(wù))的攻擊
……
CDN是如何工作的?
為了使用戶和網(wǎng)站源服務(wù)器之間的“距離”最短,CDN需要在不同的地理位置(PoPs,接入點(diǎn))存儲網(wǎng)站內(nèi)容的緩存。一般來說,每個(gè)PoP都包含多個(gè)緩存服務(wù)器,它們的主要作用是使用戶訪問到最近的緩存服務(wù)器,以此減少信息的往返時(shí)間,達(dá)到減少響應(yīng)時(shí)間的目的。緩存服務(wù)器負(fù)責(zé)存儲和分發(fā)緩存文件,主要功能是提升網(wǎng)站相應(yīng)速度和減少帶寬消耗。這些緩存文件會(huì)被存儲在固態(tài)硬盤或者RAM中。
CDN緩存相關(guān)
CDN緩存?
用戶在瀏覽網(wǎng)站的時(shí)候,瀏覽器在硬盤上保存網(wǎng)站中的圖片或者其他文件的副本,用戶再次訪問該網(wǎng)站的時(shí)候,瀏覽器就不用再下載全部的文件,減少了HTTP請求數(shù)量。與服務(wù)器在硬盤上存儲緩存文件類似,CDN將網(wǎng)站的內(nèi)容移動(dòng)到更為強(qiáng)大的代理服務(wù)器上,通過動(dòng)態(tài)域名解析,用戶的請求被分配到離自己最快的服務(wù)器,CDN服務(wù)器直接返回緩存文件或通過專線代理原站的內(nèi)容,進(jìn)而提升內(nèi)容分發(fā)的速度。此時(shí),瀏覽器和服務(wù)器的交互可以用下圖表示:
CDN緩存內(nèi)容的更新?
客戶端瀏覽器先檢查是否有本地緩存是否過期,如果過期,則向CDN邊緣節(jié)點(diǎn)發(fā)起請求,CDN邊緣節(jié)點(diǎn)會(huì)檢測用戶請求數(shù)據(jù)的緩存是否過期,如果沒有過期,則直接響應(yīng)用戶請求,此時(shí)一個(gè)完成http請求結(jié)束;如果數(shù)據(jù)已經(jīng)過期,那么CDN還需要向源站發(fā)出回源請求(back to the source request),來拉取最新的數(shù)據(jù)。
CDN緩存靜態(tài)資源,常用的有:圖片、視頻、音樂、css、js文件等。
CDN緩存內(nèi)容的有效期?
1. 原站apache吐出的靜態(tài)文件:由apache的expire和header模塊控制
主要兩項(xiàng):last-modified,cache-control:max-age
apache缺省配置,所有靜態(tài)文件在cdn只緩存3600s(需要我們按需求調(diào)整被加速服務(wù)器的apache設(shè)置),3600s后CDN失效,用戶訪問時(shí)會(huì)重新請求原站,如果沒有變化,緩存失效周期自動(dòng)延長10%。
2. 原站jsp或php吐出的動(dòng)態(tài)內(nèi)容(url形式必須是靜態(tài)的)
由程序控制last-modified,cache-control:max-age public ,apache的設(shè)置將不起作用,CDN根據(jù)這兩項(xiàng)判斷是否需要到原站更新內(nèi)容。
CDN和應(yīng)用的結(jié)合策略?
1. 變化不頻繁的頁面,在原站生成靜態(tài)頁面,原站apache上定義過期時(shí)間,例如1天。原站上靜態(tài)文件更新后,可以等待CDN過期。或者主動(dòng)通知CDN更新(隨著CDN節(jié)點(diǎn)越來越多,代價(jià)會(huì)非常高)。
2. 變化頻繁的頁面,不生成靜態(tài)頁面,由jsp或php定義過期時(shí)間,例如5s或60s。CDN過期后,如果有用戶訪問就從原站上抓取。
優(yōu)點(diǎn):相關(guān)頁面內(nèi)容更新后,不需要主動(dòng)通知100個(gè)原站都來抓取,有效降低原站的壓力。
如果頁面內(nèi)容沒有變化,返回last-modified不變,這樣原站會(huì)直接返回304給CDN,CDN也會(huì)返回304給用戶。減少網(wǎng)絡(luò)傳輸和速度。
3. 特殊靜態(tài)資源,或者頻繁訪問、頻繁更新的頁面,通過apache no-cache告訴IE不緩存,html中就不需要使用pinglun.js?123456這樣的代碼形式,然后用max-age告訴CDN緩存1s,這樣避免每次用戶請求都轉(zhuǎn)到原站。
CDN緩存策略?
開發(fā)人員采用HTTP緩存頭來標(biāo)記可緩存的內(nèi)容以及設(shè)置緩存過期時(shí)間,采用緩存策略來確保內(nèi)容的新鮮度。如“Cache-Control: max-age=600”表示該文件在用戶瀏覽器緩存的副本將在10分鐘后過期,F(xiàn)iddler可以方便地查看緩存的header。瀏覽器緩存相關(guān)內(nèi)容在此不做介紹。
CDN有兩種方式可以檢測瀏覽器中緩存和源服務(wù)器上文件是否匹配:比較最新修改日期Last-Modified和比較ETag。
如果每個(gè)文件都進(jìn)行標(biāo)記,會(huì)導(dǎo)致效率非常低下。如果發(fā)現(xiàn)緩存頭指令不再適合,開發(fā)人員可以對緩存頭進(jìn)行重寫。現(xiàn)有的很多智能緩存控制算法都可以通過機(jī)器學(xué)習(xí),識別動(dòng)態(tài)生成對象的緩存。
前端優(yōu)化
HTTP請求數(shù)?
我們都知道減少HTTP請求可以提升網(wǎng)站的響應(yīng)能力,雖然CDN本身不能減少請求的數(shù)量,但是CDN可以通過預(yù)池連接(pre-pooling connection)來減少關(guān)閉和重新打開TCP連接引起的時(shí)間延遲。
緩存控制?
很多CDN都提供緩存控制選項(xiàng),允許我們根據(jù)文件類型或者位置對單個(gè)文件甚至整個(gè)文件組設(shè)置緩存規(guī)則。CDN通過機(jī)器學(xué)習(xí)可以緩存動(dòng)態(tài)內(nèi)容,這就減輕了幾乎所有的緩存管理任務(wù)。
Gzip和Minify?
CDN在前端優(yōu)化的過程中起著關(guān)鍵性作用,經(jīng)常被用來簡化很多耗時(shí)的優(yōu)化任務(wù)。例如CDN會(huì)提供自動(dòng)壓縮文件功能,避免了手動(dòng)壓縮。
圖片優(yōu)化?
CDN往往是圖片緩存的首選項(xiàng),并且需要購買才能使用這項(xiàng)服務(wù)。很多先進(jìn)的CDN在原來無損壓縮的概念上提出一種漸進(jìn)渲染的方法,先加載像素化版本的圖片,隨后用一系列更“清晰”的版本代替該圖片,直到實(shí)際的圖片做好了加載的準(zhǔn)備。漸進(jìn)渲染可以在不犧牲圖片質(zhì)量的條件下縮短加載時(shí)間。
總結(jié)
本文對CDN的工作原理和CDN緩存進(jìn)行了基礎(chǔ)介紹,了解CDN緩存和瀏覽器緩存將對前端工作人員的優(yōu)化之路提供很大的幫助,更多前端優(yōu)化的技術(shù)將在后續(xù)陸續(xù)為大家呈現(xiàn)。
若有理解不對的地方歡迎大家批評指正。
源:教育部學(xué)校規(guī)劃建設(shè)發(fā)展中心“未來學(xué)校研究與實(shí)驗(yàn)計(jì)劃”未來學(xué)校創(chuàng)新成果
清華大學(xué)建筑設(shè)計(jì)研究院 黃獻(xiàn)明
一、概述(一)內(nèi)部 “內(nèi)部”通常指的是以建筑圍護(hù)結(jié)構(gòu)或校園圍墻等物理性邊界為限定標(biāo)志的,校園建筑或校園范圍以內(nèi)的部分。
(二)外部 “外部”則是相對建筑或校園的“內(nèi)部”而言,通常是指在建筑的室外、建筑與建筑、校園與城市其他空間限定要素之間的空間。
一般意義上的“外部”并非指“內(nèi)部”以外的全部的空間,它具有一定的范圍。日本建筑師蘆原義信認(rèn)為建筑的“外部”是:從自然當(dāng)中有框框所劃定的空間,與無限伸展的自然是不同的。“外部”是由人創(chuàng)造的、有目的的室外環(huán)境,是比自然更有意義的空間。由于被一定的邊界所包圍,“外部”空間建立起從邊界向內(nèi)的向心秩序,在該邊界中創(chuàng)造出滿足人的意圖和功能的積極空間。相對的,自然是無限延伸的離心空間,可以把它認(rèn)為是消極空間。
圖1 外部空間從限定自然開始[1]
在建筑或校園形成的同時(shí),“外部”空間也就形成了,“內(nèi)部”與“外部”之間相互影響、相輔相成。
圖2 自然空間與外部空間的區(qū)別[2]
(三)連接 “連接”空間具有如下特征[3]:
1) 結(jié)構(gòu)性:“連接”空間應(yīng)使得其所聯(lián)系的對象形成一個(gè)整體;
2) 中介性:作為連接體,“連接”空間是其所聯(lián)系對象的相交部分;
3) 模糊性:由于“連接”空間的出現(xiàn),使得其所聯(lián)系對象的邊界變得不確定。
未來學(xué)校外部與內(nèi)部的連接將分為三個(gè)層次,第一個(gè)層次應(yīng)是物理空間上的連接,即連接著校園內(nèi)外、教學(xué)建筑內(nèi)外的各種過渡性空間,如校門空間、連廊空間、屋頂空間等;第二層次是人文社會(huì)上的連接,即學(xué)校與社會(huì)之間的開放、合作與資源共享;第三個(gè)層次是虛擬的連接,即基于互聯(lián)網(wǎng)的線上學(xué)習(xí)與交流。
由于信息技術(shù)的發(fā)展、泛在學(xué)習(xí)的趨勢以及全民終生教育的需求,中小學(xué)校“外部”與“內(nèi)部”的物理界限正在被弱化乃至消解,有關(guān)“外部和內(nèi)部的連接”的討論,“虛擬連接”的比重將獲得提升。由于“虛擬連接”在其他條目中已有專項(xiàng)研究,且對學(xué)校總體的物理空間影響不大,故本條目研究主要集中在前兩個(gè)層次的內(nèi)外連接上。
圖3 從物理空間連接到虛擬空間連接
二、指導(dǎo)原則(一)自然共生——尊重生態(tài)原則尊重自然生態(tài)環(huán)境,是校園及其建筑在處理外部與內(nèi)部連接時(shí),需要首要遵循的基本原則。通過“連接”將校園及其建筑與外部更大范圍的自然生態(tài)環(huán)境融為一體,綜合考慮涉及的資源、能源、健康、舒適、生物多樣性等多維度問題,促進(jìn)實(shí)現(xiàn)環(huán)境友好型校園的建設(shè)目標(biāo)。
圖4 校園及其建筑內(nèi)外部空間連接的生態(tài)性表現(xiàn)
(二)促進(jìn)交流——人文優(yōu)先原則從參與的角度,未來學(xué)校的內(nèi)外連接涉及到學(xué)生、教職工、家長、社區(qū)居民、過路群眾等多個(gè)群體,應(yīng)堅(jiān)持以人為本,兼顧各群體的生理需求與心理需求,創(chuàng)造為人服務(wù)的人性化場所。
從教育的角度,未來學(xué)校重點(diǎn)關(guān)注培養(yǎng)學(xué)生的核心能力包括:創(chuàng)新、批判、溝通、合作[4],其中溝通無論是對于整合碎片化的學(xué)習(xí)信息(未來教育的主要責(zé)任將從學(xué)習(xí)信息的傳遞變?yōu)橹笇?dǎo)碎片化學(xué)習(xí)信息的整合),還是促進(jìn)多群體合作、激發(fā)犀利的批判還是實(shí)現(xiàn)多樣的創(chuàng)新,都是必不可少的活動(dòng)和積能,因而作為校園內(nèi)外的“連接”、建筑內(nèi)外的“連接”、教學(xué)等空間內(nèi)外的“連接”,都將是以是否有助于促進(jìn)而非隔絕溝通與交流,作為評價(jià)其成功與否的關(guān)鍵性指標(biāo)。
圖5 促進(jìn)交流的內(nèi)外“連接”空間
三、實(shí)施重點(diǎn)(一)校園內(nèi)外的連接 1.格局——開放性校園
雖然目前在校園對社區(qū)開放方面,學(xué)校可能因擔(dān)心管理維護(hù)成本上升、校園安全失控等問題,而僅在學(xué)生離校——放學(xué)后或假日,將校園局部(如體育場)開放給社區(qū)居民使用。但從更為長遠(yuǎn)的未來視角看,校園將在社區(qū)開放方面走得更遠(yuǎn),正如Meckenzie早在1989年的《規(guī)劃教育設(shè)施》(Planning Educational Facilities)一書中指出的:
校園的規(guī)劃應(yīng)使其成為多功能的教育場所...成為社區(qū)的核心角色,禮堂/劇場、藝術(shù)中心、音樂實(shí)驗(yàn)室、美術(shù)教室,應(yīng)成為校園生命活力的要素,讓社區(qū)的每一個(gè)人都使用它,從而實(shí)現(xiàn)學(xué)校多面向服務(wù)社會(huì)的目標(biāo)。
由于開放性校園理念的實(shí)施,帶來包括校園出入口數(shù)量與位置、教育設(shè)施的規(guī)模與選址、校園的交通組織與管理等層面,出現(xiàn)更多新穎、靈活的校園外部與內(nèi)部連接方式,從而帶動(dòng)未來空間格局的轉(zhuǎn)變。
2.節(jié)點(diǎn)與界面——校園入口空間、圍墻
由于信息技術(shù)的飛躍以及社區(qū)融合的需求,未來學(xué)校的邊界將最終走向消解,因而作為目前校園外部與內(nèi)部連接關(guān)鍵節(jié)點(diǎn)與界面的“校園入口空間”與“圍墻”,也將經(jīng)歷功能復(fù)合化、邊界模糊化,乃至最終形式“禮儀化”的演變過程。
圖6 校園入口空間組織模式[5]
(一)建筑內(nèi)外的連接 1.氣候緩沖空間
建筑室內(nèi)外交接的空間除了單一的圍護(hù)結(jié)構(gòu)界面外,還可以通過構(gòu)建實(shí)際功能空間(如教室、實(shí)驗(yàn)室、辦公室等)與室外環(huán)境之間的過渡性空間,隔絕室外不利環(huán)境要素(如風(fēng)、溫度、噪聲等)對主要功能空間的影響,從而達(dá)到提高建筑品質(zhì)的目的。典型氣候緩沖空間的設(shè)計(jì)手段包括:
(1)功能性圍合體:通過遮陽、綠化等手段,使得建筑室內(nèi)外交接的部分不再是簡單的圍護(hù)結(jié)構(gòu)界面,而通過更為功能化的設(shè)計(jì),得以在采光、通風(fēng)方面,發(fā)揮更為“主動(dòng)”的作用,從而增加了建筑與室外聯(lián)系界面的內(nèi)涵。為學(xué)生提供理想的學(xué)習(xí)活動(dòng)場所。
(2)架空層:在如華南這樣的氣候多雨潮濕地區(qū),常在底部架空,一方面緩和室內(nèi)外絕對的界限,有機(jī)地將自然融入建筑中,同時(shí)架空層有利于通風(fēng)去濕。
局部開敞或全開敞的空間形式,具有開放、流通的特征,可以作為學(xué)生游戲活動(dòng)、學(xué)習(xí)交流、交通聯(lián)系的場所。
圖7 氣候緩沖空間
2.非正式學(xué)習(xí)空間
建筑及其周邊環(huán)境形成積極的互動(dòng)關(guān)系,是每個(gè)成功校園的共同特征,建筑不僅發(fā)揮界定和圍合開放空間的作用,同時(shí)應(yīng)該盡可能融入其中。建筑邊緣在形成群體聚集模式、促進(jìn)社會(huì)交往等方面發(fā)揮重要作用。為此,與外部空間進(jìn)行直接接觸的建筑首層需要特別注意營造宜人尺度,利用合理的功能和空間布局,吸引人們參與其中。
在可能的情況下,沿著建筑的周邊設(shè)置這樣的活躍“邊緣”,并將建筑室內(nèi)向這些“邊緣”開放。應(yīng)盡可能將這些“邊緣”通過校園步道聯(lián)為整體,從而形成一個(gè)完整的附著于步行系統(tǒng)的半開放空間系統(tǒng)。在“邊緣”空間中設(shè)置大堂、郵政、咖啡、小賣、學(xué)生信息等功能,將有助于形成社區(qū)意識和激發(fā)創(chuàng)意交流。
圖8 建筑“邊緣”的利用
四、案例[6]——北大附中朝陽未來學(xué)校, 25916m2,2017 (一)辦學(xué)理念北大附中朝陽未來學(xué)校,是一所面向未來,由北大附中直接管理的四年制公辦普通中學(xué)。學(xué)校基于北大附中多年教育改革經(jīng)驗(yàn),采用4+x培養(yǎng)模式,以學(xué)生為中心,從才學(xué)、心智、體育、審美和個(gè)性上,為每一位學(xué)生提供學(xué)習(xí)與生活成長培養(yǎng)方案,引導(dǎo)學(xué)生積極探索興趣與發(fā)展路徑,一方面為進(jìn)入國內(nèi)外一流大學(xué)做好充分準(zhǔn)備,同時(shí)通過混合式學(xué)習(xí)、項(xiàng)目制合作等歷練,培養(yǎng)學(xué)生的自主性、批判性思維和公民素養(yǎng),使學(xué)生適應(yīng)未來社會(huì)多元化、個(gè)性化的發(fā)展需求。
(二)教學(xué)模式【1+3新學(xué)制】
面向城六區(qū)一般校完成初二年級學(xué)業(yè)的學(xué)生進(jìn)行招生,錄取的學(xué)生可直接由初三升入高中,連續(xù)完成初三及高中共四年學(xué)習(xí)。這樣可以節(jié)省學(xué)生中考應(yīng)試的時(shí)間,更好地過渡到高中學(xué)習(xí)中,并有充足的時(shí)間進(jìn)行學(xué)生個(gè)人興趣的探索和素質(zhì)的綜合發(fā)展。
【書院制】
在書院指導(dǎo)教師的引導(dǎo)下,學(xué)生自主管理書院的事務(wù),以書院為集體參加學(xué)校舞蹈節(jié)和戲劇節(jié)等大型活動(dòng)。
【導(dǎo)師制】
每個(gè)學(xué)生都有專屬的導(dǎo)師,關(guān)愛、引導(dǎo)和陪伴每一個(gè)學(xué)生的成長。
【小班制】
大部分課程采用20人以內(nèi)的小班教學(xué),靈活選用項(xiàng)目制、探究討論和混合式的學(xué)習(xí)方式,學(xué)生有更多合作交流、動(dòng)手實(shí)驗(yàn)和社會(huì)實(shí)踐的機(jī)會(huì)。
【選課制】
對于選擇參加國內(nèi)高考的學(xué)生,進(jìn)入高二以后,導(dǎo)師會(huì)個(gè)性化的幫助每個(gè)學(xué)生選擇高考方案,學(xué)校的考試中心將為選擇高考的高三學(xué)生提供包括自主招生,個(gè)性化輔導(dǎo)在內(nèi)的高效的復(fù)習(xí)備考課程;
對于選擇畢業(yè)后出國留學(xué)的學(xué)生,可以更自由的選擇和規(guī)劃四年的學(xué)習(xí),并得到專業(yè)的留學(xué)申請指導(dǎo)。
學(xué)生每學(xué)期要簽訂學(xué)習(xí)契約,導(dǎo)師和每個(gè)課程的教師都會(huì)與家長一道關(guān)注學(xué)生契約的完成情況,力圖讓每個(gè)學(xué)生具備未來社會(huì)需要的基本素養(yǎng)和綜合能力,更重要的是,未來學(xué)校努力讓每個(gè)孩子更快樂健康的個(gè)性化的成長。
(三)空間設(shè)計(jì)設(shè)計(jì)要求——以開放、舒適、多元、立體為目標(biāo)打造學(xué)習(xí)空間,營造多樣專業(yè)學(xué)科環(huán)境,適應(yīng)人文、科學(xué)(開展課題選擇、對比實(shí)驗(yàn)、項(xiàng)目討論等一系列科學(xué)相關(guān)課程)、藝術(shù)(可進(jìn)行劇本創(chuàng)作、燈光舞美設(shè)計(jì)以及展示表演等沉浸式學(xué)習(xí)體驗(yàn))、創(chuàng)客等教學(xué)需求。
設(shè)計(jì)理念——全方位體現(xiàn)“開放”教學(xué)理念(包括對內(nèi)促進(jìn)學(xué)科的融合、對外面向社區(qū)的開放)
傳統(tǒng):各種功能空間相對獨(dú)立,邊界分明,比如體育館是運(yùn)動(dòng)的場所,教室是安靜聽課、學(xué)習(xí)的場所,文體室是關(guān)起門來唱歌跳舞的場所。走廊和教室是分開的,教室內(nèi)部是單向的,老師在講臺上講,學(xué)生坐在下面聽。
創(chuàng)新策略
1.打破常規(guī)
原來校園里小操場只有280m的非標(biāo)準(zhǔn)跑道,沒有400m跑道。新設(shè)計(jì)結(jié)合學(xué)生對于跑步的實(shí)際需求對校園總體布局進(jìn)行了思考,圍繞著校區(qū)設(shè)計(jì)了一個(gè)不規(guī)則的慢跑跑道,既相對靈活又解決了設(shè)計(jì)的功能需求。
圖9
2.打破邊界
把教室的墻體打斷,改造為靈活的隔斷墻,將原來單向的空間布局變?yōu)槎嘞颉T诿總€(gè)單元空間上形成一個(gè)向外突出的折角,在室內(nèi)外都創(chuàng)造出更多的空間。
圖10
圖11
2.活動(dòng)植入
改變傳統(tǒng)校園圍墻的僵硬和單薄感,通過加入不規(guī)則的空間和植入座椅,使師生可以在其中休憩并由此形成與外界交流的場所,形成生動(dòng)的“游廊”空間,從而賦予校園邊界活力和溫度。
圖12
圖13
4.功能復(fù)合
改變傳統(tǒng)空間功能單一化的模式,使餐廳、走道等空間通過靈活布置,適應(yīng)不同休閑、教學(xué)、交流活動(dòng)的需要。
圖14
圖15
--------------------------------------------------------------------------------
[1] 蘆原義信著,尹培桐譯,外部空間設(shè)計(jì),中國建筑工業(yè)出版社,1985,4
[2] 蘆原義信著,尹培桐譯,外部空間設(shè)計(jì),中國建筑工業(yè)出版社,1985,4
[3] 朱云琛,連接與空間,湖北美術(shù)學(xué)院碩士論文,2017,7-8
[4] 教育的未來與未來的學(xué)校,http://www.hlgzx.com/news/lilun/2017-09-18/15057197023344.html
[5] 牛牧,城市新區(qū)小學(xué)門前區(qū)空間研究,南京工業(yè)大學(xué)碩士論文,2014,73
[6] https://www.gooood.cn/
前端知識體系:https://mp.toutiao.com/core/article/new_article/
前端知識結(jié)構(gòu):https://github.com/JacksonTian/fks
Web前端開發(fā)大系概覽:https://github.com/unruledboy/WebFrontEndStack
Web前端開發(fā)大系概覽-中文版:http://www.cnblogs.com/unruledboy/p/WebFrontEndStack.html
免費(fèi)的編程中文書籍索引:https://github.com/justjavac/free-programming-books-zh_CN
前端書籍:https://github.com/dypsilon/frontend-dev-bookmarks
前端免費(fèi)書籍:https://github.com/vhf/free-programming-books
麻省理工學(xué)院公開課:計(jì)算機(jī)科學(xué)及編程導(dǎo)論:http://open.163.com/special/opencourse/bianchengdaolun.html
智能社 - 精通JavaScript開發(fā):http://study.163.com/course/introduction/224014.htm#/courseDetail
JavaScript中的this陷阱的最全收集--沒有之一:https://segmentfault.com/a/1190000002640298
JS函數(shù)式編程指南:https://llh911001.gitbooks.io/mostly-adequate-guide-chinese/content/ch1.html
JavaScript Promise迷你書(中文版):http://liubin.org/promises-book/
騰訊移動(dòng)Web前端知識庫:https://github.com/AlloyTeam/Mars
- Front-End-:https://github.com/icepy/Front-End-Develop-Guide
Develop-Guide 前端開發(fā)指南:https://github.com/icepy/Front-End-Develop-Guide
前端開發(fā)筆記本:https://www.gitbook.com/book/li-xinyang/frontend-notebook/details
大前端工具集 - 聶微東:https://github.com/nieweidong/fetool
前端開發(fā)者手冊:https://dwqs.gitbooks.io/frontenddevhandbook/content/
前端入門教程:http://www.cnblogs.com/jikey/p/3613082.html
瘳雪峰的Javascript教程 : http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000
- 前端工程師必備的PS技能——切圖篇: http://www.imooc.com/learn/506
- 結(jié)合個(gè)人經(jīng)歷總結(jié)的前端入門方法:https://github.com/qiu-deqing/FE-learningdis
- 彈出層 :http://www.imooc.com/learn/58
- 焦點(diǎn)圖輪播特效:http://www.imooc.com/learn/18
- css sprite 雪碧圖制作:http://www.imooc.com/learn/93
- 版本控制入門 – 搬進(jìn) Github : http://www.imooc.com/learn/390
- Grunt-beginner前端自動(dòng)化工具:http://www.imooc.com/learn/30
- chrome開發(fā)中心(chrome的內(nèi)核已轉(zhuǎn)向blink): https://developer.chrome.com/extensions/api_index.html
- safari開發(fā)中心 :https://developer.apple.com/safari/resources/
- microsoft js參考:https://msdn.microsoft.com/zh-cn/library/d1et7k7c(v=vs.94).aspx
- js秘密花園 :
- js秘密花園 :
- w3help 綜合Bug集合網(wǎng)站:http://www.w3help.org/zh-cn/kb/
- 各種流行庫搜索:http://microjs.com/#
- runoob.com-包含各種API集合:http://www.runoob.com/
- 開源中國在線API文檔合集 : http://tool.oschina.net/apidocs
- devdocs 英文綜合API網(wǎng)站:http://devdocs.io/
jQuery API 中文文檔:
* hemin 在線版*:http://www.jquery123.com/
css88 jq api*:http://hemin.cn/jq/
css88 jqui api*: http://www.css88.com/jqapi-1.9/on/
學(xué)習(xí)jquery*:http://learn.jquery.com/
jquery 源碼查找:https://j11y.io/jquery/
- Understanding ECMAScript 6- Nicholas C. Zakas:https://leanpub.com/understandinges6/read
- exploring-es6:https://leanpub.com/exploring-es6/read
- exploring-es6翻譯:https://github.com/es6-org/exploring-es6
- exploring-es6翻譯后預(yù)覽:http://es6-org.github.io/exploring-es6/
- 阮一峰 es6:http://es6.ruanyifeng.com/
- ECMA-262,第 5 版:http://yanhaijing.com/es5/#null
- es5:http://es5.github.io/
- template-chooser:http://garann.github.io/template-chooser/
- artTemplate:https://github.com/aui/artTemplate
- tomdjs:https://github.com/aui/tmodjs/blob/master/README.md
- 淘寶模板juicer模板:http://juicer.name/docs/docs_zh_cn.html
- Fxtpl v1.0 繁星前端模板引擎:http://koen301.github.io/fxtpl/
- laytpl:http://laytpl.layui.com/
- mozilla - nunjucks:https://github.com/mozilla/nunjucks
- Juicer:https://github.com/PaulGuo/Juicer
-dustjs:http://akdubya.github.io/dustjs/
- etpl:http://ecomfe.github.io/etpl/
- artDialog 最新版:https://github.com/aui/artDialog
- artDialog 文檔:http://aui.github.io/artDialog/doc/index.html
- google code 下載地址:https://code.google.com/p/artdialog/downloads/list
- 賢心彈出層:http://layer.layui.com/
- 響應(yīng)式用戶交互組件庫:https://github.com/bh-lay/UI
- sweetalert-有css3動(dòng)畫彈出層:http://t4t5.github.io/sweetalert/
- CSS 語法參考:http://tympanus.net/codrops/css_reference/
- CSS3動(dòng)畫手冊:https://isux.tencent.com/css3/index.html
- 騰訊css3動(dòng)畫制作工具:https://isux.tencent.com/css3/tools.html
- 志爺css小工具集合:http://linxz.github.io/tianyizone/
- css3 按鈕動(dòng)畫:http://fian.my.id/Waves/
- animate.css:https://daneden.github.io/animate.css/
- 全局CSS的終結(jié)(狗帶) [譯]:http://www.alloyteam.com/2015/10/8536/
*請認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。