訂閱

上次更新

January 31, 2012 01:28 PM

所有時間日期皆為格林威治標準時間。

Powered By

Planet

摩茲工寮

這邊是工作人員碎碎念的地方,您可獲得最新出爐的資訊以及最不成形的想法 :P

January 22, 2012

Toomore

賀年卡寄了沒!偷聊一下後端!



來寄賀年卡片吧!今年 MozTW電腦君畫了一張可愛的賀年卡,可以經由這個線上電子卡片系統,寄給親友、情人、朋友們,所以趕快來寄卡片吧!把想要說的話、想要感謝的人都說個明明白白吧!

前端的部份由 Irvin 設計,不過還是來談一下後端吧!因為這次後端由小弟我負責,是用 Google AppEngine(GAE) 來控制郵件發送,主要的流程是前端郵件資料(form data)→reCAPTCHA 驗證碼,確認是否為人類→驗證寄件人、收件人郵件地址是否有效→放入 Task 等待發送→Mail API 發送郵件。

因為 GAE 免費郵件容量一天 100 封,怕超出使用量,所以用 Task 去控制一天的總發送量,但好心的 Irvin 也刷了預算下去,因此就算超出容量也沒關係!

取消一人只能寄一張的限制,想說大家的親朋好友很多,只寄一張太可惜了!小莎又這麼可愛,怎不叫大家趕快亂寄勒!所以大家就快來寄賀年卡吧!恭喜大家新年快樂阿!

至於原始碼勒!哈,等我整理一下再另行公佈!

by Toomore (noreply@blogger.com) at January 22, 2012 01:00 AM

January 21, 2012

Othree

Module, AMD, RequireJS

JavaScript 的物件並沒有封裝的概念,所有綁在該物件上的屬性都是外部可見的,不過還是有辦法做到物件封裝的效果,那就是 Module Pattern,作法很簡單,想要保持 private 的私有屬性就宣告成建構函式的區域變數,在建構函式的最後回傳一組你要保持 public 的屬性或是 method,範例如下:

function Person(age, gender) {
    var _age = age || 16,
        _gender = gender || 1;

    return {
        getAge: function () {
            return _age;
        }
    };
}

這個範例中,age 和 gender 就是私有屬性,在 Person 物件外的操作無法碰到它們,唯一可以做的事情就是用 getAge 來讀取 age 的值,就這樣,我們有了有封裝特性的模組,不過在實際的應用的時候,還有一些問題需要處理,首當其衝的,便是模組之間的相依問題,不管你的程式架構多好,使用了各種設計模式來減少相依性問題,一定還是會有相依性的問題存在,在 server side 的 JavaScript 應用中,模組的相依問題還不明顯,因為你需要的模組都應該在本機系統存在,你的程式才能執行,以現在最熱門的 nodejs 來說,用的是 CommonJS 定的 Module/1.0,只要把要匯出給其它人用的介面指派給 exports 這個變數,其它程式就可以很簡單的用 require 來取得,程式運作的流程就是很線性的從第一行跑到最後一行下來。

在網頁上的應用多了一個可能的變化,就是為了效能考量,讓一些資源像是 CSS、JavaScript 等檔案用非同步的方法讀取,這時候如果程式需要的模組檔案還沒讀下來,就還會有非同步執行的問題要處理,雖然 XMLHttpRequest 可以使用同步執行的方式,但是這樣會把整個瀏覽器定住,使用者用起來會覺得瀏覽器死當完全沒反應,所以這種作法完全不列入選擇之中,也因此有了 AMD 這個非同步模組的規範,它的寫法也很簡單:

define('moduleA', [dep1, dep2], function (export1, export2) {
    //do something..
    return {
        method1: function () {},
        method2: function () {},
    };
});

define 是一個全域的函式,專門用來宣告和註冊模組,它吃三個參數,前兩個都是非必要的,第一個參數是模組的名稱,其它模組如果有需要用到這個模組的話,就會用這麼名字來相認,第二個參數是一個字串的陣列,內容是需要的其它的模組名稱,第三個參數則是模組的建構函式,建構函數的參數則是根據前面第二個參數設定的相依模組來決定,會照定義順序傳入相依模組輸出的介面,而模型的建構函式最後面還需要回傳一個給其它人使用的介面,和 Module Pattern 一樣,其實背後的設計就是把建構函式當成相依模組建置完成的 callback function,所以就可以確保相依模組可以非同步的動態讀入,都準備好了才進入下一步。

AMD 最有名的實作就是 RequireJS 了,它完整實作了規範沒有講到的,瀏覽器動態且平行的讀取遠端主機上的檔案,用正確的順序執行,然後還把每個模組輸出的介面都管的好好的,不過其實 RequireJS 還提供了更多功能,像是作為 reousrce loader 來讀取 JavaScript 以外的資源,配合 plugin 可以直接寫 CoffeeScript 不需要先 compile 好,還有 optimizeuglify 等 deploy 相關的機制,讓開發環境和正式環境的接軌變得容易許多,不過上面講的都是優點,其實 RequireJS 還是有些缺點的,其中最大的問題就是文件條理不好,會讓把環境和設定搞起來這件事難度增加許多,再來是除錯變得困難許多,像是用 CoffeeScript plugin 即時編譯的話,剛好其中一隻 coffee 檔有語法錯誤,那會變的很難除錯等等,至於是利多還是弊多我覺得是利多,大部分的問題都是搞清楚就好了,CoffeeScript 的錯誤也可以用編輯器外掛來找。所以最後結論,我是蠻推薦可以導入 AMD 到中大型的 Web Application 專案的。

January 21, 2012 04:48 PM

January 20, 2012

MozLinks-zh

帶著狐耳摩莎去賀年

Dear MozTW 所有朋友們,


再過兩天就是農曆新年嘍!
感謝大家過去一整年對 MozTW 的支持,來年也請多指教。

龍年喜洋洋,MozTW 也推出了賀年卡活動。
只要到活動網頁寫下你的祝福,填入收件人信箱並按下寄出,
我們立刻就會為您寄出新年賀年卡。
(一如往常的,活動完全免費喔)

在新年假期中,就讓狐耳摩莎帶著你的祝福,向所有朋友賀年去吧!


→ 2012 狐耳摩莎賀新年活動網頁 ←



~ Mozilla Links 正體中文版特派記者 Irvin

by Irvin Chen (noreply@blogger.com) at January 20, 2012 06:40 AM

January 16, 2012

MozLinks-zh

Mozilla 將提供 Firefox 延長支援版

Firefox 4 之後,Mozilla 的開發方式改為所謂的「快速開發週期」,每六週固定推出一個正式版。好處是大家可以更快在正式版裡使用到最新科技,但相對來說也有些新的問題要面對。先前提過的附加元件更新是一例,另外還有一個則是企業內部署 Firefox 碰上的困難。

一般來說,企業內要全面推行某個軟體時,會先由資訊管理人員測試該軟體是否能正常與其他必備軟體合作運行,升級時也同樣要測試一輪,確保新版不會出什麼差 錯。但碰上了 Firefox 每六週更新一版的快速開發週期,雖然改版幅度不大,但在企業內測試的工作可少不了,這造成了不少麻煩。

為了回應企業單位資訊人員的需求,Mozilla 今天正式將討論已久的 Firefox ESR(Extended Support Release,延長支援版)方案定了下來。如前文所述,ESR 版主要是為了企業、公家機關、學校法人等組織而設,這類組織一般由資訊人員在測試後決定電腦軟體升級與否,因而常停用 Firefox 內建的更新機制。ESR 預定從月底推出的 Firefox 10 開始提供,玆列資訊管理人員會關心的重點如下:

  • Firefox 10 預計將有第一版的 ESR,與一般的桌機版 Firefox 將用不同的名稱區分,但使用相同的 GUID(若您的企業有自定的附加元件,就會用到)。
  • ESR 的版號會跟著當時推出的 Firefox 跑,例如目前計劃會用 Firefox 10 為基礎推出第一版 ESR,那版號也就是 10。
  • 依循快速開發週期,Firefox 每六週出一個新版,而新版中列為重大或高度危險的安全性修正,會補回當時支援的 ESR 版,並推出一個 0.0.1 版的安全更新。也就是說,Firefox 11 推出時,其中的重大安全修正會補回 ESR 10 版,推出 ESR 10.0.1。
    • 當然,依循 Mozilla 安全修補超快速的傳統,若有其他重大安全性修補,也可能不定期推出安全更新。
    • 但 ESR 版的更新並不會有新功能 -- 就單純是安全更新,以確保部署軟體的企業單位不必又為了新功能相容問題從頭測試一次。
    • 因為只提供重大安全更新,因此 ESR 版不建議一般個人使用者使用,Mozilla 也不贊成使用 ESR 版的單位自行散佈 ESR 版給大眾。
  • 每個 ESR 版的支援期間目前預定為 9 個開發週期(也就是 54 週)。支援到期前 2 個開發週期(12 週)將推出新的 ESR 版,中間重疊的時間可以讓資訊人員作為測試、部署的緩衝期。

一般的桌機版 Firefox 以及 ESR 版的推出與更新週期狀況,可以由下面這張表中看出來:

依據目前的計劃,第一版 ESR 將在 Firefox 10 時一起推出,並支援到 2013 年的 2 月;在 2012 年 11 月底時,將跟著 Firefox 17 推出第二個 ESR 版,並留下 12 週的緩衝期讓企業資訊人員決定是否升級到下一個 ESR 版,又或是更換為其他軟體。圖中還有一個重大訊息:Firefox 3.6 將在第一版 ESR 版推出的 2 個開發週期(12 週)後停止支援,屆時將建議所有使用者升級。以目前的計劃來說,就是 2012 年 4 月 24 日。

本文僅列出 ESR 的重點,建議企業資訊人員評估採用 ESR 版前,先行閱讀 Mozilla Wiki 上 ESR 計劃的完整文件,包括 Mozilla 安全更新的評估層級、ESR 版部署的注意事項等等,也歡迎採用 ESR 版的資訊人員加入 Mozilla 企業工作小組(Mozilla Enterprise Working Group)提供回饋,一起評估、討論 ESR 版所帶來的成效,作為日後改進的依據。

原文作者 / Mozilla Taiwan
授權 / 創用CC姓名標示-相同方式分享 3.0 版

by Irvin Chen (noreply@blogger.com) at January 16, 2012 01:06 PM

January 11, 2012

MozLinks-zh

火狐知識家:Firefox 更新後看 Youtube 會當機怎麼辦><”

近來有部分朋友在 MozTW 討論區反應,在更新 Firefox 9.0.1 之後,只要打開任何使用 Flash 的網頁,就會造成 Firefox 當機。這個問題不是每個人都會發生,原因也不明,只知道與 Flash 有關聯。

經討論區的網友實測後,發現暫時關閉 Firefox 處理 Flash 外掛程式的獨立執行緒機制,能有效防止這個問題,以下簡單說明步驟:

(適用於 Windows 及 firefox 4 以上版本,其他環境請參考此說明

  1. 在網址列輸入「about:config」,打開以下 Firefox 特殊設定網頁,並點選「我發誓,我一定會小心的」按鈕進入。

  2. 在上方的「篩選條件」欄中輸入「ipc」,並從篩選出的設定值中,尋找「dom.ipc.plugins.enabled.npswf32.dll」。
    如果找到了,請接著進行下一步,如果找不到,請跳到第四步。
  3. 請用滑鼠在該行點兩下,將值變更為「false」,並且將 Firefox 關掉再重新啟動,如此就完成了!

  4. 如果找不到上述設定,請先將「dom.ipc.plugins.enabled.npswf32.dll」複製起來,然後在畫面空白處按滑鼠右鍵,選擇「新增」→「真假(Boolean)值」。

  5. 在跳出的「輸入偏好設定名稱」對話框中貼上「dom.ipc.plugins.enabled.npswf32.dll」,按下確定。

  6. 在緊接著跳出的設定值中,選擇「false」,並按下確定。最後將 Firefox 關掉重新打開就完成了。

完成上述動作後,瀏覽 Flash 網頁時的當機問題應該就能暫時解決。


外掛程式更新檢查

Mozilla 提供了一個外掛程式更新檢查網站,能自動檢查所有已安裝的外掛程式,例如 Acrobat、Flash、Silverlight……是不是最新版。過期的外掛程式通常有著漏洞或當機問題,定期檢查、保持最新的版本,能讓上網更加順暢。

需要更新的外掛程式會以紅色按鈕顯示,只要按下按鈕,就會打開外掛程式的更新頁面供你下載。

立刻進行外掛程式更新檢查


開啟 Youtube 的 HTML5 影片播放功能

Flash 從 1996 年底釋出至今,超過 15 年來都是播放網路影片不可或缺的套件,但許多安全性、穩定性及效能問題也伴隨而來。根據Firefox 的當機資料統計顯示,外掛程式是 Firefox 當掉的主要原因,而其中 Flash 及 Acrobat (PDF) 又是兩大緣由。

為了徹底解決這個問題,最新的 HTML5 網頁規範中,針對播放影片新增了瀏覽器原生支援的「<video>」標籤,而 Youtube 也依此開發了 HTML5 影片播放功能,讓新世代的瀏覽器選用,當然最新的 Firefox 也在支援的行列中。

只要打開 YouTube HTML5 影片播放器頁面,拉到頁面最下方,點選「加入 HTML5 試用版」,就可以立即啟用 HTML5 模式。

今後在看 Youtube 時,就會發現電腦不再被 Flash 拖慢啦!

以 HTML5 的開放技術來取代 Flash 製作網頁,是多媒體網站的未來趨勢。希望能有更多網站盡早完成這個工程,如此上網將會更快、更穩定、更為安全。

相關資訊:


φ 作者:Irvin

by Irvin Chen (noreply@blogger.com) at January 11, 2012 05:09 PM

January 09, 2012

MozLinks-zh

火狐知識家:升級有好多套件不能用怎麼辦><"

今後 Firefox 升級套件不再不相容啦!

我們相信每個人都有其獨特的網路習慣,也值得擁有專屬的網路體驗。雖然大家從 Firefox.com 上下載的 Firefox 都是一樣的,但隨著日子一天天過去,你或許會更換個性面板、或是調整按鈕的位置,以便讓 Firefox 符合你的使用習慣;尤有甚者,還會從數以千計的附加元件中挑選配備,為自己家的小火狐加強實力。

不過附加元件好歸好,遇到 Firefox 版本升級時則總要折騰一番。每個套件都有其「相容」的版本號碼設定,而新版到來時雖然許多套件都能順利升級,但仍有部份久未更新的套件被系統判定為「不相容」而停用,造成大家對新版裹足不前。這問題困擾大家的程度,光用 Firefox、套件、相容三個關鍵字問 Google 便知。

這個狀況在 Firefox 調整開發節奏,進入快速循環模式後又再次被提出來討論,終於有個解決方案!從 Firefox 10 起,僅有已經被明確標示為不相容的套件,才會被自動停用;一般使用者終於不必再做任何事情,就可以沿用他捫心愛的舊套件了!不過畢竟 Firefox 升版號也不是升好玩的,有些內部的程式邏輯畢竟與舊版不同,甚至也確實會影響套件正常使用。如果你發現某個套件真的就不能用了,該怎麼辦呢?這時請使用 Mozilla 本家出品的 Add-on Compatibility Reporter,就能輕鬆告訴套件作者:這個套件壞掉了!在蒐集一定數量的回報資訊之後,Firefox 會將這個套件明列為不相容,你也可以因此幫助其他使用者確實抓出不能用的套件。


<Add-on Compatibility Reporter 執行畫面>

預設相容是 Firefox 討論已久終於實現的機制,很需要各位老手多幫忙回報套件的相容資訊。如果你還沒有裝,那現在就快去下載 Add-on Compatibility Reporter 吧!

原文 / Firefox 10 起,附加元件將一律預設為相容
作者 / Mozilla Taiwan
授權 / 創用CC姓名標示-相同方式分享 3.0 版

φ Irvin 編輯

by Irvin Chen (noreply@blogger.com) at January 09, 2012 01:06 PM

January 01, 2012

MozLinks-zh

Firefox Flicks 全球影片大賽即將上映

想幫 Mozilla Firefox 拍宣傳影片嗎?

Mozilla 最近發起了 Firefox Flicks 影片競賽。在 2012 年 2 月起到 4 月 12 日之間,不論是業餘小組、專業團隊、還是隔壁老王,任何人都可以上傳影片到 Firefox Flicks 網站。參賽的影片會先由大眾投票選出入圍者,然後由包含廣告、製片等專家評審團挑選出最後的大獎。

本次競賽的影片主軸為一起來說 Firefox、使用者及瀏覽器如何打造網路光明未來的故事,主題有以下四項:

  • 隱私:您在線上是如何被追蹤的?該怎麼掌握線上體驗?誰擁有您的資料,他們又怎麼使用這些資料?
  • 選擇性:使用符合您需求的工具來掌握網路體驗,有多簡單?網路體驗可以更個人化嗎?
  • 互通性:您可以在所有的裝置、不同的電腦,或是不同的地點都使用最愛的工具嗎?究竟誰能決定您在何時、何地、又如何用網路存取您的資料?
  • 機會:使用者需要什麼工具,才能打造心目中所嚮往的網路世界?Firefox 可以幫上什麼忙?

比賽分成美加、拉丁美洲、亞洲與紐澳、歐洲與非洲四個區域,每個區域都會有各自的得獎影片。獎項分為:最佳 30 秒短片獎、最佳動畫獎、最佳新技術使用獎及最佳公益廣告獎。詳細的比賽辦法請參照 Firefox Flicks 比賽網站

Mozilla 曾在 2006 年舉辦過一次 Firefox Flicks ,當時就應徵到許多優秀的影片。這些的影片或許可以作為借鏡,激發你(或你們)創作影片的靈感。

φ CQD 報導 - Irvin 編輯

by Irvin Chen (noreply@blogger.com) at January 01, 2012 09:54 AM

December 28, 2011

MozLinks-zh

Firefox: 2011

Mozilla 在 2011 年仍持續努力讓網路更棒:我們向世界數百萬用戶釋出內建 Firefox Sync 同步功能的 Firefox 4、釋出 Android 版 Firefox、新增 Firefox Aurora 曙光版測試頻道、轉移到快速更新週期、並向業界推介了 Do Not Track 別追蹤我標準。

在此我們很興奮的向各位分享 Firefox 這一年來的進展,這是我們承諾為任何人持續創新、打造網路更美好未來的部分成果,在 2012 年我們也將繼續努力。

原文 / Firefox: 2011 | The Mozilla Blog
授權 / 創用 CC 姓名標示─相同方式分享 3.0

φ Irvin 翻譯

by Irvin Chen (noreply@blogger.com) at December 28, 2011 06:29 PM

December 23, 2011

MozLinks-zh

JavaScript 引擎的關鍵性強化讓 Firefox 行動三倍速

最新的 Firefox 在 Windows、Mac 跟 Linux 上的 JavaScript 執行效能都有所強化,讓瀏覽網路變得更加迅捷。最新的 Firefox 更新中加入了型別推斷(Type Inference),能大幅提升 JavaScript 的效能,讓各種網路應用,像是圖片、影片、遊戲、3D繪圖……都能跑的更快。

型別推斷是 JavaScript 引擎 SpiderMonkey 的一個新功能,跟 JaegerMonkey JIT 編譯器整合,透過分析產生更有效率的執行碼。加上型別推斷功能的 Firefox ,在 Kraken 跟 V8 這樣的 JavaScript 測試中呈現最高 30% 的效能進步。

Mac OS X Lion 版本的 Firefox 支援了雙指滑動手勢,你現在能夠更容易的在前後網站之間移動;還加強了界面顯示效果,以符合 Lion 的應用程式工具列圖示的風格。

網頁開發者會發現 Firefox 讓網站的載入速度變快了,尤其是需要下載大量 AJAX 資料的網站。 Firefox 支援 chunking XHR request,讓網站能夠在載入資料的同時顯示畫面內容,不用等到所有資料下載完成。請參考 Firefox 9 for developers 頁面以瞭解開發功能的相關更新。

編按:新雙指手勢為左右滑動,效果等同於工具列上的前後按鈕;原文中關於多螢幕環境的更動不明,其餘 Lion 的樣式修改詳見 Bugzilla 相關條目


原文 / Major JavaScript Enhancements Make Firefox Speedy – up to 30% Faster | The Mozilla Blog
授權 / 創用 CC 姓名標示─相同方式分享 3.0

φ CQD 翻譯 - Irvin 編輯

by Irvin Chen (noreply@blogger.com) at December 23, 2011 04:59 AM

December 21, 2011

MozLinks-zh

Mozilla:與我簽下合約,成為預設搜索引擎吧!

Mozilla 在昨天(台灣時間12/21)正式宣佈已與 Google 完成 Firefox 預設搜索引擎合約更新。與 Google 的此份合約在過去幾年一向都是 Mozilla 基金會最大的營收來源(詳見 Mozilla 2010 年報),以下是 The Mozilla Blog 的正式說明:

Google 與 Mozilla 簽下 Firefox 預設搜索引擎新合約 

Mozilla and Google Sign New Agreement for Default Search in Firefox | The Mozilla Blog

我們很高興的宣佈已完成與 Google 的談判,並簽署重要、互利的新合約,內容中延長了與 Google 的長期搜索合作關係至少三年,未來 Google 將繼續作為我們的預設搜索引擎。

Mozilla 的執行長 Gary Kovacs 說:「在複數年合約中,Google 搜索將繼續作為 Firefox 全球數千萬用戶的預設搜索引擎。」

Google 搜索產品資深副總 Alan Eustace 表示:「Mozilla 在過去數年一直都是 Google 有價值的合作對象,我們也期望在未來持續這個最佳夥伴關係。」

此份商業合約的完整內容受到保密限制,沒有什麼允許被透漏的資訊。

φ Irvin 編譯

by Irvin Chen (noreply@blogger.com) at December 21, 2011 05:02 PM