tDiary に随分傾むいていたのだが。
自分自身の使用としては、
といった感想。 最初から tDiary だったら問題を感じなかった部分も多いだろう。 慣れの問題。 あとこれから日記システムを提供してあげる予定の Tarebouzuさんに対しては、
といった感想。 で、二転三転したが結局 hns でいこうかと。
hns のセットアップ、theme の入れかえ、mod_rewrite の設定あたりまで終わらせる。 後は、Namazu とかそのあたり。 週末には稼働できるかと。
ホスティングサービス会社からメール。 12月16日0:00-0:20にかけて、naney.org に設置しているCGI プログラムが原因でサーバが過負荷になり動作不安定な状態になったため、実行権限を落としたとのこと。
あちゃ。
メールでは naney.org に設定しているハイパー日記システムのうち一方(この日記でない方)が原因との報告だったが、アクセスログをみるとそちへの最終アクセスは 12/15 18:25:19 でどうも違う感じ。 逆にこちらの hns の方に、61.116.156.147 から 23:42:32 - 00:17:37 の間に少なくとも523回のアクセスがあり、どうやらこちらが過負荷の原因になってしまったようだ。
ここ最近1日に1度から数度、普通のISP経由で連続アクセスがある。 UAはIEをなのっているが、ロボットのようでもある。 なかなか弾きにくい相手である。
できれば連続アクセスだけ拒否するようにしたいのだが、そう簡単でもない。
hns は SpeedyCGI では動くようなコードでもなさそうだし。
とりあえず index.cgi を書き換えて サーバの load average が高くなっている状態では 503 Unavailable を即座に返すように修正。
BEGIN { my $average = `uptime`; $average =~ /(\d+(?:\.\d+)?),?\s+(\d+(?:\.\d+)?),?\s+(\d+(?:\.\d+)?)/; if ($1 > 50) { print "Status: 503 Unavailable\r\n\r\n"; print "Server is busy, please retry later."; exit 0; } }
を追加。load average が 50 (値は調整)を越えたら 503 になるようにしておいた。
ということで、この日記が 503 だったらきっとサーバがイッパイイッパイということです。
Naney's Diaryの方、NaneyOrgWiki からエクスポートしたページをインクルードしたり、AutomaticLink をしたりなどいろいろ動的処理をつけ加えてあるのでハイパー日記システムのキャッシュ機能をオフにしてあった。
しかし最近日に日にレスポンスが悪くなっている感じ。 最新日記の公開はこのnDikiに移行したのにともない、Naney's Diary の方は過去ログ表示専用になるためキャッシュ有効に戻しておくことにした。
これでレスポンスがよくなるかな?
朝、Naney's Diary をチェックしたらエラーが出てしまっている。 昨日 WiKicker をアップデートした事による影響か。
チェックしたところ、ハイパー日記システムではライブラリに HTTP というパッケージがありその中で Request サブルーチンが定義されていた。 これが HTTP::Request モジュールと被っており、今回 WiKicker の更新で間接的に使用されることになった Log::Log4perl の中での new HTTP::Request と衝突する事に。
名前空間大事。
hns の方の HTTP::Request サブルーチンはそのパッケージ内でしか呼ばれていないようなので、HTTP::RequestSub と名前を変更して対処。
去年末から1日1記事を復活した訳だが、ネタが無かった日のあの苦しみもまた復活したのであった。ネタが無い日はこういう風に、ついメタな日記になってしまうのも以前と変わらない。
ありがちだけど Twitter で書いちゃってるというのはあるね。ハイパー日記システム(hns)時代は1ネタになっていたのが今は Tweet 1発で終わっちゃう。もともとそんなに長文じゃないものも多かったしね。
マイクロブログ系の投稿から(ただリストを貼るだけではない)日記を起こせる仕組みがあればいいな。とりあえずマイクロブログで書いておいて、それを下書きとして、構成推敲できる仕組み。そのあたりがスマートフォン上でできるようにしたい。
この Web 日記(nDiki)がスマートフォンで見にくいのがずっと気になっていたので、さくっと Bootstrap 3 に移行した。CSS を Bootstrap 3.0.2 のものに変えて、navbar を使うようにコードをちょっと変更程度の軽い対応。
もともと tDiary テーマ CSS 用の HTML 構造を生成していたんだけれど、そのあたりが問題で崩れることはなく Bootstrap の CSS を当てることができた。もともと Wiki 記法で書いたソースドキュメントを HTML に変換しているので、変な構造の HTML は吐かないようになっていたというのもサクっといけた点かな。
細かいところういうと画像の回り込みに対応させなければならなかったり、テーブルなど適宜 Bootstrap のクラスを指定した方がいいところがあるけれど、まあ追い追いで。
あとそもそも iPhone や Android などのスマートフォンで見にくかったのは 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 がプレオープンした日だっとはなあ。何かの縁か。
Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。
nDiki は1999年1月に始めたコンピュータ日誌を前身とする Naney の Web 日記(兼パーソナルナレッジベース)です。
#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。
ナレッジベースアプリケーション Obsidian で書いているノートの一部を notes.naney.org で 公開しています。
※内容は個人的見解であり所属組織とは関係ありません。