2008/05/31

MySQL 設定檔

節錄 from 小惡魔
http://blog.wu-boy.com/2008/05/09/245/

my-huge.cnf:記憶體 1G-2G。
my-large.cnf:記憶體 512M。
my-medium.cnf:記憶體 32-64M。
my-small.cnf:記憶體 <= 64M。
my-innodb-heavy-4G.cnf:使用 INNODB,且記憶體 4G。

2008/05/30

FreeBSD : Cannot allocate red zone for initial thread

前幾天主機大爆炸,apachectl stop 時狂噴錯誤訊息:
Fatal error 'Cannot allocate red zone for initial thread' at line 384 in file usr/src/lib/libthr/thread/thr_init.c (errno = 12)


餅乾要我 ldd /usr/local/sbin/httpd,看看會用到哪些 lib:
/usr/local/sbin/httpd:
libm.so.4 => /lib/libm.so.4 (0x280ca000)
libaprutil-1.so.2 => /usr/local/lib/libaprutil-1.so.2 (0x280e0000)
libdb-4.2.so.2 => /usr/local/lib/libdb-4.2.so.2 (0x280f4000)
libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x281b2000)
libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x281d2000)
libapr-1.so.2 => /usr/local/lib/libapr-1.so.2 (0x282c6000)
libcrypt.so.3 => /lib/libcrypt.so.3 (0x282e6000)
libpthread.so.2 => /lib/libpthread.so.2 (0x282fe000)
libc.so.6 => /lib/libc.so.6 (0x28323000)
libc.so.7 => /lib/libc.so.7 (0x2840a000)


錯誤原因是因為 kernel 更新以後,卻沒有更新函式庫,所以用到的全部是舊的函式庫,剛好 FreeBSD 6.x to 7.0 東西又改很大,所以倒台很正常。若有大的更新,步驟就不要偷跑,最好按照 Makefile 上的說明一步一步慢慢做:
  1. make buildworld
  2. make buildkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC)
  3. make installkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC)
  4. reboot (in single user mode: boot -s from the loader prompt)
  5. mergemaster -p
  6. make installworld
  7. make delete-old
  8. mergemaster
  9. reboot
  10. make delete-old-libs
最後一個步驟就是把舊的函式庫清除。

清除舊的函式庫以後,其他的套件執行時還是會去使用舊的函式庫,這時就會發生我遇到的錯誤。必須 pkg_delete -af 並重新編譯所有的套件,套件才會連到正確的函式庫。

更新後在 ldd 一次:
/usr/local/sbin/httpd:
libm.so.5 => /lib/libm.so.5 (0x280d2000)
libaprutil-1.so.2 => /usr/local/lib/libaprutil-1.so.2 (0x280e7000)
libdb-4.2.so.2 => /usr/local/lib/libdb-4.2.so.2 (0x280fc000)
libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x281d0000)
libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x281f0000)
libapr-1.so.2 => /usr/local/lib/libapr-1.so.2 (0x282e5000)
libcrypt.so.4 => /lib/libcrypt.so.4 (0x28308000)
libthr.so.3 => /lib/libthr.so.3 (0x28321000)
libc.so.7 => /lib/libc.so.7 (0x28334000)

2008/05/28

漲價囉~

看到 GB LIFE STYLE馬上就漲價」的照片以後,我不爭氣的笑了。

沒錯,真是個現實的社會啊。一聽說要漲價,寧可排隊一公里也要把油箱加滿。聽說還有一個加油站提前二天把油槽裝滿,然後「公休一日」到漲價後在營業。不知道最近還會出現什麼省錢的新花招 XD

2008/05/27

禍不單行

最近災難一樣樣從天而降:
  • 嘴巴破洞
  • 專案從「檔案管理」變成「Google Desktop」
  • 家父腳受傷開刀
  • 有十幾台電腦的工作區冷氣壞掉
  • 主機 lib 炸掉要 pkg_delete -af
目前唯一的好事大概就是我還活著 = =

ps. 禍不單行 = multi-disaster

2008/05/25

換個角度看自己 XD

看到 yen3 大哥決定暫時停止多工模式,一次只做一樣事情,我想順便分析一下我自己是哪一種工作模式.... XD

我的頭腦在 logic operation 做的比較好,但是 parser 很差,所以雖然邏輯沒有問題但國文的成績爛的一塌糊塗。另外,CPI 很高、永久儲存容量也有幾 PB 到幾 EB (我不會記仇請大家放心),不過 buffer 和 memory 都很小,導致常常想出什麼作法或是看到什麼東西一下子就忘的一乾二淨。

我的 CPU 只有單核心可以支援多執行緒,但是因為 context switch 有問題導致事情沒有做完就跑去做其他事情會造成每樣事情都做不好,很可惜學校一學期最少不能低於九學分,所以我的成績一向都很差。雖然我很想更新配備,但是這些都是硬體迴路已經全部寫死了,實在是哭笑不得啊~

我想這是我寫過最白目的文章了吧..... "Orz

2008/05/24

白開水 vs. 飲料

今天心情差,跑去買了罐開喜烏龍茶來喝,回到 OIT 做事做到一半,很順手的又拿起旁邊的白開水來喝,完全忘了有買飲料......

飲料除了好喝,還有其他好處嗎?我一向都喝白開水,但我的一些同學常常都是手上一杯飲料,有些甚至一天沒喝飲料就覺得全身不對勁,還懷疑我這個不喝飲料的人是怪胎!

飲料對我來說算式奢侈品,平常最多也只喝蜜茶(蜂蜜)、薑茶,或是自己泡個杏仁茶、黑芝麻糊和麥片,咖啡也是熬夜才敢碰,像什麼奶茶、可樂、啤酒和一些有的沒的我都幾乎沒在碰了,尤其逢甲夜市飲料店大部分都用奶精,除了會讓我胃痛還聽說對身體不健康。

目前只知道茶類(紅茶、綠茶、 青茶等)有一些療效,綠茶最好不要空腹喝;運動飲料會補充身體中的電解值、鹽分、水分等等,不過因為含糖量高很容易胖;果汁很棒,但是大部分飲料店都會在果汁裡加糖,而且其實直接吃水果反而更便宜一些。

不喝飲料喝白開水也要注意,台灣水質不好所以自來水並不能直接喝,最好是有裝過濾器的飲水機或是喝蒸餾水。不過在看到一個維修人員打開飲水機的蓋子,連看都沒看濾芯一眼就直接再檢查表上簽名,現在我連學校飲水機都不怎麼信任了.......

2008/05/22

憂鬱症量表

台灣人憂鬱症量表
http://www.jtf.org.tw/overblue/taiwan1/

29分以上的人要注意了喔......

精神年齡

心情差,跑去玩心理測驗:
鑑定結果
您的精神年齡45歲
與您實際年齡差23歲

幼稚度32%
成熟度50%
老化度69%

by http://hyc.myweb.hinet.net/year/year.htm


做完以後心情更差..... "Orz

2008/05/21

宅度計




哈,宅度計超好玩的。原本當作惡搞在玩,不過發現他的 Data Mining 做的很讚,從他的「配對榜」可以找到和自己部落格內容相近的網站,而且正確率還蠻高的!

2008/05/18

用 get_cfg_var 取出 php.ini 的參數值

用 PHP 的 get_cfg_var 函式取出 php.ini 設定檔的參數值:
get_cfg_var("upload_max_filesize");

get_cfg_var("post_max_size");

其中 upload_max_filesize 和 post_max_size 都是 php.ini 裡面的變數,有這二個參數在檔案上傳的時候會蠻有用的。

2008/05/13

麥當勞不要太常吃

晚上十點多找不到便當可吃,只好吃麥當勞當晚餐,赫然發現麥當勞很貼心的把營養成分表寫在各個食品包裝上面。


大麥克的營養成分表



薯條的營養成分表


大麥克上面另外寫著「實際供應產品的營養資訊會因檢驗方法、阿座、配方調整、食材天然因素等變化而有所差異。」的確,我一直猜不透薯條的熱量為什麼這麼低,明明用手都可以把油擠出來但是一包的熱量卻只有三百大卡。

我和同學一致認為麥當勞裡面最營養的是「麥香魚」,畢竟魚肉是肉中之王,不過麥香魚實在是貴到翻掉,70 元卻吃不飽,實在可惜。

下面的影片是,國外一位閒人把麥當勞的各類食品買了回來,做營養成分的測試。把漢堡、雞塊、薯條放到瓶子密封以後,放了一個禮拜看看會發生什麼事。如果你正在吃飯或是剛吃完飯,我建議你還是跳過別看了,還蠻噁心的。



霉菌生長時需氧量很小,甚至不需要氧氣,所以霉菌越多的表示營養價值越高。薯條完全沒有發霉表示這東西連霉菌都吞不下去,可見薯條好吃但是並沒有什麼營養,可能是鹽分太高,霉菌沒辦法生長。

麥當勞的東西真的很好吃,連我都很想天天吃,不過為了健康著想,肉類應該少吃一些,油炸的食品更不應該吃,偶爾吃一次麥當勞享受一下當然不錯,但是千萬別三餐全吃啊!

體會

深刻的體會到:
肝若歹,人生是黑白的

肝若好,考卷是空白的

2008/05/10

Apache Virtual Host

Virtual Host 的功能是能讓你將不同的 domain name 對到同一台機器上,但是能依照不同的 domain 來顯示不同的資訊。例如你擁有這三個網址:
http://www.zeroplex.orz/
http://mail.zeroplex.orz/
http://game.zeroplex.orz/
但是你可以讓這些網址全部連到同一台機器,但是根據網址不同,讓一個看到的是首頁、一個是電子郵件服務、另一個是遊戲下載。

Apache 有提供這項功能 (之後簡稱 vhost),只要把設定檔後面一段語法的注解取消掉就可以了。
/usr/local/etc/apache22/httpd.conf :

# Virtual hosts
Include etc/apache22/extra/httpd-vhosts.conf

設定檔大概會長的像這個樣子:
<VirtualHost *:80>
ServerAdmin your.mail@mail.com
DocumentRoot /www/game/
ServerName game.zeroplex.orz
ErrorLog /var/log/http-error_log
CustomLog /var/log/http-access_log common
</VirtualHost>
  • ServerAdmin:管理員的電子郵件信箱
  • DocumentRoot:你這個網址要以哪個目錄做為根目錄
  • ServerName:你使用的 domain name
  • ServerAlias:domain name 的 Alias
  • ErrorLog、CustomLog:記錄檔可以使用原本的也可以另外存放


vhost 設定好了以後不要忘記設定資料夾的權限:
<VirtualHost *:80>
ServerAdmin your.mail@mail.com
DocumentRoot /www/game/
ServerName game.zeroplex.orz
ErrorLog /var/log/http-error_log
CustomLog /var/log/http-access_log common

<Directory "/www/game/">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

</VirtualHost>


存檔以後 appachectl restart 即可。

當你有多個 vhost 時,使用這個方法會讓你的設定檔落落長,之後要修改也會變的非常麻煩。cookys 提供了一個不錯的管理方法,先在 httpd.conf 中加上:
Include /usr/local/etc/apache22/vhosts/*.conf

之後把所有設定檔存放在 vhosts 目錄下即可:
www.zeroplex.orz.conf
mail.zeroplex.orz.conf
game.zeroplex.orz.conf


參考資料:
http://httpd.apache.org/docs/1.3/vhosts/
http://wiki.debian.org.hk/w/Virtual_hosting_with_Apache

2008/05/07

大哥....請不要激動!



經典名句:
  • 如果是載入的話....就要等上他媽的一天

  • 我的跳出鍵滾到哪裡去了

他們家應該有一半的預算是花在買鍵盤上面 XD

2008/05/06

服用藥物的迷思

之前在網路上看到很多人對於醫院的批評是這樣的:吃了藥以後都會想睡覺;吃完手都會發抖;吃了感覺沒什麼效........,用這些去批評一家醫院的好壞。

藥品(西藥)說起來就是測試過對有特殊效果的化學產物,對身體來說一樣是毒藥,還必須依賴肝臟慢慢代謝排出體外。醫生開藥大多是維他命,只有一些藥品試用來舒緩感冒症狀的。

至於以吃了藥以後頭暈、想睡覺或是全身發抖來評論醫師的好壞實在很說不過去,每一種藥物都有他主要的治療效果,但是也會產生其他副作用,如我之前用來治療過敏吃了好幾年的 ZADITEN 就會有手抖的副作用;我對感冒吃的 PONSTAN 又剛好有藥物過敏,所以皮膚會發癢.....。


每種藥物都有他的主要療效和可能的副作用


另外,每種藥品都有標準的服用劑量,劑量不足效果會減低,但是劑量過高卻很可能會出人命。就像吃鎮定劑一樣,按照正常劑量服用可以讓你一晚好眠,但是服用過多會讓你一覺「長眠」。如果還是不懂,你可以試試看拿大象用的麻醉劑用在自己身上試試看。

醫生在開藥時都會先問你體重或是身體狀況時,就是要衡量適合你的藥物劑量,有些醫生的劑量都會降低以減輕你身體的負擔,而如果你遇到的是軍醫(或是獸醫.....)就必須自己小心了。

醫生開藥都必然有他的理由,吃了藥有任何不適也應該告知醫生以便依照情況調整劑量或換藥。而感冒就應該多休息、多喝水,不要像我半夜還在這裡廢話。

ps.若想知道身體保健或是醫療、藥品方面的資訊,可以到國家網路醫院查詢。

2008/05/03

Aleiku 請大家吃烤肉



首先要恭喜 Aleiku 考上中央研究所!

這次我們找好久才找到可以烤肉的地方,是在一條還沒開通的馬路旁邊,才剛剛把食材放下來就遇到警察:「你們要烤肉喔?機車要停到外面啊,不然大家看到了怎麼辦.......不能放鞭炮啊...」就照他說的,機車騎到別的地方停然後開始烤肉。結果東西準備好了,發現沒有打火機 XD

這次邀到了十幾個人,由於是阿雷固請吃烤肉,所以剩下的食材就由每個人自己帶。沒想到大家不知道要買什麼結果全部都買飲料,算了算總共有 14 瓶二公升的飲料,喝都喝不完,說不定拿來滅火都還有剩。

由於莫名其妙中了流感,只能很不甘願的提早回宿舍休息。從郊區往逢甲夜市看去,感覺實在很奇妙。


2008/05/01