nDiki : URI
URI - Universal Resource Identifier
RFC3986 で定義されている識別子。 2005年1月に、RFC3986 が出るまでは RFC2396 で定義されていた。
パスセグメントで使用できる文字 [RFC2396]
pchar = unreserved | escaped | ":" | "@" | "&" | "=" | "+" | "$" | ","
及び、param との区切り ";"。 "/"、";"、"=" は予約されているためパスセグメント中で使うにはエスケープする必要がある。
ということでエスケープなしで使える文字は、
0-9a-zA-Z | "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")" | ":" | "&" | "+" | "$" | ","
Windows では
\/:,;*?"<>|
はファイル名に使えないので、これを考慮すると
0-0a-zA-Z | "-" | "_" | "." | "!" | "~" | "'" | "(" | ")" | "&" | "+" | "$"
"&"、"+", "$" はパスセグメント中ではエスケープする必要はないが、reserved に含まれる文字なので使わない方が場合によっては無難。 これも考慮すると、
0-0a-zA-Z | "-" | "_" | "." | "!" | "~" | "'" | "(" | ")"
という文字集合を使うというのも手。
スポンサード リンク
Related term
2005年4月10日 (日)
■ Windows 上での Apache 2.0.53 では PATH_INFO が シフト JIS に

WiKicker の Windows 上での動作確認の続き。 WiKicker のPPM パッケージを作成して ActivePerl 5.8.6.811 上にインストール。 依存するモジュールで、ActivePerl に入っていないものは以下の通り。
- Algorithm::Diff
- Jcode
- Log::Log4perl
- Time::Zone (TimeDate)
既に手元で PPM パッケージ化済みなので、これもインストールしておく。
後は RCS をパスの通っているディレクトリに入れてタイムゾーンを設定。
TZ=JST-9
で CGI プログラムとして実行。 お、表示できた。 書き込みはと。
エラー。
予想していたけれど、sendmail に依存していたところ。 sendmail が見つからない場合はメールの送信をスキップするように修正。
これでうまく動くかなと思ったら、日本語名のページを作るとうまく表示できない問題を発見。
@ PATH_INFO がシフト JIS で渡される
WiKicker では UTF-8 文字列をURIエスケープして WikiPage のURLを生成している。 このURIにアクセスされると WiKicker は、PATH_INFO から WikiName を取り出す。 この文字列がシフト JIS になってしまっている。
Windows がファイル名に使用する charset にあわせて、Apache が変換してしまっているようだ。 調べてみると他の WikiEngine でも同様の問題にあっているという記事が見つかった。
将来の 2.0 系でパッチが取り込まれて修正されるとか、そうでないとか。
現状どうするかなぁ。 WiKicker 側でシフト JIS から UTF-8 に戻すというのもできない事はないけれど、あまりやりたくはないな。 いったんシフト JIS を介しているという時点で、シフト JIS に無い文字の扱いに関する問題をかかえてしまっているし(Apache が)。
対策案:
- Apache 1.x 系を使う (まだ未確認だが、こちらだと勝手に変換されないらしい)
- WiKicker に PATH_INFO を使わないオプションをつける(URI Query Component は勝手に変換されない)
- WiKicker 側でシフト JIS から UTF-8 に変換する
- WiKicker における PageName 最長文字数 (2006-06-10)
- WiKicker 0.35 リリース - 添付機能の修正など (2006-06-20)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- WiKicker 0.26 と ActivePerl 5.8.6.811 ... (2005-05-11)
- amaroK で Linux 上の iTunes 音楽データを聞く (2006-01-22)
2005年4月15日 (金)
■ PATH_INFO のかわりに REQUEST_URI と SCRIPT_NAME を使う

結局 Apache 1.3.33 でもやはり PATH_INFO が UTF-8 では無くなってしまうようだ。
ということで WiKicker 側で対処。 SERVER_SOFTWARE 環境変数を見て Win32 な Apache だった場合、PATH_INFO を使わず REQUEST_URI と SCRIPT_NAME 環境変数を使って PATH_INFO にあたる文字列を取り出すようにした。
これで期待するページにアクセスできるようになった。
ただし別件で、ページ書き込み時に失敗する問題が発覚。 ページの補助情報を保存している部分の処理がこけるらしく、一度エラーになると以降のアクセスがエラーになってしまう。 要調査。
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- WiKicker における PageName 最長文字数 (2006-06-10)
- Perl CGI プログラムのテストには WWW::Mechanize::... (2006-02-18)
- Perl v5.8.8 の CGI.pm の PATH_INFO 処理の問... (2006-07-08)
- [ WiKicker ] 「最近のアクセスログ」処理思案 (2004-01-17)
2005年4月21日 (木)
■ URI のパスセグメントの中の =

RFC2396 ではパスセグメント中の = は予約されているためエスケープする必要があったが、2005年1月にでたRFC3986 では必ずしもその必要がなくなったように読める。
RFC3986 はRFC2396からいろいろ変更点があるようなので、きちんと読んでおく必要がありそうだ。
- 準備委員会キックオフミーティング (2005-11-19)
- WiKicker 0.27 リリース (2005-10-05)
- Last.fm Radio Player でラジオを聞いてみる (2006-02-04)
- 今日のさえずり - NEW MEGALOPOLIS かぶった (2008-06-13)
- 歯の治療5回目 - 抜歯後の消毒 (2004-11-18)
2005年10月5日 (水)
■ WiKicker 0.27 リリース

機能的にちょっと区切りをつける必要がでたので、WiKikcker の新しいバージョンをリリース。 2005年5月10日より、約5カ月ぶり。
バグ修正の他、
- 若干のHTML構造変更(メイン部分を <div class="main">でくくるようにしたり、SearchPageの検索フォームを一部修正したり)。
- 新しいスキーマ anchor、1-area-map-image、1-area-map-limage、1-area-map-rimage を追加。
- HTMLタグ付けブロック文法を追加(オプション)。
など。
HTMLタグ付けブロック文法におけるHTMLのサニタイズについては、HTML 4.01 仕様書を見て主に
- HEAD の中で使うものなどは除外
- フォーム関係、フレーム、スクリプト、オブジェクト関係は除外
- %Script; な属性は除外
- %URI; な属性はスクリプトかどうかチェック
といった風にフィルタリングするようにした。 結構許したので、そのまま有効にする場合には組織内利用とか個人利用向けにした方が良い。
必要に応じてルールを変更できるように、サニタイズするモジュールは設定で変更できるようにしておいた。適宜お好みで。HTMLタグ付けブロック自体はデメリットも多いのであまり使わない方が良いと思うけれど。
- [ WiKicker ] 自動InterWiki (2004-02-09)
- WiKicker における PageName 最長文字数 (2006-06-10)
- [ WiKicker ] 無記名時のバグ修正 (2003-09-20)
- WiKicker 0.29 リリース - ビルドまわりの改良など (2006-02-13)
- [ DiKicker ] インデックス作成は別プロセスで (2004-02-17)
2006年2月4日 (土)
■ Last.fm Radio Player でラジオを聞いてみる

Linux 版の Last.fm Radio Player で Last.fm のラジオを聞いてみる。 まずは、サザンオールスターズの similar artist radio とか。
音質や音量にばらつきがあって、鳴らしっぱなしにするにはちょっと難がある気がするが、知らない曲に出会えたりするので面白い。
今のところ聞けるアルバム数が少なくすぐローテーションしてしまう感じだが、料金を払って Personal Radio を使うともっといろいろ聞けるのだろうか?
@ Mozilla Firefox から Last.fm Radio Player を起動する
Web ページに含まれる lastfm スキーム (lastfm://) URI から、Last.fm Radio Player が起動するようにする。
- about:config にアクセス
- 設定一覧画面で右クリックして[新規作成]->[文字列]
- 以下の設定を新しく追加
- 設定名 network.protocol-handler.app.lastfm
- 文字列 /your/installed/path/Last.fm/player
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- 朝日新聞講読申込み (2005-01-31)
- Firefox のショートカットを変更する (2007-01-27)
- WikiPage 編集画面で Ctrl+S を押すとプレビューするようにしてみる (2006-04-29)
- 音楽再生にあわせて処理をする amaroK スクリプトを書いてみる (2006-01-31)
2006年5月18日 (木)
■ Google Desktop の web clips で RSS を読む

社内での情報共有を目的に社内 Blog を立ち上げた。次のステップは以下だ。
- スタッフが定期的に社内 Blog をチェックする/したくなるようにもっていく。
読んでもらえなければ Blog を書くメリットがあまりなくなってしまうので、これは重要だ。 逆に良さがわかってくれば、自分も書こうという人が自然ど増えてくるはず。
まわりを見た感じだと、普段から RSS リーダを使っているというという人はほとんどいないようなので、まずは RSS リーダを普及させる必要がありそうだ。
うちのオフィスでの推奨 RSS リーダの条件としては
- Windows で動くこと。
- わざわざソフトを立ち上げてチェックというスタイルだと定着しなさそうなので、常駐型がいいのではないか。
- 特定の Web ブラウザへの組み込み型ではないこと (人によって使っている Web ブラウザが違ったりするので、推奨しにくい)。
あたりかなと。むろん個人で気にいったのがあればそれにこしたことはないのだが、ここでは初めての人に薦められるものをということで。
@ Google デスクトップ 3
まずは Google Desktop を試してみる (Windows をメインに使っていなかったため、今までインストールしたことがなかった)。
ウェブ クリップで RSS/Atom フィードを読むことができる。
感蝕は「まあまあ」。 他の機能も含めて使っている場合はいいかもしれないが、巡回用の RSS リーダとして使うにはそれほど良いというほどでもないな。
フィードの表示順がちょっとわかりにくいのと、フィードの URI を誤認するのがマイナスポイント。
- Debian に RSS リーダ「フレッシュリーダー」をインストール (2006-03-06)
- Google Desktop Linux 版をインストール (2007-07-02)
- 今日のさえずり - 勢いあまって NCSA Mosaic 3.0 for ... (2007-11-08)
- Linux で使えるデスクトップ検索ツール Beagle でローカルファイ... (2006-08-08)
- 自宅の無線 LAN を復旧 & IEEE 802.11g 化 (2004-11-26)
2006年6月10日 (土)
■ WiKicker における PageName 最長文字数

WiKicker では PageName を エンコードした文字列を URI に埋め込んだり、サーバで保存する際のファイル名にしたりしている。 このため、PageName の最長文字数はそれらの最長文字数に依存しているはずである。
今まで確認を後回しにしていたのだが、新しい機能の追加の際に確認しておく必要があるので調査してみた。
@ WiKicker の実装
WiKicker の実装がらみとして最長を決める要素としては
- PageName の UTF-8 表現を URI エスケープしてページ URI に含めている。→ URI、HTTP、HTML、Web サーバ、Web ブラウザの実装による最長の制約
- PageName を base64 にエンコードしてファイル名にしている。→ ファイルシステムのファイル名、パス名の最長の制約
がある。
@ 各仕様等による制約
- HTTP では URI の長さには制限なし (RFC2616 3.2.1)
- Web サーバは Request-URI が長いと 414 Request-URI Too Long を返す (RFC2616 10.4.15)。Apache は LimitRequestLine ディレクティブにより、URI を含むリクエスト行のサイズを制限することができる(配布時には 8190)。
- Internet Explorer が扱える URL の長さは 2083文字。
- ext2 はファイル名は 255文字まで(増やすこともできる)。
- 手元の Linux 2.6.15 で試したところ、パス名は 4095文字まで。
@ WiKicker で問題が出ない PageName 最長文字数
上記の中ではファイル名による制約が一番大きい。
WiKicker 内部でファイル名として base64 (の亜種) でエンコードしたものを使っているので、元の文字列はは最長 189バイトまでなければならない。base64 だと3バイトで4文字になるため、189バイトで 252文字となる。
WiKicker ではここでさらにファイル名に ',v'、'-lock' をつける事があるので、実際には元の文字列は最長 186 バイトまでとなる。
PageName が 186 バイトまでだとすると、URL エスケープしたとして558バイト。 WikiEngine のスクリプトの URL や他のパラメータとあわせても、これぐらいなら大丈夫のはずである。
ということで WiKicker では Linux 上だと通常 PageName は 186 バイトが最長と言ってよさそうだ。 日本語の文字はだいたい UTF-8 で3バイトになるので、62 文字までということになる。
そのうち、WiKicker に制約チェックを入れることにしよう。 そのうち。
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- WiKicker 0.35 リリース - 添付機能の修正など (2006-06-20)
- WiKicker 実装 (2002-10-20)
- 最後がピリオド(.)で終わるファイル名をつけられない (2005-04-19)
- ケータイ用にプライベート Wiki を設置 (2008-01-07)
2006年6月11日 (日)
■ WiKicker 0.34 リリース - 添付機能のコードを追加

2006年6月8日以来、3日ぶりのリリース。
zakwa 氏からの要望により、WikiPage のコピー直後に編集画面に移れる edit now オプションを追加。
また大きな改良として「添付機能」を追加した。 まだ最初のコードなのでエラー処理等が甘いが、それなりに動いているのでコミット。 まだ権限設定がないので、公開サーバでは使用しない方が良い。
添付ファイルのダウンロードを WiKicker 本体の CGI プログラムから行わせるか、独立の CGI プログラムにするか迷ったが、結局別物にした。
というのが大きな理由。
@ 設定方法
WiKicker のページにまだ設定方法を書いていないので、こちらへ。
@ attachment CGI プログラムを設置
例えば attachment というファイル名で以下のような Perl CGI プログラムを作り、Web サーバから実行できるように設定を行う。
#!/usr/bin/perl use strict; use warniings; use WiKicker::WikiCGI::AttachmentController; WiKicker::WikiCGI::AttachmentController ->new(properties_file => '対応する wiki の設定ファイル名')->run;
@ Wiki のプロパティに設定を追加
次に Wiki の設定ファイルに以下を追加。
param.NormalPage.attachment: enable param.NormalPage.attachment.uri: attachment
param.NormalPage.attachment.uri には上で作った CGI プログラムの URI (相対/絶対)を指定する。
これで各ページに attachment (添付)というリンクが表示され、添付機能が使えるようになる。
@ WikiPage での参照の仕方
# リンクを作成 [[attachment:ファイル名]] [[attachment:ページ名/ファイル名]] <- 別のページの添付ファイル # 画像をインライン表示 [[image:attachment:ファイル名]] [[image:attachment:ページ名/ファイル名]]
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- WiKicker 0.35 リリース - 添付機能の修正など (2006-06-20)
- [ WiKicker ] 「最近のアクセスログ」処理思案 (2004-01-17)
- WiKicker における PageName 最長文字数 (2006-06-10)
- WiKicker に JSON でのページ出力機能を追加 (2007-04-03)
2006年6月20日 (火)
■ WiKicker 0.35 リリース - 添付機能の修正など

添付機能を有効にすると、添付ファイルが無いページに対応するディレクトリが無条件に作られてしまう問題を修正。
それから日本語ファイル名のファイルを WikiPage に添付した際、Internet Explorer でそのファイルをダウンロードして保存しようとすると URI エスケープされた文字列がデフォルトの保存ファイル名になってしまいよろしくない。 このため、Content-Disposition ヘッダをつけてレスポンスを返すためのダウンロード用のリンクも追加。
Cotent-Disposition ヘッダでファイル名を指定する際、
- HTTP_USER_AGENT を見て Internet Explorer っぽくて
- Accept-Language の最初に ja があった場合
ファイル名をシフト JIS でエンコードしてしまうようにした。
ファイル名にシフト JIS で表現できない文字があるかもしれないし、Accept-Language に ja があったからといって Windows のロケールが日本語になっているという保証もないので、かなりいい加減なコードである。
なにか良い方法があったら修正したい。
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- WiKicker における PageName 最長文字数 (2006-06-10)
- [ WiKicker ] 続L10N改善と、ページ名リスト処理の高速化 (2004-05-29)
- WiKicker 0.34 リリース - 添付機能のコードを追加 (2006-06-11)
- [ WiKicker ] Locale::Maketext による loc... (2003-12-28)
2006年7月8日 (土)
■ Perl v5.8.8 の CGI.pm の PATH_INFO 処理の問題にぶつかる

手元の WiKicker (や DiKicker) で、「C++」という文字列を含む URI にアクセスしたらエラー。
Nested quantifiers in regex; marked by <-- HERE in m//C++ <-- HERE .html$/ at (eval 27) line 7.
正規表現の一部として使う時には \Q...\E していたと思ったが抜けがあったか。 とコードをチェックしてみたが、それっぽいところなし。 そもそも、Perl 5.005_03 だと問題おきていないし。
確認したら CGI.pm の url() の中でのエラーだった。 quotemeta されていない。
Perl v5.8.8 に含まれている CGI.pm 3.15 で問題を確認。3.17 までは駄目で、3.19 以降だと \Q...\E するように修正されている (3.18 は CPAN にないので不明)。
標準 Perl ライブラリのバグを踏んだか……。 標準 Perl ライブラリのアップグレードはなにかと面倒なので、システム要件にはしたくはないんだよねぇ。
- WiKicker に JSON でのページ出力機能を追加 (2007-04-03)
- PATH_INFO のかわりに REQUEST_URI と SCRIPT_... (2005-04-15)
- Time::Local::gmtime の範囲チェック (2003-12-23)
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- 最新の Module::Install は Perl 5.005_03 ステ? (2006-04-29)
Related web page
こんばんは! URLを触る時は、<strong>URI</strong>(perlモジュール名)が超便利だと思う。 という話を書きましたが、実は他のモジュールをもう少し知っておくと、さらにハッピーになります。 おっと、それを説明する前に my $<strong>uri</strong> = <strong>URI</strong>->new('http://perl-mongers.org'); print $<strong>uri</strong>->as-string . "\n"; print "$<strong>uri</strong>\n"; 上記の出力はどちらも、「http://perl-mongers.org」となり、同じ結果です。 これを話http://perl-mongers.org/2008/06/uri-and-more.html
RTW65b と RTX1100 と RT107e でビンゴ。http://www.rtpro.yamaha.co.jp/RT/FAQ/Security/JVN88575577.html
GP4 Manufact<strong>uri</strong>ngは、『生産を記述できる言語』であり、生産実体の見える化を可能にした生産準備ツールで、組立系における工程設計などの多面的な検証を行うことができます。 これにより、ラインの設計、改善検討や生産関係者間の共有理解と合意形成をご支援し、生準における工程設計の効率化と社内意思決定に貢献できると考えております。 垂直立上のための生準(製準)短http://www.lexermatrix.com/gp4/manufacturing/about/
sargeからetchへのアップグレードでの注意点を整理しておく。 /usr/bin/X11の削除を行う。そのため、Xサーバの関連で独自パッケージ等を追加したりして、/usr/bin/X11に余計なファイルがあると、削除しそこなって、x11-commonが設定に失敗するかもしれない。 pythonの関係で、アップグレードに失敗するかもしれない。pythonアップグレードでpython-minimalというパッケージに含まれるpyversions.pyhttp://blogs.da-cha.jp/momokuri.php/2007/05/27/oldstable_sarge_a_a_stable_etch_a_ca_ra_
http://itpro.nikkeibp.co.jp/article/COLUMN/20070424/269291/
返事が来たので、本題。 はてなブックマーク - ブックマークたつを / 2007年05月02日それぞれのURL(パラメタ付きURL)が意味を持っているサイトなのでまとめちゃうとダメなのです…。例えばWikipediaにボット来て重いからといってトップに飛ばしたら個別記事が検索されなくなりますよね。 by 元記事主 動的コンテンツのpermalinkはどうあるべきか。http://blog.livedoor.jp/dankogai/archives/50822203.html
バカ日本地図について、多数のバカからメールが来ました。驚いたのは「とってもわかりやすくて助かってます」というメールが多かったこと。バカゆえに、事実と違っていてもあまり気にならず、プリントアウトして旅行に出かけんばかりの勢いだったのです。 一刀は悟りました「(バカにとって)従来の地図を超えてしまった」と なので、今後は「バカ」のかわりに「超/ちhttp://www.chakuriki.net/tokyo.html
http://labs.adobe.com/downloads/flashplayer9.html You Tube で、ときどき見えないものがあるようだ。それは、Flash Player 9を必要とするもの。Windows とMacintosh用のものはあったが、Linux版は開発中だった。 prereleaseだが、やっとでた! 早速試すのだ。 http://labs.adobe.com/downloads/flashplayer9.htmlhttp://blogs.da-cha.jp/momokuri.php/2006/10/19/flash_player_9_for_linux
CentOSでは、POP3/IMAPサーバとしてDovecotが用意されており、一般的にはほとんど設定することなく利用可能です。しかし、Dovecotはmobileimapとの相性が悪くmobileimapが起動できないので、CentOSでも従来どおりCo<strong>uri</strong>er-IMAPを動かすことにしました。 なお、squirrelmailでは特に問題が発生しないので、mobileimapを使用しないなら管理を考えるとDovecotを使用したほうが良いと考えます。 ■Co<strong>uri</strong>er-IMAPのhttp://www.aconus.com/~oyaji/centos/courier-imap_centos.htm
昔ながらの情緒の残る界隈はそこに住む人々の暮らしの中に育まれた町並みです。 住まう人々の気持ちを思いながらゆっくり静かに歩いてみましょう。 失われなかった懐かしい情景 谷中・根津・千駄木の頭文字をあわせて谷根千(ヤネセン)。山手線の内側、都心のほぼ中央に位置する台東区谷中、文京区根津、千駄木に広がるエリアをあらわす愛称です。日本橋や神田のようhttp://www.tcvb.or.jp/jp/rashai_tokyo/MEGURI/g_YNS.htm
■よく検索されるキーワード
torrent(114) ドラマ(32) thinkpad(30) x31(29) windows(28) perl(24) wiki(23) linux(22) 動画(21) 画像(16) usb(16) バッグ(16) ノート(15) debian(15) 壁紙(15) 書き方(13) 使い方(12) リフィル(12) 冷蔵庫(12) ほぼ日手帳(12) 修理(12) インストール(11) mp3(11) apache(11) dropbox(11) porter(11) 方眼(10) exzile(10) 作り方(10) 手帳(9) 提案書(9) a6(9) chrome(9) ダイソー(8) xorg(8) hdd(8) ヨドバシカメラ(8) 万年筆(8) ヨドバシ(8) tc-1(8) nikon(8) 古川小百合(8) 写真(8) スーベレーン(7) cvs(7) 無料(7) アレグラ(7) centos(7) google(7) アジェンダ(7) カメラ(7) 映画(7) 三条まゆみ(6) firefox(6) ibm(6) so905ics(6) うなぎ(6) 櫻井翔(6) 秋葉原(6) ダウンロード(6) 2ちゃんねる(6) 腕時計(6) truecrypt(6) 無料動画(6) gtd(6) minolta(6) スーツ(6) skype(5) 今江千佳(5) 無印(5) 時計(5) キーボード(5) シャープ(5) バッグインバッグ(5) 本名(5) ニューヨーカー(5) レビュー(5) fmアンテナ(5) subversion(5) 日本語(5)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 方法 設定 サンプル ダウンロード セール 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 最新 MP3 動画 Torrent 解説 意味 用語集 参考文献 お薦め お勧め おすすめ 便利 Blog ブログ mixi 待受画面 修理Process Time: 0.164356s / load averages: 0.25, 0.42, 0.32
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク