blog.Ring.idv.tw

Articles

L - change the worLd

L change the worLd.描述奇樂事件結束之後的23天...

不過總覺得和Death Note I、II差異頗大~ 主要是主角「L」(A魯)在這部電影中的動作變多了~ 除了基本的戴面具、兩指拿物(拇指+食指 or 無名指)、單指Key in鍵盤的特色外~ 他還會跳飛機咧~ 呵~

整體來說感覺比較像是外傳~ 因為故事的延續性沒有那麼流暢~ (個人觀感)

所以坦白來說~ 總覺得略遜Death Note I、II~ 不過我想~ 看過I、II還是會想衝到電影院去看吧~

P.S. 忘了說重點~ 上禮拜五看這部電影前的三十分鐘我還在寫程式~ 結果一通電話~ 衝呀~ 就到了電影院~ 哈~ 打電話的人請來自首 ^^v

以後請多打幾通~ 哈哈 ^^

主題曲 - I'll be waiting

2008-02-19 00:55:19 | Comments (2)

Working House - Cute澆水器盆栽

這一個「澆水器盆栽」可真讓我找了許久~ 第一次看到它是在「DM」上看到的~

之後呢~ 專櫃、面市、網路上全部都找不到了... 這是怎樣~ 是非賣品嗎?真的太誇張了~

而前天終於在「屏東」見到它的蹤跡~ 當然二話不說直接就給它拿回家嚕($250)~

由於架上只剩兩個~ 我就挑了一個看起來有點「枯萎」的那一盆~

總覺得如果能將它照顧得生意盎然~ 應該也會蠻有成就感滴~

所以剛剛將它重新修剪並整理了一下~ ㄎ~ 怎麼感覺好像變得有點居家~ 哈~ :p

2008-02-19 00:06:15 | Add Comment

BOMKiller

底下是一個針對UTF-8編碼的BOMKiller程式~ 如果你開發程式時所採用的文字編輯器會自動為你加上BOM的話~ 那BOMKiller可以協助你更容易刪除這些BOM~

好久沒寫Java了~~ 趁這個機會再回味一下用UltraEdit純手工寫程式~

BOMKiller原始檔

/**
 * Date: 2008-02-18
 * Shen (http://blog.ring.idv.tw)
 **/
import java.io.*;  
import java.nio.channels.*;

public class BOMKiller
{  
	private String suffix = null;
	public BOMKiller(String suffix)
	{
		this.suffix = suffix;
	}
	
	public static void main(String arg[])
	{
		if(arg.length != 2 || (new File(arg[0])).isDirectory() == false)
		{
			System.out.println("Usage:java BOMKiller [directory_path] [suffix_name]");
			System.exit(0);
		}
		BOMKiller killer = new BOMKiller(arg[1]);
              	killer.listFiles(new File(arg[0]));
      	}
      	public void listFiles(File f)
      	{
		File[] filelist = f.listFiles(new FileFilter()
		{
			public boolean accept(File tempf)
			{
				if(tempf.isDirectory())
				{
					listFiles(tempf);
					return false;
				}
				return tempf.getName().endsWith(suffix);
			}
		});
		
          	int flength = filelist.length;
          	for(int i = 0; i < flength ; ++i)
		{  
              		killBOM(filelist[i]);
          	}
	}
	public void killBOM(File f)
	{
		try
		{
			FileInputStream fis = new FileInputStream(f);		
			if(fis.read() == 0xEF)
			{
				if(fis.read() == 0xBB)
				{
					if(fis.read()==0xBF)
					{
						String path = f.getPath();
						System.out.println("BOMKiller:"+path);
						
						File toFile = new File(path+".tmp");
						FileChannel fic = fis.getChannel();
						FileChannel foc = new FileOutputStream(toFile).getChannel();
						fic.transferTo(3, fic.size(),foc);
						fic.close();
						foc.close();
						f.delete();
						toFile.renameTo(new File(path));
					}
				}
			}
		}catch(Exception e)
		{
			e.printStackTrace();
		}
	}
}

用法

Usage:java BOMKiller [directory_path] [suffix_name]

e.g.

java BOMKiller C:\htdocs .php

相關文章

.IE Bug? UTF-8 Encoding for Byte Order Mark(BOM)

2008-02-18 04:38:44 | Add Comment

IP地理位置解析原理

上圖是根據我部落格透過「whos.amung.us」所記錄的一些參觀者的來源分佈~ 從圖中可以知道參觀者來自於各個不同的國家~

還有像是「用Zend_Http做一個IP地理位址查詢」這樣諸如此類的應用~ 技術上是如何達成的呢?

我們可以透過程式來取得Client's IP,但如何能知道此IP是隸屬於哪個國家呢?

這時就需要透過IP<->Country的對應表來實現~

找了一下~ 發現有兩個好的資源可以下載這類的對應表:

.ip2nation

.The IP-to-Country Handbook

這裡我拿「The IP-to-Country Handbook」來解析一下:

IP-to-Country解析

首先請先下載「latest IP-to-Country Database」這一份對應表~

它所呈現的格式如下所示:

"0033996344","0033996351","GB","GBR","UNITED KINGDOM"
"0050331648","0083886079","US","USA","UNITED STATES"
"0094585424","0094585439","SE","SWE","SWEDEN"
...

欄位與欄位之間用「,」來隔開~ 它們依序分別為:IP位址起始,IP位址結束,2字元國碼,3字元國碼,國家名稱

這裡它將用「.」區隔的IP位址改成用長整數來表示~

也就是說~ 我們必須將IP位址先轉換成長整數,然後比較IP位址起始,IP位址結束的範圍即可得出結果~

轉換公式:

IP Number = A x (256*256*256) + B x (256*256) + C x 256 + D

舉個例子:

IP位址:64.233.189.99

轉換:

X = 64 x (256*256*256) + 233 x (256*256) + 189 x 256 + 99
X = 64 x 16777216 + 233 x 65536 + 189 x 256 + 99
X = 1089060195

所以從對應表找出「1089060195」介於IP位址起始值及IP位址結束值即可得出解答!!

P.S. PHP程式可以善加利用「ip2long()」、「long2ip()」兩函式來轉換

2008-02-15 16:40:12 | Add Comment

天下文化.線上國際書展 - 5本72折

~天下文化.線上國際書展~

今天收到天下文化的電子報~ 得知「~天下文化.線上國際書展~」~ 就隨手逛了一下~ 不過也因此給它隨手就買了一些「科普」類的書...

其實我的數學程度一直停留在「國小」階段~ 就只會加、減、乘、除而已~ 小時候不學好~ 還記得國中時有一次段考數學還考個「0」分~ 因為老師只出五題選擇題~ 其它不是填充就是計算題~ 所以我全部用猜的~ 不過運氣真差~ 就是沒猜中~ 哈~~

但,我對數學其實是不排斥的~ 不過就是覺得少了點誘因能讓我對它引起興趣~ 不過這也是最重要的一點~ 有興趣的話其實是不需要人督促~ 自己就會主動的去學習~ 所以這時候老師或父母的角色就相當重要~ 而不是只是背公式~ 說實在的~ 我真討厭背公式~ 因為公式是死的~ 如果不能徹底了透及其應用的話~ 對我來說感覺好像只是為了應付考試~ (真不喜歡這種感覺[台語]哈~^^a)

所以說到底~ 我其實蠻不會「讀書」的~ 不過如果想用Flash寫個小遊戲~ 那就必須學點物理~ 加上運用一些三角函數~ 搞個畢氏定理來活用~ 其實就會蠻有趣的~

如果玩JPEG影像壓縮~ 或是浮水印等研究技術~ 那也要懂點博立葉轉換~ 諸如此類的~ 所以買上述五本書籍的誘因也就是這樣來的 ^^a

2008-02-15 12:29:35 | Add Comment

Next Posts~:::~Previous Posts
Copyright (C) Ching-Shen Chen. All rights reserved.

::: 分類 :::

::: 最新文章 :::

::: 最新回應 :::