トップ(最新) | <前

nDiki : Wiki

Wiki

Wiki とは?

誰でも、いつでも、どこからでも編集できるページの集りのこと。

スポンサード リンク

Related term

2007年1月29日 (月)

Google での順位はだいたい1週間ぐらいで反映される このエントリーを含むはてなブックマーク

スポンサード リンク

1月20日から激減していた Google 経由でのアクセス数が昨日あたりから回復してきており、今日には以前の状態にかなり戻ってきた。 落ち込んでいたのは約9日間だったという感じ。

Wiki に <meta name="robots" content="noindex,nofollow"> をつけてから検索結果に反映されるようになるまでと、それをまた外してから結果に反映されるようになるまでと、どちらもだいたい1週間ぐらいということか。

落ち込む時よりも回復の方が時間がかかると思っていたのでこれはちょっと意外な気もしたけれど、まずは戻って一安心。


[ SEO ]

◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。
◇ 2GB 無料のオンラインストレージサービス Dropbox に次のリンク先から登録すると今なら 250MB プラス! → Dropbox


[ 1月29日全て ]

2007年3月1日 (木)

WiKickerソフトウェアかんばん このエントリーを含むはてなブックマーク

情報カードベースでソフトウェアかんばん(ストーリーカード + タスクカード)を作っている開発プロジェクトがあるのだが作ったっきりあまり活用されていないので、今回は試験的に WiKicker による Wiki 上でかんばんを作ることにした。

まだ荒削りだけれども、まずはとにかく以下のルールで始めてみる。

@ ルール

@ カードの作り方

基本的には 1カード毎に WikiPage を作るようにする。 ページ名はストーリーカードを表す SC と 状態 (TODO / DOING / DONE) を含む名前にする。

  • SC/TODO/<ストーリー名>
  • SC/DOING/<ストーリー名>
  • SC/DONE/<ストーリー名>

タスク名も同様に作る。

  • TC/TODO/<ストーリー名>
  • TC/DOING/<ストーリー名>
  • TC/DONE/<ストーリー名>

カードの内容は XP で扱っている内容で。 新規作成が楽なようにテンプレートページを作っておき、これをコピーして作れるようにしておく。

@ 状態変更

TODO -> DOING -> DONE という状態変化にあわせて、WikiPage 名を変更してページを移動させる。

 例:
 TC/TODO/名前をつけて保存メニューを追加
   |
   V
 TC/DOING/名前をつけて保存メニューを追加
   |
   V
 TC/DONE/名前をつけて保存メニューを追加
@ 一覧ページの作成

SC/TODO、SC/DOING、SC/DONE、TC/TODO、TC/DOING、TC/DONE ページを作りそれぞれに、子階層の一覧を表示させる (WiKicker の [[index:child]] を使用)。

@ 参照

タスクカードからは「SC/<ストーリー名>」という名前で、ストーリーカードへリンクさせる。

WiKicker では「SC/<ストーリー名>」というページない場合、「SC/*/<ストーリー名>」というページを探してリンクしてくれる。この機能のおかげで、状態にあわせてページ名を変更してもリンクはそのままで追従してくれる。

@ 担当者

担当者が割り当てられて実行中のタスクカードには [[DOING:担当者名]] という文字列を記述しておく。

「DOING:担当者名」で検索することで、各担当者が何を実行中なのかリストアップすることができる。また DOING: を「DOING:担当者名」を検索する Wiki 自身への InterWiki として定義しておくことで、この記述自体を検索結果へのリンクとすることができる。


WiKicker / DiKickerAutomaticLink 長を可変にした このエントリーを含むはてなブックマーク

「が」や「は」など頻出する文字の WikiPage を作ってしまった場合、それらに対して自動リンクが働いてしまうと大変なことになるので、WiKicker では2文字以上のみ対象とするようにしていた。

しかし nDiki を書いていて、1文字のキーワードも自動リンクしたいという風に思えてきていた。 誰でも書ける Wiki の場合には危険で制約が必要だけれど、全てのキーワードが著者のコントロール化にある DiKicker では1文字のキーワードに対して自動リンクが働いても問題ないだろう。

ということで自動リンクが働く最低文字列長をプロパティで設定できるようにした。 2004年ぐらいからほとんど手をつけていなかった、AutomaticLink 処理モジュールを久しぶりにメンテナンス。 もともと2文字以上を前提でコーディングしてあったので、trie 部分などが1文字できちんと動くか確認した上で、文字列長チェックを可変に修正。 WiKickerDiKicker 両方で設定で変えられるようにした。

またあわせて、英単語の部分文字列に対して自動リンクしないようにする処理も改善。 今までは `downloaded' に対して `loaded' はマッチしないようにしていたものの、'download' はマッチしてしまっていた。 このあたりを改善。


[ 3月1日全て ]

2007年4月3日 (火)

WiKickerJSON でのページ出力機能を追加 このエントリーを含むはてなブックマーク

最近は DiKicker ばかりに手を入れていたが、久しぶりに WiKicker の改良も行っている。 しばらく前から実装を始めていた JSON 形式での出力機能が今日完成。

今までは WikiPage について

  • HTML 形式による出力
  • Wiki 文法で書かれている生テキスト形式による出力

という2つの出力形式を持っていたので、JSON が加わることで3つめとなる。

@ サーバ側で WikiPage の構文解析まではやる

クライアントサイドの JavaScript でページの内容に合わせて様々な処理をできるように、サーバ側で構文解析まではしてあげるというのが主な目的。

JavaScript でまたパーサを書いてメンテしていくのも大変なので、その部分はサーバでやってしまおうかと。 構文解析した結果の解析木を JSON 形式で返して、JavaScript 側であとはお好きにという形。

@ CPAN にある JSON モジュールを使用

サーバ側の Perl プログラムには、構文解析をして解析木を作れるようになっている。 この解析木から Visitor パターンで JSON 形式を生成していく。

依存モジュールを増やすことを避けるべく、最初は自前で JSON 形式に変換していこうと思ったのだがやっぱり面倒だった。 ということで CPAN にあるモジュールをチョイス。

JSON 関連では JSONJSON::Syck、JSON::PC などがあるが今回はインストールのしやすさを考えて pure Perl モジュールとして実装されている JSON を採用することにした。

Visitor クラスで解析木を無名ハッシュ/無名配列のツリーに変換して、JSON モジュールに流しこめば OK。

 use JSON;
 my $json = JSON->new(pretty => 1);
 my $js = $json->objToJson($tree);

WiKickerフレームワークにはフォーマット別に出力を切り換える機構があるので、これに JSON を追加して application/json で送るようにして完成。

ちなみに残念ながら JSON 1.07 は Perl 5.005_03 では make test が fail するので、NaneyOrgWiki では使えない。


[ 4月3日全て ]

2007年8月23日 (木)

無制限 HTML タグ付けブロックを使って nDikiGoogle Maps を貼る このエントリーを含むはてなブックマーク

Google Maps が ID を取得しないでも簡単に自分のサイトに貼れるようになった。 Google Maps で表示される HTML コードをページに埋め込めば、好きな場所の地図を貼ることができる。 これは嬉しい。

早速 nDiki でも貼りたい。

しかし WiKicker という WikiEngine をベースとした DiKicker を使っている nDiki では、現在のところ直接 HTML コードを使えるようにしていないのである。

HTML タグ付けを許すのは嫌」というスタンスできたのだが、他のサービスを貼るという魅力にはやはり勝てないな。 HTML 直書きを許すのは大局的にはデータ活用性などで好ましくない部分もあるが、各種サービスを活用できないで利用価値が下がるのは本末転倒なので、わかった上で使うということで。

ということで nDikiHTML タグ付けブロック機能を有効に設定。

ちなみに現行では HTML::Scrubber ベースで、使えるタグ・属性に制限をつけるフィルタしか用意してなかった。これだと Google Maps のコードがそのまま貼れない。 ということで「DiKicker」および「書く人が限定されているような Wiki」での利用を想定した無制限にスルーするフィルタモジュールを新規追加。

これで Google Maps を貼れるようにした。

では早速。


拡大地図を表示

[ 8月23日全て ]

2007年11月23日 (金)

最近の Twitter ステータスを nDiki最近のさえずり」ページに自動表示 このエントリーを含むはてなブックマーク

11月9日から「Twitter ステータスを nDiki サイドバーに表示」しているのだが、それで使っているスクリプトにちょっと手を加えて「最近のさえずり」という nDiki ページを自動生成/更新するようにした。

サイドバーRSS フィードと同じく最近の20件を表示するのに対し、最近のさえずりページには数日分表示するようにした。

ここ最近は Twitter のステータスをとりまとめて、ライフログ的に nDiki に上げているのだが、今までは Twitter Web ページやサイドバーの部分から手作業でコピーして日時やリンクを整形していたので面倒であった。

今回の(30分毎に)自動更新するページは最初から WiKicker / DiKicker 用の Wiki 文法で出力している。 なので、これからはこの自動生成ページから必要なものだけを抜き出して貼り付ければよい。 これで楽ちんになるはず。

ほぼ自分用。自己満足。


[ 11月23日全て ]

2008年1月7日 (月)

ケータイ用にプライベート Wiki を設置 このエントリーを含むはてなブックマーク

パケ・ホーダイ契約してから、MovaTwitterRTMモバイル Gmail などで携帯電話を活用するようになった。そんななか、決定打がないのが、ノートアプリケーション。電車の中などの隙間時間に、この nDiki の 下書きなどはケータイでできるようにしたい。

Google ドキュメントが使えればいいが、前年ながらまだiモードでは使えない。 メールベースでやる手もあるが、メモには良いものの再編集を繰り返したいようなものに難がある。

ということで自前でプライベート Wiki を立てそこに書き込んでみることにした。

@ iモードから WiKicker

使う WikiEngine はいつも通り自作の WiKicker

書き込んだテキスト内のキーワードを nDiki自動リンクさせることができるので、パーソナルナレッジベースとして自分にとっては一番便利。書式も同じなので、Wiki に書いた下書きを、そのまま nDiki で使える。

肝心のケータイからの書き込みだが Ajax 等凝った技術を使っていないおかげで、問題なく FOMA 端末(D703i)からiモードで読み書きできた。WiKickerUTF-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 リクエスト自体は有効で書き込みがロストすることはないようだ。

しばらくはこれで読み書きしてみよう。


[ 1月7日全て ]

2008年3月30日 (日)

Google ドキュメントソフトウェアかんばん このエントリーを含むはてなブックマーク

ソフトウェア開発見える化としてソフトウェアかんばんの良さは実感しているのだが、分散開発ではさすがに「情報カードで」というわけにいかず実行しにくい。

今回の分散開発プロジェクトに向けていろいろ考えた結果、Google ドキュメントのスプレッドシートを使ってソフトウェアかんばんを遠隔共有してみようと思う。

@ 他の検討候補

TRICHORD を使ってみたいのだけれど予算の問題が。 検討したのは以下。

  • TRICHORD - 本命。使ってみたいが予算が。
  • Firefox + Internote (light-board.com ライク) - カード感は十分。しかし共有に難。
  • 影舞用に新しくソフトウェアかんばんテンプレートを作る - 影舞を使い慣れているという点では○。ただストリーカードとタスクカードをどう扱うかが課題。
  • Wiki - 以前やって失敗した。
  • XPlanner - インストールと学習が手間。それと開発止まっている?
  • その他 Agile Project Management Tool - カードメタファで良さそうなのはあるが、予算が。
  • Google ドキュメント プレゼンテーション - 矩形をカードにしようとしたが文字は別オブジェクトで書かなければならず×。文字の背景を設定するというのも試したが見栄え・操作性が良くなかった。

スプレッドシートだとカードっぽさが薄れるが、共有・同時編集という点では安心して使えるし最大行数的にも OK。 一番運用しやすそうだということでこれでいくことにした。

@ スプレッドシートの作成

以下のようにスプレッドシートを作る。

  • 1シート目はインフォメーションシートにする。ソフトウェア概説・かんばんルール・通信事項などを書くのに使う。
  • 2シート名以降をかんばんにする。複数ソフトウェアならシートを分けてもよいかもしれない。
  • かんばんシートE列の背景を「条件をに応じて変更」で本日より前だと赤くなるように設定する。
  • かんばんシートF・G・H列の背景を「条件に応じて変更」で @ と書くと背景がそれぞれ赤・黄・青くなるようにする。

@ カードの書き方

内容
Aカード番号をつける。
ストーリーカードは S番号。タスクカードは S番号T番号とする。
Bカード作成日を書く。
Cストーリーカードの時にストーリー名と作成者名をかく。
Dタスクカードの時にタスク名と作者名をかく。
E期日をかく。
FTODO の時に @ とかく。DOING に移行した時は @ を消す。
GDOING の時に @ と開始日、担当者の名前を書く。DONE に移行した時は @ を消す。
HDONE の時に @ と終了日、担当者の名前を書く。
I備考欄

TODO、DOING、DONE 列は1列にまとめることもできるが、ちょっとは「かんばん」っぽくなるかと思って分けることにした。

@ 運用

  • カード番号は重複しないように。
  • カードの状態にあわせて @ を書き換えていく。
  • DOING から TODO に移る時には、開始日と担当者名を消さないで残しておく。
  • 列単位でソートしないこと。
  • タスクの粒度はできるだけ揃える(例えば半日~1日にする)。

@ 課題

  • カードが増えた時に使いにくくならないか? 終わったカードを別シートに分けるルールなどを考える。
  • タイムボックス等にあわせて並べ替える時の手間。
  • カード番号が手動。
  • 集計について考慮していない。

[ 3月30日全て ]

2008年7月23日 (水)

2008年夏の GTD 運用ツール このエントリーを含むはてなブックマーク

ほぼ日手帳使用再開したんで、GTD をサポートしているツールを久しぶりに書き出してみる。 今後は以下の体制で。

RHODIA No11inbox
Remember The Milk (RTM)inbox (携帯電話からメールで入力)、次の行動リスト(リピートものと買い物リスト)
システム手帳いつか/もしかしたらリスト(願望系)
Gmail外出先参照ファイル (KB ラベル)
Google カレンダー時間を決めたスケジュール (マスター)
ThinkingRock (TR)inbox、次の行動リストプロジェクトリストいつか/もしかしたらリストtickler file
ほぼ日手帳時間を決めたスケジュール(コピー)、tickler file次の行動リスト(Personal なものを ThinkingRock からプリントアウトしたものを挟み込む)

@ inbox

キャプチャツールとしてのRHODIA No11 は使用開始(記事)以来3年ほど経つが健在。手書き時のキャプチャはこれ。 移動中で片手で入力したい時はケータイから Gmail フィルタ経由で Remember The Milk (RTM) 受信箱へ。

これらは ThinkingRock (TR) の inbox に投入される。PC に向かっている時は直接 TR へ。

@ 次の行動リスト

基本は TR 上。階層化したプロジェクトの下に直接アクションを書いておけるのが非常に便利。それと次の次の行動を一緒にプロジェクト上に inactive として作成しておくと、前の行動を完了にすると同時に自動的に ASAP にしてくれる機能がある。これのおかげで思いついた先々の次の行動を積んでおけるのでグッド。

Personal なアクション・自宅がコンテキストなアクションについては、PC レスで参照したいので今のところデイリーで TR から PDF エクスポートして A4印刷手帳に挟み込んでいる。これは工夫の余地あり。

ケータイから参照できるようにするため、買い物リストは RTM に。

ルーチンワークなどのリピート系も RTM

@ プロジェクトリスト

TR に全面的に移す予定。一部まだシステム手帳に残っている。

@待つリスト

これも TR に全面的に移す予定。一部まだシステム手帳に残っている。

@ スケジュール

Google カレンダーがマスター。

  • 日時変更が容易。細かい作業予定もストレスなく入れておける。
  • ケータイにリマイダメールを送れる。
  • 共有/公開できる。
  • 済んだイベントをログ化しておける。

という点で紙ベースより便利。

ポイントメント等の重要項目は、手書きでほぼ日手帳と同期する。 これはミーティングや自宅など PC レスでさっと確認できるようにしたいため。 同期の手間の削減と、同期漏れをないようにするのが課題。

@ いつか/もしかしたらリスト

Someday/Maybe については、指定した期日に再度通知させたい場合はやはり TR に入れておくことにしよう。 ただ、行きたい場所リストや願望的なリストは紙で眺めた方がよさそうなので、これはしばらくシステム手帳に。

@ 参照ファイル

これはそれぞれ適宜。 システム手帳に書いておいてもほとんど参照しなかった。 ケータイ用プライベート Wiki (記事)も結局使わなくなった。 TR の Reference も多分使わない。

外出先で参照する可能性のあるメモは、Gmail 上に KB (knowledge base の意で) ラベルをつけて置くようにしている。 ケータイから参照するのにはまずはこれで。

@ tickler file

tickler については今までほぼ日手帳/ダイアリーのリマインドしたい日にメモしておくことで実現していた。これは継続。

TR の Someday/Maybe からの Tickle on も確実に inbox に入れてくれるという点で良さそげなので、一部使ってみることにする。

@ システム手帳について

ほぼ日手帳復活なので、システム手帳は不要にしたい。 しかし

などの数年スパンで固定的あるいは逆に差し替えがおきるものについては、綴じ手帳だと融通がきかないのでやはりシステム手帳を潰せないんだよなあ。 これも今後の課題。


[ 7月23日全て ]

2009年12月23日 (水)

www.naney.orgさくらのレンタルサーバへ移転 このエントリーを含むはてなブックマーク

naney.org メールサーバの移転に次いで、Web サーバの移転作業。

@ 静的コンテンツのアップロード

現行 Web サーバUnisonファイル同期している Web コンテンツを、さくらのレンタルサーバUnisonファイル同期

@ WiKickerインストール

nDiki 用に DiKicker (WiKicker) を make install。

 %bash
 $perl -MCPAN -e mkmyconfig
 $perl -MCPAN -e shell
   o conf makepl_arg PREFIX=/home/naney/local/WiKicker
   o conf mbuildpl_arg --install_base=/home/naney/local/WiKicker
   o conf commit
   notest install CGI::SpeedyCGI

 $tar zxvf WiKicker-0.420.tar.gz
 $cd WiKicker-0.420
 $export PERL5LIB=$HOME/local/WiKicker/lib/perl5/site_perl/5.8.9
 $perl Makefile.PL PREFIX=$HOME/local/WiKicker
 $make
 $make install

以前きっちり Module::InstallMakefile.PL を作っておいたおかげで、比較的スムーズにインストールできた(自画自賛)。

ちょっとはまったところは CGI::SpeedyCGI の make test を実行する(される)と SSH 接続がサーバ側から切られてしまうという現象にあったところ。 テスト用に大量にスクリプトが起動されるの検出して自動的に kick されたのだろうか。

@ .htaccess の修正

さくらのレンタルサーバでは .htaccess Options が使えないようなので削除。 ExecCGI や MultiViews が有効になっているようなので問題なし。

@ いつくかのスクリプトの修正

Perl 5.005_03 用に書いてあったスクリプトについて、Perl v5.8.9 で文字化けしないように utf8 まわりを修正。

@ cron 設定

1時間毎に実行したい処理を列挙するシェルスクリプトを1つ作って、コントロールパネルから1時間毎に実行するように設定。

現行サーバでは任意の crontab を設定できたので、1時間毎はちょっと物足りない。 おいおい負荷にならない範囲で、外部から定期的に HTTP アクセスして処理を定期的に実行できるようにもするかな。

@ DNS 設定変更

まだ動いていないスクリプトもあるけれど(大きいところだと NaneyOrgWiki (Wiki))現行サーバの解約日もせまっているので、サーバ移転させてしまうことに。

VALUE-DOMAINDNS サーバ設定を変更し www.naney.orgさくらのレンタルサーバにアクセスできるように A レコードを変更。

今のところ特に重い等もなく順調。 現行サーバでは深夜非常に重くなる時間帯があったのだが、それが無くなるのが嬉しい。 また容量が100MB*1から10GB*2になったので心理的にセーブしなくて良くなった。

年内に移行できて良かった良かった。


[ さくらのレンタルサーバ プレミアム ]

*1メール等別

*2メール他を含む


[ 12月23日全て ]

2010年2月18日 (木)

今日のさえずり - ホントに真っ白でビビった このエントリーを含むはてなブックマーク

@ 2010年02月18日

  • 07:21 何となく「窓開けたら真っ白だったりして」って寝ぼけてたんだけど、起きてカーテン開けたらホントに真っ白でビビった。 L:東京都
  • 09:05 今日は有給休暇です。
  • 09:42 @aokimarky お子さんおめでとうございます!
  • 14:55 2009年5月4日賞味期限の柿の種が出てきた。
  • 15:37 湿気ってたけれど喰えた。
  • 16:22 さて、風呂
  • 17:42 風呂上がった。すっきり。腹ヘリ。
  • 23:32 よく寝た。
  • 24:03 @kmunaka こんにちは。もしかして以前 Wiki つながりでお会いしたけいむなさんですか?
  • 24:13 Life-X かなり久しぶりにログインした。フレンドがいないしやっぱり全然面白くない。 http://life-x.jp/
  • 24:43 2010年2月15日の歩行: 4497歩、3.48km、37分、5.58km/h、消費 176.2kcal、脂肪燃焼 25.2g、2.6エクササイズ。
  • 24:44 2010年2月16日の歩行: 6244歩、4.84km、52分、5.54km/h、消費 242.6kcal、脂肪燃焼 34.7g、3.6エクササイズ。
  • 24:46 2010年2月17日の歩行: 6040歩、4.67km、51分、5.42km/h、消費 231.5kcal、脂肪燃焼 33.0g、3.3エクササイズ。
  • 24:46 2010年2月18日の歩行: 0歩、0.00km、0分、0.00km/h、消費 0.0kcal、脂肪燃焼 0.0g、0.0エクササイズ。
  • 25:08 チョコレートありがとう。 [Flickr] =http://goo.gl/fb/iU3C

[ 2月18日全て ]

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 0.044838s / load averages: 0.35, 0.32, 0.27
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)