原创 Express異常捕獲

在使用Express框架設計web應用時,一定會遇到異常處理問題。 因爲用戶數據或代碼自身問題,常常引起請求時,控制器內部異常,res返回不能被執行,前臺表現爲請求“卡死”。 1 處理 Exception 1.1 Express 錯誤處

原创 如何加快Vue單頁加載(和打包)速度

在使用個人境外服務器運行vue項目時,會遇到打包的vendor.js過大而導致無緩存加載時,頁面會空白數秒之久。 解決這個問題有2個思路:1是通過壓縮混淆代碼、gzip實際減小代碼大小;2是將部分不會改動的文件提出,放到CDN上。

原创 模擬器+Fiddler抓包安卓應用

1、使用任意一款安卓模擬器安裝應用。 2、安裝Fiddler,並勾選options->connections->allow remote computers to connect 3、在安卓模擬器的設置中,設置默認wifi,高級設置-

原创 新建一個Vue項目需要做的

1. 建立一個Vue項目 vue init webpack appname 2. 設置編譯結果目錄 a. 修改/config/index下的exports.build.index值爲主html文件的路徑。 b. 修改/config/in

原创 Promisify函數

函數 promisify(fn, reverse) fn <function> 有回調函數作爲參數的函數 reverse <Boolean> 默認False。當fn的回調函數參數在前時(如setTimeout),設爲True。 源碼

原创 用async-await實現類似Promise.all()的執行效果

使用函數: awaitAll(fn1, fn2, fn3...) async function awaitAll(...fnArr) { if ({}.toString.call(fnArr[0]) === '[object Arra

原创 JS利用apply方法,將數組直接當做參數傳給函數

利用apply()方法。 語法:apply([thisObj[,argArray]]) 定義:應用某一對象的一個方法,用另一個對象替換當前對象。 說明: 如果 argArray 不是一個有效的數組或者不是 arguments 對象,那麼將

原创 windows平臺安裝gcc等編譯工具

這裏選用MinGW-w64的Msys2版 #1 下載安裝MinGW-w64 Msys2 MinGW-w64地址:http://www.mingw-w64.org/doku.php/download。選擇Msys2。 或者直接到Msy

原创 Node.js方法錯誤自動重試的實現

在使用Node.js實現爬蟲、檢測等功能時,經常會遇到大量網絡請求的情況,這時很容易因爲超時而使得請求失敗。爲令結果正確,我們一般會設置一定的失敗重試次數,以避免因網絡波動引起的失敗。若多次嘗試最終失敗,才拋出錯誤。 下面上一段代碼: /

原创 MySQL非安裝版部署

1. 解壓 2. 環境變量 3. 根目錄創建my.ini [mysql] # 設置mysql客戶端默認字符集 default-character-set=utf8 [mysqld] #設置3306端口 port = 3306 #

原创 虛擬機Debian7.7-amd64-standard安裝VMware-tools

1、掛載鏡像 debian的standard(無桌面)版本不會自動掛載裝有VMware-tools的iso,需要手動掛載: ``` mkdir /mnt/cdrom mount /dev/sr0 /mnt/cdrom -o ro ```

原创 MongoDB中Date對象和ObjectId對象互轉

function time2id(time) { return mongoose.Types.ObjectId((~~(+time/1000)).toString(16) + '0'.repeat(16)); } function

原创 Javascript數據類型轉換---簡易寫法

基本 轉字符串: ''+obj 轉數字: +obj 轉整數: ~~obj 轉布爾值: !!obj 技巧 +new Date() = new Date().getTime() ~~'123.2' = ~~123.2 = 12