網絡技術日誌

關於 PHP, Linux, Open Source 及個人生活記載的網誌。

Entries for December, 2007

NetBSD 4.0 released

NetBSD 4.0 已經釋出,NetBSD 是一套免費及安全的 Unix like 開源作業系統。它設計簡潔,代碼規範,擁有眾多先進特性,使得它在業界和學術界廣受好評,用戶可以通過完整的原始碼獲得支持。許多程式都可以很容易地通過 NetBSD Packages Collection 獲得。在 BSD 系統裡面我只用過 FreeBSD,下星期可以安裝 NetBSD 試用一下。 => NetBSD 4 ISO images [i386 - 242M] => Announcing NetBSD 4.0

Leave a Comment

基本分析 vs 技術分析

大家如有看一些 phone-in 的財經節目,一定會聽過支持位、阻力位、黃金比率等字眼,這些都是股票技術分析的名詞。看技術分析一般是從事短線買賣,或者對於長線投資者,希望從技術分析捕捉一個較佳的入市位。 我沒有學過技術分析,也不打算學,因為個人較認同基本分析,相信股價長遠而言會和盈利掛鈎,而且基本因素比技術因素較紮實。如果公司有優秀的業績,那麼即使股價下跌也會較有信心。 近期比較少留意財經消息,因為這個月較多工作。正如特首所講:「我要做好呢份工」,做好正職才是根本,從沒想過全職炒股,搞不好分分鐘成為病態股民,我買股票的目的只是對抗通漲及資本增值。

Leave a Comment

phpBB 3 釋出

phpBB 2 推出 5 年後,phpBB 3 已經正式釋出,phpBB3 的新功能包括: – 模組化設計 Admin Control Panel, Moderator Control Panel 及 User Control Panel。 – 支援多種資料庫系統,包括 MySQL, MS SQL Server, Oracle, PostgreSQL, SQLite 及 Firebird。 – 討論區支援無限層級。 – 可建立自訂 BBCode。 – 可建立自訂 profile 欄位。 Download phpBB version 3 (2.15MB)

Leave a Comment

Redhat 自動 FTP 傳送備份

如果在 crontab 備份檔案後,想將檔案透過 FTP 傳送到其他伺服器,可以用以下方法編寫 shell script: #!/bin/sh FTPHOST="ftp.server.address" USERNAME="ftp-username" PASSWORD="ftp-password"   # 本機儲存 .tar.gz 備份檔的目錄 FILE="/backup/dir" # FTP Server 備份目錄 BACKUPDIR="/ftpserver/backup" # 登入 FTP Server 並傳送檔案 ftp -n FTPHOST

Leave a Comment

月供股票 vs 月供基金

月供股票及月供基金我也有做,而以下是我認為兩者的特點: 月供股票 – 可以揀選自己喜愛的股票,集中供款。 – 供款靈活,可以隨時加/減供款金額,以及暫停供款也不需手績費。 – 手續費低,以中銀香港的月供股票為例,如果每月供款額在 $20,000 以下,只需 $50 手續費,已經包括經紀佣金、印花稅等。而且不用支付股票代收費用。 月供基金 – 有專人觀察市場變化,較節省時間。 – 可以鎖定目標市場,或個別投資類別。 – 不可以隨時更改供款額,最好供款期在 5 年以上。 – 手續費高,包括認購費、基金管理年費及表現費等雜費。 我今天計一計數,發覺自己的投資組合表現比很多中國基金表現更好,我想主要原因是基金的雜費所致,而且我在減少買出/買入的情況下,交易費用會比基金便宜很多。 所以如果肯花一點時間在研究個股,我認為月供股票是較好的選擇,而且基金的數目也很多,要選擇一檔表現長期優於大市的基金一點也不容易。所以我打算停供一份基金,將多出來的錢放到月供股票上面。只留下一份繼續供款,以便購買自己未能參與的股票市場,例如東歐、拉丁美洲、印度及南韓等。

Leave a Comment

不使用 form 之下傳送 POST 變數

可以打開 HTTP socket 連線及傳送 HTTP POST 指令,以下是範例: PLAIN TEXT PHP: <?php // Generate the request header $ReqHeader = "POST $URI HTTP/1.1n". "Host: $Hostn". "Content-Type: application/x-www-form-urlencodedn". "Content-Length: $ContentLengthnn". "$ReqBodyn";   // Open the connection to the host $socket = fsockopen($Host, 80, &$errno, &$errstr); if (!$socket){      $Result["errno"] = $errno;    $Result["errstr"] = $errstr;    return [...]

Leave a Comment

使用 MySQL 儲存圖片

其實這個方法不單可以用在 MySQL,在其他資料庫及非圖片也應該也沒問題,原理是 使用 base64_encode() 將檔案轉成 MIME base64 字串編碼,然後放入資料表,當然儲存檔案用的欄位要夠大才可以,在取出時用 base64_decode() 回復原狀即可,以下是例子: PLAIN TEXT PHP: <?php $file_str=base64_encode($file); mysql_query("insert into table_name values ('$file_str')"); ?>

Comments (1)

Linux 及 FreeBSD 修改 hostname

在 Linux 及 FreeBSD 修改主機名也是同以下指令: hostname host.mydomain.com 其中 host.mydomain.com 是新指定的 hostname,但為了系統下次啟動時也能自動使用新 hostname,需要作以下修改: Linux 開啟 /etc/sysconfig/network (如果是 Debian 便開啟 /etc/hostname),將 hostname 一行改成新 hostname FreeBSD 開啟 /etc/rc.conf,將 hostname 一行改成新 hostname

Comments (1)

Linux 顯示目錄使用情況

在 Linux 下要檢查某個目錄的使用情況,那就是目錄內所有檔案及目錄的使用量,可以用 「du」 指令,它的原意為 「disk usage」。 如果想顯示目錄下的所有檔案及目錄,可以用 「-a」 或 「--all」 選擇; 要增加可讀性,即是以 KB, MB, GB 來顯示容量,可以用 「-h」 或 「--human-readable」 但如果一個目錄內的檔案有很多,在輸入 「du -ah dirname」 後所顯示的資訊十分多,這可以改用 「du -sh dirname」 來取代,這裡就只會直接回傳使用量。 p.s. 以上假設需要查詢的目錄是 dirname.

Leave a Comment

PHP 內將數值自動補零

如果在 PHP 想將數值自動補零,例如以 00, 01, 02 ...... 等方式顯示,可以用以下方法: $var = 1; echo sprintf("%02d", $var); 這樣就會印出 01,其中 2 是顯示的位數,如果想顯示 001,可以改成 sprintf("%03d", $var);

Leave a Comment

Linux 下 /proc 中的重要訊息

cat /proc/cpuinfo (顯示 CPU 資訊) cat /proc/interrupts (中斷) cat /proc/ioports (設備 IO Ports) cat /proc/meminfo (記憶體資訊) cat /proc/partitions (顯示所有 partitions) cat /proc/pci (pci 設備資料) cat /proc/swaps (顯示 Swap 資訊) cat /proc/version (顯示 Linux 版本)

Leave a Comment

變更檔案最後修改時間

如果在 Linux 想想變更檔案的最後修改時間,可以用 touch 指令,格式為 「touch -t 年月日時分秒 檔案」,例如: touch -t 200507012015.10 readme.txt 以上指令會把檔案 readme.txt 的最後修改時間改為 2005 年 7 月 1 日 20 時 15 分 10 秒。 如果想改成現時的時間,只需輸入 「touch readme.txt」。

Leave a Comment

Linux 的搜尋技巧

在檔案內搜尋指定文字,search_key 是搜尋字串,/path/to/filename 是檔案名稱: grep search_key /path/to/filename 功能同上,但不分大小寫: grep -i search_key /path/to/filename 搜尋檔案:在指定目錄中搜尋檔案,以下是在 /var/www/ 目錄下搜尋 upload.php 的檔案: find /var/www/ -name upload.php 功能同上,但目標不是檔案,而是目錄: find /var/www/ -name uploads -type d 還有更多有用的功能,以上只列出較常用的用法。

Leave a Comment

PHP 存取 MySQL 4.1 的亂碼問題

早前替客戶開發了一個系統,原本沒遇到問題,但這個星期他們致電給我說不能輸入中文。這時覺得奇怪,MySQL 內的 table 欄位已設成 utf8,而輸入介面及顯示頁面的編碼均為 utf8。 然後在 MySQL 官方網站的 Character Set Support 找到解決方法。 只要在查詣資料表時使用 SET NAMES 'utf8'; 即可解決,這個語句等同於以下句: SET character_set_client = utf8; SET character_set_results = utf8; SET character_set_connection = utf8;

Leave a Comment

解決 MySQL 4.1.x 以上的認證問題

因為 MySQL 在 4.1 或以上的版本的認證加密方法更改了,那即是說在 php 程式內即使密碼正確也會連接失敗。解決方法為: 1. 重新編譯 PHP 將 --with-mysql 的選項改為 --with-mysqli=mysql_config_path/mysql_config,其中 mysq_config_path 是 MySQL 的安裝路徑下的 bin 目錄。 2. 修改 my.cnf 打開 /etc/my.cnf,在 "[mysqld]" 下加入一行 old-passwords 然後重啟 MySQL,這樣就會強逼 MySQL 使用舊加密認證。

Leave a Comment