Ubuntu Gnome 的 Firefox 開影音網站後, 就無法再播放音樂 修復

Ubuntu 8.04 的 Gnome, 很奇怪的狀況是, 只要 Firefox 開啟影音網站(ex: YouTube), 之後再開其它的 Mplayer, Audacious 等都沒有聲音.

閱讀全文〈Ubuntu Gnome 的 Firefox 開影音網站後, 就無法再播放音樂 修復〉

查看 MySQL 語法 詳細執行時間 與 CPU/記憶體使用量: MySQL Query Profiler

MySQL 的 SQL 語法調整主要都是使用 EXPLAIN, 但是這個並沒辦法知道詳細的 Ram(Memory)/CPU 等使用量.

於 MySQL 5.0.37 以上開始支援 MySQL Query Profiler, 可以查詢到此 SQL 會執行多少時間, 並看出 CPU/Memory 使用量, 執行過程中 System lock, Table lock 花多少時間等等.

閱讀全文〈查看 MySQL 語法 詳細執行時間 與 CPU/記憶體使用量: MySQL Query Profiler〉

Debian Linux 完整移除套件 / 重新安裝套件 / 鎖定套件版本(apt)

很多人常會發生把某個套件搞爛了, 或者設定檔之類不小心砍掉了, 再來想到的當然是移除再重新安裝 或直接 (apt-get install --reinstall package), 但是怎麼裝, 設定檔就是回不來, 搞爛的資料也還是留著.

這並不是 Debian 的錯, 主要是怕你在移除時, 不小心就將重要資料跟著就砍掉了(ex: MySQL 不小心移除就把 DB 砍掉, 這就很尷尬了.)

閱讀全文〈Debian Linux 完整移除套件 / 重新安裝套件 / 鎖定套件版本(apt)〉

相聲 - 語言的藝術

Blog 中的描述這段話(取自:嚴歸):「廢話的定義: 聽起來好像很具體,實際上是很空洞的話,看起來好像講到問題的徵結了,實際上是在迴避所有的答案,所以這段話聽起來很流暢,但是他註定是要作廢的。」

這段話是我當兵時, 學弟放這段相聲給我聽, 一聽就無法自拔, 就繼續聽戰國廁, 笑到肚子痛, 從此就開始喜歡 聽/看 相聲~ 總算找到這段相聲的劇本.

閱讀全文〈相聲 - 語言的藝術〉

PHP 判斷 Header 送出前, 是否有值被送出去: headers_sent()

header() 最常被拿來送 header('Location: /'); 等等, 做網頁導向的動作.

除了這些動作外, 還有 setcookie(), header()... 等, 這些 function 在執行前, 頁面上都不能有任何輸出(空白也不行), 若有任何輸出, 就會有下述的錯誤訊息:

<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /var/www/test.php:5) in <b>/var/www/test.php</b> on line <b>6</b><br />

閱讀全文〈PHP 判斷 Header 送出前, 是否有值被送出去: headers_sent()〉

Linux Bash 命令: Join (指定某個欄位為主, 來合併多個檔案)

常會遇到有幾個文字檔, 裡面有幾個欄位是跟另外檔案是一致的, 要把他合併成一個檔案, 這時後最快的就是用 join.

  • Man 說明: join - join lines of two files on a common field

這次遇到的狀況是:

  1. find . -size 0 > a # 找出 size 是 0 的 "圖檔檔名"
  2. b # 從 DB 撈出所有的 "相對應的帳號 => 圖檔檔名"
  3. 要將 size = 0 的圖檔都抓出來, 再將 a 和 b 做 join, 會把 a 和 b 依照 "圖檔檔名" 做結合, 就可知道哪些帳號的圖檔 Size = 0, 再來做其它處理囉~
  4. 註: 要注意要結合的那個欄位, 要先做過 sort, 不然可能會有某些欄位無法 match.
  5. 最後再 find . -size 0 -delete 全部砍掉~ 😛

閱讀全文〈Linux Bash 命令: Join (指定某個欄位為主, 來合併多個檔案)〉