跳到主要內容

文章

目前顯示的是 九月, 2011的文章

[分享] livereload 設定及原理分析, livereload project analysis

之前介紹過livereload ,深深覺得他是個好東西,用過之後開發網站就不能缺少他,我真的回不去了。可是就會想要探討到底livereload 是怎麼做到修改檔案之後,就即時做頁面重新讀取呢?

分析
livereload 當程式執行之後就會開啟一個websocket server,如果檔案有任何變動,會發送訊息給瀏覽器,瀏覽器就會依據檔案不同執行不同程序。

Server端其實做的事情就是監聽檔案變化,發送訊息給client!

而預設的網站port號會採用35729,如果想要變更port號,在自己的家目錄底下有一個.livereload 檔案,去底下修改這個檔案,例如35729 修改為 88887。

~/.livereload
config.port = 88887

[分享] livereload 安裝及使用 (linux). livereload install and tutorial

livereload 就跟名字一樣,『立即重新讀取』,主要用途為當編輯檔案修改後,會讓監聽頁面自動重新讀取。這樣子好處在於網站開發者不需要一直重新執行瀏覽器、編輯器切換,按下F5 重新讀取頁面等繁雜的手續。

本篇文章將講解livereload ,快速導覽!
livereload 原理說明請參考!

安裝 需要先安裝ruby, gem
參考ruby, rvm, gem 安裝文章 sudo gem install livereload

[筆記] nodeJS VM module使用方法

node 裡面通常比較少寫到怎麼使用vm module,今天看了這則require() files that do not use module structure,才曉得原來vm 可以這樣子使用。可以參考一下source code ,裡面的程式就是實際vm 運作的方式。

時機
官方解說
JavaScript code can be compiled and run immediately or compiled, saved, and run later.
當我們需要執行一段程式 ,但是又不想寫成module 的模式(使用require),這個時候可以採取vm 來執行片段程式,簡單來說可以達到兩個目的:

部份程式片段抽離。不使用全域變數污染環境。

Document.write 塞入script 會如何?

今天看到一則噗浪討論串,感覺很有趣,便花點時間研究一下這個課題,問題如果使用document.write塞入script會有什麼優缺點?

在實做上大部分都是使用非同步載入,主要都是為了讓頁面載入時間能夠重疊,感覺上讀取時間就會縮短,幾乎使用document.createElement('script'),塞入head當中,這樣子執行上就不會有阻塞的問題。

如果頁面上是使用document.write?

這個問題還真的沒有研究過,稍微Google一下之後,發現有一篇討論串解決心中的疑惑,不過還是隨手寫一下sample page藉由瀏覽器來驗證。

測試1
sample.html
<body> <!--javascript--> <script language="javascript" type="text/javascript"> document.write("<script language='javascript' type='text/javascript' src='after.js'><\x2Fscript>"); document.write("<script language='javascript' type='text/javascript' src='before.js'><\x2Fscript>"); </script> </body>
before.js
alert("Before");
after.js
alert("After");
為了讓容量上有些差異因此,使用javascript 混淆器,將after.js 內容調整為
$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++…

[分享] Google API Oauth 2.0 教程範例

Oauth 2.0 開始需要事先註冊project。
http://code.google.com/apis/console#access


專案開啟完之後,接著需要參考文件
http://code.google.com/intl/zh-TW/apis/accounts/docs/OAuth2.html

[教學] git submodule 移除,合併不同git

Git submodule 移除的方法。找到相關資料,做一下筆記!

假設要移除的Git submodule 名稱為foo!
修改.gitmodules檔案,將foo相關資訊行數刪除。修改.git/config 檔案,將foo相關資訊行數刪除。git rm foo,把foo資料夾移除。 完成!
如果要從其他git 將資料合併怎麼做? 切換 git 目錄底下執行 git clone git://example.com  example,將資料複製下來接著進入exmaple目錄,將目錄底下的 .git , .gitignore移除
完成!
文章有寫得不詳盡之處,再麻煩底下留言以方便資料改進,感謝!