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

2011年6月4日 星期六

Javascript 語法蜜糖 CoffeeScript

摘譯 CoffeeScript 維基百科:

CoffeeScript 是用 ruby 寫的一種 Javascript 程式碼產生器。其中採用了 Ruby 與 Python
(比如 indent 取代大括號) 兩種程式語言的特性來簡化撰寫 Javascript 的語法,另外也
增加陣列轉換 (Array Comprehension)與正規表示(Pattern Matching) 的擴充語法。

使用 CoffeeScript 的好處是可以用更簡潔的程式碼,達到原本用 Javascript 寫出的
同樣功能,而不影響到執行期效能。Javascript 之父 Brendan Eich 表示 CoffeeScript
也影響到他對 Javascript 語言將來的發展規劃。

Ruby on Rails 預計在 3.1 版將會支援 CoffeeScript 。

CoffeeScript 可以在瀏灠器直接執行或透過 Node.js (Server side 執行的 Javascript 程式
,event driven I/O framework for V8 Javascript engie on Unix)執行。

 讀完維基百科後,可以繼續看 PragProg Magazine 的 CoffeeScript 五項改進
一、變數宣告依所在的 namespace 為全域或區域變數,不再因為宣告變數忘記加
var 而覆蓋已經宣告過的全域變數。CoffeeScript 也會將變數限定在單一檔案的匿名
函式中。

二、ajax call 中的 this 在 CoffeeScript 中同樣指到目前 context 的物件,this 關鍵字
也可以用符號 @ 代替

三、CoffeeScript 繼承 ruby 慣例將函式最後的 expression 自動當函式返回值,也可
以在變數賦值的語法 a = 後加上 '->' 自動將 a 由變數改為函式

四、CoffeeScript 在迴圈中使用 do 關鍵字,可以更容易為迴圈加入需取值的函式。

五、提供語法蜜糖,讓程式碼更簡潔

另外據說現在 GitHub 的開放源碼存量已經超過 SourceForge,再來是 Google Code 
第四是微軟的 CodePlex,另外還有支援 Mercurial distributed version control system (DVCS)
BitBucket 可以參考。

CoffeeScript 官網
CoffeeScript@Gihub 
A CoffeeScript Intervension

2008年9月8日 星期一

Google 正體中文翻譯工具列 G翻譯-js

除了之前使用 Alexa-jsGTW-js 查看目前造訪網址流量的方便工具列外,
最近因為常在翻閱日文相關網站時能稍微懂一些網頁內容,便常使用
Google 翻譯網址來做略讀使用。

因此想到了再把 Google 翻譯做成 Firefox Bookmark工具列 Javascript 給大家試試。

G翻譯-js

同樣也是將 G翻譯-js 拖拉到 Bookmark toolbar 書籤工具列上,當瀏覽到想要
翻譯大略文義的相關網頁時,就點擊一下工具列上的 G翻譯-js , 就可以看到
 Google 翻譯成正體中文的網頁。

想要返回原網頁就再使用 Browser back button 功能就可以了。

相關網頁:

Alexa traffic rank 工具列 Alexa-js

Google Trends Website 工具列 GTW-js

twitter, plurk, jaiku, buboo 微網誌站流量與排名

2008年7月31日 星期四

Alexa traffic rank 工具列 Alexa-js

有鑑於只用 Google Trends for Website 並不一定公正,而且 Google Trends for Website
也沒有 Google 相關服務的流量,因此也改了一個 TinyURL! 抄來的 For Alexa 的
Alexa traffic rank 工具列 Javascript 給大家試試。

Alexa-js

同樣也是將 Alexa-js 拖拉到 Bookmark toolbar 書籤工具列上,當瀏覽到想要查的
 (Google)相關網頁時,就點擊一下工具列上的 Alexa-js , 就可以進入 Alexa 排名資訊
網頁。

相關文章:

twitter, plurk, jaiku, buboo 微網誌站流量與排名

Google Trends Website 工具列 GTW-js

2008年7月28日 星期一

Google Trends Website 工具列 GTW-js

在網路上衝浪的時候,除了會想知道這個網站
說的內容有不有趣之外,有時候也會想看看網
站上有多少訪客流量?

這時候除了上 AlexaGoogl Trends for Web
以外,如果有個像 TinyURL! 的 toolbar 工具
可供單擊就知道網站流量,那就真的比另外開
視窗再 copy/paste 網址方便多了,因此照原
本 TinyURL! 的方式改了一個 Google Trends
for Website 的 toolbar 工具如下:

GTW-js
將上面的 GTW-js 拖拉到 toolbar 工具列後,
只要逛到想看網站流量的網站,就點擊工具列
上的 GTW-js 就可以跳到 Google Trends for
Website 網頁。看完後再跳回上一頁就可以繼
續閱讀網站內容。

相關文章:

twitter, plurk, jaiku, buboo 微網誌站流量與排名

Alexa traffic rank 工具列 Alexa-js

2008年7月19日 星期六

分析 Javascript 的方法 暗黑篇章

最近的 isc sans diary 還蠻有料的,講了幾篇
Javascript 的暗黑篇章供有需要解析惡意網址
的人參考。

第一篇:
系統化的解譯 Javascript 惡意程式:
Javascript Decoding round-up
首先建議你使用 wget/curl/lynx 等文字模式並
包含惡意 Javascript 的 html 完整檔案,接著
列出四個可以試用的方向:

1.1 將 document.write() 跟 eval() 改成 alert()
來進行利用跳出的視窗解析。通常只能解析到
第一步,仍需要後續工作。

1.2 使用 document.write("") 把
eval(), docuemnt.write(evil code) 的部份包起
來就可以在 textarea 讀解譯完的程式碼
參考,跟 1.1 一樣比較快完成,但要小心 typo
你的 browser 還是會執行惡意程式

1.3 將 Javascript 改寫成 Perl 來找 Xor, 或字
元排列組合的編碼比較快速,前提是你要對
Perl 夠熟,還有先看懂原先的 Javascript 程
式碼...也是比較安全的做法

1.4 將 Javascript 中的 document.write(txt)
代換成 print(txt) 後,使用 "SpiderMonkey"
Javascript engine 執行。
缺點是無法解譯專門對付 IE 的 Javascript
程式。

或是你也可以參考 Daniel Wesemann 的詳細實
作步驟來完成
, 2

第二篇
進階的 Javascript 混淆程式碼解析:
Advanced obfuscated Javascript Analysis

除了第一篇提到的方法以外,還有編碼的
在 Javascript 中的加密金鑰,使用 Microsoft
Script Editor 在 script 中設 breakpoint 可以很
方便解譯程式碼。

另外也找出該木馬程式有使用 function
prototype 避免自動程式檢查,也會對中毒的
使用者設定 Cookie, Cookie 在 SpiderMonkey
上無法設定,因此無法檢查,然後再用 Cookie
自我檢查是否已經重複感染同樣的惡意程式,
木馬程式還會很好心的要你 patch 微軟在 2006
年的安全更新 MS06-014,才執行真正的木馬
植入動作,最後解出 referer 是指到中國的 :P

第三篇
使用 VBscript 混合 Javascript 的惡意程式,
其中的 Javascript 還需要經過 VBscript 解出
才執行真正的惡意程式:
Mixed(VBScript and Javascript) Obfuscation

第四篇
使用 SpiderMonkey 解析混淆過的 Javascript
惡意程式:
Obfuscated Javascript Redux

第五篇
如何找出隱藏在 PDF 檔案中的 javascript 惡意
程式:
Extracting scripts and data from suspect PDF
files