nDiki : tDiary

tDiary

スポンサード リンク

2004年1月23日 (金)

[ WiKicker ] 憧れのサイドバー

Wiki はまぁ(ユーザからの視点において)シンプルな方が良いと思うのだが、やっぱサイドバーは出せてもいいかな。先日実装したIPC共有メモリを用いた直近のアクセスログ管理を使ってトップランキングも常にチェックできるようにしたいし。

tDiary テーマでサイドバー

レイアウトは tDiary のテーマにまかせる。 現在の blue-feather はサイドバー対応していないようなので、Nana 氏の flower に変更。 Wiki用に若干幅、配色等を修正。

で、WiKicker のフッタファイルに <div class="sidebar">...</div> を作ってそこに Google検索フォーム等を移動。

Access Top 30

IPC共有メモリに置いてあるアクセスログを使って直近300アクセスによるランキングをサイドバーに表示できるようにする。

アクセスログは刻々と更新されるのでトップランキングもできるだけ更新表示させたいのだが、一方各WikiPageはレスポンス向上・負荷軽減のためできるだけ 304 を返したい。

なのでページ中の更新表示させたいトップランキングの部分を、JavaScriptファイルとして別ファイルに生成しておくことにした(いわゆる JavaScript Include)。 HTML出力自体に変更がなくて304を返しても、アクセスログの変更に合わせてJavaScriptファイルだけ更新しておけばクライアント側で表示を更新してくれる。

JavaScript はできるだけ避ける方針できているが、アクセスランキングは付加的情報なのでJavaScript off によって表示されなくてもそれほど問題ないと判断。 document.write だけだから互換性の問題もほとんどないだろうし。

JavaScriptファイルの更新は、RecentLogへアクセスがあった時についでに生成するという形で行うようにしてみた。 一応 cron で1時間毎に

 wget --quiet -O - http://www.naney.org/wiki/RecentLog.html > /dev/null

して、最低でも1時間に1回は更新されるようにしておく。

スポンサード リンク
[ 1月23日全て ]

2004年2月1日 (日)

WiKicker 0.20 リリース

1ヶ月ぶりにリリースtDiaryテーマ対応・共有メモリ使用・Memcached使用など実験的なコードを沢山いれた。

[ 2月1日全て ]

2004年2月3日 (火)

なつみかん」の開発・保守・運用を凍結します。

見逃していたが、

2003/12/24(水) 「なつみかん」の開発・保守・運用を凍結します。 今後のバージョンアップ・フォロー等は、気が向かない限り無いと思います。 -- 「なつみかん(NATSU-MICAN)」オフィシャルサイト

か。残念。 はてなアンテナの有料オプションの話もあるし、アンテナ業界(?)も変化の時期か? RSSも含めて今後どうなっていくのだろう。 LIRSなどのリモート取得関係とか。

他の実装

The diary formerly known as Go ahead make my day.より。

たまてばこ」「五月雨」はRubyか。サーバ容量に余裕があまりないので(ruby自体のインストールも必要とあって)ちょっと厳しいかな。 RNA は面白そう。RSS以外も取得できるといいな。pure Perlだし。 「第二アンテナ」はtDiary限定?

なつみかん」がGNU GPLとかで、どこかが引き継げればいいんでしょうけどね。

追記

「ありますよ、いよかんが」 (2004年2月6日追記)

[ 2月3日全て ]

2004年5月4日 (火)

[ DiKicker ] くっつき BBSをくっつけてみた。

DiKicker でのコメント機能についてだがあらためて実装するのも大変なので、たつを氏のくっつき BBSを組み込んでみた (v1.0rc2)。

ファイルレイアウト

 $HOME/etc/kuttukibbs/kuttukibbs.conf - 設定ファイル (一部変更)
 $HOME/var/log/kuttukibbslog.txt - 管理者用ログファイル

 $HTML/kuttukibbs/kuttukibbs.cgi - CGIプログラム (一部変更)
 $HTML/kuttukibbs/getlog.cgi - (一部変更)
 $HTML/var/kblog/$ID.log
 $HTML/var/kblog/$ID.js

DiKicker への埋め込み

記事毎ののHTMLフラグメントを生成する際に、kuttukibbs.cgi へのリンクと、(getlog.cgi経由での)Feedファイルの読み込み部分を埋め込むように変更。

くっつくFeedファイルが無い場合は commentshortクラスの div要素 (tDiary スタイル)が存在しなくなるようにしたかったのでレンダラではこれを埋め込まず、getlog.cgi で出力するようにした。

ついでに getlog.cgi は

  • charset指定を UTF-8 に修正
  • 違う階層Feedファイルを読むように修正

した。

kuttukibbs.cgi のUTF-8対応

Feedファイル用にコメントを切りつめる際、UTF-8 だと後続バイトが切り捨てられる場合がある。 WiKickerUTF-8 用の substr / length ラッパがあるのでこれを使うように修正。

tDiary テーマの修正

tDiary では日単位でのコメントでありテーマもそれにあわせてデザインされている。 DiKicker では記事単位にコメントをつけるようにしたいので(またそうでないと記事単位で集約した場合に困るので)、使っているテーマ(Nana さんの flower をベースにしているもの)のCSSを修正。

くっつけてみる

テストした範囲ではうまくいっているようだ。 HTMLレンダリング済みの記事はキャッシュが更新されないとコメントするためのリンクが現れないが順次出てくるはず。

くっつきとして見るには要 JavaScript サポート。

[ 5月4日全て ]

2005年1月26日 (水)

DiKicker にそろそろコメント機能を実装するか

くっつき BBS

nDiki では、たつを氏が公開しているくっつき BBSを利用してコメント機能をつけている。 くっつき BBSは自前でBBS機能を実装しなくても、JavaScript Include を使うことでコメントをページに貼りつけられるという優れもの。

CGI プログラム経由の JavaScript Include 方式は遅い/負荷がかかる

nDiki では JavaScript Include する際、コメントがない(=JavaScriptファイルがない)場合でも404にならないようにCGI プログラム経由で貼りつけていた。 しかし、この方法だと1ページに多くのコメント領域があると何度もCGI プログラムが実行されるのでサーバへ負荷がかかる。

また Web ブラウザHTMLの途中でscript要素が出てくると、そのスクリプトファイルを読み込んで処理するまで残りをレンダリングできない。 このためサーバが重かったりして、途中スクリプトファイルの読み込みでひっかかるとユーザ側でのページ表示完了が遅くなってしまう。

ということでこの方式をやめて、単純にコメントJavaScriptファイルのURIを指定するようにした。 その使わなくなったCGI プログラムで、tDiaryテーマ用の「commentshortクラスdiv要素」を書き出していたので、この部分は DiKicker に戻す。 現在のコードでは、コメントが無くてもこのdiv要素が出力されてしまうので、ちょっとみぐるしいがしばらくご容赦。

やはりDiKickerでネイティブにコメント機能を実装しよう

コメント内の AutomaticLink 処理や cookie の連動など、前からやりたいとは思っていたのでこれを機会に実装するかな。 いろいろ決めないといかん。

[ 1月26日全て ]

2005年3月6日 (日)

[ DiKicker ] 旬ページへのインデックスを追加

DiKicker の改良作業。

  • 旬ページへのインデックスを追加。tDiary ライクな表示。
  • 旬ページの表示が日付が新しい順だったものを、日付順に。
  • 日付に曜日を表示。
[ 3月6日全て ]

2006年11月3日 (金)

DiKickern 年日記機能を追加

久しぶりに DiKicker に機能追加。

n 年日記機能

ハイパー日記システムで書いていた旧 Web 日記である Naney's Diary の記事を nDiki に移すにあたり、n 年日記にあたる表示がなくて困るので実装した。

最近はぱったり「過去の今ごろ」を書かなくなったけれど、たまには n 年日記を見て振り返るのも悪くない。

n 年日記へのリンクをどこに置くか迷ったが、とりあえず1日の一番最後に置いてみた。 tDiary テーマとの兼ね合いもあって思案中。

diary-article:

記事書き用には

 [[diary-article:記事ID]]

という記法を追加。 今までは他の記事へのリンクは URL で指定するしかなかったのだけれど、これだと可搬性がないしスマートでなかったので、あわせて実装してみた。

過去記事も全部この書き方に直したいけれど、それなりに数があるので面倒くさい。 もちろん今のままでも問題はないんだけれど。

過去の(膨大|それなり)のデータをいつまでも利用できるようにシステムを維持することの重要性(と手間)を再確認。

[ 11月3日全て ]

2007年7月11日 (水)

nDiki に「はてなスター」をつけてみた

本日よりはじまった「はてなスター」をつけてみた。 nDiki (by DiKicker) はほぼ tDiary 互換の HTML 構造なので、はてなスターの JavaScript プログラムを読み込むようにするだけで、各記事の見出しに Add ボタンが表示されるようになった。素晴しい。

ページの HEAD 要素の中で JavaScript プログラムを読むように指定されているのだが、今の DiKicker ではちょっと手を入れる必要があるので、とりあえずフッタ部分に挿入。

[ 7月11日全て ]

2013年9月21日 (土)

YAPC::Asia Tokyo 2013 2日目

naney:9845809256

Mojoliciousでつくる!Webアプリ入門 (Yusuke Wada @yusukebe 氏 藤原洋記念ホール)

Mojolicious に限らず Web アプリケーション開発のかなり基礎のところから解説。ビギナーが「書けそう」って思えるトーク。

今年のベストトーク賞で2連覇達成。聞いた人が「帰って自分で何かできそう/やろう」という気持ちを起こさせる要素がきちんと入っているので yusukebe 氏のトークはいつもいいなと思ってます。

Programming AWS with Perl (Yasuhiro Horiuchi @horiuchi 氏 イベントホール)

プログラムを書いて AWS の管理を自動化できるという話。API もあるけど CLI もあるよと。AWS 使ってねと。

What's new in Carton & cpanm (Tatsuhiko Miyagawa @miyagawa 氏 イベントホール)

Carton:

ローカルで

 git commit cpanfile.snapshot

デプロイ先で

 carton install --deployment

cpanm、 Carton の最新の機能今後入れる予定の機能の紹介。テストに Travis CI を使い始めたとのこと。

昼休み

naney:9847363805 おとよさんと学食。自分が通った大学もこれぐらい学食充実してくれてたら良かったなー(久しぶりに喫茶鳩のおじや(だっけ?)食べたい)。

YAPC::Asia Tokyo 2013 特別座談会 「Rubyの良いところ語ってください ~そんなPerlで大丈夫か?~」 (藤原洋記念ホール)

tDiary から Ruby に入った人が多いのかな。 Perl Monger にはザワザワする刺激のあるいい座談会。

結論的にはプログラミング言語の選択というのはプロダクト/サービス開発の一要素でしかないし、優れたエンジニアならどの言語でも書けるよねという無難な落とし所でまとめ。

本当にあったレガシーな話 (Daisuke Maki @lestrrat 氏 藤原洋記念ホール)

10周年目を迎える livedoor Blog の裏側。 エンジニアの総意工夫があったコードだけれどだんだんレガシーになってメンテナンスコスト大きくなるよねという話は mixi もそうで非常に共感。

PSGI/Plack への移行の実話がとても参考になった。

スマフォアプリ開発を支える認証認可アーキテクチャ (Rieko Suzuki @asyoulike007 氏 藤原洋記念ホール)

同一端末内の複数のアプリで、シングルサインオンする仕組み。

日吉キャンパスを散歩

日吉キャンパス、第1校舎と高等学校グランドの間の階段を降りていくとなんか田舎な風景が広がっていてトリップした感じになれて良い。

Lightning Talks Day 2 (Daisuke Maki @lestrrat 氏 藤原洋記念ホール)

安定の YAPC LT

Keynote (Tomohiro Ikebe 氏 藤原洋記念ホール)

一昨年の Hideo Kimura 氏、昨年の Gosuke Miyashita 氏と同様にマネージャというポジションでのトーク。

YAPC::Asia Tokyo 2013 クロージング (Daisuke Maki @lestrrat 氏 藤原洋記念ホール)

今年は参加者1,131名。

牧氏・櫛氏の運営参加は今年が最後とのこと。お疲れさまでした。 なにか組織的にもいろいろな動きが裏でもあるのかもしれないし、あるいは新しい世代への交代を意図しているのかもしれない。

JANOG + LLNOC により構築されたネットワークのおかげで今年は昨年に比べて非常に快適だったことにも感謝。

YAPC::Asia Tokyo 2013 を終えて

今年は例年に比べてプログラミング言語 Perl についてのトークが多かったように思う。同時に今年はなんとなく Perl の人気の陰りを感じもした。昨今のネットサービスPerl が対応言語に含まれてないこともよくあるとかそのような。

Perl コミュニティとしてコミットしたりいろいろ働きかけていきましょうという話はあるし、次の世代による新しいコミュニティの立ち上がりもある感じだし、Perl 言語自体もまだまだ貪欲に機能改良が進んでいるという話もあるし悲観することはないのだけれどもね。

ここ数年とは違う空気感だったことは確か。Perl 的にも YAPC::Asia 的にも新しい時代が来るのかな。

Happy programming in Perl!

今日のさえずり: 日吉キャンパスうっそうとしてる

naney:9849336914

2013年09月21日

[ 9月21日全て ]

2013年12月1日 (日)

Bootstrap 3 に移行して Web 日記を延命

この Web 日記(nDiki)がスマートフォンで見にくいのがずっと気になっていたので、さくっと Bootstrap 3 に移行した。CSSBootstrap 3.0.2 のものに変えて、navbar を使うようにコードをちょっと変更程度の軽い対応。

もともと tDiary テーマ CSS 用の HTML 構造を生成していたんだけれど、そのあたりが問題で崩れることはなく BootstrapCSS を当てることができた。もともと Wiki 記法で書いたソースドキュメントを HTML に変換しているので、変な構造の HTML は吐かないようになっていたというのもサクっといけた点かな。

細かいところういうと画像の回り込みに対応させなければならなかったり、テーブルなど適宜 Bootstrap のクラスを指定した方がいいところがあるけれど、まあ追い追いで。

あとそもそも iPhoneAndroid などのスマートフォンで見にくかったのは CSS の問題というよりは、viewport の指定がなかったからだった。Bootstrap に差し替えただけではやはりスマートフォンでは見にくくて、Bootstrap の Getting started の通り、

 <meta name="viewport" content="width=device-width, initial-scale=1.0">

と書いたら文字サイズなど見易くなった。

2004年2月22日にハイパー日記システム(hns)から自作の DiKicker移行してからもうすぐで10年。そういえば2004年2月22日は奇しくも mixi がプレオープンした日だっとはなあ。何かの縁か。

[ 12月1日全て ]

About Me

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

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

follow us in feedly

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

月別インデックス
Process Time: 0.064226s / load averages: 0.46, 0.50, 0.48
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker