顯示具有 Javascript 標籤的文章。 顯示所有文章
顯示具有 Javascript 標籤的文章。 顯示所有文章

2012-11-04

TypeScript vs. CoffeeScript

TypeScript 是一個開放原始碼的軟體專案,是由微軟的 C# 語言的設計者,Anders Hejlsberg 先生所設計的,TypeScript 在今年的 Build 2012 上正式亮相,雖然是開放原始碼專案,但是,應該算是微軟家的產品,目前微軟的 Visual Studio 已經有提供支援 TypeScript 的 Plugin,所以,可以用 Visual Studio 來開發 TypeScript 的程式,算是滿方便的哩 !

TypeScript 和 Javascrit 比對 (Credit Microsoft)

2012-10-30

SilkJS - 伺服端 Javascript 和 HTTP Server

阿舍猜,大概是因為 Netscape 釋出 Javascript 原始碼及 Goolge 提供開放原始碼的 V8 Javascript Engine 的原故,再加上 HTML5 的推波助瀾,近幾年來,Javascript 的解決方案不斷的推陳出新,從網頁端到伺服器端、從桌上電腦到行動裝置,都可以看到 Javascript 的身影,所以,最近就常常有幾會可以看到用 JS 結尾的新東西哩!而其中,最讓阿舍感到驚豔的,莫過於 node.js 了,特殊的非同步語法,可是讓阿舍又愛又恨哩!

credit SilkJS

2012-07-27

Code Hero - 學寫 Javascript 的電玩

Code Hero 一開始也是在 kickstarter 網站上的一個專案,然後,募款的情形不錯而引起注目,後來,Code Hero 就有拿到創投基金所投入的資金,而且,現在的 Code Hero 也已經有自己的網站,不過,Code 還是一樣要收費,不過,不貴,最便宜的方案,只要美金 5 元就可下載和更新了,阿舍在 Code Hero 還在 KickStarter 的時候,因為 PayPal 裡還有一點點的錢,所以,就花了 5 塊錢(美金) 去買來玩玩哩 !

Credit Code Hero

2012-07-26

Ninja Authoring Tool – HTML5 網頁圖形、表單和動畫編輯器

雖然 HTML5 的功能很強大,但是,從頭學起再加上要會製作動畫及漂亮的圖型和表單的話,那可就要花費不少時間哩 ! 還好,阿舍最近看到一個不錯的東西,名字也滿有趣的,就叫做「Ninja Authoring Tool (阿舍自譯 : 忍者創作工具) 」,這個 Ninja Authoring Tool 是 Chrome 瀏覽器的擴充,不過,除要從 Chrome 線上應用程式商店來找到和安裝以外,還要下載和安裝一個 Ninja Local Cloud 的小 Server 才能使用,還好,不會很難的哩 !

Credit  Ninja Authoring Tool

2012-07-23

CSS3 的 SASS 和 LESS 是什麼 ?

隨著 HTML5 +CSS3 + Javascript 的應用和開發方式越來越普及,改善和協助 HTML5、CSS3 、Javascript 的開發工具也就越來越多, 在Javascript 方面,阿舍之前有介紹過 CoffeeScriptJSX 這二種經過編譯可以產出更有效率的 Javascript 程式碼的程式語言,而今天阿舍要介紹的 SASS 和 LESS,其實,在功能上和 CoffeeScript 及 JSX 是類同的哩 !


2012-06-26

FuckItJS - 幫忙跳過 Javascript 錯誤程式碼的工具

FuckItJS」這個名字看來就一定會引起人的注意,阿舍也是因為這個顯眼的名字才注意到的哩 ! 這個FuckItJS 是一個用 jQuery 寫的 Javascript 的程式庫,用途是幫你剔去不能執行的 Javascript 程式碼,好讓你的 Javascript 程式不會因為某一行打錯字或寫錯語法就不能執行下去了,所以,只要套上 FuckItJS 的功能,就能幫你跳過錯誤的程式碼,讓瀏覽器或編譯器可以把程式跑完哩 !

Credit FuckItJS

2012-06-04

JSX 是什麼 ?

如果和阿舍一樣,直接用「JSX」去問 Google 的話,就會找到一個叫做「jsx.org」的網站,這個 jsx.org 是「Java Serialization to XML」的網站,並不是阿舍今天要講的東西,阿舍要講的 JSX 是和 JavaScript有關的,網站是在 GitHub 的這裡,JSX 是一種電腦語言,和 CoffeeScript 一樣,是一種撰寫 Javascript 程式的程式語言哩 !

Credit : JSX

2012-01-31

Prototype-based Language 有什麼不同 ?

阿舍看到很多在稱讚 Javascript 的文章都會提到說,因為 Javascript 是一種 Prototype-based 的電腦語言,所以,它會有.... 等等的好處,不過,說實在的,阿舍對於 Prototype-based Language 這種東西是一點概念都沒有,只知道說 Javascript 可以透過一個叫做 prototype 的屬性來幫上層物件新增屬性或方法而已,其它的,阿舍就沒有多花時間來瞭解了,但是,最近阿舍在看一本 Javascript 的書的時候又有提到 Prototype-based Language 這個東西,所以,阿舍就決定要來好好瞭解一下哩 !

Credit : nitrOVM

2012-01-21

CommonJS 和 RequireJS 有什麼不同 ?

阿舍自從開始接觸 node.js 之後才發現,Javascript 的發展真是出乎阿舍的預料哩 ! 各種用途和應用的東西還真是不少哩 ! 而今天,阿舍要提到的這個 CommonJS 呢,是為了讓 Javascript 的應用可以走出瀏覽器,讓 Javascritp 能夠適用於開發一般應用程式的而定義的 Javascript API 標準、規範和建議,目前,已經有許多的 JavaScript 引擎都有實作 CommonJS 的定義 API,像阿舍正在學的 node.js 就是其中的一個哩 !

Credit : webification.com

2012-01-15

如何使用CoffeeScript 開發 Node.js 程式 ?

阿舍之前有介紹過 CoffeeScript,不過,還沒花時間來學哩 ! 因為一直在猶豫是不是要花時間來學習一下,阿舍是在考慮說,花這個時間學是不是值得 ? 真的有需要用 CoffeeScript 來寫程式 ? CoffeeScript 真的有比較好嗎 ? 阿舍的這些問題,大概就是開發者在決定學習 CoffeeScript 之前會想到和考慮的吧 ! 後來,阿舍就決定先把 CoffeeScript 裝來起試試再說囉 !

圖片來源 : code school blog

2011-12-28

Titanium Mobile 一次滿足三種願望的 Android、BlackBerry 和 iPhone 的 App 開發工具

你還在用 Java 寫 Android 的 App,用 Object C 寫 iOS 的 App 嗎,用 BlackBerry WebWorks 開發 BlackBerry 的 App 嗎 ? 有沒有可能學會一種東西,就可以用來開發這三種作業系統用的 App 呢 ? 當然是有的,不然,阿舍幹嘛要寫這一篇哩 ! 呵 ! ^^= 是有一家叫做「Appcelerator」的公司,推出一個叫做 Titanium Mobile 的 SDK,只要加上它們家的 Titanium Studio (這個也是 Eclipse Based 的 IDE),就可以用 Javascript 來開發三種作業系統的 App 哩 !


Titanium Studio


2011-12-20

為什麼選用 Node.js ?

Node.js 在國外很熱門,在台灣也有越來越多的人喜歡上它,而且,不少人對 Node.js 可是愛不釋手哩 !  阿舍自己也滿喜歡 Node.js 的,不過,才剛開始接觸而已,雖然,阿舍沒有介紹過 Node.js,不過,之前有寫過如何在 Ubuntu 上安裝 Node.js,那個時候有大概的提到 Node.js 是什麼,但是,沒有好好的介紹它,阿舍今天也沒有打算要來介紹 Node.js,因為在網路已經有不少好文在介紹了哩 !

圖片引用自 StorageMojo

2011-11-11

CoffeeScript

如果你有寫過 Javascript 的話,你應該就會瞭解到 Javascript 就和 Perl 一樣,是種神奇又混亂的程式語言,但是,又是那麼的不可或缺哩 ! 所以,為了讓 Javascript 可以更加的迷人和好用,Jeremy Ashkenas 先生就另外寫了這個 CoffeeScript 來用,不過,別誤會,CoffeeScript 並不是要用來取代 Javascript 的,而是被用來輔助 Javascript 的,CoffeeScript 雖然有自己的語法,但是,它會幫你轉換成 Javascript 並保證和 Javascript 及各種 Javascript 的程式庫百之百的相容哩 ! CoffeeScript 的黃金律令就是 "It's just JavaScript"。




2011-10-29

Javascript 輪播廣告

阿舍的這個網誌是用 Google 的 Blogger.com 來架的,所以,Google Adsense 就會受限於最多只能有三個圖文廣告的限制,因此,就算有位置也不能放 Google Adsense 的廣告,但是,阿舍還有其它家給的廣告可以放,但是,這些廣告不會自動輪播,阿舍不想讓它1一直顯示同一張圖片,就想要弄個輸播的工具來用用,結果,試了幾套都不合阿舍的意,所以,阿舍就決定自已來弄看看好...

2011-09-29

Ubuntu 安裝 node.js ( 含 PPA 與自行編譯 )

node.js 似乎是好熱門一陣子了哩 ! 阿舍之前有看到過,但是,一直以為是個 Javacript 的 Library,所以,阿舍就沒有多加注意 ! 直到上週末阿舍和朋友吃飯有聊到這個 node.js,才讓阿舍想要來多瞭解一下哩 ! 原來,這個 node.js 可不是什麼 Javascript 的程式庫啊 ! 人家可算是一套用來寫網路程式的 Server , 是阿舍給人家誤會了哩 !

node.js 商標

2011-08-24

Proxino.com – Javascript 程式碼監控與除錯服務

對阿舍來說,Javascript 是一種不太結構化但又莫名神奇的電腦語言,每次要 Debug 的時候,總是找不到錯誤訊息說的那一行在那裡哩 ! 然後,要解決這個問題,阿舍就要用 FireFox 再加上一些 Debug 的工具來除錯才會比較快找到問題哩 ! 所以,對網路應用程式的開發者來說,除錯 Javascript 這件事真是一件費工又費時的事,阿舍想,大概是有人看見這個問題,因此,才會推出 Proxino.com 這樣的服務來改善你 Debug 的方式哩 !

Proxino.com 提供的服務很單純,就是提供一段適用所有瀏覽器的 Javascript 程式碼給你,然後,你把它加到你的網頁裡去,一旦Javascriptg 執行的時候發生錯誤,那麼 Proxino.com 就會用郵件來通知告訴你,那一個 Function 的那一段程式碼出錯了,同時,會把這次的錯誤記錄下來,之後你可以在 Proxino.com  的網站上來查詢這些歷史記錄,除此之外,Proxino.com 還可以幫你最小化和快取 ( Cache ) 你的 Javascript 程式碼,以提高執行效率 。

如果你滿意 Proxino.com 提供這種服務,你大概會願意付多少錢呢 ? 雖然 Proxino.com 有提供每月免費1000 頁的服務可用,但是,Proxino.com 的付費服務的價格讓阿舍覺得有點貴哩 ! 每月要 30 美元可用 10000 頁,100 美元可用  100,000 頁,不過話說回來,如果只是測試問題在那,那麼免費的 1000 頁應該就夠了吧 ! 不過,如果網站是很複雜的那一種,也許就會需要了吧 !

 圖片引用自 Proxino.com


2011-07-02

MongoDB 的 findAndModify 指令

MongoDB 從  1.3.0 版之後,開始提供 findAndModify 的指令來更新已經儲存在資料庫的文件 ( Documents),這個 findAndModify 和 update 的功能相似,但是,用途是不太一樣的,update 只可以更新文件,但是,這個 findAndModify 還可以傳回已經更新過的文件哩 ! 另外,由於 findAndModify 指令是採用 Atomic operation 的方式 ( 就是只有寫成功和沒寫二種狀態的方式 ) 來寫入資料,所以,也可以拿來當做 MongoDB 的 lock 功能用。

阿舍會注意到這個 findAndMondify 指令,是因為阿舍要弄一個自動增號的功能,這個功能在 MySQL 要將欄位設定成自動增號就可以了,但是,MongoDB 是要靠自己弄的,所以,阿舍才會找要用這個 findAndModify 指令哩 ! 才發現,這個指令還有用的啊 !

findAndModify 指令總共有 7 個參數可用,但是,阿舍並沒有要一一說明,而是要用一個簡單的案例來說明,這樣,只要懂了怎麼用,那麼其它參數就不難懂了哩 ! 以阿舍要對 news 這個 collections 的 _id 是 888 的這份文件變更 subject 欄位為例,可以在 mongoDB 的  Shello 用下面的指令來操作達成:

> doc= db.news.findAndModify( {
      query : { _id : 888 },
      update : { $set : { subject : "test 2" }} ,
      new : true
      });

query 後面是要放要更改的文件的搜尋條件,阿舍的例子是要改 _id 是 888 的這一個文件。

update 後面要放的是要修改內容,其中的 $set 是mongoDB 內建的運算子,用來變更欄位值,阿舍的例子是要把 subject 這個欄位值改成 "test 2”。

new 後面的 ture 是用來指示 MongoDB 需要把更新後的文件給回傳回來,true 就是要,false 就是不要囉 !

2011-05-19

Javascript 可以寫出 Linux 核心 ?

這個是阿舍在二天前看到的新聞,就是 Fabrice Bellard 先生用 Chrome 和  FireFox 的 Javascript 引擎寫出相當於 Linux 2.6.20 核的的程式,也就是說,用 Chrome 和 FireFox 就可以啟動一個 Linux 作業系統的模擬器,是滿厲害的一件事,但是,阿舍那個時候沒有想太多,就想是和之前用 Javascript 寫出的 Windows 3.1 是一樣的,所以就沒有想要介紹出來了哩 !

但是,國外後續的報導讓阿舍慢慢的發現,這個 Javascript 寫的 Liunx 是不一樣的,這個 JS/Linux 不只是一個畫面模擬器,而是一個貨真價實的 PC 模擬器,可以在上面跑 Linux 的軟體,所以,才會引起不少人的注意,同時,也都認為這個 JS/Linux 應該可以有不錯的應用哩 ! 阿舍想,如果,效能和儲存的問題能夠解決,這個 JS/Linux 可就是一個真正的 "雲端作業系統" 哩 !

這個 JS/Linux 目前只能在 Chrome 11 和 FireFox 4 瀏覽器上執行,主要的原因是當初 Fabrice Bellard 先生是用 Chrome 和 FireFox 的 Javascript Engine 來寫的,而這二套的 Javascript Engine 比較快,所以可以跑的起來,不過,Fabrice Bellard  先生跑這個 JS/Linux 時候,意外發現 當當時 FireFox 的 Javascript Engine 是比 Chrome 快二倍哩 ! 真是意外啊 !

其實,這個 Fabrice Bellard 先生本來就不是什麼簡單人物,他可是 FFMPEG 軟體專案的發起人,也是知名開放原始碼虛擬機器軟體 QEMU 的商標擁有人和創始者,所以,他能夠寫出 JS/Linux 這樣的東西也是其來有自的哩 !

2010-06-27

Lotus Domino 如何修改或隱藏 No Document Found 訊息 ?

要隱藏或修改這個在 Web 上顯示的訊息的方式有百百種,阿舍是有 $$ViewTemplateDefault 來打開不同的視界 ( View ) 所以不太適合用 @Elements(@DbColumn("":"NoCache";@DbName;<視界名稱月>;1) = 0 的方法,因為還要去算現在是開在那一個視界,有一點麻煩,而且每次開視界都要去算一次有沒有文件,這個就有不環保了,有些些的浪費 CPU 哩 !

再來,另外一個比較常見的方式就是去找網頁有沒有 H2 這個標籤,這個,阿舍就是覺有比較喜歡了,雖然有風險,但是,從 Lotus Domino/Notes 5.0 到現在,IBM/Lotus 也很有誠意的把 "No Document Found" 這個訊息都維持在用 H2 標籤來顯示,所以,我們可以用找 出網頁的所有 H2 標籤,然後再一個個的比對內容是不是 "No Document Found",如果是,就把它給換掉。

下面這段程式碼是採用 W3C 的 DOM 來寫的應該可以適用在所有支援 DOM 的瀏覽器上,只要把下面這段程式碼貼到 $$ViewTemplateDefault 裡的 $$ViewBody 或是 Embedded View 的下面,然後把它全部用 Pass-Thru HTML 設成 HTML 就可以了...
<script type='text/javascript'>
<!-- 
      var elementH2s = document.getElementsByTagName('h2');
      var elementH2;
      if(elementH2s) {
         for(var i=0;i<elementH2s.length;i++) {
            elementH2 = elementH2s[i];
            if(elementH2.firstChild.data=='No documents found')
                elementH2.firstChild.data='目前沒有文件';
         }
      };
-->
</script>

2010-05-08

CKEditor 的授權

CKEditor 在  FCKEditor 的年代是完全免費的開放原始碼軟體,但是後來接手的人換成 CKEditor 之後,在授權方面就有點變化了,CKEditor 是仍然保有開放原始碼軟體的 GPL 授權,不過,只限於個人或教育用途的使用,或是拿 CKEditor 來和其他開放原始碼軟體整合時可以免費,還有,就是,雖然是拿 CKEditor 來和商業軟體整合,但是,該商業軟體符合開放原始碼的授權方式且不會對 CKEditor 進行維護和提供支援服務的情況下。

老實講,阿舍對第三項也不是很懂,不過,如果是真的要拿 CKEditor 商業用途,還是花錢買個授權會好一些。CKEditor 的付費授權有三種,第一種是單一網站使用的,第二種是企業內無限使用的,第三種則是 OEM 的授權,價格在美金 800 ~ 1500 元。