nDiki : PageName
スポンサード リンク
Related term
2002年10月20日 (日)
■ WiKicker 実装

URI まわりと、DB まわりの実装すすめる。UTF-8 PageName をファイル名にマッピングするのに base64 を使おうと思ったら、符号化される文字に '/' が含まれているのか。 '.' に置き換えた変形 base64 にすればいいかな。
- WiKicker における PageName 最長文字数 (2006-06-10)
- 最後がピリオド(.)で終わるファイル名をつけられない (2005-04-19)
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- base64 亜種でのファイル名生成と、Windows (2005-04-21)
- WiKicker 0.35 リリース - 添付機能の修正など (2006-06-20)
2004年2月9日 (月)
■ [ WiKicker ] 自動InterWiki

一昨日実装した、 複数のキーワード集合による、AutomaticLinkモジュールを WiKicker CGI プログラムから使えるようにしてみた。
ローカルにおいておいたキーワードリストファイルを読み込み AutomaticLink 処理(WikiForum 内で AutomaticLink でマッチしていない部分文字列に対して)。 マッチした場合は InterWiki を使ってURIに変換しリンク化する。
あわせてIndexPage.txtでWiKicker WikiForum 内の PageName を取得できるようにした。
これで例えば、2つの WiKicker WikiForum が cron で互いの IndexPage.txt を定期的に取得し、AutomaticLink するようにすれば、相補的に連携する事ができるようになる(ただし AutomaticLink のみ。WikiName や BracketName は依然としてその WikiForum 内のみ)。
AutomaticLink でのリンク先は(指定した)任意の InterWiki で定義できるので、あるキーワード集合について Google の検索結果ページや「はてなダイアリーキーワード」への自動リンクも実現可能(はてなダイアリーキーワード自動リンクAPIはキーワードリストではなく正規表現を返してくるので、元に戻す必要有り。またあれだけ巨大なキーワードリストだと毎回 AutomaticLink のために、trie 再生成するのも辛いのでもう一工夫必要)。
- [ WiKicker ] 複数のキーワード集合による、AutomaticLink (2004-02-07)
- [ WiKicker ] 憧れのサイドバー (2004-01-23)
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- はてなダイアリーキーワード自動リンクAPI (2004-02-05)
- [ WiKicker ] 「最近のアクセスログ」処理思案 (2004-01-17)
2004年2月12日 (木)
■ [ Perl ] Devel::SmallProf

行毎のプロファイリングを実現する Perl モジュール。 メジャーどころの Devel::DProf がサブルーチン毎なのに対して、こちらはより細かい粒度で実行回数などを計数できる。
WiKicker だと、PageName <-> FileName の部分がページ数が増えるに従って気になりだしたな。 PageName リストファイルとか作ってそれを読み書きするのとどちらが速いだろうか。
- Punycode はファイル名用エンコーディングには向かない (2005-05-06)
- WiKicker に JSON でのページ出力機能を追加 (2007-04-03)
- WiKicker と GNU GPL (2005-05-10)
- 野良パッケージと依存 Perl モジュールのインストールセット をCPAN... (2006-02-11)
- WiKicker の Makefile.PL を Module::Inst... (2006-02-10)
2004年5月21日 (金)
■ AWStats 6.0

www.naney.org のアクセスログをローカルにもってきて統計解析をするのに、今回は analog ではなく AWStats を使うことに。
以前 www.naney.org に入れてみた時より、随分使いやすくなった感じ。
@ セットアップ
Debian パッケージを入れた後、awstats.naney.org というバーチャルドメインをローカルのApacheに用意(/var/www/awstats.naney.org)。
Alias /icon/ "/usr/share/awstats/icon/"
も設定に追加しておく。
ファイルレイアウト:
/var/www/awstats.naney.org/
|
+-- .htaccess
|
+-- awstats.conf <-- 作成
|
+-- awstats.pl <-- コピーしてきて一部修正
|
+-- cache <-- DNSキャッシュ用 (まだ未使用)
|
+-- data <-- データを保存
|
+-- plugins <-- プラグイン
|
+-- wikicker.pm <-- /wiki/(.*).html を $1 で表示するプラグイン(自作)
awstats.pl はパッケージのものをコピー。DecodeEncodedString の中で Jcode.pm を使って文字列を UTF-8 に変換するように修正。
ローカル用なのであまり気にせず DocumentRoot の下にもりっとファイルを置いておく。
awstats.conf はこんな感じ。
LogFile="/path/to/downloaded-log/access.log" LogType=W LogFormat=1 LogSeparator=" " DNSLookup=2 DirData="./data" SiteDomain="www.naney.org" HostAliases="localhost" DNSStaticCacheFile="cache/dnscache.txt" DNSLastUpdateCacheFile="cache/dnscachelastupdate.txt" URLWithQuery=1 URLReferrerWithQuery=1 LevelForWormsDetection=2 ShowWormsStats=1 LoadPlugin="wikicker" ValidHTTPCodes="200 304 -"
ValidHTTPCodes の '-' というのは、本来不要。自前のSSIで似非 Combined Log を生成する際に '-' を出力する事があるので追加。
日本語もきちんと出るしいい感じ。 指定した月ではなく、指定した日のログを見れるといいのだが設定すればできるようにならないかな。
analog と違ってプラグインが使えるのが良い。 Perlスクリプトだから、その気になれば簡単に awstats.pl 自体を変更する事もできるし。
今回は ShowInfoURL 用プラグインを書いて、/wiki 以下のURLの際は unescape して PageName を表示するようにしてみた。
その他いろいろ遊べそう。
- WiKicker における PageName 最長文字数 (2006-06-10)
- Web 解析サービス Google Analytics を申し込む (2006-10-26)
- 本サイトの Referer 統計復活 (2000-11-05)
- [ WiKicker ] 「最近のアクセスログ」処理思案 (2004-01-17)
- 最後がピリオド(.)で終わるファイル名をつけられない (2005-04-19)
2005年4月19日 (火)
■ 最後がピリオド(.)で終わるファイル名をつけられない

Windows で「最後がピリオド(.)で終わるファイル名」を新規作成する。 最後のピリオド(ドット)が無くなる。
……。
8.3形式の名残なのか? Explorer 上で作成しても、プログラム(Perlスクリプト)から作成しても駄目。
環境は Windows XP Home Edition SP2 + NTFS。 Windows 2000 + NTFS でも同様。
@ WiKicker
これは WiKicker のテストをしていて気がついた。 WiKicker では「PageName の base64 を生成し 『/』 を 『.』 で置き換えたもの」をファイル名にしている。 例えば UTF-8 で「タ」は
44K/
となるので、ファイル名は 「44K.」となる。 で最後の文字が消えてしまうので、デコードするとおかしくなると。
これを機会に Windows 環境でのエンコーディングは RFC3548 「4. Base 64 Encoding with URL and Filename Safe Alphabet」を使うように変更するか。
本当は全てこれに変更したいのだけれど、すでに動いている WikiForum の事を考えると移行は難しいかも。
- WiKicker における PageName 最長文字数 (2006-06-10)
- WiKicker 実装 (2002-10-20)
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- ケータイ用にプライベート Wiki を設置 (2008-01-07)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
2005年5月6日 (金)
■ Punycode はファイル名用エンコーディングには向かない

WiKicker の Win32 用ファイル名エンコーディングとして使えないかなと考えていた、 Punycode を試してみる。 実装としては IDNA::Punycode Perl モジュールを使用。
- 空白は空白のまま
- / は / のまま
- アルファベットは大文字小文字を維持したまま
という点で PageName をファイル名にエンコードするのには向いていないことがわかった。 「エンコード後の文字列が短い」「コードが小さい」等の特長があるらしいので、期待していたのでちょっと残念。
- [ Perl ] Devel::SmallProf (2004-02-12)
- WiKicker における PageName 最長文字数 (2006-06-10)
- WiKicker 実装 (2002-10-20)
- 最後がピリオド(.)で終わるファイル名をつけられない (2005-04-19)
- WiKicker の Win32 対応 (2005-04-04)
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)
- 最後がピリオド(.)で終わるファイル名をつけられない (2005-04-19)
- WiKicker 0.35 リリース - 添付機能の修正など (2006-06-20)
- WiKicker 実装 (2002-10-20)
- AWStats 6.0 (2004-05-21)
2008年1月7日 (月)
■ ケータイ用にプライベート Wiki を設置

パケ・ホーダイを契約してから、MovaTwitter・RTM・モバイル Gmail などで携帯電話を活用するようになった。そんななか、決定打がないのが、ノートアプリケーション。電車の中などの隙間時間に、この nDiki の 下書きなどはケータイでできるようにしたい。
Google ドキュメントが使えればいいが、前年ながらまだiモードでは使えない。 メールベースでやる手もあるが、メモには良いものの再編集を繰り返したいようなものに難がある。
ということで自前でプライベート Wiki を立てそこに書き込んでみることにした。
@ iモードから WiKicker
使う WikiEngine はいつも通り自作の WiKicker。
書き込んだテキスト内のキーワードを nDiki へ自動リンクさせることができるので、パーソナルナレッジベースとして自分にとっては一番便利。書式も同じなので、Wiki に書いた下書きを、そのまま nDiki で使える。
肝心のケータイからの書き込みだが Ajax 等凝った技術を使っていないおかげで、問題なく FOMA 端末(D703i)からiモードで読み書きできた。WiKicker は UTF-8 でページを出力しているが、網側か端末側の処理かは知らないが今のところ問題なし。
なお認証は簡単に Basic 認証で済ますことにした。 安全とは言えないがそれほど重要なデータを置くわけではないしいいかな。 cookie は必要ないし WikiEngine に手を入れなくてもよいので、すぐできるのはコレ。
ユーザ名とパスワード付きのトップページ URL を端末でブックマークしておけば1発でアクセスできる。
@ Google Mobile Proxy 経由で使う
これでケータイ(と PC)から使えるプライベート Wiki を設置できたわけだが、なにぶんもともとケータイをサポートしている WikiEngine ではないため、長いページの分割機能などはないのがちょっと不安。PageName で生成される URL が長くなった時の振る舞いもちょっと不安。
そこで Google Mobile Proxy (http://www.google.co.jp/gwt/n) 経由で Wiki を使うことにした。 ページを携帯端末向けに変換してくれる proxy で、Basic 認証もできるしフォーム の POST もできる。
Google Mobile Proxy 経由で見たページ内のリンク先も全て自動的に proxy 経由になるので、 PC 向け Web ページの URL を書いておけばそのまま携帯電話で見ることができる。
安全のためか、比較的短い一定時間立つと認証の再確認画面が表示されてしまうが、ユーザ名とパスワードを入力すれば、セッションは継続される。 テキスト編集に時間がかかってしまうと POST する時にひっかかってしまい認証の再入力がちょっと面倒だが、再認証が通れば POST リクエスト自体は有効で書き込みがロストすることはないようだ。
しばらくはこれで読み書きしてみよう。
- 半分は Twitter のためにパケ・ホーダイを契約 (2007-08-01)
- ビジネス用電話番号をマルチナンバーで追加した (2007-09-20)
- さよなら PHS (2007-02-10)
- SO905iCS ファーストインプレッション (2008-02-16)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
スポンサード リンク
■よく検索されるキーワード
提案書(75) torrent(69) perl(61) 書き方(45) 充電式カイロ(43) windows(38) x31(36) 使い方(32) linux(32) cvs(25) アジェンダとは(25) usb(25) thinkpad(23) 静電気(21) サンプル(20) 口コミ(20) ヨドバシ(20) アジェンダ(20) 画像(19) debian(19) ubuntu(19) mp980(18) f-01a(18) 手帳(17) tc-1(17) 秋葉原(16) ssh(16) subversion(16) グッズ(16) a6(15) 壁紙(15) ほぼ日手帳(15) c#(14) ダイソー(14) svn(14) 交換(14) インストール(13) 加湿器(13) firefox(12) ノート(12) 無印(12) 日本語(12) wiki(12) ganttproject(12) デロンギ(11) 方眼(11) ヨドバシカメラ(11) デザイン(11) nikkor(11) 設定(11) 作り方(11) dropbox(11) af(10) terastation(10) memcached(10) レビュー(10) カバー(10) カイロ(10) 2009(10) 除去(10) nikon(10) tortoisesvn(10) クラリチン(9) ガントチャート(9) 動画(9) ポメラ(9) ご査収(9) rcs(9) モジュール(9) n-01a(9) フィルム(9) 写真(9) システム手帳(9) edition(9) porter(9) xp(8) imap(8) 4c(8) docomo(8) ミニ6穴(8)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザインProcess Time: 15.226081s / load averages: 0.47, 0.39, 0.41
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク