台灣第 2 屆 JavaScript 研討會在 5/18, 5/19 登場,今年報到率到 95% 了,我也給了一場 Talk,關於前端工具介紹,包含 CoffeeScript, Compass, Livereload, Bower Package Manager .. 等,最後介紹主軸 Grunt.js 來整合這些工具。
[Read More]IE 6 瀏覽器用戶全球分佈
The Internet Explorer 6 Countdown,大家注意上面圖示,沒想到台灣高居第二名,佔了 3.5% 僅次於大陸的 24%,大陸不感到意外,但是台灣的比例還真是高,難怪一堆程式開發者,抱怨連連 XD,這是統計到 2013 年 04 月,在這邊紀錄一下,等到明年這個時候再來看看此統計圖。
Backbone Routing pushState in IE
Html5 History pushState 功能,除了 IE 9 以下(含 IE 9)不支援 history.pushState() 跟 history.replaceState(),其他 Browser 幾乎都支援了,在 Backbone.js 如何處理 URL 變化呢?以往透過 handle URL hash 來決定網頁要處理哪些資料,這也是 Backbone 預設的處理方式,範例如下 URL:
[Read More]http://xxx/#!/user/list http://xxx/#!/user/add
測試 Web Responsive Design Tool
Web CSS Programer 在撰寫 Responsive CSS Style 時,手邊一定會有一堆 Device,來測試當畫面小於 480 px 或大於 768 px 時,呈現的版面是否有亂掉,公司也花費許多成本來測試,現在不需要這樣了,我們可以透過線上 Tool 或者是 Plugin 來測試 Responsive Web Page,首先來介紹
Viewport resizer,此工具用法很簡單,進入官網後,將官網 Javascript 連結加入到我的最愛或 bookmarks,之後打開您的測試網站,再點選該 bookmark,你會發現網站上面多了一條 tool bar,可以自訂或調整 view size,預設也給了平板手機等多種畫面調整,讓您測試 Media Queries 是否有錯誤。
[Read More]Install Nginx + spdy module on Ubuntu or Debian
nginx 1.4.0 釋出並支援 SPDY,教學環境是 CentOS,這次在 Ubuntu 環境編譯遇到
/usr/bin/ld: cannot find -lperl 找不到 perl library,解法可以透過 aptitude 安裝 libperl5.14,安裝好後,到 /usr/lib 底下找到 libperl.so.5.14.2,由於檔案命名關係,請用 ln 將檔案 link 成 libperl.so
$ ln -s libperl.so.5.14.2 libperl.so接著可以正確編譯了,底下安裝相關套件
$ aptitude -y install libpcre3-dev libgd-dev libgd2-xpm-dev libgeoip-dev
nginx 1.4.0 釋出並支援 SPDY
Update: 由於 OpenSSL CVE-2014-0160 Heartbleed Security,請將 openssl 升級到 1.0.1g 版本
很高興看到 Nginx Release 1.4.0 版本,此新版本開始支援 SPDY module,對於 SPDY 還不熟悉了解的,可以參考今年 2013 WebConf 講師 ihower 介紹的 A brief introduction to SPDY - 邁向 HTTP/2.0,要提升整個 Web Performance,可以將 SPDY 導入,對於使用 Apache 使用者,請參考 mod_spdy,如果是 Nginx 用戶,在 1.3.x 版本,可以直接用官方 patch,升級到 1.4.x 就不需要 patch 了,但 OS 是 Ubuntu 或 CentOS 系列是需要自行編譯,這次會筆記在 CentOS 下將 spdy 編譯進系統。
安裝方式
先看 Ngix 是否有支援 spdy,直接下 nginx -V 觀看
[Read More]nginx version: nginx/1.1.19 TLS SNI support enabled configure arguments: –prefix=/etc/nginx –conf-path=/etc/nginx/nginx.conf –erth=/var/lib/nginx/body –http-fastcgi-temp-path=/var/lib/nginx/fastcgi –http-lb/nginx/proxy –http-scgi-temp-path=/var/lib/nginx/scgi –http-uwsgi-temp-path==/var/run/nginx.pid –with-debug –with-http_addition_module –with-http_dav_moith-http_image_filter_module –with-http_realip_module –with-http_stub_status__xslt_module –with-ipv6 –with-sha1=/usr/include/openssl –with-md5=/usr/includ/buildd/nginx-1.1.19/debian/modules/nginx-auth-pam –add-module=/build/buildd/d/nginx-1.1.19/debian/modules/nginx-upstream-fair –add-module=/build/buildd/ng
Fabric 管理多台 Linux 機器的 command tool
capistrano、Fabric、pssh、dsh…等都,本篇會以 Python 所推的 Fabric 來做介紹。另外 Ruby 所寫的 capistrano tool 也是不錯的選擇,這兩套其實大同小異,可以將 Deploy 的邏輯寫成單一 file 再透過 task 定義來決定執行的工作。當然你也可以透過此 tool 來管理 local 端動作,但是這有點多此一舉,因為基本的 Shell 就可以完成了,如果熟悉 Python 則選 fabric,如果喜歡寫 Ruby 則可以試試看 capistrano。
安裝方式(Installation) 如果是
CentOS 系列可以透過 yum 套件管理,Ubuntu 或 Debian 則是透過 aptitude 方式安裝。 Yum
# install python pip tool and fabric command yum -y install python-pip pip-python install fabricAPT
# install python easy_install aptitude -y install python-pip # install fabric command pip install fabric安裝 capistrano 可以透過 Ruby gem。
$ gem install capistrano[Read More]
Linode 最後優惠 升級記憶體
Linode 最後的優惠出來了,之前寫了一篇 Linode VPS 升級網路及硬體設備,回顧 Linode 今年的優惠大清倉,第一次專注在網路效能及流量頻寬升級,第二次則著重在硬體升級,也就是升級 CPU,那這次要升級什麼呢,難不成 Linode 有聽到上一篇最後我講到的心聲,就是記憶體升級啦,Linode 大手筆將全部 Plan 的記憶體都 double,底下這張圖就是升級過後的價目表。
[Read More][小技巧] JavaScript Cross Browser Best Practices
modern.IE 的使用方式及介紹,今天在 Facebook 上看到 Eric Shangkuan 說已經有了中文介面,如果你的瀏覽器是中文版,應該就可以直接看到中文介面了,裡面有篇文章非常重要,寫 Web 的工程師都必須注意,那就是 Cross Browser Best Practices,這篇文章教您如何撰寫相容於舊版 IE 瀏覽器的一些小技巧,這些技巧也不只用在 IE 上,更是教您在實做 CSS,JavaScript 的注意事項。我們來看看 Javascript 的小技巧。
[Read More]