為什麼台灣的工程師 / 設計師常常加班?

加班、加班,在台灣的工程師或設計師的生活裡,它已經是個習以為常的事情了。但是為什麼要加班呢?

在本人不算長的職業生涯中,我找出了幾個常加班的原因…如有雷同,純屬故意…

閱讀全文

PHPUnit 實務入門簡介

註:本文所提及的觀念與技巧已經不適用在目前的 PHPUnit ,這裡只是為了記錄自己學習過的心得。

這幾天在寫折價券攤提到商品的數學演算法邏輯,搞得我七葷八素的…還好先前在製作購物車時,已經把單元測試放到架構裡,因此後面就只要專心應付演算法邏輯就好了。

雖然這樣的規劃聽起來不錯,但單元測試這件事說到底我的實務經驗還是太少,在這次的專案項目裡,才讓我真正有了較為深入的體會。

閱讀全文

[Web] 常見設計模式介紹

設計模式 (Design Patterns) 一直以來都是優秀的程式開發者所必須瞭解的觀念之一,但不論書裡或是網路上所找到的設計模式教學,很少為大家仔細介紹如何把設計模式套用在 Web 開發上。

因此,我最近試著把 Web 開發常用到的設計模式整理出來分享給大家,沒想到真的是挺累人的一件事。

不管如何,這個投影片介紹就算是個試金石吧,希望大家能夠從中獲得一些東西,並且也能給我一點意見。

閱讀全文

[五分鐘教室] 重構多參數函式

我們在撰寫 PHP 函式 (或類別的方法) 時,多少都會帶入一些參數,例如:

function myfunc($arg1, $arg2, ...) {}

一般常見的函式,它們的參數數量大多只會兩三個,但如果有參數的數量很多時該怎麼辦?

閱讀全文

[五分鐘教室] MySQL 4.1+ 編碼快速入門

很久以前,我寫過一篇「MySQL 中文編碼徹底研究」,簡單介紹了如何將 MySQL 4.0 轉換到 MySQL 4.1 時要注意的部份。

註:大家可以把這篇「MySQL 中文編碼徹底研究」當做是本人在拙作「PHP Smarty 樣版引擎」中的觀念修正文。

不過我想還是會有很多朋友會覺得該文寫的東西還是有點雜亂,尤其在 BIG5 和 UTF-8 之間的切換,可能讓很多人看完還是一頭霧水。

所以,就目前時下網路服務都是用 UTF-8 做為溝通間的編碼這點來看,這裡我建議大家乾脆就一律用 4.1 以上的版本吧!省得在切換這些編碼時搞得自己身心俱疲。

接下來我會快速為大家介紹 MySQL 4.1 以上的版本,在使用編碼上的一些觀念。

閱讀全文

[五分鐘教室] PHP 檔案引入路徑問題

相信大家都知道, PHP 提供了幾個敘述句來協助我們引入外部檔案:

那麼它們是怎麼決定引入檔案的路徑呢?

閱讀全文

談框架

在 Web 開發界打滾了幾年,其實對 Web Framework 的熟悉度不算太淺,但也不能算太深。

基於我個人對目前業界使用 Web Framework 的觀察,大略區分了以下數種類型。

註:基本上這是一篇嘴炮文,部份論點是個人想法,若有謬誤還望指正。

閱讀全文

[PHP] 瞭解 static 關鍵字

先前同事詢問有關 PHP static 關鍵字的用法,這裡我簡單整理一下。

static 主要用途在於定義一個變數空間,讓函式或類別可以保留住該變數的值,直到下次的存取。

以下就各別來探討 static 在函式與類別中的用法。

閱讀全文

[好書] 值得一讀的物件導向開發相關書籍

再次介紹一些我個人認為很優質,可以幫助大家學習很多物件導向開發觀念的書籍。

閱讀全文

[Web] Cookie 小觀念

問題

剛剛被問了一個 Cookie 的觀念,這邊簡單分享給大家。

先來看以下這個程式,請問它第一次執行時結果是什麼?

setcookie('test', 'abc');
var_dump($_COOKIE);

如果你回答的是空陣列的話,那就表示你瞭解 Cookie 的作用了。

閱讀全文