トップ(最新) | <前 | 次>

nDiki : hns

hns

ハイパー日記システム (はいぱー日記システム) - Hyper NIKKI System、h14m。

Perl で記述されている日記システムNaney's Diary で利用していた。

スポンサード リンク

Related term

2001年5月19日 (土)

はいぱー日記システムアップデート このエントリーを含むはてなブックマーク

2001年5月11日からはじめた、はいぱー日記システムによる日記ページ。 この時は、Debian GNU/Linuxhns2 パッケージ (2.00.pl4-2) をインストールしたのだが、現在の最新は 2.10-pl1 のようだ(ベータ版をのぞく)。

「他のサイトは各記事のカテゴリ名から、カテゴリ一覧へリンクできているのにウチのはでない。なぜ? どうやれば設定できる?」ってカスタマイズしている時に最新ならデフォルトでできていることを知った。 ということで、さっそくアップグレード。

が、一筋縄でいかず。 今使っているやつは Linux Box でセットアップしたものを mirror でアップロードしているのだが、新しいやつは同じ方法ではうまくいかず。

で、今回は Web サーバの shell 上でインストール作業を行った。 作業方法自体は前回とほぼ同じ。 mirror の設定(Web サーバインストールしたファイルを上書き/削除しないようにする設定)までする時間がなかったので、ちょっと表示のスタイルが変だが、週末それほどアクセスがないだろう。

スポンサード リンク


[ 5月19日全て ]

2002年1月22日 (火)

[ www.naney.org ] 23:00 明日に移転先サーバの設定完了予定 このエントリーを含むはてなブックマーク

サーバ移転関連の続き。

明日には移転先の Web サーバメールサーバの準備が完了する予定とのこと。 明日の夜にメールの設定、明後日に Web コンテンツの新サーバのアップロードをするかな。 はいぱー日記システムや、Namazu 等々の再インストールもしなければ。


[ 1月22日全て ]

2003年11月20日 (木)

やっぱ hns このエントリーを含むはてなブックマーク

tDiary に随分傾むいていたのだが。

自分自身の使用としては、

  • tDiary で SUB できない?
  • tDiary で 旬単位表示できない? (月まとめ表示はちょっと大きすぎる気が)
  • tDiary には hns の log.cgi に当たる機能がない?
  • Ruby プログラム、 hack できない (これを機に覚えれば良いのだが)
  • WiKicker との連動コードを簡単に埋め込めなくなる(WiKickerPerl)
  • Unison 導入により hns 関連ファイル管理の整理ができたので、そこら辺が綺麗で気にいった tDiary のメリットが少なくなった。

といった感想。 最初から tDiary だったら問題を感じなかった部分も多いだろう。 慣れの問題。 あとこれから日記システムを提供してあげる予定の Tarebouzuさんに対しては、

  • hns でも tDiary のテーマが使える事が判明した(tdiary-hns-theme 使用)ので、レイアウトの選択肢が広まった
  • hns にも Web インタフェースがあるし
  • hnf 記法の方が、tDiary 記法より簡単 (私が慣れているだけかもしれないが。まぁ教えやすいし。)

といった感想。 で、二転三転したが結局 hns でいこうかと。

hns のセットアップ、theme の入れかえ、mod_rewrite の設定あたりまで終わらせる。 後は、Namazu とかそのあたり。 週末には稼働できるかと。


[ 11月20日全て ]

2003年12月16日 (火)

[ www.naney.org ] CGI プログラムによるサーバ過負荷 このエントリーを含むはてなブックマーク

ホスティングサービス会社からメール。 12月16日0:00-0:20にかけて、naney.org に設置しているCGI プログラムが原因でサーバが過負荷になり動作不安定な状態になったため、実行権限を落としたとのこと。

あちゃ。

メールでは naney.org に設定している hns のうち一方(この日記でない方)が原因との報告だったが、アクセスログをみるとそちへの最終アクセスは 12/15 18:25:19 でどうも違う感じ。 逆にこちらの hns の方に、61.116.156.147 から 23:42:32 - 00:17:37 の間に少なくとも523回のアクセスがあり、どうやらこちらが過負荷の原因になってしまったようだ。

ここ最近1日に1度から数度、普通のISP経由で連続アクセスがある。 UAはIEをなのっているが、ロボットのようでもある。 なかなか弾きにくい相手である。

できれば連続アクセスだけ拒否するようにしたいのだが、そう簡単でもない。

hnsSpeedyCGI では動くようなコードでもなさそうだし。

とりあえず 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 だったらきっとサーバがイッパイイッパイということです。


[ 12月16日全て ]

2003年12月21日 (日)

[ Debian ] Galeoncookie 期限 このエントリーを含むはてなブックマーク

なぜか手元の Galeonhns / wiki の cookie をそのセッション限りでしか保存してくれなくなった。

Mozilla or Firebird への乗り換えを検討。


[ 12月21日全て ]

2004年1月20日 (火)

[ 日記 ] SpeedyCGI による、同時処理数制御 このエントリーを含むはてなブックマーク

SpeedyCGI はもともとPerlスクリプト起動時の遅さ(インタプリタ起動 + プログラムのコンパイル)を回避するために、一度起動させたPerlプログラムを使いまわすもの。 Apache管理権限のない一般ユーザでもインストールして利用できるしプログラムに問題があった時の対応も簡単なので、重宝している。

もちろん mod_perl でのコーディングと同様、グローバル変数の扱いなど気をつけなければならない点はある。 hns も残念ながらそれらを意識しては書かれていないのでSpeedyCGI下では、うまく動かない。

このSpeedyCGIだが同時に生成できるバックエンドプロセスの数(-M オプション)と、各バックエンドプロセス(使いまわされるPerlプログラム)の実行回数(-r オプション)を指定できる。 例えば -M15 ならバックエンドの数を最大15になる。 16個目のアクセスがあるとバックエンドのどれかが空くまで待たされる事になる。 また -r の方は実行しているうちにどんどんメモリ使用量が増えてしまうような行儀の悪いプログラムの時などに使用するもので、例えば -r30 としておくとそのバックエンドは30回呼び出されると終了させられる(そして新しいバックエンドがまた作られる)。

で話は長くなったが例えば '-M15 -r1 -t1' というオプションにすれば、何度も実行できないようなコードのCGI プログラムでも、同時処理数制御用として SpeedyCGI が使えるというわけ(-t はバックエンドのタイムアウト指定)。

この日記もロボットの絨毯爆撃などがあるとサーバに高負荷をかけてしまう事があるので、SpeedyCGI で同時処理数を抑えるようにしてみた。 さて効果はあるかな?


[ 1月20日全て ]

2004年1月25日 (日)

[ 日記 ] ページ上部の「ちょっとひとこと」コメント襴を外す このエントリーを含むはてなブックマーク

アンテナ巡回でいろいろな方の Web 日記を日々閲覧しているのだが、パッとページが表示された時にスクロールしないで見れる範囲に新着記事が表示されない(=ヘッダ部分が長すぎる)と、

「記事は更新されていなかったのかな? (本文以外のところが書き換わってだけ?)」

と思って、ぱっと次にいってしまうことがよくある。

で自分のところを見てみると、実際そうだったり。 実験もかねて NaneyOrgWiki の中の1ページをエクスポートしてhns 側で取り込んでみているのだが、長くなってくると日記自体が読みにくくなってきた。

とりあえず、ページ上部のこの襴は削除。 内容はサイドバーに移しておいた。 幅がそれほどないので、今のままだと折り返しすぎて読みにくい。 要調整。 サイドバー自体も、NaneyOrgWiki のページをエクスポートして取り込んでいるのだが *1 こちらも長くなりすぎだし整理する必要があるな。

*1一部。そうでない部分もある。


[ 1月25日全て ]

2004年1月31日 (土)

過去の今ごろ このエントリーを含むはてなブックマーク

過去の1月31日より。

その後「XMLベース->hns」と変遷しているわけだが、そういえばまだデータを移していないのが一部残っているな。


[ 1月31日全て ]

2004年2月10日 (火)

[ WiKicker ] WiKicker脚注機能追加 このエントリーを含むはてなブックマーク

WiKicker スタイルで日記を記述するにあたり欠けている機能として「脚注」がある。 Wiki としては必須でないので WiKicker には導入していないのだが、日記としては無いと困る。 脚注が使えると文を書く時に正直手を抜ける。 また hns 上の旧記事をコンバートする時にも無いといろいろ面倒だし。

ということで実装。

@ インラインブロック

さてどうしたものか。 WiKickerWRI (BracketName 等を含む識別子)としての実装なら、parser の変更もなく新しいWRI scheme の追加と対応するクラスを書くだけですむ。 しかし WRI は終端記号なので、そうすると脚注の中でWRIを使えなくなる。 それは困る。

ということで、やはり非終端記号が必要。 悩んだあげく、

 {{scheme: ... }}

という「インラインブロック非終端記号」を導入。 {{..}} というのは確かいくつかの WikiEngineプラグイン呼び出しで使っている記法だったような。

  • 一般的な文章中には現れず、
  • かといって文章中に混ぜてもそれほど違和感なく(wiki ではこれが重要)
  • これ以上文法を追加したくないので、今後機能追加の際に利用できるように scheme 指定できる

といった点から、このようにしてみた。 2番目の点で合格点の出せる記法かどうかは微妙だが、まぁ許せる範囲かな。

{{ }} は、1行中に現れる必要有り。 「...」は scheme specific part だが、今のところ scheme によらず、InlineParser で解析されて部分木になるため、WRI とか ... とかも書ける。 InlineParser では正規表現を使っていて括弧の数は数えないので、今のところ {{ }} の中に {{ }} は書けないが、まぁ問題ないでしょう。

@ 脚注記法

脚注は、

 {{fn: ...}}

となる。 普通。

@ 実装

いざ実装してみると、ちょこっとのコードで実現。 脚注番号の降り方とか、今後改良する点はあるけど、大枠は完成。


[ 2月10日全て ]

2004年2月11日 (水)

[ DiKicker ] hnsからのコンバータ作成開始 このエントリーを含むはてなブックマーク

DiKicker のコードを書いている途中に「やっぱ先にデータがある程度ないとな」ということで、hns からのコンバータを作り始める。

hnf文法は非常にシンプルなのでコンバータの作成が簡単(RTをのぞく)。 あらためて感心。

@ RT のスパン記号

||、== で上、左のセルと結合できるのか。 WiKicker にも欲しいな(| はセル区切りに使っているで、別の記号にする必要があるけど)。


[ 2月11日全て ]

スポンサード リンク

■よく検索されるキーワード

perl(62) torrent(54) linux(48) 提案書(47) windows(43) 書き方(41) 使い方(29) アジェンダ(26) x31(25) 充電式カイロ(25) cvs(22) インストール(20) サンプル(20) thinkpad(19) アジェンダとは(19) f-01a(18) wiki(17) c#(16) 感想(16) カイロ(16) usb(16) java(16) 秋葉原(15) debian(15) ヨドバシカメラ(15) subversion(15) 壁紙(15) 作り方(15) 静電気(14) apache(14) グッズ(14) デロンギ(13) フリー(13) sh-01a(13) ganttproject(13) 修理(13) ssh(12) svn(12) ヨドバシ(12) truecrypt(12) ダイソー(11) 手帳(11) activeperl(11) ubuntu(11) ほぼ日手帳(11) firefox(10) mew(10) mp980(10) ドラマ(10) 日本語(10) n-01a(10) google(10) tc-1(10) 評判(10) ツール(10) djunit(9) cgi(9) 動画(9) mp3(9) オイルヒーター(9) docomo(9) rcs(9) 除去(9) centos(9) メモリ(9) エネループ(9) 設定(9) p-01a(9) tortoisesvn(9) 無印(8) ケース(8) 口コミ(8) ミノルタ(8) メール(8) インストーラ(8) 会議(8) xampp(8) 加湿器(8) af(7) 値段(7)

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

Process Time: 15.383698s / load averages: 0.03, 0.13, 0.16
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)