2月12016 Daosheng Mu 在 Firefox 上建構 WebVR 近年來在資訊業最火熱的話題無疑就是虛擬實境 (Virtual Reality,VR) 了。除了 Oculus 推出 Oculus Rift 之外,其他如 HTC、Google、Samsung 等科技大廠亦各別推出自己的解決方案。VR 目前在遊戲、 電影、多媒體內容都有其龐大的市場需求。Mozilla...
6月222015 James Cheng 解析 XPCOM 物件的 Reference Count 在 Gecko 的實作裡,我們大量使用 smart pointer 作為指標傳遞間的媒介,而為了能完善的操作 reference count ,我們必須保證 reference count 的增減是 thread safe 的。若無法妥善處理 reference count 的增減而產生 race ...
4月132015 KuoE0 看懂 XPCOM 的轉型函式 3369621175e75eedb4e0o Photo credit: Who? Me? | Flickr – Photo Sharing! 在研讀 Gecko 的程式碼時,常常會看到 doQueryInterface 與 doGetInterface 的用法出現,另外還有一個比較少見的 doQue...
3月302015 xeonchen XPConnect 遇到的小問題 在 XPCOM 的世界裡,透過 XPConnect 的幫忙,C 和 JavaScript 實作的元件可以互相地呼叫,因此我們可以自由選用合適的語言來開發各自的元件。 但是因為中間包了一層 wrapper,所以在某些特殊的情況下,程式的運作可能會不如你的預期:例如在 跨越語言的邊界 – 淺談 JS A...
3月92015 KuoE0 謀智菜逼八談 XPCOM 實務入門 前言 關於 XPCOM,請參考 MDN 上 XPCOM 的簡介。MDN 上關於 XPCOM 的教學,有部分實作上的細節已經過時了。此外,MDN 上的教學偏向使用 XPCOM 編寫 gecko 的擴充元件,身為 Mozilla 菜逼八軟體工程師要學的當然是給 gecko 內部使用的 XPCOM!因此在...
1月192015 Lyu Shing- 初等碼農 自己的瀏覽器自己改 (Part I) -利用Firefox Addon SDK開發簡單的附加元件 Firefox 最受歡迎的特色之一就是量多而且質精的附加元件 (Addon),在 Firefox Addons 網站 [[1]](https://tech.mozilla.com.tw/ref1) 您可以找到各式各樣的附加元件滿足您的各種上網需求。在這篇文章中我們將會介紹如何利用 Firefox A...
12月292014 朱尼爾 有 Mercurial Queue 的感覺真好!從 nothing 到 checkin-needed Mercurial(hg) 是一款 mozilla 內部使用的版本控制系統,而 Mercurial Queue(MQ) 則是一個使用 Mercurial 時常用的套件,讓 upstream 和 downstream 的管理相處的和樂融融。雖然已經有非常多文件可供參閱[1][2][3][4],但是一個...
12月232014 Kilik Firefox OS 之請你跟我這樣說 ~ [SpeechSynthesis] 相信大家多多少少玩過 iOS 手機上的 Siri 或是 Android 手機上的 Google Now! 等語音辨識功能。 也或許有經驗因為長時間低頭滑手機太累而利用系統中的朗讀功能來"聽"文章。 而這兩種功能 1. Automated Speech Recognition. (ASR) 2. Te...
11月282014 Randy- Media Team 編輯 標準化的錄影API 當 HTML5 發展日漸成熟之際,在多媒體的輸出原生支援方面,目前已經支援了大多數網路常見的格式,所以開發者可以使用 audio 或是 video tag 來進行影音播放控制。但輸入方面,目前各家瀏覽器並無統一的 API 實作,為解決此問題,W3C 委員會在 2013 年開始制定了MediaReco...
11月172014 Hunter Luo- Senior UX Designer, Mozilla Taiwan 建構 Firefox OS 操作介面的基本元素: Fira Sans 字型 字型是使用者介面的基礎,所有顯示在畫面上的資訊都是由圖跟文字構成的。舉凡使用者需要閱讀、了解文意、或是進一步進行操作動作選擇的地方,不論是一段說明文字、一個對話框、圖示下面的標題文字、或是確認、取消的按鈕、系統設定畫面…等等,皆需要文字來構成。其實在介面設計中,沒有刻意去注意的話,可能不會發現,原來...
7月212014 gasolin- Front-end Team 編輯 像原生應用程式一樣的 WebApp?趕快學起來! 經常收看謀智台客的讀者可能已經看過怎麼開發一個 (Firefox) WebApp,或是可在 MDN 上找到相關開發資訊。 簡而言之,Mozilla 提出的開放 WebApp 標準草案,允許把使用網頁技術製作的網頁做成 App 來使用。提供的方式除了 App 使用者所習慣的 App Store 模式(...
5月262014 Jamin Liu 淺談 Cycle Collection 什麼是 Cycle Collection ? Gecko 專案中,常常會使用 smart pointer 來管理動態配置的記憶體的釋放。當記憶體的 reference count 為零時,就判定為不會再被使用。然而如果物件互相持有,形成了 reference cycle,也就是謀智台客這篇「說說 n...
5月192014 阿帆達 Avatar Address-Sanitizer(ASAN): 一個 C/C++ 記憶體偵錯的工具 LLVM 有一系列以 Sanitizer 結尾的偵錯工具(ASAN/TSAN/MSAN/DFSAN/LSAN)[[1]](https://clang.llvm.org/docs/),每個工具各司其職,在此我們介紹其中的 ASAN[[2]](https://code.google.com/p/addr...
12月242013 小y- 網站開發類編輯 一起動手做吧!用迷你積木拼出一隻小火狐 nanoblock firefox 難得破例不講技術,耶誕節快到了,應該要來點輕鬆的。 狐迷們,今天我們一起用積木來做一隻小火狐吧! 首先要準備的積木材料如下圖: nanoblockfirefoxblocks 從頭到尾分解步驟 底下開始詳細的圖文分解步驟,只要一步步照著做,很快就可以完成你的積木小火...
12月92013 George Gaia 的 Debug 神器 開發前端的程式,一個基本的前端 debug 工具會幫我們及時揭露大部份的 HTML,CSS 和 JS,並且及時改 HTML 與 CSS,為 JS 下斷點,目前各大瀏覽器包括 Firefox,Chrome 以及 IE 都有這方面的支援,我就不在此一一贅述。那今天有什麼好用的工具可以幫助我在 Firef...
6月252013 allstars.chh ECMAScript 6 Features in Firefox 所謂的 ECMAScript,其實就是我們日常在用的 Javascript,只是當初因為商標的問題,所以後來把這個語言的規範改叫作 ECMAScript。目前市面上的瀏覽器已經支援到 ECMAScript 5,也就是 ECMAScript 262 5th Edition了。但 ECMAScript ...
5月132013 kk1fff- Performace Team 編輯 打造自己的世界-XUL Runner XUL Runner 算是 Firefox 的兄弟之一,他允許我們用 Gecko 內部的元件設計一個擁有自己外觀(而不一定需要長的像是 Firefox)的應用程式。因為 Gecko 內部元件非常的豐富,而且 XUL Runner 也有跨平台的能力,使用 XUL Runner 可以簡化我們開發應用程式...
3月62013 Ting-Yuan 你丟我撿!神奇的 Firefox 內部記憶體回收機制 大家都知道 JavaScript 是一個很方便的語言,想要一個新物件? 沒問題,new 一下就有了。需要一個陣列來做暫存空間? 也是交給 new。不像其他,比如說 C,等較低階的語言,JavaScript 的使用者絕大多數時候都不必煩惱實際上資料被放到什麼地方,也不需擔心用完了卻忘記要交還給系統而造...
1月72013 Eric 鑽進 Firefox OS 開發:淺談 Internal string 不論是哪個語言的程式設計師,都時常需要和語言或是框架的字串 (String) 打交道。舉凡傳遞訊息、寫 log,或當作資訊來儲存等等都會用到。今天就來和大家聊聊,在 Firefox OS 裡面,string 是怎麼被使用的。 Internal string / External string 首先要...
10月12012 kk1fff- Performace Team 編輯 說說 nsCOMPtr 這東西 有看過 Gecko 的 C++ Source code 的人,一定見過這個東西:nsCOMPtr,有很多物件的指標都會被儲存到這類物件裡面,也猜得到他和指標有關係,但這東西到底意義何在?其實他就是 Gecko 裡面眾多 smart pointer 的一種。 C 和 C++ 語言中,令人頭痛的問題之一...
8月272012 香蕉人 CSS 連這個也辦的到?! 淺談 CSS media queries 接續上週的介紹,今天來談談,為~~~什麼我們要多用 CSS 而少用 JS 來做動畫呢? 原因之一,就是今天的主角 media queries 啦!Media queries 主要可以用來對付來自四面八方,奇奇怪怪的解析度。 你或許會問,這些奇奇怪怪的解析度打哪來的呢?! 除了現在人手 N 支智慧型手...