Month: April 2016

AirPort Express 延伸 AirPort Extreme 無線網路

我家裡原本就有一台 AirPort Extreme 不過因為角度和門擋住訊號的關係,主臥室的無線網路訊號不是很好,解決這個問題的唯一方法就是多買一台無線網路的橋接器。昨天購物網站 AirPort Express 有限時特價,比定價便宜 100 元,於是我就手滑了! 把新的 AirPort Express 擺在房間和原本放客廳的 AirPort Extreme 無線網路橋接。 方便我在房間用 PS VITA 遙控遊玩 PS4 (X) 方便老婆在房間用 iPad 看韓劇 (O) Apple 在介面上的設計真的很不賴,延伸無線網路非常簡單,只要插上電源線,然後差不多就完成了⋯ XD 當然⋯全程不用插任何實體網路線。 這功能別家 AP 自然也能辦到,但 Apple 用起來就是簡單無腦又爽快。 小缺點是最新一代的 AirPort Express 還是只有 802.11n

Posted in 玩具

MySQL 的 string type 和 storage size 關係

本文有錯請指正。 以下 storage size 指的是實際儲存的空間,不是用 select length() 拿出來的資訊。 In the following table, M represents the declared column length in characters for non-binary string types and bytes for binary string types. L represents the actual length in bytes of a given

Posted in DB

WTF 系列 – PHP 的 Array Concatenate

這篇文章放在草稿好久了,今天抽空把他寫完。 — PHP 的 Array Concatenate 有兩個方法一個是用 array_merge 另一個是用運算子 + (array union operator) array_merge 可以把兩個 array 合併起來,但是行為需要注意, array_merge($a, $b) 當 array 被當作 map 使用時,他的 key 是字串或是數字處理起來結果不同。 當 key 是字串:會把 $a 附加在 $b 的最尾端。如果 $a 和 $b 有相同的 key 的話,後者會覆蓋掉前者的值。

Posted in Programming

在 production 環境防止 .git 被讀到的方法

在 .git 目錄底下放 .htaccess 限制存取即可 (適用於 Apache )

但比較好的方式還是將程式碼打包,然後再佈署到機器上,不要直接把整個 git repository 放在機器上。

Posted in Computers

IMGUPUP – A simple PHP image uploader

介紹一個我寫的開放原始碼專案:IMGUPUP 原本我只是想寫個 script 支援圖片上傳而已,但不小心越寫越大,於是最終就變成一個相簿了。目前功能很弱,畢竟開發目的主要是滿足合我自己需求,所以如果你也有用,而且想要新功能,歡迎在 github 的 issue 提出,當然也歡迎送 PR 過來。 我從 Gallery 2 的時代就開始用它當成我的相簿,差不多六年前升級到 Gallery 3 ,為了和 Gallery 2 向下相容,我還寫了一個外掛 (連結一) 。當時管理的照片數量差不多是五千多張。不過 Gallery 3 有幾個很討厭的問題: 1. 相片和相簿的網址是根據階層關係決定的,舉例來說:相簿的網址會像是這樣: http://host/相本A/相本B/ ,而相片的網址也繼承了這個概念,於是就更長了。 2. 檔案實際存放的路徑也是根據階層關係決定的。相簿的階層直接對到實體路徑的階層。 3. 為了 SEO 的緣故,會拿相片/相簿的標題來當網址 以上三者的設計對於一般人來說或許很親切,但對我來說非常痛苦,因為我很喜歡把相簿搬來搬去,或是重新分類。而在這個過程中,所有網址都會改變,但這不是我所希望的,因為相片網址一改,我文章裡面的連結就得跟著改,然後就… 有鑑於 Gallery 3 有以上缺點,且

Posted in Programming