2013年3月26日 星期二

Javascript 取得 split() 結果的第1個及最後1個元素 (the first element and the last element)

Javascript 的 split() 函式會將結果以陣列(array)型態回傳,因此可以分別以 shift() pop() 取得第一個及最後一個元素。

範例:
var str = "A, B, C, D";

console.log(str.split(",").shift());
// output A

console.log(str.split(",").pop());
// output D

jQuery - detach() 與 remove() 之差異

在 jQuery 官網的 DOM 操作文件中,有提到 detach()remove() 兩種方法,這兩種方法的說明都是:
Remove the set of matched elements from the DOM.
意思就是將元素從 DOM 中移除,不過進一步閱讀詳細的使用說明時, 就會發現兩者其實是不太相同的。

2013年3月22日 星期五

jQuery 小祕訣 - htmlentities

有些時候為了避免網頁被植入一些 HTML 標籤(如 <iframe>, <script>, <applet> 等),就必須將一些特殊字元轉為 HTML entities (或稱 HTML 實體),例如 < 可被轉為 &lt; 或是 &#60,其中前者(&lt;)被稱為 entity name, 後者(&#60)為 entity number,這兩種都是可被接受的轉換方式。

更進一步的例子為如下的 HTML 標籤:
<script>&</script>
被轉換成 HTML entities 之後就會變成如下的字串:
&lt;script&gt;&amp;&lt;/script&gt;

雖然在瀏覽器上看起來一樣是 <script>&</script> ,不過已經不是 HTML 標籤了。
p.s. 這對於網頁程式師而言算是相當實務的安全性作法之一

2013年3月18日 星期一

KVM (Kernel based Virtual Machine) 常用指令解說

KVM(Kernel based Virtual Machine) 是一套基於 Linux Kernel 的虛擬化技術,與 QEMU, XEN, Oracle VirtualBox 一樣都已經是相當成熟的 Open Source 的虛擬化解決方案。值得一提的是,KVM, QEMU, XEN 三種不同的虛擬化解決方案能夠在 Linux 內兼容並蓄,並且透過 libvirt 達成統一的管理窗口,因此本篇會以 virsh 指令運用為主解說常用的 KVM 指令。

2013年3月13日 星期三

Debian 重新編譯套件 (Rebuilding Debian packages)

雖然 Debian 有很方便的 APT 套件管理工具,讓我們省去了許多自行下載、編譯(compile)、安裝程式碼的過程,但總難免會遇到需要修改程式碼的問題,這時就得下載套件原始碼(source code),接著再根據套件相依性安裝其他套件,最後修改程式碼後進行編譯、安裝,但是問題往往不會如此順利與單純......。

一般透過 APT 所安裝的套件,大多都有經過 Debian 開發者的維護與修補(patch),多多少少會與原本套件的原始碼不同,所以下載其他來源(如官方網站)的套件原始碼進行編譯時,有可能會遇到一些光怪陸離、不知如何解決的問題,例如你可能會遇到你所下載的套件原始碼並沒有針對 Debian 環境的修補,而導致無法順利安裝。

累了嗎?也許你可以有更好的選擇!