2013年9月26日 星期四

iOS 7 , waterproof ?

今天看到一則消息,有不少人在網路上謠傳iOS7可以讓iphone防水,實在很莫名其妙

有一天,我的iphone5掉到了湖裡,正當心理著急地想跳下去打撈時,一位身材曼妙的女神浮出了水面。

女神:"你掉的是iPhone5s,還是iPhone5c呢?"。

誠實的我回答:"喔~我掉的只是普通的iPhone5"。

於是,我得到了三隻iPhone。

不過,我要三隻泡了水的智慧手機做什麼!!!

2013年7月4日 星期四

[javascript] 偵測DOM元素絕對位置(absolute position)

有時候,我們使用Javascript輔助CSS設計網站版面配置的時候,希望動態的抓取某個DOM元件之絕對作標(以父原素左上角為原點),這時候我們可以使用以下幾個方法來達到目的。

純Javascript
var getAbsPos = function(o) {
    var pos = {x:0, y:0};
    while (o!=null)
    {
    pos.x += o.offsetLeft;
    pos.y += o.offsetTop;
    o = o.offsetParent; //若區塊外還有父元素,就繼續往外推
    }
    return pos;
}
var POS = getAbsPos(element);
console.log("top: "+POS.y, "left: "+ POS.x);
使用jQuery
var POS = $(element).offset();
console.log("top: "+POS.top , "left: "+POS.left);
使用純Javascript,但卻希望像jQuery般操作
Element.prototype.offset = function(){
   var pos = {top:0,left:0}; 
   pos.left = pos.left + this.offsetLeft;
   pos.top =pos.top + this.offsetTop;return pos;
}
var POS = (element).offset();
console.log("top: "+POS.top , "left: "+POS.left);

Note:
element 為特定的DOM node.例如: document.getElementById("my_id").

2013年4月26日 星期五

Linode NextGen-CPU and RAM upgrade

前言

自從這篇 網路升級發表之後,Linode又陸續發布了兩篇硬體升級的宣佈。整個Linode: NextGen計畫總共包含三個部份,第一次頻寬與網路設備的更新,其次是虛擬計算核心vCPU的增加,最後則是記憶體升級。

CPUs
We’re investing millions to make your Linodes faster. Crazy faster. We’ve begun a refresh of 3/4 of our entire fleet to a new “NextGen” host hardware specification. And we’re upgrading all Linodes to 8 cores! Right now. As in all you need to do is reboot to double the computing power of your Linode.

原本單一主機可運用總CPU數是四核心,現在提升到八核心。
原文:Linode NextGen: The Hardware

Ram Upgrade
We’re doubling the RAM on all of our plans. This upgrade is available to existing and new customers. New Linodes will automatically be created with the new resources. Existing Linodes will need to go through the Upgrade Queue to receive the upgrades.

記憶體的部份也是直接就乘以二,連最低方案也從512MB變成了 1G ,真是太佛心了。
原文:Linode NextGen: RAM Upgrade

Now plans

下圖就是最新的方案規格表。

2013年3月9日 星期六

Linode Nextgen: The Network upgrades

Linode硬體提升
We’re spending $1 million making our network faster. Way faster. Cisco Nexus 7000 routers. Cisco Nexus 5000 switches with Nexus 2000 Fabric Extenders. Linode outbound network cap increased 5x. Outbound monthly transfer quota increased 10x.
升級就是爽

七日在Linode的官方部落格發佈了一個聲明,在最近ㄧ次的硬體大升級整合後,除了整體伺服器反應的速度提升外,最重要的就是幾乎所有方案單月流量的限制都增加1000%,也就是10倍,一整個大爽阿。

2013年2月28日 星期四

Why choose tilde symbol represents the home directory

好問題

日前,在stack exchange 上看到一個有趣的問題

為何在大多數的Unix like作業系統中,使用 ~ 符號來代表使用者的家目錄呢?

這個問題的由來是這樣的,當我們在shell提示字元中輸入

cd /home

2013年2月18日 星期一

Python.h: No such file or directory

fatal error: Python.h: No such file or directory
無法正常編譯

有時候,我們在剛裝好的主機上想要編譯某些程序,卻出現如上方般的錯誤,別緊張,這是由於系統缺少了python的開發環境套件所引起,解決的方法也很簡單,補安裝python的開發套件即可

Fedora(RedHat, centOS)系列的解決方式

yum install python-devel

Debian系列

sudo apt-get install python-dev

2013年1月19日 星期六

[Redis] 所謂的資料結構伺服器

Redis is an open source, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.
前言

Redis簡介裡,開宗明義就闡述了上面那段引言。也就是所謂的資料結構伺服器,這句話說實在的,若非真正開始動手進行以Redis為基礎的專案,還真的不知道這句話描述的有多麼貼切。


Value

Redis ,我們知道是一種key-value型態的資料庫,關於Key的部份需要注意或開發的技巧與其他NoSQL KV型態的資料庫並沒有太大的差異,但是Value部份就是整個Redis的經隨了。

2013年1月18日 星期五

Two Person , One Book

前言

自從電子書逐漸被大家接受,各家相關大廠也都紛紛加入分食這塊餅的行業,而且由於電子書製作與發行的成本遠小於(個人觀點)傳統實體書,所以小眾戶,甚至是個人,都可以輕易的發行自己的電子書,再加上行動裝置的普及,閱讀此類產品的市場也越來越大。偶然間,發現了一個有趣的議題,首先我們先來看看下面這個網站,所介紹的東西。

[Two Scoops of Django: Best Practices for Django 1.5]

這是一本由兩位作者共同撰寫的電子書,主要內容是介紹使用Python著名的Web Framwork -Django時,需要具備的兩個觀念。有興趣可以自行點選標題去購買(沒有要廣告的意思),不過有趣的是,他們使用了PDF為該書的發布格式,也許不常接觸電子書的人會覺得,PDF有什麼不對嗎?是的,PDF很好,是一種可攜式的文件,不過用來發布電子書這件事,在這個年代就稍嫌有些不足。

固定 vs 不固定

歸功於行動裝置或是平板裝置的暢行,電子書的銷售如日沖天,不過卻演伸了另一個問題,PDF文件雖然可以跨平台傳送,格式本身的優點,在此時竟變成了缺點。原本的PDF訴求--在不同的平台上都可以看到相同樣式與外觀,在現在百花齊放的行動裝置世界裡,卻有些個彆扭。由於各裝置可顯示的大小差異太大,使用固定樣式的文件,在觀看時並不舒適。

ePub
EPUB(電子版)是一種電子圖書標準,由國際數位出版論壇(IDPF)提出;其中包括3種文件格式標準(文件的附檔名為.epub),這個格式已取代了先前的Open eBook開放電子書標準

是的,此格式是一種可以自動根據瀏覽裝置大小而去自動適應的格式,非常適合在不同尺寸的裝置上使用。而且已然成為標準,可以開啟此類文件的軟體比比皆是,諸如:

ePub標準主要包含以下三個項目

  • 開放出版結構(Open Publication Structure,OPS)2.0,以定義內容的版面
  • 開放包裹格式(Open Packaging Format,OPF)2.0,定義以XML為基礎的.epub檔案結構
  • OEBPS容納格式(OEBPS Container Format,OCF)1.0,將所有相關文件收集至ZIP壓縮檔案之中。
其他

有關ePub的相關製作指南也可以參考:這裡

2013年1月5日 星期六

HTML5 is now stable and "feature complete"

前言

網際網路的發展持續的進步中,其中Web技術的標準HTML一直是大家緊迫關注的東西,延燒了數年,HTML5終於進入了穩定階段

The World Wide Web Consortium (W3C) has said that a stable specification of the HTML5 web markup language has been laid down for web application developers to now focus on.

W3C HTML5 Definition Complite

過去

HTML5一直以來被稱為開放式網際網路平台的基石(cornerstone),甚至是救星,因為他將具備一個跨平台的編成環境,不論是數位出版,多媒體應用,影像,動畫,都將依靠他

W3C

W3C CEO傑夫·賈菲說:隨著越來越進步的網路科技,我們的更需要一個標準。

企業將會知道未來的幾年內,他們可以依靠HTML5達到什麼地步以及客戶需要什麼。同樣的,開發人員根據標準才能知道該培養怎樣的技能,以期未來可以在智慧行動裝置,汽車,電視,電子書等等設備上面應用。

同時,W3C也宣佈了有關HTML5.1以及Canvas 2D,Level 2的未來藍圖