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 是 UbuntuCentOS 系列是需要自行編譯,這次會筆記在 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/**. [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 將會舉辦 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. [Read More]

Bower 管理網站套件的好工具

Update: bower 在 0.9.0 版以前可以使用 component.json,但是為了避免跟其他工具命名衝突,故 0.9.0 以後版本請改為 bower.json bowerTwitter 團隊開發的一套網頁工具,用來管理或安裝 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 平台,是否可以跟 AppleAndroid 平起平坐,如果想多瞭解 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,是一件非常重要的事情,這樣可以嘗試不同雲端服務,,像是 PHPFogPagoda BoxAppFog …等。這次介紹的雲端主機服務不同於 Linode VPS,Linode 是可以拿到完整的虛擬主機權限,可以進行主機的效能優化,以及安裝合適的套件。

[Read More]