Recent Articles / Archives

Google Public DNS Servers 開放使用

上星期 Google 開放了類似 OpenDNS 的 DNS服務,以下是 DNS 的 IP:

8.8.8.8
8.8.4.4

在 Linux 下如果要改用 Google 的 DNS,只要修改 /etc/resolv.conf 檔案,將原本使用的 DNS 改成以下即可:

nameserver 8.8.8.8
nameserver 8.8.4.4

可能是因為 Google 的用戶群龐大,其 DNS 內的 cache 也較豐富,所以很多時瀏覽網站時,感覺 resolve 的時間也很快,比自己 ISP 的反應更佳。但大家要留意,當使用 Google 的 DNS 時,實際上上網的紀錄 Google 也可以知道,關心私穩方面問題的朋友要留意了。

December 11, 2009 · 互聯網筆記 · No Comments Yet

MySQL 微調技巧

以下會介紹一些簡易的 MySQL 效能微調技巧,這些方法都是透過 my.cnf 的參數完成,而不需要重新編譯 MySQL。

Key Buffer
key buffer 是系統索引可用的緩存空間大小,對處理索引有很大的影響。設定 key buffer 的大小要根據自己的需要而定,而一個較簡單的方法是使用 25% 的記憶體空間作為 key buffer 使用。如果是獨立的資料庫伺服器可考慮使用更大的空間,例如 50%。
通這設定 key buffer 的大小,可以減少硬碟 I/O 操作對 MySQL 的影響。

以下是 key buffer 在 my.cnf 的設定方法:

key_buffer = 512M

Query Cache
這是 SQL Query 的緩存,將 query 的查詢結果暫存在記憶體裡面,直至資料被更新為止。

query_cache_size = 128MB
query_cache_limit = 4MB

Table Cache
對於同時要存取多個資料表十分重要,這是設定同時可開啟資料表的數目。

table_cache = 512

Sort Buffers
sort_buffer_size (在舊版本是 sort_buffer) 是設定 grouping 及 sorting 的緩存。

sort_buffer_size = 32M
myisam_sort_buffer_size = 32M

November 6, 2009 · 程式設計分享 · No Comments Yet

轉用 HTC Magic

使用 Nokia 手機已經有幾年的時間,而且可能是因為自己一直使用舊款的 PDA 得出的錯覺,所以對於輕觸式手機一直也有保留,可能怕自己用不慣。但始終都想試試基於 Linux kernel 的 Android 系統,上星期便買了 HTC Magic,不買最新款 Hero 是因為較喜歡 Magic 的外觀。

用上手的感覺是輕觸式操作沒有想像中困難,只是操作上的概念與以往所使用的手機有得大的分別。以前所用的是一部手機,而 HTC Magic 更像一部 PDA,或者算是流動的電腦。對我最重要的功能是上網瀏覽及電郵,以上兩樣的表現十分滿意,尤其是上網瀏覽的拉近及拉遠功能十分方便。

September 17, 2009 · 生活隨筆 · No Comments Yet

PHP 的日期計算

在 PHP 內計算兩個日期之間的差距的話,可以先將日期轉成 Unix timestamp 的數值然後再作計算。例如要計算兩個日期 01/01/2009 及今天的日期差距,可以這樣做:

PHP:
  1. <?php
  2. // 將日期以 "/" 附號分隔, 得出 日, 月, 年
  3. $time = explode("/", "01/01/2009");
  4.  
  5. // 將 01/01/2009 轉換成 Unix timestamp
  6. $unix_time = mktime(0, 0, 0, $time[0], $time[1], $time[2]);
  7.  
  8. // 計算 $unix_time 和現在的差距, 並除 86400 (一天有 86400 秒)
  9. $time_diff = (time() - $unix_time) / 86400;
  10. // 只擷取整數部份
  11. $time_diff = (int) $time_diff;
  12.  
  13. echo "01/01/2009 距離現在 "$time_diff . " 天.";
  14. ?>

September 12, 2009 · 程式設計分享 · No Comments Yet

修改 MySQL 唯讀參數

要修改 MySQL 唯讀參數,一般上也會修改 my.cnf 的內容,然後重新啟動 MySQL。但如果有一特殊需要也能重新啟動 MySQL 的話,可以用 Domas Mituzas Blog 上面的方法:「Evil replication management」

例如在正常的情況下修改 log_slave_updates 參數,會出現這個 error:

mysql> set global log_slave_updates=1;
ERROR 1238 (HY000): Variable 'log_slave_updates' is a read only variable

而文章內所提供的是非正規方法,所以閣下使用時要自行承擔風險,方法如下:

mysql> system gdb -p $(pidof mysqld) -ex "set opt_log_slave_updates=1" -batch
September 11, 2009 · 程式設計分享 · No Comments Yet


用 mysqldump 擷取部份樣本資料

如果需要將 mysql server 的小部份資料匯入到測試主機上測試,可以配合 mysqldmp 的 -where="true LIMIT X" 選項,上的的 X 是想擷取的資料數量,例如:

# mysqldump --opt --where="true LIMIT 10000" mydb > mydb.sql

以上的指令會將 mydb 內所有資料表各自匯出 10000 筆資料

這個方法可以很容易匯出較小的資料樣本件測試用途。

September 9, 2009 · 程式設計分享 · No Comments Yet

喜出望外的 Moty’s 機油

車子又行了 5000 公里,上星期試用 Moty's 機油,型號為 M111 5W40,這款機油十分貴,4L 裝要七百幾,但效果是相當不錯的。相比起 Liqui Moly 及 Honda 原廠機油,Moty's 在起步的反應更明顯,而且覺得有更大的扭力。但因為沒有安裝油壓及油溫錶,所以以上只是個人感覺,並沒有具體數據。

油耗方面還有待觀察,至於耐用性我想應該不差,聽朋友及在網路上的評論也說它很耐用的。

September 9, 2009 · 駕駛日誌 · No Comments Yet

Linux/FreeBSD 不能辨認新安裝程式

如果在 Linux 或 FreeBSD 透過自行編譯安裝程式,系統不會立即辨認到新的程式,即是不可以只輸入程式的檔案名稱,要鍵入程式的絕對路徑才可以執行。

這個問題是因為系統為了改善效能,會將存放程式的目錄加入快取。如果想更新快取,可以執行以下指令:

# hash -r

如果是 CSH 的話,便要輸入:
# rehash

September 7, 2009 · Linux / BSD 筆記 · No Comments Yet

PHP 檢查 apache module 是否啟動

如果要用 PHP 檢查 apache 的 module 是否已啟動,可以用以下方法實現:

PHP:
  1. <?php
  2. function module_enabled($module){
  3.     $modules = apache_get_modules();
  4.     return in_array($module, $modules);
  5. }
  6.  
  7. if(module_enabled("mod_rewrite")){
  8.     echo "mod_rewrite enabled.";
  9. }
  10. ?>

以上程式碼會檢查 mod_rewrite 是否開啟。這個方法只支援 apache module 安裝的 php,而不支援以 cgi 執行的 PHP。

July 22, 2009 · 程式設計分享 · No Comments Yet

更換 LIQUI MOLY 機油及洗蝴蝶掩

架車夠期更換機油,今次試用朋友介紹的 LIQUI MOLY 機油,型號是 Top Tec 4300 5W30,價錢不算太貴,在元朗買 $400/5L。更換機油後順便洗一洗蝴蝶掩。之後出去試車,架車精神晒,自己也開心晒。

覺得今次換的 LIQUI MOLY 機油不錯,車頭震動很少,起步及加速也比原廠油好用,至於油耗表現要多入兩缸油才知道,暫時覺得不錯。

June 30, 2009 · 駕駛日誌 · No Comments Yet


修理杯士爆裂

上星期發覺開車時會發出「ee」聲,今日拿到車房檢查,真的是因為杯士爆裂,修理費合共 $2000。雖然荷包出血,但修理好後,連同駛過凹凸路面時發出的的「吱吱」聲都沒有了,原本以為這些「吱吱」聲是避震問題,原來是杯士的問題。

現在車子的操控性真的很好,比未修理前差得遠了,所以還是物有所值的,最重要就是現在開車的時候更有信心。

June 16, 2009 · 駕駛日誌 · No Comments Yet

Perl 或 Shell 變更 Linux 用戶密碼

用 Perl 更改 Linux 系統密碼,可以使用 Unix::PasswdFile,它是處理 /etc/passwd 檔案的 CPAN module。
Perl code:

PERL:
  1. #!/usr/bin/perl
  2. use Unix::PasswdFile;
  3.  
  4. $pw = new Unix::PasswdFile "/etc/passwd";
  5. $pw->passwd("monk", $pw->encpass("My-New-Password"));
  6. $pw->commit();
  7. undef $pw;

如果想透過 Shell Script 來變更用戶密碼,可以用以下指令:

# echo $PASSWORD | /usr/bin/passwd --stdin $USERNAME
June 6, 2009 · 程式設計分享 · No Comments Yet

FreeBSD 新增/更改用戶密碼 Shell Script

在 FreeBSD 下可以用以下非互動方法新增用戶或修改用戶密碼:

新增使用者: (使用者名稱為 new_user,密碼為 new_pass)

# echo topSecrete | pw add user vivek -h 0

更改現有使用者密碼:

# echo newPassword | pw mod user user_name -h 0

只要用以上指令,便可以編寫新增及更改用戶密碼的 shell script。

汽車電池保養

汽車電池對汽車來說十分重要,如果沒電連車子都發動不了。電池的壽命可以短到一年,耐用的可以用幾年,而電池壽命的長短很大程度上取決於是否足夠充電,以下是最常導致充電不足的原因:

1. 汽車使用率不足
2. 長期短程行車

現時汽車電池有水電及環保電兩種,主要分別是水電大概兩、三個月要檢查電池水是否足夠,發現電池水不足要添加電池水或蒸溜水(不要加自來水啊),環保電則是可以免維護。

至於選用那一種要視乎情況,如果記得定期檢查電池的話,我覺得水電較好,較耐用而且價錢平。但如果怕不記得檢查的話,就可以用環保電。

June 5, 2009 · 駕駛日誌 · No Comments Yet

7 個省油技巧

1. 柔順加速
就是控制「黃金右腳」,在一般城市內到處都是交通燈,猛踩油門加速不會快得多少,但就會大大增加耗油量。

2. 不要超速
一般汽車最省油的速度大概介乎時速 80 至 90 公里,開得越快,風阻越大,時速 90 公里較時速 110 公里省油約 20%。

3. 減低重量
將車內不必要的物品拿掉,不要將車尾箱當作流動儲物櫃。

4. 關閉車窗
看「流言終結者」的測試,如果在時速 80 公里以下打開車窗關閉冷氣較省油;但在時速 80 公里以下時,關閉車窗開冷氣較省油。

5. 保持均速
在道路上盡量保持均速,不要經常猛加速後收慢車子。

6. 保持跟車距離
如果緊跟實前車,不但較為危險,而且當前面收慢時便要馬上踩 brake,白白浪費了車輛的動力。

7. 定期保養車子
定期保養車子,一些損耗品要定期更換,如機油、風隔、火咀等。而且要根據自己的駕駛狀況選擇合適的產品,例如用了度數太高的機油會較浪費汽油。

June 4, 2009 · 駕駛日誌 · No Comments Yet


« Previous Page  Next Page »