2008年5月24日 星期六

jQuery是個好東西

看了一下網站的介紹
http://jquery.com/
http://jsgears.com/thread-63-1-1.html
把檔案抓下來測試了一下,發現他在操作dom與ajax方面很方便,是個不錯的東西。
不過只適合會手工刻網頁的人使用。
p.s.最近破解了一個政府部門的ajax網站,有空會把過程放上來

2008年4月28日 星期一

php 新版的 Magic quotes

mysql在處理big5所可能會出現的問題是將他辨識成單引號
在新版的mysql中如果使用

mysql_query("SET NAMES Big5;");
mysql_query("SET CHARACTER_SET_CLIENT=Big5;");
mysql_query("SET CHARACTER_SET_RESULTS=Big5;");

可以讓mysql正確辨識中文
但是如果加了Magic quotes反而會多出一個'\'

2008年4月21日 星期一

為什麼Linux不需要磁碟重組

為什麼Linux不需要磁碟重組?
這要從幾個方面來說明:
從檔案系統方面:
fat就不說了,單就ntfs來說,不僅只能使用88%的硬碟空間來存放檔案,使用b+tree來加搜尋檔案,但是對於檔案配置方面仍然使用舊的配置方式,沒有什麼比較好的檔案配置方式,導致碎片快速產生。
在linux方面早在ext2的時候就使用區塊群組的方式減少碎片的產生,到了xfs等新的檔案系統,還多了許多減少碎片的技術,像是:Allocation groups,Extent based allocation,Variable block sizes
,Delayed allocation,都是windows所不及的。
就目錄設計方面:
windows傾向將所有程式檔案都放在單一硬碟分割區上,而linux可以將系統放在不同分割區上
,減少不斷增加檔案大小的紀錄檔和一般程式檔案方放在不同的分割區上,避免紀錄檔的碎片影響程式讀取的效能。而windows把所有東西都放在一起,效能當然會因為碎片的增加而越來越低。
就作業系統方面:
linux使用VFS系統來作為檔案讀取的中間層,在VFS中使用了檔案及目錄的快取,能充份利用所有的記憶體空間,所以在linux中記憶體是多多益善,而且能改善讀取的效能。
而windows的記憶體管理就很糟,裝上超過2g的記憶體效能還會變差,即使記憶體還有空間還不斷把記憶體的資料放到swap中(p.s.這也是記憶體最近會大跌的主因)。
最後:
在一個多人多工的系統中真的不需要磁碟重組,因為同時間可能有許多人在讀取不同檔案
檔案碎片對效能的影響其實不大。
所以不要再問為什麼linux沒什麼磁碟重組的工具了

2008年3月30日 星期日

在ubuntu 8.04 amd64 用 chroot 使用 32bit 程式

64位元的程式因為linux開放原始碼的關係,在 amd64上跑的很順,
但是有一些沒有開放原始碼的程式、像是ps的模擬器,或是mplayer 的 windows codes
雖然有 lib32 但是不完全,所以只有 使用 chroot ,我用了
http://ubuntuforums.org/showthread.php?t=24575
的東西,還不錯:
#安裝基本環境
sudo apt-get install dchroot debootstrap
sudo mkdir /chroot/
#編輯/etc/dchroot.conf檔案
sudo gedit /etc/dchroot.conf
# 加入:Add this line: hardy /chroot
#安裝32位元
sudo debootstrap --arch i386 hardy /chroot/ http://tw.archive.ubuntu.com/ubuntu
#進入32位元
sudo chroot /chroot/
sudo dpkg-reconfigure locales
exit;
sudo gedit /chroot/etc/apt/sources.list
# 加入:deb http://tw.archive.ubuntu.com/ubuntu hardy main restricted universe multiverse
# 加入:deb http://security.ubuntu.com/ubuntu hardy-security main restricted universe multiverse
#進入32位元
chroot /chroot
apt-get update
apt-get upgrade
exit
sudo cp /etc/passwd /chroot/etc/
sudo cp /etc/shadow /chroot/etc/
sudo cp /etc/group /chroot/etc/
sudo cp /etc/sudoers /chroot/etc/
sudo cp /etc/hosts /chroot/etc/
sudo gedit /etc/fstab
# 加入:/home /chroot/home none bind 0 0
# 加入:/tmp /chroot/tmp none bind 0 0
# 加入:/dev /chroot/dev none bind 0 0
# 加入:/proc /chroot/proc proc defaults 0 0
# 加入:/media/cdrom0 /chroot/media/cdrom0 none bind 0 0
# 加入:/usr/share/fonts /chroot/usr/share/fonts none bind 0 0
sudo mkdir /chroot/media/cdrom0
sudo mkdir /chroot/usr/share/fonts
sudo mount -a
sudo gedit /usr/local/bin/do_dchroot
# 加入:#!/bin/sh
# 加入:/usr/bin/dchroot -d "`echo $0 | sed 's|^.*/||'` $*"
sudo chmod 755 /usr/local/bin/do_dchroot
#進入32位元
dchroot -d
sudo apt-get install synaptic
sudo ln -s /usr/sbin/synaptic /usr/sbin/synaptic32
exit
sudo ln -s /usr/local/bin/do_dchroot /usr/local/bin/synaptic32
sudo synaptic32
安裝以下檔案
Installed the following packages:
language-pack-zh (1:8.04+20080319)
language-pack-zh-base (1:8.04+20080301)
locales (2.7.9-4)
gnome-icon-theme

2008年3月26日 星期三

inwicast 上傳大小的限制

inwicast 是 moodle 的一種區塊 ,用來播放多媒體檔案,預設有上傳檔案大小的限制
index.php:
443:<td><input type='hidden' name='MAX_FILE_SIZE' value='30000000' /> => <td>
603:ini_set('memory_limit', 100000000);// 註解
604:set_time_limit(1200); //註解

2008年3月18日 星期二

試用隨身碟當虛擬記憶體

趁最近隨身碟便宜在順發買了一支創見 t3 2g(體積小又終身保固)

花了398
拿來當虛擬記憶體,試用了一下還不錯,而且還發現linux的記憶體管理真的做的很好
開一個兩G的程式,只要一結束,馬上把記憶體釋放出來,不像同事在用的vista 程式關掉以後要花一分鐘一點一點的釋放記憶體。

如何將虛擬記憶體的資料寫回實體記憶體

只要下:
sudo swapoff -a
sudo swapon -a
即可

2008年3月17日 星期一

該買flash了

雖然slc的flash 沒什麼降價 但是mlc卻跌很多,該是買一支來當swap用的時候了。

Visual Studio 2008 的感想

最近在逛很多資訊新聞的網站時
發現Visual Studio 2008打的廣告很兇
雖然我很久以前就以戒了M$的毒,
卻還是忍不住發表自己的想法,
Visual Studio對於程式設計師來說就好像是速食麵或是調理包
第一次吃會覺得很好吃,而且只要加熱一下就可以了,但是:
  1. 泡麵吃來吃去就是那些味道,變化很有限。
  2. 只會煮泡麵或是料理包的人,真的是廚師嗎?
  3. 多了一個肉屑般的實物配料,泡麵可以從11圓變成50圓。
學習使用Visual Studio開發程式就好像學煮泡麵一樣。
不要以為會煮泡麵就可以當廚師了。
因為真正的廚師對於食材,調味料,刀工,火候都要有研究的。
也看不慣那些洋洋得意教別人如何煮泡麵的人。
還有那些如何煮調理包的書。