原创 深入理解nodejs搭建靜態服務器(實現命令行)

這篇文章主要介紹了深入理解nodejs搭建靜態服務器(實現命令行),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧 靜態服務器 使用node搭建一個可在任何目錄下通過命令啓動的一個簡單

原创 深入nodejs-搭建靜態服務器(實現命令行)

靜態服務器 使用node搭建一個可在任何目錄下通過命令啓動的一個簡單http靜態服務器 完整代碼鏈接安裝:npm install yg-server -g啓動:yg-server 可通過以上命令安裝,啓動,來看一下最終的效果 TODO 創

原创 深入nodejs-核心模塊Events詳解(事件驅動)

事件驅動 Node.js 是一個基於 Chrome V8 引擎的 JavaScript 運行環境。Node.js 使用了一個事件驅動、非阻塞式 I/O的模型,使其輕量又高效。Allows you to build scalable netw

原创 深入node.js-瀏覽器緩存機制

瀏覽器緩存 瀏覽器緩存(Browser Caching)是爲了節約網絡的資源加速瀏覽,瀏覽器在用戶磁盤上對最近請求過的文檔進行存儲,當訪問者再次請求這個頁面時,瀏覽器就可以從本地磁盤顯示文檔,這樣就可以加速頁面的閱覽。 瀏覽器緩存的使用是提

原创 js算法-歸併排序

歸併排序(MERGE-SORT)是建立在歸併操作上的一種有效的排序算法,該算法是採用分治法(Divide andConquer)的一個非常典型的應用。將已有序的子序列合併,得到完全有序的序列;即先使每個子序列有序,再使子序列段間有序。若將兩

原创 js算法-快速排序(Quicksort)

快速排序(英語:Quicksort),又稱劃分交換排序(partition-exchange sort),簡稱快排,一種排序算法,最早由東尼·霍爾提出。在平均狀況下,排序n個項目要O(nLogn)次比較。在最壞狀況下則需要O(n^2)次比較

原创 js數據結構-二叉樹(二叉堆)

二叉樹 二叉樹(Binary Tree)是一種樹形結構,它的特點是每個節點最多隻有兩個分支節點,一棵二叉樹通常由根節點,分支節點,葉子節點組成。而每個分支節點也常常被稱作爲一棵子樹。 根節點:二叉樹最頂層的節點 分支節點:除了根節點以外

原创 js數據結構-散列表(哈希表)

散列表 散列表(Hash table,也叫哈希表),是根據鍵(Key)而直接訪問在內存存儲位置的數據結構。也就是說,它通過計算一個關於鍵值的函數,將所需查詢的數據映射到表中一個位置來訪問記錄,這加快了查找速度。這個映射函數稱做散列函數,存放

原创 js數據結構-鏈表

鏈表和數組 大家都用過js中的數組,數組其實是一種線性表的順序存儲結構,它的特點是用一組地址連續的存儲單元依次存儲數據元素。而它的缺點也正是其特點而造成,比如對數組做刪除或者插入的時候,可能需要移動大量的元素。 這裏大致模擬一下數組的插入操

原创 js數據結構-隊列

隊列 上一篇數據結構講到了棧,隊列和棧非常類似。隊列也是一種特殊的列表,它與棧的區別在於,棧是先入後出,而隊列則是遵循FIFO先入先出的原則,換言之隊列只能在隊尾插入元素,而在隊列的頭部去刪除元素。 舉個簡單的例子,隊列就相當於在生活中排隊

原创 js數據結構-棧

棧 棧是一種遵循後進先出(LIFO)的數據結構,其總共就兩個主要的操作,分別是push和pop。 看上面這張圖可以大致的知道,棧的幾個特點: 初始化: 有一塊連續的存儲空間 棧頂 棧的長度 push操作: 向棧中添加新的元素

原创 react-生命週期

組件實例化 static defaultProps 組件初始化屬性 constructor 組件內的構造函數,內部可以聲明狀態獲取屬性 componentWillMount 組件在渲染之前,會調用此生命週期函數 render 該方法會創建一

原创 HTTP

HTTP定義 超文本傳輸協議 HTTP1.1 與 HTTP2 HTTP1.1 大部分數據以字符流的形式進行傳輸 相對http1.0可以持久連接,複用tcp連接 pipeline 每一個tcp連接通道只能夠傳輸一個http請求並返回,並且按

原创 瀏覽器渲染過程

網頁內容的組成 doctype: 提供瀏覽器的html版本信息 head : html頭部 meta: 元數據信息 charset: 聲明當前文檔所實用的字符編碼 http-equiv: 客戶端行爲,如渲染模式,緩存等 name[