更快更安全的 Web - SPDY

SPDY (唸作 SPeeDY) [1] 是 google 在 2009 年提出的一種網頁傳輸協議。目的是建構一個更快更安全的 Web。你或許會想,都已經 2014 年了,網路速度動輒 100 個妹,如果 facebook 頁面顯示不夠快,那一定是瀏覽器沒寫好或是 CPU 不夠力。 前 google 工程師 Mike Belshe,也就是 SPDY 的作者,在其撰寫的報告 [More Ba.....深入了解

像原生應用程式一樣的 WebApp?趕快學起來!

經常收看謀智台客的讀者可能已經看過怎麼開發一個 (Firefox) WebApp,或是可在 MDN 上找到相關開發資訊。 簡而言之,Mozilla 提出的開放 WebApp 標準草案,允許把使用網頁技術製作的網頁做成 App 來使用。提供的方式除了 App 使用者所習慣的 App Store 模式(如 Firefox Marketplace),即使用者到固定的應用商店下載整包封裝好的 App.....深入了解

淺談 Cycle Collection

什麼是 Cycle Collection ? Gecko 專案中,常常會使用 smart pointer 來管理動態配置的記憶體的釋放。當記憶體的 reference count 為零時,就判定為不會再被使用。然而如果物件互相持有,形成了 reference cycle,也就是謀智台客這篇「說說 nsCOMPtr 這東西」提到的環狀參照,就會造成每個物件的 reference count 都無法.....深入了解

Address-Sanitizer(ASAN): 一個 C/C++ 記憶體偵錯的工具

LLVM 有一系列以 Sanitizer 結尾的偵錯工具(ASAN/TSAN/MSAN/DFSAN/LSAN)[1],每個工具各司其職,在此我們介紹其中的 ASAN[2]。 Memory Corruption 一直是個非常難除錯非常讓人苦惱的問題, ASAN 正是一個幫助大家處理這樣問題的工具, ASAN 內建於 LLVM 3.1 和 gcc 4.8[3],其可偵測出以下的問題: U.....深入了解

一起動手做吧!用迷你積木拼出一隻小火狐

難得破例不講技術,耶誕節快到了,應該要來點輕鬆的。 狐迷們,今天我們一起用積木來做一隻小火狐吧! 首先要準備的積木材料如下圖: 從頭到尾分解步驟 底下開始詳細的圖文分解步驟,只要一步步照著做,很快就可以完成你的積木小火狐囉! 1. 首先照上圖把小火狐的頭組裝起來,注意第四步最左邊的方塊底下要裝鼻子(如圖 3 ), 所以不要讓底部的卡榫擋住中間,否則鼻子會裝不上去。 .....深入了解

Gaia 的 Debug 神器

開發前端的程式,一個基本的前端 debug 工具會幫我們及時揭露大部份的 HTML,CSS 和 JS,並且及時改 HTML 與 CSS,為 JS 下斷點,目前各大瀏覽器包括 Firefox,Chrome 以及 IE 都有這方面的支援,我就不在此一一贅述。那今天有什麼好用的工具可以幫助我在 Firefox OS 上 debug 呢?這篇今天主要介紹的兩項 debug 神器 Firefox Night.....深入了解

ECMAScript 6 Features in Firefox

所謂的 ECMAScript,其實就是我們日常在用的 Javascript,只是當初因為商標的問題,所以後來把這個語言的規範改叫作 ECMAScript。目前市面上的瀏覽器已經支援到 ECMAScript 5,也就是 ECMAScript 262 5th Edition了。但 ECMAScript 的下一個版本,ECMAScript 6,已經早在 2008 年就開始在討論和實作中了,並且有個 co.....深入了解

打造自己的世界-XUL Runner

XUL Runner 算是 Firefox 的兄弟之一,他允許我們用 Gecko 內部的元件設計一個擁有自己外觀(而不一定需要長的像是 Firefox)的應用程式。因為 Gecko 內部元件非常的豐富,而且 XUL Runner 也有跨平台的能力,使用 XUL Runner 可以簡化我們開發應用程式的工作。 要開發 XUL Runner 程式,首要工作就是要有 XUL Runner。Mozi.....深入了解

你丟我撿!神奇的 Firefox 內部記憶體回收機制

大家都知道 JavaScript 是一個很方便的語言,想要一個新物件? 沒問題,new 一下就有了。需要一個陣列來做暫存空間? 也是交給 new。不像其他,比如說 C,等較低階的語言,JavaScript 的使用者絕大多數時候都不必煩惱實際上資料被放到什麼地方,也不需擔心用完了卻忘記要交還給系統而造成記憶體漏洞。在這麼方便的語言特性背後,其實有一套相當複雜的機制在運作,將我們從瑣碎的記憶體管理中解.....深入了解

鑽進 Firefox OS 開發:淺談 Internal string

不論是哪個語言的程式設計師,都時常需要和語言或是框架的字串 (String) 打交道。舉凡傳遞訊息、寫 log,或當作資訊來儲存等等都會用到。今天就來和大家聊聊,在 Firefox OS 裡面,string 是怎麼被使用的。 Internal string / External string 首先要提到的是,我們稱在 Mozilla codebase 中所用到的字串為 "intern.....深入了解