原创 mac 下的 MongoDB 安裝和使用

標題mac 下安裝 mongoDB 數據庫 安裝(使用brew安裝) brew install mongodb brew install mongodb --with-openssl 如果第二步報錯如下:Error: An

原创 nodejs 之創建文件

創建文件 專注前端4年,一直以來奮戰在搬磚的一線,從事着後臺系統、PC端、移動端的開發,然而市場的發展速度確實讓人有些許瞠目結舌,前端框架層出不窮,無論是 JS 框架(react.js、vue.js 、angular.js 、rea

原创 DOM 優化原理與基本實踐

DOM 優化原理與基本實踐 從本節開始,我們要關心的兩大核心問題就是:“DOM 爲什麼這麼慢”以及“如何使 DOM 變快”。 後者是一個比“生存還是毀滅”更加經典的問題。不僅我們爲它“肝腸寸斷”,許多優秀前端框架的作者大大們也曾爲其絞

原创 服務端渲染的探索與實踐

服務端渲染的探索與實踐 服務端渲染(SSR)近兩年炒得很火熱,相信各位同學對這個名詞多少有所耳聞。本節我們將圍繞“是什麼”(服務端渲染的運行機制)、“爲什麼”(服務端渲染解決了什麼性能問題 )、“怎麼做”(服務端渲染的應用實例與使用場

原创 Event Loop 與異步更新策略

Event Loop 與異步更新策略 Vue 和 React 都實現了異步更新策略。雖然實現的方式不盡相同,但都達到了減少 DOM 操作、避免過度渲染的目的。通過研究框架的運行機制,其設計思路將深化我們對 DOM 優化的理解,其實現手

原创 迴流(Reflow)與重繪(Repaint)

迴流(Reflow)與重繪(Repaint) 開篇我們先對上上節介紹的迴流與重繪的基礎知識做個複習(跳讀的同學請自覺回到上上節補齊 →_→)。 迴流:當我們對 DOM 的修改引發了 DOM 幾何尺寸的變化(比如修改元素的寬、高或隱藏元

原创 瀏覽器背後的運行機制

瀏覽器背後的運行機制 從本章開始,我們的性能優化探險也正式進入到了“深水區”——瀏覽器端的性能優化。 平時我們幾乎每天都在和瀏覽器打交道,在一些兼容任務比較繁重的團隊裏,苦逼的前端攻城師們甚至爲了兼容各個瀏覽器而不斷地去測試和調試,

原创 CDN 的緩存與回源機制解析

CDN的緩存與回源機制解析 CDN (Content Delivery Network,即內容分發網絡)指的是一組分佈在各個地區的服務器。這些服務器存儲着數據的副本,因此服務器可以根據哪些服務器與用戶距離最近,來滿足數據的請求。

原创 本地存儲——從 Cookie 到 Web Storage、IndexDB

本地存儲——從 Cookie 到 Web Storage、IndexDB 隨着移動網絡的發展與演化,我們手機上現在除了有原生 App,還能跑“WebApp”——它即開即用,用完即走。一個優秀的 WebApp 甚至可以擁有和原生 App

原创 圖片優化——質量與性能的博弈

圖片優化——質量與性能的博弈 《高性能網站建設指南》的作者 Steve Souders 曾在 2013 年的一篇 博客 中提到: 我的大部分性能優化工作都集中在 JavaScript 和 CSS 上,從早期的 Move Script

原创 瀏覽器緩存機制介紹與緩存策略剖析

瀏覽器緩存機制介紹與緩存策略剖析 緩存可以減少網絡 IO 消耗,提高訪問速度。瀏覽器緩存是一種操作簡單、效果顯著的前端性能優化手段。對於這個操作的必要性,Chrome 官方給出的解釋似乎更有說服力一些: 通過網絡獲取內容既速度緩慢又

原创 es6重難點

es6重難點總結歸納 2018已經成爲過去,2019年最重要的事就是換工作,換工作,換工作!!!得不到的永遠在騷動,從去年的一些面試試水來看,各大廠的面試要求那是萬變不離其中,進行自我總結了一下,無非就是以下知識點: 調用堆棧 作用

原创 面試題(包括一些ie的兼容)

ajax、axios、fetch 的異同點?(這種問題一般直接分別說三者的特點) ajax $.ajax({ type: 'POST', url: 'xxxx', data: 'xxxxx', dataType

原创 防抖和節流

應用場景 防抖和節流都是用來防止高頻率的js代碼的執行 防抖 防抖本質上就是以最後的操作爲標準 打個比方,此時此刻我們都在排隊等公交,司機說必須等到坐滿纔會發車,這時候的參照標準就是最後一個人上車,公交車好比我們的js代碼,最後一個

原创 對象的深淺拷貝

標題對象的深淺拷貝 在進行實例講解之前,我們先下個給深淺拷貝下個定義,什麼是深拷貝?什麼是淺拷貝? 個人理解: 淺拷貝:針對指針的引用 深拷貝: 對值的引用 淺拷貝 先看🌰: var obj = { a: 1, b: 2,