原创 How Rendering Work (in WebKit and Blink)

自從開始從事瀏覽器內核開發工作以來,已經寫過不少跟渲染相關的文章。但是一直想寫一篇像 How Browsers Work 類似,能夠系統,完整地闡述瀏覽器的渲染引擎是如何工作的,它是如何對網頁渲染性能進行優化的文章,卻一直

原创 利用Docker構建開發環境 大背景–虛擬化技術歷史 什麼是Docker? Docker的安裝和構成 利用Docker搭建開發環境 docker的限制以及後續的一些想法 參考文章

最近接觸PAAS相關的知識,在研發過程中開始使用Docker搭建了自己完整的開發環境,感覺生活在PAAS時代的程序員真是幸福,本文會簡要介紹下Docker是什麼,如何利用Docker來搭建自己的開發環境(本文主要是面向Mac OS X),以

原创 關於 Apple Metal API 的一些想法

在看完 Metal 的開發文檔後,除了官方所宣稱的一些優點外(比如說更容易理解和使用的 API,更直接和精細的硬件控制,減少 GPU 使用過程中的 CPU 額外開銷等等),從我有限的 GLES 開發經驗看來,以下一些方面更讓人興奮。 更方便

原创 基於Storm的Nginx log實時監控系統

背景 UAE(UC App Engine)是一個UC內部的PaaS平臺,總體架構有點類似CloudFoundry,包括: 快速部署:支持Node.js、Play!、PHP等框架 信息透明:運維過程、系統狀態、業務狀況 灰度試錯:IP灰度、

原创 把Sheepdog裝進OpenStack

現在網上有關sheepdog使用方面的資料還是少一些,本文主要介紹sheepdog的安裝、簡單使用方法,以及怎樣與OpenStack集成。 編譯安裝 Sheepdog提供源碼包(tarball)下載,同樣能夠安裝使用。不過,發佈工作需要製作

原创 Android 4.4 meminfo 實現分析

Android提供了一個名爲meminfo的小工具幫助應用分析自身的內存佔用,並且在4.4還新增了memtrack HAL模塊,SoC廠商通過實現memtrack模塊,讓meminfo可以獲取GPU相關的一些內存分配狀況。瞭解meminfo

原创 初探Thrift客戶端異步模式

背景 在某項目中,我們廣泛使用thrift作爲我們內部接口調用的RPC框架,而且基本上都是使用多線程請求等待應答的同步模式。但是在一些情況下(例如大數據量同步),如果可以使用異步模式,可以優化程序結構和提高模塊性能。 分析 thrift有提

原创 RocksDB介紹:一個比LevelDB更彪悍的引擎

關於LevelDB的資料網上還是比較豐富的,如果你尚未聽說過LevelDB,那請稍微預習一下,因爲RocksDB實際上是在LevelDB之上做的改進。本文主要側重在架構上對RocksDB對LevelDB改進的地方做個簡單介紹並添加一些個人的

原创 分佈式對象存儲系統Sheepdog性能測試

Sheepdog是一個分佈式對象存儲系統,專爲虛擬機提供塊存儲,號稱無單點、零配置、可線性擴展(省略更多優點介紹)。本文主要關注其性能究竟如何,測試版本爲目前的最新穩定版0.7.4。 測試環境 節點數量:6個 磁盤:各節點都配備7200轉