nginx 1.4.0 釋出並支援 SPDY

Update: 由於 OpenSSL CVE-2014-0160 Heartbleed Security,請將 openssl 升級到 1.0.1g 版本

nginx-logo

很高興看到 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 觀看

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

[Read More]

Linode 最後優惠 升級記憶體

Linode VPS

Linode 最後的優惠出來了,之前寫了一篇 Linode VPS 升級網路及硬體設備,回顧 Linode 今年的優惠大清倉,第一次專注在網路效能及流量頻寬升級,第二次則著重在硬體升級,也就是升級 CPU,那這次要升級什麼呢,難不成 Linode 有聽到上一篇最後我講到的心聲,就是記憶體升級啦,Linode 大手筆將全部 Plan 的記憶體都 double,底下這張圖就是升級過後的價目表。 Linode - Xen VPS Hosting 2013-04-13 11-04-36

[Read More]

統一開發者編輯器 Coding Style

在多人開發專案時候,一定會遇到大家使用的編輯器大不相同 TextMate, Vim, Sublime Text 2, Geany, Notepad++…等,該如何統一程式碼的一致性呢?這邊要講得不是各種語言的 Coding Style,而是編輯器的設定,例如大家一定會遇到有的開發者使用 Tab 另外一群人使用 Space,在同一專案裡面就會發現有的 tab 有的 space,這樣看起來非常的亂,該如何統一大家的預設 indent style,就是要使用 EditorConfig 啦。使用方式很簡單,可以在專案目錄內加入 .editorconfig 內容設定如下

; EditorConfig is awesome: http://EditorConfig.org

root = true ; top-most EditorConfig file

; Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true

; 4 space indentation
[*.py]
indent_style = space
indent_size = 4

; Tab indentation (no size specified)
[*.js]
indent_style = tab

; Indentation override for all JS under lib directory
[lib/**.js]
indent_style = space
indent_size = 2
設定方式真的很簡單,如果是 Makefile 可以加入底下
[Makefile]
indent_style = tab
設定完成,最後只要裝上編輯器的 Plugin 即可,可以

參考這裡,目前支援編輯器如下

[Read More]

Linode VPS 升級網路及硬體設備

Linode VPS

Linode 是我最喜歡的國外 VPS 廠商,重點是速度跟穩定度都還不錯,不過今年不知道是不是被 DigitalOcean 刺激到?所以這個月將網路設備全面升級,不僅降低 latency 和 redundancy,出口端網路設備全部換成 Cisco Nexus 7000 series 等級,此系列提供了足夠的 Mac Address 及處理大量 Request,另外 access layer switches 則換成 Cisco Nexus 5000 series switches 跟 Nexus 2000 series Fabric Extenders,這些都不是重點,重點是每台 VPS 現在**對外流量都變成原先的十倍**,當然對內流量是無限制的,底下是 Linode 最新網路架構圖

[Read More]

HTML5 Boilerplate 不再支援 legacy browser

HTML5 Boilerplate 在 V5.0 版本將不支援舊有瀏覽器,包含 IE6/7. Firefox 3.6 (Mozilla 已經不再維護) 及 Safari 4,詳細資料可以參考 V5.0 的 Milestone (Drop legacy browser support) 下一版本會有哪些改變呢?

  • html tag 將不會出現 conditional comments
  • normalize.css 升級到 2.1.x
  • main.css 移除 IE6/7 Hacks 部份 此次重大改變包含移除 IE conditional classes,因為

IE 10+ 將不再支援 conditional comments,至於 normalize.css 轉換到 2.1.x 版本,如果有用 Sass 的朋友們,可以參考我改的 normalize.scss,非常期待 Version 5 出來,會拿掉很多 legacy code。

Firefox OS Developer Preview Phone 簡介

firefox-phone
上次提到今年

Firefox 將會舉辦 2013 Firefox OS App Days,這次看到 mozilla hacks 提到一篇: Announcing the Firefox OS Developer Preview Phone!,Firefox OS 是新一代的作業系統,跟 Android 或 IOS 比較不同的地方就是,你可以用 HTML5 可以做到手機的任何事情,包括讓手機振動,傳簡訊,或者是撥打電話,我想這是 iOS 或者是 Android 是無法做到的,該篇還提到 Firefox Phone 硬體規格:

CPU Qualcomm Snapdragon S1 1Ghz UMTS 2100/1900/900 (3G HSPA) GSM 850/900/1800/1900 (2G EDGE) Screen 3.5″ HVGA Multitouch 3 MP Camera 4GB ROM, 512 MB RAM MicroSD, Wifi N, Light and proxmity Sensor, G-Sensor, GPS, MicroUSB 1580 mAh battery Over the air updates Unlocked, add your own SIM card 如果想開始設計 App for Firefox OS 可以參考這篇,另外文章有提到如果你要試試看 Firefox OS + 自己開發的 App,可以透過底下方式: 1. 安裝 Marketplace for Android 在您的 Android 手機上。 2. 安裝瀏覽器版本 Firefox OS 模擬器 3. 安裝 Firefox OS 到各家硬體上。 4. 最後一種方法:那就是買支 Firefox OS Developer Preview device。 如果想更了解 Firefox OS 的話或有興趣的可以自行報名參加台北 Mozilla 1/26 場次。

[Read More]

Bower 管理網站套件的好工具

Update: bower 在 0.9.0 版以前可以使用 component.json,但是為了避免跟其他工具命名衝突,故 0.9.0 以後版本請改為 bower.json bower 是 Twitter 團隊開發的一套網頁工具,用來管理或安裝 Web 開發所需要的 Package,像是 CSS 和 JavaScript,也可以依據套件的相依性來安裝,簡單來說,開發者不用再去煩惱套件相依性問題,以及時間久了想更新最新版本,還要到各 Package 網站來下載,這些步驟都省了,一個指令就可以全部做完上述的步驟。

安裝 Bower 管理套件 透過

Node.js 的 npm 工具來安裝

$ npm install bower -g
[Read More]

2013 Firefox OS App Days

firefox-phone
今天看到一則消息,就是

Firefox OS 在明年一月會舉辦全球性的 Firefox OS App Days,台灣部份也會在 2013/01/26 進行,地點也就在台灣 Mozilla 台北辦公室,這次的活動主要的目的是讓其他程式開發者可以瞭解如何開發 HTML5 apps 以及將 apps 提交到 Firefox Marketplace,並且可能會有一些機會讓開發者可以發表自行開發的 apps,另外還有一個重點就是會詳細介紹 Firefox OS 的生態消息,個人非常期待 Firefox OS 正式 Release,以及 App Marketplace 平台,是否可以跟 Apple 或 Android 平起平坐,如果想多瞭解 Firefox OS 可以參考 Wiki 平台,一月的活動也算是 Hack Day,參考 FirefoxAppDays 裡面的活動介紹。

網頁重構工程師

qq_logo
看到這標題不要懷疑,昨日看到這篇

騰訊招聘——網頁重構工程師,我第一次看到有公司在徵求網頁重構工程師,不愧是大陸知名上市公司,重構是一件非常繁瑣的事情,如果在多人團隊合作底下,沒有制定一套開發流程以及 Coding Style 的話,隨著網站變大,程式碼一定會非常複雜,你也會發現裡面有很多人的足跡,制定良好的 Coding Style 可以讓新人快速學習,也讓後續開發功能可以 follow 一套標準。另外重構還有另一個重大原因,可能網站效能蠻差的,才需要重構,我們看看重構工程師需要的技術:

職位要求:

  1. 大專以上學歷,從事網頁重構工作2年以上;2.對符合web標準的網站重構有豐富經驗,有成功案例;
  2. 精通html、css,能快構建出兼容主流瀏覽器的頁面;
  3. 熟悉javascript語言,對性能優化有一定瞭解;
  4. 瞭解至少一種後台語言的開發機制(如php,Java等),能配合開發人員進行頁面聯調整合;
  5. 良好的項目管理和溝通表達能力;
  6. 熱愛遊戲行業,能接受挑戰並承受工作壓力。 看起來這些要求還蠻基本的,不過重點是大陸公司願意花這樣的時間跟人力來把網頁整個優化,反觀台灣老闆的角度:『能動就好,專案時程都趕不出來了,還重構呢?』。

PHP 免費雲端主機 PHPFog vs Pagoda vs AppFog

php-logo
今天筆者來介紹幾套目前免費的雲端虛擬主機服務,自從

Git 版本控制的出現後,大家可以發現,以往免費的虛擬主機搭配後台 Panel,這種模式已經不再看到,取代而之的就是用 Git 來管理程式碼,而不是用 FTP 上下傳方式了。筆者認為學會 Git,是一件非常重要的事情,這樣可以嘗試不同雲端服務,,像是 PHPFog,Pagoda Box,AppFog …等。這次介紹的雲端主機服務不同於 Linode VPS,Linode 是可以拿到完整的虛擬主機權限,可以進行主機的效能優化,以及安裝合適的套件。

[Read More]