インターネット事件簿 第3回:京都府警がWinnyに叩きつけた挑戦状 ―「われわれはすべてを解き明かした」
http://internet.watch.impress.co.jp/static/column/jiken/2004 ...
47 氏の人物像を追う人はたくさんいて諸説があったが、どれが正しいかは私にはわからなかった。
・40歳程度のシステム管理者
・女子中学生説
ぐらいが記憶に残っている。
40歳程度という年齢は、47氏自身がトリップ付きで書き込んだ「情報処理試験は20年くらい前に受けた」というレスから導き出されたものだ。女子中学生説は言うまでもなくネタだろうが、いろんなところで好んでこの表現が使われていたのが印象的だった。
http://internet.watch.impress.co.jp/static/column/jiken/2004 ...
捜査関係者が、声を潜めて語る。
「Winnyの作者は、某有名国立大学の助手を務めている人物です。学内での立場もあり、今回の事件で家宅捜索を受けたことで開発をこれ以上進めるのは無理なのではないでしょうか」
47 氏の人物像を追う人はたくさんいて諸説があったが、どれが正しいかは私にはわからなかった。
・40歳程度のシステム管理者
・女子中学生説
ぐらいが記憶に残っている。
40歳程度という年齢は、47氏自身がトリップ付きで書き込んだ「情報処理試験は20年くらい前に受けた」というレスから導き出されたものだ。女子中学生説は言うまでもなくネタだろうが、いろんなところで好んでこの表現が使われていたのが印象的だった。
懐かしい! 今日発売だそうだ。ドリフは幼い頃よく見てたなあ。うちはひょうきん族よりもドリフだった。幼稚園の入園式で、先生が「夜は8時に眠るよい子は手を挙げてー!」っていったとき、「ボクはドリフ見てるから悪い子なんだ・・・」という思考に至ったのが懐かしい。
幼い頃に見てたので、お化けが出てくるとコントにも関わらず本気で怖がってたし、歌のコーナーが邪魔で邪魔で仕方がなかった。志村が演じる早口言葉は大好きだった。子供心にはボイスチェンジャーで声が変わっただけでも大喜びだったから。
以下の部分をコメントアウト。
代わりに以下を追加。
ただし、置き換えてしまうと
### URL表記を href で
# URL : http://....
# 正規表現は http://www.din.or.jp/~ohzaki/perl.htm#httpURL より。
# バックスラッシュを用いたURL中での改行に対応 021025
#my $URLCHARS = "[-_.!~*'()a-zA-Z0-9;/?:@&=+,%\#\$]";
my $URLCHARS = "[-_.!~*'a-zA-Z0-9;/?:@&=+,%\#\$]";
my $URLDELIM = "\\\\\\n[\\t ]+";
s{(?<!["\=|])((s?https?|ftp)://($URLCHARS+)($URLDELIM($URLCHARS+))*)}
{'<a href="'.join('', split(/$URLDELIM/, $1)).'">'.
join('', split(/\\/, $1)).'</a>'}gem; #")};
代わりに以下を追加。
$_ = MakeLink($_);
ただし、置き換えてしまうと
# バックスラッシュを用いたURL中での改行に対応が使えなくなる。
文字列中に URL があった場合はリンクになってほしいが、URL が長すぎるとブラウザで表示したときに横スクロールバーが出たり、レイアウトが崩れたりする。これを防ぐために、大崎さんの perl メモで紹介されていたリンク置換スクリプトに手を加え、指定バイト数を超える URL の場合に省略表示するようにした。
blockquote タグの中ではリンクを張らないようにした。引用文を省略してしまって意味が変わってしまっては困るし、コードを貼り付けたときに余計なところま URL だと判断してしまうから。つまり、
例) $str = "http://www.google.co.jp/";
- その他細かい修正点
メールアドレスの置換は必要ないので削除した。blockquote タグの中ではリンクを張らないようにした。引用文を省略してしまって意味が変わってしまっては困るし、コードを貼り付けたときに余計なところま URL だと判断してしまうから。つまり、
$str = "http://www.google.co.jp/";を変換すると、
$str = "<a href="http://www.google.co.jp/";">http://www.google.co.jp/";</a>になってしまうのだ。ソースを引用するよりも実例を挙げた方が早いかな。
例) $str = "http://www.google.co.jp/";
sub MakeLink() {
# perl メモ 自動で URI(URL) のリンクを張る 参照。
# http://www.din.or.jp/~ohzaki/perl.htm#AutoLink
# $str の中の URI(URL) にリンクを張った $result を作る
my $str = shift;
# URL の長さ制限。この値より長い URLは <a href="元の長い URL">省略されたURL ...</a> となる。
# 0 で無制限。
my $MAX_URL_LENGTH = 72;
my $text_regex = q{[^<]*};
# html タグの正規表現
my $tag_regex_ = q{[^"'<>]*(?:"[^"]*"[^"'<>]*|'[^']*'[^"'<>]*)*(?:>|(?=<)|$(?!\n))}; #'}}}}
my $comment_tag_regex = '<!(?:--[^-]*-(?:[^-]+-)*?-(?:[^>-]*(?:-[^>-]+)*?)??)*(?:>|$(?!\n)|--.*$)';
my $tag_regex = qq{$comment_tag_regex|<$tag_regex_};
# ftp url の正規表現
my $ftp_URL_regex =
q{\bftp://(?:(?:[-_.!~*'()a-zA-Z0-9;&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*} .
q{(?::(?:[-_.!~*'()a-zA-Z0-9;&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)?@)?(?} .
q{:(?:[a-zA-Z0-9](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.)*[a-zA-Z](?:[-a-zA-} .
q{Z0-9]*[a-zA-Z0-9])?\.?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)(?::[0-9]*)?} .
q{(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*(?:/(?} .
q{:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*(?:;type=[} .
q{AIDaid])?)?(?:\?(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9} .
q{A-Fa-f])*)?(?:#(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A} .
q{-Fa-f])*)?};
# http url の正規表現
my $http_URL_regex =
q{\b(?:https?|shttp|ms-help)://(?:(?:[-_.!~*'()a-zA-Z0-9;:&=+$,]|%[0-9A-Fa-f} .
q{][0-9A-Fa-f])*@)?(?:(?:[a-zA-Z0-9](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.)} .
q{*[a-zA-Z](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.?|[0-9]+\.[0-9]+\.[0-9]+\.} .
q{[0-9]+)(?::[0-9]*)?(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f]} .
q{[0-9A-Fa-f])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-} .
q{Fa-f])*)*(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f} .
q{])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*)} .
q{*)?(?:\?(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])} .
q{*)?(?:#(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*} .
q{)?};
my $result = '';
my $skip = 0;
while ($str =~ /($text_regex)($tag_regex)?/gso) {
last if $1 eq '' and $2 eq '';
my $text_tmp = $1;
my $tag_tmp = $2;
if ($skip) {
$result .= $text_tmp . $tag_tmp;
$skip = 0 if $tag_tmp =~ /^<\/[aA](?![0-9A-Za-z])/;
} else {
$text_tmp =~ s{($http_URL_regex|$ftp_URL_regex)}
{my $org = $1;
(my $tmp = $org) =~ s/"/"/g;
$org = substr($org, 0, $MAX_URL_LENGTH) . ' ...' if ($MAX_URL_LENGTH != 0 && $MAX_URL_LENGTH < length($org));
'<a href="' . "$tmp\">$org</a>"}ego;
$result .= $text_tmp . $tag_tmp;
$skip = 1 if $tag_tmp =~ /^<[aA](?![0-9A-Za-z])/;
if ($tag_tmp =~ /^<(xmp|plaintext|script|blockquote)(?![0-9A-Za-z])/i) {
$str =~ /(.*?(?:<\/$1(?![0-9A-Za-z])$tag_regex_|$))/gsi;
$result .= $1;
}
}
}
return $result;
}
- すべての記事の見出し (全1029件)
- 全カテゴリの一覧と記事の数
- カテゴリごとに記事をまとめ読みできます。記事の表題だけを見たい場合は、すべての記事の見出し (カテゴリ別表示) へ。
- .net (57件)
- 2ch (19件)
- amazon (5件)
- Apache (22件)
- bash (13件)
- Bookmarklet (9件)
- C# (45件)
- chalow (18件)
- ChangeLog メモ (20件)
- coLinux (2件)
- CSS (5件)
- Delphi (5件)
- DVD (6件)
- Excel (1件)
- F-ZERO (4件)
- FF12 (31件)
- ftp (8件)
- Google (21件)
- gpg (7件)
- HTML (19件)
- http (19件)
- IE (10件)
- IIS (4件)
- iPod (2件)
- JavaScript (14件)
- Linux (63件)
- MCP (6件)
- Mozilla (14件)
- MS SQL Server (30件)
- MySQL (4件)
- Namazu (3件)
- PC (48件)
- Perl (58件)
- PHP (2件)
- Postgres (36件)
- proftpd (2件)
- qmail (1件)
- RFC (4件)
- RSS (33件)
- Ruby (15件)
- samba (3件)
- sonic64.com (6件)
- SQL (15件)
- Squid (3件)
- ssh (7件)
- Subversion (3件)
- unix (31件)
- VSS (2件)
- Windows (34件)
- winny (9件)
- XML (9件)
- xyzzy (17件)
- おいでよ どうぶつの森 (19件)
- お菓子 (5件)
- アスキーアート (13件)
- アニメ (9件)
- クレジットカード (2件)
- ゲーム (120件)
- シェルスクリプト (18件)
- シレン2 (8件)
- セキュリティ (9件)
- ソフトウェア (21件)
- デザインパターン (2件)
- ネットワーク (30件)
- バックアップ (17件)
- プログラミング (14件)
- マリオカートDS (3件)
- メール (26件)
- メモ (116件)
- ラーメン (11件)
- 音楽 (59件)
- 給油 (3件)
- 三国志大戦 (13件)
- 車 (7件)
- 書斎 (4件)
- 食 (30件)
- 買い物 (17件)
- 簿記 (8件)
- 本 (32件)
- 漫画 (9件)
- 2007-04-23 (Mon)
- 2007-03-07 (Wed)
- 2007-02-27 (Tue)
- 2007-01-17 (Wed)
- 2007-01-15 (Mon)
- 2007-01-14 (Sun)
- 2007-01-08 (Mon)
- 2006-12-01 (Fri)
- 2006-11-22 (Wed)
- 2006-11-20 (Mon)
- 2006-11-19 (Sun)
- 2006-09-30 (Sat)
- 2006-08-29 (Tue)
- 2006-08-04 (Fri)
- 2006-07-27 (Thu)
- 2006-07-23 (Sun)
- 2006-07-17 (Mon)
- 2006-07-10 (Mon)
- 2006-07-06 (Thu)
- 2006-07-03 (Mon)
- 2006-06-29 (Thu)
- 2006-06-28 (Wed)
- 2006-06-27 (Tue)
- 2006-06-25 (Sun)
- 2006-06-19 (Mon)
- 2006-06-18 (Sun)
- 2006-06-15 (Thu)
- 2006-06-11 (Sun)
- 2006-06-01 (Thu)
- 2006-05-30 (Tue)
- プロファイル
- 斎藤 宏明。エンジニアです。宇都宮市に住んでいます。
- リンク
- RSS
- スポンサードリンク
- Powered by
- ☆さくらインターネット☆