TAT.李強 Nodejs 原生支持的 ES6 特性
In 未分類 on 2016年07月04日 by view: 22,932
35

隨著 React 的風靡,配合 Webpack 以及 Babel 等技術,越來越多的前端同學將 ECMAScript 2015(ES6) 的特性運用在項目中,import、export、class、箭頭函數、塊級作用域等特性屢試不爽。而對于 Node.js 實現的后臺代碼來說,我們也同樣希望使用這些 ES6 特性,下面將以 v4.4.4(LTS version) 長期支持版本為例展開話題,從兼容性以及性能兩方面著手分析 Node.js 對 ES6 的支持情況。

TAT.李強 Node 嵌入式數據庫——NeDB
In 未分類 on 2016年03月30日 by view: 46,258
7

一、簡介

NeDB 是使用 Nodejs 實現的一個 NoSQL 嵌入式數據庫操作模塊,可以充當內存數據庫,也可以用來實現本地存儲,甚至可以在瀏覽器中使用。查詢方式比較靈活,支持使用正則、比較運算符、邏輯運算符、索引以及 JSON 深度查詢等。

NeDB 嵌入到了應用程序進程中,消除了與客戶機服務器配置相關的開銷,在運行時,也只需要較少的內存開銷,使用精簡代碼編寫,速度更快。其 API 是 MongoDB 的一個子集,可以通過這些接口輕松管理應用程序數據,而不依靠原始的文檔文件。

具有簡單、輕量、速度快等特點,由于嵌入式數據庫存儲總數據量最好要控制在 1GB 以內,所以適合在不需要大量數據處理的應用系統中使用(比如使用 nw.js 等實現的桌面應用程序、并發量不大的系統等)。

TAT.李強 React 動畫實踐
In 未分類 on 2016年01月21日 by view: 22,646
15

一、 動畫重要性

        世界上最難的學問就是研究人。在你的動畫不會過于耗費資源,以至拖慢用戶的設備的前提下,動畫可以顯著改善用戶界面體驗。

        可以簡單的把頁面動畫分為以下幾個類型:

        1、頁面元素動畫:比如輪播圖等,由用戶操作催化;

        2、loading 動畫:減少用戶視覺等待時間;

        3、裝飾動畫:盡量避免,會分散用戶注意力,值得也不值得;

        4、廣告動畫:增加廣告的轉化率;

        5、情節動畫:多用于 SPA;

        以 loading 動畫為例說明動畫的重要性:為了提升用戶體驗、增加用戶粘性,大家從開發的角度看首先想到的會是從前到后的性能優化,從而減少用戶打開頁面時的等待時間,你或許考慮到了要增加帶寬、減少頁面的 http 請求、使用數據緩存、優化數據庫、使用負載均衡等,但是由于業務限制和用戶復雜的體驗環境,總會遇到一些瓶頸。這時候,我們需要做的就是如何減少用戶的視覺等待時間,哪怕是給一朵轉動的菊花,但千萬不要不理她,讓人盲目的等待就是你業務流失的方式。不客氣的說,有時候一朵性感菊花的作用并不亞于你去優化數據庫。

TAT.李強 React 虛擬 DOM 淺析
In 未分類 on 2015年10月31日 by view: 29,315
16

       在 Web 開發中,需要將數據的變化實時反映到 UI 上,這時就需要對 DOM 進行操作,但是復雜或頻繁的 DOM 操作通常是性能瓶頸產生的原因,為此,React 引入了虛擬 DOM(Virtual DOM)的機制。

  1. 什么是虛擬 DOM?
  2. 虛擬 DOM VS 直接操作原生 DOM?
  3. 虛擬 DOM VS MVVM?
  4. 對 React 虛擬 DOM 的誤解?
TAT.李強 JavaScript 數據結構和算法簡述——數組
In 未分類 on 2015年09月15日 by view: 12,230
7

為什么先講數組


數據結構可以簡單的被分為線性結構和非線性結構。

線性結構大致包括:

  1. 數組(連續存儲);
  2. 鏈表(離散存儲);
  3. 棧(線性結構常見應用,由鏈表或數組增刪和改進功能實現);
  4. 隊列(線性結構常見應用,由鏈表或數組增刪和改進功能實現);

非線性結構大致包括:

  1. 樹;
  2. 圖;

其中,數組是應用最廣泛的數據存儲結構。它被植入到大部分編程語言中。由于數組十分容易懂,所以它被用來作為介紹數據結構的起點非常合適。

TAT.李強 JavaScript 數據結構和算法簡述——前言
In 未分類 on 2015年06月29日 by view: 5,147
13

為什么要使用數據結構和算法(程序=數據結構+算法)


? ? ? ? 數據結構是對在計算機內存中(有時在磁盤中)的數據的一種安排。包括數組、鏈表、棧、二叉樹、哈希表等。

? ? ? ? 算法是對這些結構中的數據進行各種處理。比如,查找一條特殊的數據項或對數據進行排序。

? ? ? ? 舉一個簡單的索引卡的存儲問題,每張卡片上寫有某人的姓名、電話、住址等信息,可以想象成一本地址薄,那么當我們想要用計算機來處理的時候,問題來了:

  • 如何在計算機內存中安放數據?
  • 所用算法適用于 100 張卡片,很好,那 1000000 張呢?
  • 所用算法能夠快速插入和刪除新的卡片嗎?
  • 能夠快速查找某一張卡片嗎?
  • 如何將卡片按照字母進行排序呢?