nDiki : DiKicker

2007年11月5日 (月)

[ DiKicker ] 関連語から、着目キーワード記事内の語を除外

DiKicker が持っているキーワード毎の関連語表示機能(2005年6月4日)は、関連する語を発見したりたどったりするのに思ったより便利で、よく自分でも使っている。 特にキーワード記事に明示的に関連語リストをつける時に参考にしている。

ただ現在の実装だと(当然)キーワード記事に書いた関連語リストによって関連度がさらに上がるので、新しい語が発見できなくなってしまう。

ということでキーワード記事に出現する語は、関連語リストに含まれないようにした。 合わせて関連語表示数も 20 から 30 に調整しておいた。

これで

  1. あるキーワードの関連語を見る。
  2. 関連語表示を見て関連語を探し、重要ならキーワード記事で言及する。あるいは関連情報としてリンクする。
  3. 関連語表示には、その語が取り除かれて次点の語が表示されるようになる。

という流れで情報発見できるようになった。 ページ間のリンクも強化されるので SEO 的もちょっといいのかな。

スポンサード リンク
[ 11月5日全て ]

2007年11月9日 (金)

Twitter ステータスを nDiki サイドバーに表示

公式の Flash 版 Twitter badge をこのページのサイドバーに表示していたが、以下の点でちょっと不満だった。

  • 「Flash, Just Me」: 自分のみのステータスを表示できるが、1度に1つのみ。キャッシュの関係で古い情報が表示されがち。
  • 「Flash, With Friends」: 自分のみのステータスを表示できない。
  • 「HTML/JavaScript」: JavaScript ファイル読み込みなので、Twitter 側が重いとページのその先のレンダリングが止まってしまう。

「自分の過去のステータスを一覧的にサイドバーに表示する」のがしたいことなのだが、ちょっとマッチしない。 ということで Twitter から RSS フィードを取ってきて、サイドバーに表示することにした。

使ったモジュールは URI::Fetch + XML::RSS + Date::Parse。 それとユーティリティとして WiKicker::HTML と WiKicker::URI。

  1. cron で定期的に Twitter から RSS フィードをとってきて、Perl スクリプトで HTML フラグメントに変換。
  2. DiKicker が読み込む(サイドバーを含む)フッタファイルに挿入。

と簡単に実装してみた。機能的には概ね満足。

今後は L:~ や URL自動リンク化、キーワードの自動リンク化を適宜したい。

[ 11月9日全て ]

2007年11月23日 (金)

最近の Twitter ステータスを nDiki最近のさえずり」ページに自動表示

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

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

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

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

ほぼ自分用。自己満足。

[ 11月23日全て ]

2008年8月23日 (土)

フィード向け AdSense を追加してみた

Google AdSenseで「フィード向け AdSense」が利用可能になったので、nDiki に追加してみた。

Google AdSenseにログインして nDikiURL を指定してフィードを登録すると、FeedBurner 上にフィードが作成される。

www.naney.org 側では nDiki のフィードへのアクセスがきたら、FeedBurner 上のフィードへリダイレクトするように設定する。 ただし FeedBurner から巡回がきた際にはリダイレクトせずに、nDiki のオリジナルフィードにアクセスさせる。

www.naney.org のトップディレクトリの .htaccess に以下を追加。

 RewriteEngine on
 RewriteCond %{HTTP_USER_AGENT} !FeedBurner
 RewriteRule ^diki/d/rss\.rdf$ http://feedproxy.google.com/nDiki [L,R]

思ったよりあっけなく設定終了。

今のフィード URL が既にフィードリーダーに登録してもらっていることを考えて nDiki (DiKicker) に「FeedBurner 向けに別 URL でのフィード出力機能」と「現在のフィード URL からのリダイレクト機能」を追加する必要があるなと思っていたのが、mod_rewrite が使えれば手間無しだった。

nDiki のフィードと同様の内容に広告が挿入されたバージョンのフィードが http://feedproxy.google.com/nDiki で表示されることを確認。

せっかくなので FeedBurner のレポート機能もチェックしてみることにしよう。

[ 8月23日全て ]

2009年1月19日 (月)

Web 日誌 / Web 日記を書き始めてから10年

当初「コンピュータ日誌」として日付ベースの記事を書くようになって(記事)から満10年。

当初は m4 ベースで HTML テンプレート処理をしていた。 その後記事を XML 形式にし、Perl スクリプトで HTML ページ生成する方式に変更。 2001年5月には Naney's Diary としてハイパー日記システムを使い始めた(記事)。 2004年2月に名前を nDiki と改め、自作 WikiEngine をベースとした日記システム DiKicker で記事を書くようになった(記事)。

文章はあいかわらず上手くなってはいないけれど、書き続けることでいろいろ得ることも多かったと思う。

  • 記事化を念頭に、仕事・生活の中でアンテナを張りより物事を考えて生活することが習慣になった。
  • 自分にとって有用なパーソナルナレッジベースが築けた。
  • 各種 Web 技術をトライする実験場となった。
  • 多少人の役にたった。
  • 多少収入になった。

みんなも書くといいよ。

[ 1月19日全て ]

2009年7月2日 (木)

今日のさえずり - やはり外部キー制約がネックだったか

2009年06月30日

2009年07月01日

  • 12:31 2009年6月30日の歩行: 8194歩、6.25km、76分、4.91km/h、消費 310.1kcal、脂肪燃焼 44.3g、4.2エクササイズ。 *P3
  • 16:25 外部キー制約外したら DELETE 時間が余裕で1/10以下になった。やはり外部キー制約がネックだったか。 *P3
  • 18:55 今日までの定期券更新完了。 [mb]
  • 19:24 折り畳み傘を買いにイトーヨーカドーにきたけど3000円弱とか2000円弱とかで大弱り(15%オフセールではあるが)。 [mb]
  • 19:42 これ以上まわる時間もないので、折り畳み傘はちょっと大きめだけどリーズナブルなユニクロのにした。 [mb]

2009年07月02日

  • 11:02 PostgreSQL で駄目元で SET CONSTRAINTS ALL DEFERRED してみたら DELETE 逆に遅くなった。まあそうだな。 *P3
  • 12:29 6月に新しくきた人が Linux 上での開発経験者ということが判明。 *P3
  • 13:02 2009年7月1日の歩行: 7832歩、6.09km、65分、5.57km/h、消費 292.9kcal、脂肪燃焼 41.8g、4.3エクササイズ。 *P3
  • 13:40 ON DELETE RESTRICT な外部キー制約にインデックス作成したら参照されているテーブルのレコード削除が速くなった。これがまっとうだな。 *P3
  • 15:44 DiKicker検索機能を披露した。 *P3
  • 17:39 あやめ入れてみた。 *P3
  • 18:22 LBP5600 の手差しトレイからの CD ラベル印刷がことごとく紙詰まりする。これは困った。 *P3
  • 20:17 今日からしばらくは会社に行く時もフィルムカメラを持っていく事にしている。 [mb]
  • 25:38 2009年7月2日の歩行: 4429歩、3.42km、37分、5.51km/h、消費 172.3kcal、脂肪燃焼 24.6g、2.5エクササイズ。 *P3
[ 7月2日全て ]

2009年7月28日 (火)

FriendFeed から twitterfeed

10日ほど前に Twitter へのフィード投稿を twitterfeed 経由から FriendFeed 経由に変更してみた(記事)のだけれど、挙動がニーズにマッチしないので twitterfeed に戻した。

FriendFeed の Twitter 投稿機能だと date がちょっと古いフィードアイテムは新着でも投稿されないっぽいのである。

nDiki で使っている DiKickerRSS フィードでは、アイテムの date を最初の公開日時ではなくファイルシステム上にある記事ファイルの更新日時としている。 このためローカルホスト上で記事ファイルを作成し、例えば半日後に UnisonWeb サーバファイル同期させて公開するとその時点で半日前の日時の記事が新着となる。 twitterfeed ではこのような場合でも新着として Twitter へ投稿してくれるのだが、FriendFeed ではどうも新着であってももう旬ではない記事として投稿してくれないっぽい。 挙動の設定も変更できなさそう。

ということで FriendFeed の Twitter 投稿を止めて、twitterfeed の設定を再アクティブ化。twitterfeedOAuth に対応したり利用できる URL 短縮サービスが選べるようになっていたりと着実に改良されているので今後も継続してサービスされていくことを期待したい。


[ Twitter 関連サービス ]

[ 7月28日全て ]

2009年11月12日 (木)

今日のさえずり - 夜の遊び場がヤマダ電機

2009年11月11日

  • 08:38 京浜東北線北行が思ったより運転間隔が開いてしまっていて電車がこない。ちょっと間に合わないな。 [mb]
  • 09:00 @nyafuru あちゃー。ぎっくり腰やっちゃった? 無理しないでね。 [mb]
  • 13:10 2009年11月9日の歩行: 4954歩、3.85km、41分、5.58km/h、消費 186.6kcal、脂肪燃焼 26.7g、2.7エクササイズ。
  • 13:12 2009年11月10日の歩行: 6435歩、4.99km、54分、5.46km/h、消費 245.9kcal、脂肪燃焼 35.1g、3.6エクササイズ。
  • 14:20 真実3: 遅れているプロジェクトに人を追加すると、もっと遅れる。 -- ソフトウエア開発 55の真実と10のウソ http://bit.ly/2j9npX
  • 17:06 退社。これからサントリーホールへ。 [mb]
  • 17:18 「ぢ鎮祭」とはこりゃまたすごいネーミング。祭りだよ、祭り。 [mb]
  • 17:32 イマココ! L:神谷町駅 [mb]
  • 17:43 サントリーホール到着。 [mb]
  • 21:18 溜池山王駅にこれでもかというぐらい警官がいた。 [mb]
  • 24:20 2009年11月11日の歩行: 8456歩、6.49km、76分、5.08km/h、消費 319.0kcal、脂肪燃焼 45.6g、4.4エクササイズ。
  • 25:21 やっぱり喉ちんこがだらしなくなってる。 [mb]

2009年11月12日

[ 11月12日全て ]

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 5.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メール他を含む

今日のさえずり - チョコレート臭のするリップクリーム塗られた

2009年12月22日

  • 09:36 東京水のお父さん若すぎ。娘はいくつの時の子だ?
  • 09:46 今年もビックカメラでカレンダーご自由にお持ちくださいになってるな。これって例年通り1枚もの? 車窓から見下ろしているからよくわかんない。 L:有楽町
  • 11:20 カシオ計算機株式会社の高精度計算サイト keisan で二項分布のグラフチェックしている。このサイト便利だな。 http://bit.ly/6H554E
  • 11:36 やはり結果が二項分布になっていなかったのは毎回 new System.Random().NextDouble() されていたからだな。1つの Random オブジェクトを使うように修正しておく。
  • 12:32 清まる東京ミートレア店のチラシに「住所かけ」と @nyafuru に指示された。
  • 12:34 泣く泣く書いた。 QT @Naney: 清まる東京ミートレア店のチラシに「住所かけ」と @nyafuru に指示された。
  • 12:45 2009年12月18日の歩行: 5898歩、4.54km、51分、5.29km/h、消費 224.9kcal、脂肪燃焼 32.1g、3.3エクササイズ。
  • 12:46 2009年12月19日の歩行: 3750歩、2.88km、34分、5.05km/h、消費 146.9kcal、脂肪燃焼 21.0g、2.0エクササイズ。
  • 12:48 2009年12月20日の歩行: 569歩、0.42km、5分、4.48km/h、消費 21.6kcal、脂肪燃焼 3.1g、0.3エクササイズ。
  • 12:49 2009年12月21日の歩行: 8585歩、6.60km、73分、5.37km/h、消費 337.8kcal、脂肪燃焼 48.2g、5.0エクササイズ。
  • 13:02 今日は窓ガラス清掃の日か。
  • 15:15 何でダイワハウチュなんだ? - デスクトップジーヴォβ http://bit.ly/4n80D1
  • 17:03 歯医者なのでそろそろ会社出ます。
  • 17:27 ヨドバシカメラ同時プリント回収。
  • 18:21 歯医者行ってくる。
  • 18:27 歯医者到着。腹減った。
  • 19:01 歯の定期健診終わり。なんかチョコレート臭のするリップクリーム塗られた。
  • 19:03 少し歯石があるぐらいで良く歯磨きできているとのこと。
  • 19:06 デンタルフロスほとんどサボっていたので気になっていたが問題なし。その事について聞いたらできればしてくださいと苦笑いされた。
  • 24:19 さくらのレンタルサーバWiKicker インストール中。
  • 25:48 さくらのレンタルサーバDiKicker を動くようにした。サーバ移転してもこれでとりあえず nDiki は維持できそう。
  • 25:51 さくらのレンタルサーバCGI::SpeedyCGI を make test すると途中でサーバ側から SSH 接続切断される。テストで大量にプロセスが起動されるのでそれで切断されちゃうのかな。
  • 26:55 寝る。

2009年12月23日

[ 12月23日全て ]

2010年10月2日 (土)

Evernoteサイトメモリー導入

昨日のEvernoteデベロッパーズミーティングに刺激されて、この nDiki にサイトメモリーを導入。

まとめ記事でEvernoteサイトメモリー自体は思うところがあってまだ導入してみていなかったんだけれど」と言うのは、「Evernote へクリップしてもみんながハッピーにならないんじゃない?」という思いから。 ソーシャルブックマークのように情報共有につながらないし、情報提供側にも伝わらない。Web サイト上でのアップデートがクリップに反映されないというのもある。

とはいえ、では自分はクリップしないのかというと結構クリップしてる。てへ。 「Web サイト上のページはいずれ消えて読めなくなる(場合が多い)」からやっぱり保存しておきたいというのと、必要な範囲だけ切り取っておきたいという気持ちから。 あとは直近で外から Evernote for Android で見たい時とか。

正直 Evernote で範囲選択してクリップするのって結構面倒なので、クリップする側に立てば、クリップボタン1発で適切な記事部分をクリップできるようになっているは便利だよね(実は押したことないけど)。 アフィリエイトプログラムも一応あるしね。

ということでこの nDiki にボタンを追加してみることにした。 実装的には、今の nDiki (DiKicker) にはクリップの単位に適した要素がないので、DIV 要素を追加。ID 属性に記事 ID を出すようにして、その DIV 要素内をクリップできるようにした。

ちょっとだけ余分なものが入るけど、思ったよりもいい感じにクリップされた(この記事の下の Evernoteサイトメモリーボタンを試してみて)。 追加するの思ったほど手間ではなかった。

ちなみにクリップに関して設置側で設定できる項目は以下。 Evernote.doClip メソッドのパラメータとして指定する。

  • title: ノートタイトル。
  • url: URL
  • code: Evernote アフィリエイトプログラムの referral code。
  • suggestNotebook: ノートを入れるノートブックの候補。
  • suggestTags: ノートにつけるタグの候補。
  • providerName: サイトメモリー UI でドメイン名のかわりに表示する名前。
  • latitude: 緯度。
  • longitude: 経度。
  • styling: クリップスタイル (none, text, full)。デフォルトは text。

クリップ内容については以下のどれかで明示的に指定できる。

  • content: 文字列または DOM 要素で指定。
  • contentId: HTML 中の要素の ID で指定。
  • contentUrl: クリップ用の代替ページの URLを指定。

クリップへの署名/ヘッダ/フッタも追加可能。

  • signature: 文字列または DOM 要素。クリップ末尾に水平線の後に追加される。
  • header: 文字列または DOM 要素。クリップ先頭に追加される。
  • footer: 文字列または DOM 要素。クリップ末尾に水平線なしに追加される。

以上 Site Memory Developer Guide より。

[ 10月2日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィでマネージャー・プロダクトオーナーをしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

follow us in feedly

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.088644s / load averages: 0.60, 0.56, 0.58
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker