原创 MAC升級nodejs遇到的bug

前幾天需要把MAC上的nodejs升級到最新的穩定版,遇到一個少見的問題,查了半天最後才解決。記錄如下: 升級流程 第一步,查看當前版本。 node -v 第二步,安裝n工具,專門用作nodejs版本管理的插件。 sudo np

原创 mysql生成不重複隨機數(unique number generation)

問題來源 業務中有時會遇到要生成不重複隨機數的情況,例如,新生成一個商品編號、房間編號、或者其他物品編號等。不願意採用表的自增索引 id,同時又希望新生成的編號是不重複的。 這就需要考驗mysql的隨機數功能了。 Solution

原创 html中的垂直居中實現

在做H5的過程中,經常會遇到文字或者圖片的垂直居中問題,試了不同的辦法,感覺這是一個困擾前端程序員的難題。網上也能找到許多文章,本文僅列出我所用到過的一些辦法。 文字居中 使用line-height line-height是最簡單

原创 nodejs基於async waterfall/retry的出錯重試流程設計

問題來源 最近搞了一個線上服務,涉及到網絡請求、圖片處理、文件讀寫等流程,爲了解決函數嵌套,我用了async的waterfall方法。結果上線後發現非常不穩定,估計有至少1/4的訪問都沒有成功。至此,方纔明白穩定可靠服務的重要性。

原创 記一次阿里雲木馬排查過程

問題描述 接到阿里雲報警郵件,說是一臺ECS有惡意進程。查看阿里雲的安全詳情,發現有惡意進程(雲查殺)-自變異木馬: 登錄到服務器上檢查/bin目錄,發現該文件確實不對,大小變成的1.1M,類似的還有netstat。如下圖:

原创 nodejs圖片處理工具gm用法小結

這篇文章主要介紹了nodejs圖片處理工具gm用法小結,詳細的介紹了gm的使用,還有圖片處理的實例,非常具有實用價值,需要的朋友們下面隨着小編來一起學習學習吧 在做H5應用中,有時候會涉及到一些圖片加工處理的操作,

原创 apache2日誌格式

ubuntu 16.04中,默認的apache2配置文件位於 /etc/apache2/apache2.conf 其中可以找到LogFormat語法,定義了日誌格式如下: LogFormat "%v:%p %h %l %u %t \"%r

原创 git基礎問題彙總

用了一段時間git,發現許多用法記不住,立貼寫下來吧。 git簡寫命令 修改配置文件~/.gitconfig,內容如下: [alias] co = checkout ci = commit st = status

原创 nginx日誌分割(log rotation)

nginx沒有內置日誌分割功能,容易造成日誌累積,文件越來越大。必須藉助於外部命令或者工具來分割日誌。 本文介紹一種通過自定義腳本來分割日誌的方法。 nginx日誌及nginx.pid設置 nginx日誌及進程號文件可以通過nginx.c

原创 web性能測試:apache benchmark(ab)

開發完網站或者web接口後,一個比較負責任的工作就是測試一下接口性能,也叫做壓力測試。web接口性能直接反映了接口的併發處理能力,一個數值評估通常可以給系統性能給出一個比較好的反饋。 本文介紹比較常用的web性能測試工具ab(apache

原创 mysql用戶創建與授權

在多用戶情形下,爲了避免用戶訪問或者操作不屬於自己的數據,需要使用用戶權限將不同用戶的數據隔離開來。mysql的用戶授權可以精確到表、操作和某個IP地址。 創建用戶 create user 'username'@'host' identi

原创 apache2三種模式及參數調優

問題來源 如果訪問量比較小,其實什麼配置都沒問題。在一些特殊場景下,例如促銷活動,訪問量會比較集中。峯值差不多能達到每秒1000到2000次的訪問,而且還在繼續增長中。 我們一直判斷是數據庫卡死的問題,後來發現,原來了服務器掛了。進一步定

原创 見證微信小程序之火熱

火熱的小程序 2016年1月11號,張小龍在公開演講中首次透露微信將推出應用號。 2016年9月22號凌晨,朋友圈傳出了應用號內測的消息,開始刷屏。 9月22號白天,微信小程序(應用號)在網絡上炸鍋了,朋友圈、QQ羣、技術社區等,討論得熱

原创 安卓apk反編譯、修改、重新打包、簽名全過程

首先明確,反編譯別人apk是一件不厚道的事情。代碼是程序員辛苦工作的成果,想通過這種手段不勞而獲,是不對的。這也說明,代碼混淆是非常重要的。本文抱着學習的態度,研究在一些特殊的情況下如果有需要,該怎麼反編譯apk。 工具簡介 apktoo

原创 直方圖最大矩形

問題 給定直方圖,求直方圖中最大的矩形面積。 例如下圖,可以用數組表示爲[2,1,5,6,2,3]。 對應的最大矩形面積爲10. 枚舉 對每個左邊界,可以枚舉其右邊界的位置,尋找面積最大值。 int h[] = {2,1,5,6,2,