PHP5 的 物件A 裡面再 new 物件B, 然後 unset(物件A), 會發現 Memory 還是存在(Memory Leak) 的狀況, 然後如果程式繼續不斷的遞迴跑下去, 很快記憶體就會使用完, 然後就會出現 PHP Fatal error: Allowed memory size of .. 等的錯誤訊息.
作者: Tsung
好文: 探索產生物件的技巧 和 產品命名
從物件開始構想, 撰寫, Design Pattern 模式設計, 記憶體管理控制, 到 Cache 等, 簡單又詳細的介紹.(順便紀錄產品命名學
的好文)
MySQL Timestamp 型態 的 屬性(新增/修改 自動更新 Timestamp型態 的 欄位)
MySQL 的 timestamp 型態 的屬性比較特別, 預設 timestamp 的屬性是, 只要有值 新增/修改(同一個row), MySQL 會自動幫你將 "timestamp 型態的欄位" 寫入現在時間.
有兩種屬性可供調整使用:
- 自動初始化: 此欄位 寫入 資料時, 自動將 timestamp 的欄位寫入現在時間(建立時, 自動寫入時間).(DEFAULT CURRENT_TIMESTAMP)
- 自動更新: 此欄位 修改 資料時, 自動將 timestamp 的欄位寫入現在時間(更新時, 自動寫入時間). (ON UPDATE CURRENT_TIMESTAMP)
JavaScript Fix CSS, 讓 IE 5/6 的 CSS 顯示/動作 跟 IE 7 一樣
同樣的 CSS 在 IE5/6/7 顯示的效果都有可能會有所不同, 所以就有人寫 JavaScript 來解決 IE7 上可以跑, IE5/6 不能跑(或不能顯示)的問題. (ex: png 透明圖 就是最常遇到的問題).
Mplayer 看 DVD, mkv 字幕切換選擇
用 Mplayer 看 mkv 檔, 或看 DVD 發現字幕沒出來, 主要是因為沒有指定造成的, 只要指定一下即可.
PHP: 於 Apache1.3 和 Apache2.0 抓到的 $_SERVER['SCRIPT_NAME'] 值不同
所以說最近踩的地雷特別多, 要判斷目前是否在此頁面, 通常可以用 $_SERVER['SCRIPT_NAME'] 來抓值, 但是在 Apache 1.3 和 Apache 2.0 抓到的值是不一樣的.
閱讀全文〈PHP: 於 Apache1.3 和 Apache2.0 抓到的 $_SERVER['SCRIPT_NAME'] 值不同〉
JavaScript: substr() 負數的算法 IE, Firefox 不同
最近踩的地雷真多, IE 對 margin-top 的負數, IE6/7 都不同, 然後臨時又發現 JavaSciprt 的檢查在 IE 有問題, 大概情況是如下:
做圖片上傳, javascript 的檢查最簡單的就是檢查檔名後四個字元, 再轉小寫, 去看看是不是 .jpg, jpeg, .bmp, .png ... 等. 於是就用 substr 來取最後四個字元囉~
PHP: 數值爆表, 出現科學記號的解法(科學記號 轉換成 數值)
在 MySQL 設定欄位型態是 float, 然後存入 1000000, 再撈出此資料, 會秀出 1e+06 的科學記號(MySQL 內部也是存這個值).
Ubuntu Feisty Fawn 7.04 升級到 Gutsy Gibbon 7.10
前幾天把舊的 notebook 拿來升級, 從 6.10 升級到 7.04, 升級到 7.04 後, 又發現 7.10 出來了, 當下馬上繼續升上去~
升級方法很簡單: gksudo "update-manager -d -c" 再點升級就可以了.(這次真的是無痛升級, 輕輕鬆鬆就升級完成, 但是升級完後倒是蠻痛的. XD)
但是太衝動果然沒有好下場, 建議還是等到 10/18 官方確定後再升級好了.
Web 2.0 公司應該注意的九大法律問題
從 Taiwan CNET 看到這篇新聞: Web 2.0公司應該注意的九大法律問題, 記錄下來, 網站上線前也該排入 check list 中.