網頁重構工程師

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

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

職位要求:

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

虛擬主機商 Linode 增加 20% 儲存空間

Linode VPS

Linode 在美國時間 2012/12/14 宣佈全部方案增加 20% 儲存空間,Linode 是一個蠻穩定的虛擬主機商,除了有時候常常維護以外,目前找不到有任何值得探討的缺點,每年周年慶也推出贈送 100 美金的方案,也不定時增加記憶體,像是以前有 720方案,現在已經看不到了,每個月39美元就可以租到 1GB Ram 的方案,這次增加儲存空間,可以透過後台方式將硬碟容量調整。真的是太感謝 Linode 了。如果想玩 VPS 我首推的就是 Linode,或者是可以嘗試免費的 AWS Free Usage Tier EC2。Linode 容量調整如下:

Linode 512 goes from 20GB to 24GB Linode 1GB goes from 40GB to 48GB Linode 2GB goes from 80GB to 96GB Linode 4GB goes from 160GB to 192GB Linode 8GB goes from 320GB to 384GB Linode 12GB goes from 480GB to 576GB Linode 20GB goes from 800GB to 960GB

MySQL MyISAM Engine 轉換成 InnoDB

如果對於 InnoDB 不了解的讀者們,可以參考作者之前寫的

MySQL 預設儲存引擎: InnoDB 介紹,最近開始把原本 MySQL 5.1 預設 MyISAM Table 全部轉換成 InnoDB,MySQL 5.5 版本開始預設的儲存引擎就是 InnoDB,InnoDB 現在也非常完整,也支援 Full Text (5.6.4 開始支援)。作者在轉換過程其實蠻順利的,步驟也不是很複雜,只要按底下步驟,就可以順利轉換。

[Read More]

PHPFog 即將關閉,請儘速轉移到 AppFog

php-logo
在10月寫了一篇

PHP 免費雲端主機 PHPFog vs Pagoda vs AppFog 介紹,上個月很不幸接到 mail 通知,說在今年12月即將關閉 PHPFog,所以免費的服務會在12月21號全部斷線,所以官方寫了 如何轉移 PHPFog 到 AppFog,大家可以參考看看,話說自己把所有的服務都轉到 AWS EC2 上面了,因為在 PHPFog 遇到 Session 一直消失的 Issue,也沒辦法解決,如果有在用 PHPFog 服務,請儘快轉移。

Nginx 判斷檔案是否存在

如果你有在使用 CodeIgniter + Nginx + PHP-FPM 使用者,務必看到這篇 CLI problem nginx php-fpm,在使用 CLI 時候會有些問題,解決方式也非常簡單,只要在 index.php 裡面加上

$_SERVER['PATH_INFO'] = NULL;
當然這篇最主要不是講這個,而是最後我有提到一篇解法,在

Nginx 裡面如何設定 rewrite 功能,比較不同的是,現在不用在設定這麼複雜了,要判斷檔案是否存在,不要在使用下面方式

server {
  root /var/www/domain.com;
  location / {
    if (!-f $request_filename) {
      break;
    }
  }
}
而必須改成
location / {
    try_files $uri $uri/ /index.php;
}
請看

Check IF File Exists,看完之後可以拿掉很多設定,讓 Nginx 設定檔看起來更簡單容易。 參考: try_files

Backbone.js Model and Collection Tregger Event

backbone
之前寫過一篇

Backbone.js Event 的介紹,最近開發專案遇到一個奇怪問題,就是只要我重複呼叫 backbone.model.fetch(),如果資料相同的話,就不會重新 trigger render() 畫面,但是專案架構是以 Backbone.js MVC 下去開發,這樣畫面就會卡在 init 狀態,無法將畫面顯示出來。先來探討 Backbone.js Model 跟 Collection 預設的事件。

[Read More]

MySQL 預設儲存引擎: InnoDB 介紹

mysql_logo

MySQL 是一套眾所皆知的 Database System,今天來簡介 InnoDB 儲存引擎,在 MySQL 5.5.5 之前預設的儲存引擎是 MyISAM,但是為什麼在 5.5 之後官方要將預設儲存引擎換成 InnoDB 呢?大家都知道 InnoDB 用來交易管理非常方便,因為 InnoDB 透過 row lock,相對於 MyISAM 透過 table lock 來的有效率,也避免大量寫入的時候,造成無法讀取資料,這就是 row lock 的優勢,當然用 InnoDB 最主要的原因還有 Full-text search indexes 功能,但是別擔心 MySQL 5.6.4 之後(含此版本) InnoDB 開始支援 Full-text search 功能,另外在使用 MyISAM 時候,如果資料突然出問題,還必須使用 MySQL Binary Log 來恢復資料,如果用 InnoDB 這就沒關係了。大家還在用 MyISAM 嘛?開始升級伺服器,一起體驗 InnoDB 的功能,如果已經上線很久的網站,作者不建議轉換,因為可能會遇到很多雷。

[Read More]

2012 PHPConf RESTful API Design & Implementation with CodeIgniter PHP Framework

phpconf

去年 PHPConf 介紹了 CodeIgniter PHP Framework,這次講如何在 CodeIgniter 底下設計 RESTFul API,其實主要介紹兩個 CodeIgniter 套件,第一個是 RESTFul Server 前面是 RESTFul Client,一個伺服器端,後面用來測試 (Unit Test),底下是今年的 Slide,歡迎大家下載

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

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

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

[Read More]

PHP MVC Framework 搭配 Nginx + PHP-FPM 設定檔

Laravel PHP Framework
相信大家都知道

Nginx 搭配 PHP-FPM 用起來效能還不錯,這次來筆記如何設定 Nginx 去除 PHP MVC Framework 討厭的 index.php 字串,不管是 LaravelCodeIgniter 教學文件都是在 Apache 設定 .htaccess 來達成 Cleaner URL,Apache 最大好處支援 .htaccess,但是 Nginx 也有強大的效能,此篇紀錄如何設定 Nginx 達成 mod_rewrite 效果。

[Read More]