Mozilla 開源專案的守護神 – Treeherder

Treeherder 是一個彙集所有測試結果的地方,它將 CI (Continuous Integration) 的測試結果彙整起來變成一個精美的報表,好讓開發者可以直接透過網頁來查看各種測試項目的最新狀態或是錯誤訊息,甚至是幫你分析發生錯誤的測試項目是否是目前某些不穩定 Bug ( Intermittent failure ) 所引起的,然後幫你標上 Bug number。說起來 Treehe.....深入了解

Where am I?-Part III-用 Geolocation API 以及 Offline Storage 實現導航與離線儲存

之前在 Eric [1] 與 Owen 的文章 [2] 已經介紹了如何使用 Geolocation API [3] 開發地圖應用,在這篇文章中我們要進一步介紹如何用 Geolocation API 實現導航。另外考慮到定位服務需要一定的時間才能完成,為了避免使用者每次開啟 App 時候都要花時間重新尋找所在位置,因此我們要利用離線儲存的函式庫 --  localForage [4] 來紀錄使用.....深入了解

使用 Github 開發我的第一個網頁應用程式 (Web App)

網頁應用(Web App) 網頁或網站設計是門很容易上手,但卻很難精通的領域。特別是近年來網頁相關技術隨著 HTML5、Node.js、Cordova 等的發展,網頁可適用的邊界進入了爆炸性擴展的階段。在諸多網頁技術所涵蓋的新疆界中,網頁應用(Web App)可以說是一個稍稍有別於傳統網頁設計的嶄新領域。之所以將網頁應用劃分為網頁相關技術的「嶄新領域」,可以由下面幾點察知: 1. 從使.....深入了解

自己的瀏覽器自己改 (Part I) -利用Firefox Addon SDK開發簡單的附加元件

Firefox 最受歡迎的特色之一就是量多而且質精的附加元件 (Add-on),在 Firefox Add-ons 網站 [1] 您可以找到各式各樣的附加元件滿足您的各種上網需求。在這篇文章中我們將會介紹如何利用 Firefox Add-on SDK [2] 來撰寫簡單的附加元件。我們會教您如何利用附加元件來改變網頁的外觀與行為,即使不是自己架設的網站,我們也能隨心所欲的改善它們的使用經驗。 準.....深入了解

打造專屬於你的 Git 工作流程 — Alias、Commands、Hooks

Larry Wall(Perl 之父)曾說過,程式設計師有三大美德: 「懶惰」、「不耐煩」、以及「傲慢」。所以如果你想要成為偉大的程式設計師,你一定要懂得「偷懶」!在每天的軟體開發中,版本控制系統(Version control systems )是必備的工具(如:Git、Mercurial),想想,若是我們可以省下跟那些工具打交道的時間,就可以擁有更多時間來寫 code,就更有可能改變世.....深入了解

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

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

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.....深入了解

我也想成為 mozillian! Part 2 – 你也來Try Try 看

這篇文章針對 part 1 的 Step 5 中的 Try Server 作進一步的說明。 測試是軟體開發中一個重要的步驟,用來確保軟體正確性、完整性、安全性和品質的過程。測試又分手動測試跟自動測試。在 Mozilla Gecko 這樣的大型軟體專案中,自動測試尤其重要。因為在大型軟體專案中,每個check in 的 code,都可能牽一髮動全身。在人力有限的情況下,我們希望能多多利用自動測.....深入了解

人人都可以是指揮家 – Mozart

Mozart 專案是一個利用多個 Web API 來完成的線上遊戲,它使用了 1. Device Motion 來讀取使用者透過手機晃動的幅度, 2. Web Audio 來當成 MIDI 的聲音輸出, 3. Web Socket 來當成手機與伺服器之間的即時通訊。我們只要簡單的搖晃手機,身邊的電腦就如同交響樂團般演奏出音樂。下面就是它的架構圖:   Mozart 專.....深入了解

CGDB – 更好用的 GDB

我們在開發過程中,常常會使用 GDB 來找 bug,但是它是純文字介面,使用上還是有些不便,幸好現在可以找到不少 open source project 來改進這些問題,今天所介紹的 CGDB[1] 工具,是我使用過覺得相當好用的工具,讓你在漫漫長夜的 debug 過程中,得到一點小小的慰藉。CGDB 其實沒有 DEBUG 的能力,它底層還是需要呼叫GDB的,它使用 GDB MI[2] 的.....深入了解