2008年05月10日

フロンティア・スピリッツ?

最近、陽気が暖かくなってきたせいか、通勤途中の道路(アスファルト)の上で元気に動き回る毛虫を見かけるようになりました。

道の左側が茂みなので、そこから出てきているのですが、なんか不思議な感じがします。なぜ、わざわざ危険な道路に出てきているのでしょう?そのまま茂みにいれば安全なのにと。

やはり、人間だけでなく毛虫の中にも、ここじゃないどこかを目指すものがいるということなのでしょうか?かつて、ユーラシア大陸にいたモンゴロイドが、地続きになっていたベーリング海峡を越えて、新天地アメリカへ移住したように。はるか先にある永遠のユートピアを目指すように。
posted by 台北猫々 at 21:35| Comment(0) | TrackBack(0) | 日記

2008年05月09日

正規表現で、文字列は全て半角カタカナか?のチェック(Perl編)


UTF-8対応です。


#全て半角カタカナか?
#Perlの正規表現で、渡された文字列が全て半角カタカナかチェックします。(UTF-8向け)
#Perl 正規表現 半角カタカナ UTF8
$str = "。アイウエオカキクケコサシスセソタチツテトナニヌネノハイフヘホマミムメモラリルレロヤユヨワン゚";
if ( $str =~ /^(?:\xEF\xBD[\xA1-\xBF]|\xEF\xBE[\x80-\x9F])+$/ ) {
print encode('shift-jis', decode('utf-8', "すべてが半角カタカナである\n"));
} else {
print encode('shift-jis', decode('utf-8', "すべてが半角カタカナではない\n"));
}
#↓
#"すべて半角カタカナである"


※標準出力をutf8→SJISに変換しているのは、開発環境がWindows+Eclipseの都合です。Windows+Eclipseのコンソールは、SJISエンコーディングオンリーなので。

posted by 台北猫々 at 22:03| Comment(0) | TrackBack(0) | 技術メモ(Perl)

2008年05月08日

虎猫会議

ふと、気づくと、

私は、近所を歩いていました。公園の横を通る時に中を見ますと、猫がたくさん集っているのが見えました。

「何をやっているのかしらん?」と思いまして、猫達に気づかれないように近づいてみました。よく見ると、前に虎猫残夢で、私の部屋をうろうろしていて、いつのまにか出て行ってしまった虎猫もいました。

なにやら話し合っているようなので、さらに興味が湧きまして聞く耳を立てました。

すると、こんなことを話していました。
「・・・昨年は、箱根にいったニャア」
「その前の年は、熱海に行きましたニャア」
「じゃあ、今年の慰安旅行は北の方にするかニャア?」
どうやら、猫達は慰安旅行の行き先を話し合っているようです。

私は「猫達も色々あるんだなあ」と思いまして、そっと、その場を離れました。

posted by 台北猫々 at 22:42| Comment(0) | TrackBack(0) | 夢日記

2008年05月07日

旧建物

この間、銚子行った時に見つけた廃屋です。
IMG_0259.JPG

う〜ん。いい感じですねぇ。昭和30年代の雰囲気を醸し出しています。窓の並び方が、また何ともいえないです。是非、中を探検したいと思いました。
posted by 台北猫々 at 22:53| Comment(0) | TrackBack(0) | 日記

2008年05月06日

Rubyでファイルアップロード(サーバ側処理)

シンプルにブラウザから、アップロードされたファイルをWebサーバのc:\\usr配下に
保存します。

環境:
・WindowsXP SP2
・Ruby 1.8.6

●upload.html・・・ファイルアップロードフォームがあるHTML

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title></title>
</head>
<body>
<form action="/cgi-bin/upload.rb" method="POST" enctype="multipart/form-data">
<input type="FILE" name="upload_file" size="20">
<input type="submit" value="送信">
</form>
</body>
</html>


●upload.rb・・・ファイルアップロードCGI

require "cgi"

OUTPUT_DIR = "c:\\usr\\"

begin
form = CGI.new

print "Content-type: text/html\n\n"

#TempfileなのかStringIOなのかを表示
print form['upload_file'].class.to_s + "<br>"

#アップロードしたファイル名
print form['upload_file'].original_filename + "<br>"

#ファイルサイズ
print form['upload_file'].size.to_s + "<br>"

#サーバ上のOUTPUT_DIR下に保存します。
open(OUTPUT_DIR + form['upload_file'].original_filename, "w") {|fh|
fh.binmode
fh.write form['upload_file'].read
}
print "Done!"

rescue => e
print "Error!!" + e
end

posted by 台北猫々 at 22:21| Comment(0) | TrackBack(0) | 技術メモ(Ruby)

2008年05月05日

正規表現で、文字列は全て半角カタカナか?のチェック(Ruby編)


UTF-8対応です。



# -* coding: UTF-8 -*-
#全て半角カタカナか?
#Rubyの正規表現で、渡された文字列が全て半角カタカナかチェックします。(UTF-8向け)
#Ruby 正規表現 半角カタカナ UTF8
str = "。アイウエオカキクケコサシスセソタチツテトナニヌネノハイフヘホマミムメモラリルレロヤユヨワン゚";
if str =~ /^(?:\xEF\xBD[\xA1-\xBF]|\xEF\xBE[\x80-\x9F])+$/
puts Kconv.tosjis("すべてが半角カタカナである")
else
puts Kconv.tosjis("すべてが半角カタカナではない")
end
#↓
#"すべて半角カタカナである"


※標準出力をutf8→SJISに変換しているのは、開発環境がWindows+Eclipseの都合です。Windows+Eclipseのコンソールは、SJISエンコーディングオンリーなので。

posted by 台北猫々 at 09:08| Comment(0) | TrackBack(0) | 技術メモ(Ruby)

2008年05月04日

犬吠埼灯台

昨日は、台北猫々さんを銚子に連れていきました。
犬吠埼灯台↓に行きました。

IMG_0254.JPG

昇ってみたのですが、これが結構高くて、風も強くて、私も台北猫々さんも高所恐怖症なので、怖くてすぐ降りてしまいました。眺めは良かったですけどね。猫

その他、地球が丸く見えるという展望台にも行ったのですが、悪天候で視界が悪く、ほとんど何も見えませんでした。残念。

posted by 台北猫々 at 15:33| Comment(0) | TrackBack(0) | 日記

2008年05月03日

正規表現で、文字列は全て半角カタカナか?のチェック(PHP編)


UTF-8対応です。


//全て半角カタカナか?
//PHPの正規表現で、渡された文字列が全て半角カタカナかチェックします。(UTF-8向け)
//PHP 正規表現 半角カタカナ UTF8
$str = "。アイウエオカキクケコサシスセソタチツテトナニヌネノハイフヘホマミムメモラリルレロヤユヨワン゚";
if (preg_match("/^(?:\xEF\xBD[\xA1-\xBF]|\xEF\xBE[\x80-\x9F])+$/", $str)) {
echo "すべて半角カタカナである"."<br>\n";
} else {
echo "半角カタカナでない文字がある"."<br>\n";
}
//↓
//"すべて半角カタカナである"

posted by 台北猫々 at 08:00| Comment(0) | TrackBack(0) | 技術メモ(PHP)

2008年05月02日

正規表現で、文字列は全てASCII文字か?のチェック(C++編)

「C++ Boostのインストール(Windows編)」
http://programmer-toy-box.sblo.jp/article/14267315.html
でBoostがインストールされていることが前提です。

SJIS対応です。


#include <iostream>
#include <string>
#include <boost/regex.hpp>
using namespace std;

int main() {

boost::regex r1("^[\x20-\x7E]+$");
boost::smatch m1;
string str1 = " abcdefghijklmnopqrstuvwxyz!#$&'()[]@";

if( boost::regex_search(str1, m1, r1) ) {
cout << "すべてがASCIIである" << endl;
} else {
cout << "ASCIIではない文字がある" << endl;
}
return 0;
}

posted by 台北猫々 at 08:00| Comment(0) | TrackBack(0) | 技術メモ(Windows C/C++)

2008年05月01日

台北猫々来日!

本日、台北猫々が来日しました。

GWにどこかへ連れて行こうかと、思っているのですが、どこにするか思案中です。銚子とかで海の幸などを食べてもらうかなぁ。
posted by 台北猫々 at 21:32| Comment(0) | TrackBack(0) | 日記