FoxyProxy 是一個很好用的 proxy 擴充套件,它除了強化了 Firefox 原先的 proxy 功能,還增加了黑名單白名單等十分彈性的設計,可以讓使用者任意調整 Firefox 的 proxy 設定。
比如先前無名小站還沒搬到 Hinet 機房時,某些 ISP 用戶若要瀏覽無名小站,就必須加掛 proxy 的設定,那這時 FoxyProxy 其實就可以派上用場了。你可以指定連到「www.wretch.cc」才使用某一 proxy 的規則,其餘網站皆不使用 proxy 設定,這麼一來就可以在連線到無名小站時自動
使用適當的 proxy 設定,不需要再改來改去了。
2007年2月25日 星期日
2007年2月19日 星期一
2007年2月15日 星期四
[+/-] |
SQLite - 檔案型資料庫 |
Microsoft Access 是 Windows 平台下蠻常被使用的檔案型資料庫。之所以說是檔案型,那是因為在 Microsoft Access 裡,每個資料庫就是一個檔案,所以對中小型的應用來說,此種資料庫是最常被拿來應用的。檔案型的資料庫有個好處是備份方便,以及降低系統的負載(比起一般 server-client 架構的資料庫系統)。但是使用 Microsoft Access 其實會有很多潛在的問題...
有甚麼問題?對我來說最大的問題是綁平台以及需要花錢。我希望自己花精力以及時間去學的東西,可以有較長的生命週期(雖然不能奢望學的東西可以用到退休,但至少越長越好吧?),所以我當然希望我學的東西可以不用受到特定廠商的控制。要是明天微軟宣佈不再支援 Microsoft Access ,甚至是在未來的系統移除了對 Microsoft Access 的支援,我該怎麼辦?看看 Visual Basic ...
除了上述的原因,我也看過相關的文章有提到 Microsoft Access 其實只適合小型的運用(沒錯,其實我只用過 Microsoft Access 幾次,可以說根本不熟)...一旦規模大起來了它的效能會遇到瓶頸。而本文的主角(終於來了) SQLite 在效能上倒是非常出色。
SQLite 優點其實很多呢,在這邊挑幾個出來講囉:
- 體積小(這裡指的是安裝所需的空間,當然實際的資料庫大小就看你資料的多寡囉)、備份方便。我忘記實際的大小了,但我記得如果只是要在系統上裝上 SQLite 的支援( libsqlite ),只要幾百KB的大小。加上它是檔案型資料庫,備份其實就是把整個檔案備份起來就好了。
- 優異的效能。在這邊有 SQLite 的測試數據。在「需要經常讀取,但是寫入次數不高」的情況下,效能甚至超越了以速度聞名的 MySQL 。
- 眾多語言支援。常見的語言都已經支援了 SQLite ,清單在這。
- 跨平台。目前主流的作業系統都支援, Mac 甚至在最新的作業系統 Mac OS X Leopard 中讓 SQLite 成為預設的資料庫。
本來我是打算寫個 SQLite 系列教學,順便當作筆記備忘。但是在K完官方文件後,發現其實沒啥好教的,因為安裝十分簡單(只要一行指令)。操作部份 SQLite 官方也提供了很清楚簡單的教學,該有的重點都寫在上面了,所以就不重新發明輪子了。也許之後將 SQLite 較具特色或是需要注意的地方補充上來。
最後附上圖形介面的 SQLite 管理程式的連結: SQLite Database Browser
2007年2月12日 星期一
[+/-] |
初試 GNU GLOBAL souce code tag system |
對我來說, GNU GLOBAL 最吸引我的地方是可以產生很方便的查詢網頁。雖然此工具也提供了文字介面的工具可以查詢,但我想文字介面的部份也許 Vim+ctags+taglist 會比較符合我的需求。在這邊紀錄一下要怎麼利用 GNU GLOBAL 產生網頁:
GNU GLOBAL 提供了幾個命令,其中拿來產生網頁的命令就是 htags 。要使用此命令,首先移到你解壓縮後的原始碼根目錄(這邊以 Nmap-4.20 原始碼為範例):
$ cd ~/www/source/nmap-4.20然後下命令:
$ htags -g -F -f其中 -g 是代表先執行 gtags 命令,因為必須先執行完 gtags 產生必要的 tag 資料庫, htags 才能藉此產生網頁。 -F 是代表將畫面分成若干等的框架(frame);而 -f 則是代表要有查詢的功能,此參數加上去 htags 會自動幫你加入表單以及必要的 cgi 程式。最後記得到產生的 HTML 目錄中底下的 cgi-bin 子目錄新增 .htaccess :
Options +ExecCGI這樣就完工了。產生出來的網頁就會長這樣:
AddHandler cgi-script .cgi
[+/-] |
在Python程式裡面嵌入C |
雖然我既不熟 Python ,也不熟 C,但是看到這種好東西還是覺得好熱血 囧rz
ezpyinline 0.1 釋出
[+/-] |
節省成本?(續) |
先前才提到現在很多廠商為了節省成本,把一些應該做在硬體上的功能都移到軟體上面了。沒想到今天拆封新買的 HP Deskjet F380 ,竟然發現同樣的情況居然也出現在這台上...
印象中一直記得, HP 對 Linux 的支援一直蠻友善的,怎麼現在也出這烏龍?心裡正在嘀咕著,那這樣以後我豈不是只能買雷射印表機(而且還得挑不能斷手斷腳的機種)的時候,突然找到了這網站: HP Linux Imaging and Printing (HPLIP) 。果然我的印象沒有錯, HP 有專為 Linux 解決驅動程式的問題(可以看墨水存量等功能),就是這個網站囉。雖然網站上聲明 HP 不為此驅動程式提供任何技術支援,但是事實上在使用上都是沒有問題的,在這邊為 HP 的用心拍拍手~~
我想就光是這個因素,以後印表機我應該都會買 HP 了。XD
2007年2月11日 星期日
[+/-] |
Debian HOW-TO: Power Management |
這篇 Debian HOW-TO : Power Management 寫的淺顯易懂,有不少以前沒注意到的地方。有在筆電上灌 Debian / Ubuntu 的朋友都可以參考看看喔。
[+/-] |
又發現追程式碼的好工具 |
剛剛看到某篇文章在講 emacs 有多好多好,所以就跑去找看看有沒有相關的教學文章可以來看一下...結果不小心找到這篇:有無類似source viewer方便檢視source code的工具呢
結果在文中發現了好東西...屆時拿來玩看看好了:
2007年2月10日 星期六
[+/-] |
節省成本? |
今天幫老媽教會的修女解決印表機的問題,搬回來一看才發現上面只有兩個燈:電源指示燈以及墨水指示燈。問題是,這款噴墨印表機有四色墨水,誰知道墨水指示燈亮的時候,是該換哪一個墨水夾?
搞半天才發現,要看是哪個墨水夾已經沒墨水了,要進去 Epson(哎呀,不小心透露出廠牌了) 所附的印表機監控程式,而這程式是在安裝印表機驅動程式時會一起裝進去的(安裝過程也沒問你要不要裝,強迫中獎就對了=_=)。
所以暨把腦袋拿掉(不支援 postscript )以節省成本後,現在一不做二不休連手腳一起砍斷(墨水指示燈剩一個)?那非 Windows 的使用者該怎麼辦?
還好前些日子幫老媽買的是 HP 的印表機,上面該有的指示燈都有,看來以後買諸如此類的設備要注意的地方得更多了...
2007年2月9日 星期五
[+/-] |
寫程式有三寶 |
忘記在哪裡看過一篇文章有提到,若是未來的生活會和寫程式扯上關係,那有三樣東西是必備的:一樣是好的編輯器,一樣是學會並習慣版本控制系統,還有一樣...我忘了XD
所以這次班上來了一台 server ,當然要在上面架個版本控制系統給大家玩一玩...理論上這東西大家都會用到,因為不只是寫程式,寫文件也可以用版本控制系統去控管,以後要調閱編修紀錄都很方便。所以這邊筆記一下在 Debian GNU/Linux 上安裝 subversion 的步驟。
首先需安裝需要的套件,在這邊選擇讓 subversion 與 Apache2 做搭配:
# aptitude install apache2 libapache2-svn subversion這樣就安裝好了。之後選擇啟用 Apache2 的 dav_svn 模組:
# a2enmod dav_svn然後編輯 /etc/apache2/mods-enabled/dav_svn.conf :
<Location /svn>要注意的是由於我打算讓此 svn server 可以管理多個專案,所以開啟的是 SVNParentPath 參數。若是你的主機上面只會有一個專案,那開啟 SVNPath 參數即可(二選一)。
DAV svn
SVNParentPath /srv/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
這麼一來服務就算是架設完畢,可以上工了。若是想新增一個專案,則使用 svnadmin 來開啟一個專案的目錄。比如我想開啟個 test_project 專案,那就是:
# svnadmin create /srv/svn/test_project千萬記得別自己手動新增目錄,因為 svnadmin 會在該目錄下產生一些 subversion 需要的檔案,這和手動新增目錄是不一樣的。簡單來說,所有的動作請全部使用 subversion 所提供的指令,以免發生預期之外的行為。新增完專案目錄,記得還要建立有完整權限的帳號(使用htpasswd,在此不贅述)。
2007年2月8日 星期四
[+/-] |
fail2ban |
班上的 server 自從啟用之後,幾天之內東西多了好多,本來只是抱著測試性質的想法,隨著東西越來越多,也已經開始不敢輕視以對。所以這幾天翻了一下已經私藏很久的書籤,找出 fail2ban ,順手裝了上去。
fail2ban 是用 python 寫成的,裝上去後會以背景程式常駐,並持續觀察特定的 log 檔,若是有錯誤登入的紀錄(一般來說網路上會有很多暴力測試的程式持續的探測網路上的主機,這個只要去注意一下系統 log 檔即可發現),只要超過特定的次數(我是設成錯誤3次),即終止該ip的連線(預設是十分鐘)。 fail2ban 終止連線的方式,是在 filter chain 裡面新增自訂的 chain ,然後若是有 ip 符合最大錯誤次數,就會執行 iptables 將該 ip drop。我是覺得這樣的作法很漂亮:)
過去不知道有 fail2ban 這類的程式,我的作法都是用 perl 寫個簡單的程式,並用 crontab 每分鐘掃一次 log 。可是其實這樣的方法並不算非常漂亮,萬一有人輸入錯密碼一次,馬上就會被封鎖。所以像 fail2ban 這類的程式對系統安全有一定的幫助,我是覺得長時間上線的主機都應該加上此類的程式,以提昇系統的安全。
2007年2月7日 星期三
[+/-] |
啟用Proftpd的續傳功能 |
今天經同學提醒,才發現Proftpd的續傳功能根本沒開...奇怪了,這不是應該要預設開啟才比較合理嘛?所以剛剛翻了一下資料,將續傳功能開啟...
要開啟很簡單,如果想開啟下載續傳功能,則只要在proftpd.conf裡加上:
AllowRetrieveRestart on若要開啟上傳續傳功能,則只要加上:
AllowOverwrite on收工!!
AllowStoreRestart on