nDiki : hns
hns
ハイパー日記システム (はいぱー日記システム) - Hyper NIKKI System、h14m。
Perl で記述されている日記システム。 Naney's Diary で利用していた。
スポンサード リンク
Related term
2001年5月19日 (土)
■ はいぱー日記システムアップデート

2001年5月11日からはじめた、はいぱー日記システムによる日記ページ。 この時は、Debian GNU/Linux の hns2 パッケージ (2.00.pl4-2) をインストールしたのだが、現在の最新は 2.10-pl1 のようだ(ベータ版をのぞく)。
「他のサイトは各記事のカテゴリ名から、カテゴリ一覧へリンクできているのにウチのはでない。なぜ? どうやれば設定できる?」ってカスタマイズしている時に最新ならデフォルトでできていることを知った。 ということで、さっそくアップグレード。
が、一筋縄でいかず。 今使っているやつは Linux Box でセットアップしたものを mirror でアップロードしているのだが、新しいやつは同じ方法ではうまくいかず。
で、今回は Web サーバの shell 上でインストール作業を行った。 作業方法自体は前回とほぼ同じ。 mirror の設定(Web サーバでインストールしたファイルを上書き/削除しないようにする設定)までする時間がなかったので、ちょっと表示のスタイルが変だが、週末それほどアクセスがないだろう。
- はいぱー日記システムで日記を開始 (2001-05-11)
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
- aufs を使って Web サイトのドラフト作成する (2007-12-23)
- [ www.naney.org ] 23:00 明日に移転先サーバの設定完了予定 (2002-01-22)
- sid の CinePaint がプラグイン読み込みでエラー (2006-04-15)
2002年1月22日 (火)
■ [ www.naney.org ] 23:00 明日に移転先サーバの設定完了予定

明日には移転先の Web サーバ、メールサーバの準備が完了する予定とのこと。 明日の夜にメールの設定、明後日に Web コンテンツの新サーバのアップロードをするかな。 はいぱー日記システムや、Namazu 等々の再インストールもしなければ。
- Debian GNU/Linux に Hyper Estraier 1.2... (2006-05-31)
- はいぱー日記システムで日記を開始 (2001-05-11)
- www.naney.org 容量超過警告につきダイエット開始 (2006-10-03)
- ホームネットワークカメラ BL-C10 買っちゃった (2005-01-18)
- はいぱー日記システムアップデート (2001-05-19)
2003年11月20日 (木)
■ やっぱ hns

tDiary に随分傾むいていたのだが。
自分自身の使用としては、
- tDiary で SUB できない?
- tDiary で 旬単位表示できない? (月まとめ表示はちょっと大きすぎる気が)
- tDiary には hns の log.cgi に当たる機能がない?
- Ruby プログラム、 hack できない (これを機に覚えれば良いのだが)
- WiKicker との連動コードを簡単に埋め込めなくなる(WiKicker はPerl)
- Unison 導入により hns 関連ファイル管理の整理ができたので、そこら辺が綺麗で気にいった tDiary のメリットが少なくなった。
といった感想。 最初から tDiary だったら問題を感じなかった部分も多いだろう。 慣れの問題。 あとこれから日記システムを提供してあげる予定の Tarebouzuさんに対しては、
- hns でも tDiary のテーマが使える事が判明した(tdiary-hns-theme 使用)ので、レイアウトの選択肢が広まった
- hns にも Web インタフェースがあるし
- hnf 記法の方が、tDiary 記法より簡単 (私が慣れているだけかもしれないが。まぁ教えやすいし。)
といった感想。 で、二転三転したが結局 hns でいこうかと。
hns のセットアップ、theme の入れかえ、mod_rewrite の設定あたりまで終わらせる。 後は、Namazu とかそのあたり。 週末には稼働できるかと。
- Debian GNU/Linux に Hyper Estraier 1.2... (2006-05-31)
- [ WiKicker ] 日記機能開発開始 (2003-12-27)
- はいぱー日記システムで日記を開始 (2001-05-11)
- Perl CGI プログラムのテストには WWW::Mechanize::... (2006-02-18)
- [ DiKicker ] hnsからのコンバータ作成開始 (2004-02-11)
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をなのっているが、ロボットのようでもある。 なかなか弾きにくい相手である。
できれば連続アクセスだけ拒否するようにしたいのだが、そう簡単でもない。
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 だったらきっとサーバがイッパイイッパイということです。
- [ 日記 ] SpeedyCGI による、同時処理数制御 (2004-01-20)
- [ www.naney.org ] 23:00 明日に移転先サーバの設定完了予定 (2002-01-22)
- サーバの負荷が高くなったら DiKicker が 503 を返して沈静化を... (2007-04-05)
- サーバ高負荷状態につき DiKicker 機能修正とサーバ設定変更 (2006-03-03)
- mixiに登録 (2004-11-19)
2003年12月21日 (日)
■ [ Debian ] Galeon と cookie 期限

なぜか手元の Galeon が hns / wiki の cookie をそのセッション限りでしか保存してくれなくなった。
Mozilla or Firebird への乗り換えを検討。
- [ Debian ] 昨日の cookie 問題は Privoxy のフィ... (2003-12-22)
- [ Debian ] Mozilla 系全滅 (2003-10-21)
- [ Debian ] 12:30 Galeon 0.12.1-1 (2001-09-18)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- [ Debian ] libc6 をダウングレードして、Galeon 復活 (2001-10-02)
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 で同時処理数を抑えるようにしてみた。 さて効果はあるかな?
- [ WiKicker ] SpeedyCGI (2003-10-17)
- mixipress でコミュニティ掲示板もチェック (2005-10-01)
- CGI プログラム、Out of memory! に泣く (2001-01-04)
- [ www.naney.org ] サーバ重い (2004-01-20)
- www.naney.org サーバ断続的にダウン (2006-04-30)
2004年1月25日 (日)
■ [ 日記 ] ページ上部の「ちょっとひとこと」コメント襴を外す

アンテナ巡回でいろいろな方の Web 日記を日々閲覧しているのだが、パッとページが表示された時にスクロールしないで見れる範囲に新着記事が表示されない(=ヘッダ部分が長すぎる)と、
「記事は更新されていなかったのかな? (本文以外のところが書き換わってだけ?)」
と思って、ぱっと次にいってしまうことがよくある。
で自分のところを見てみると、実際そうだったり。 実験もかねて NaneyOrgWiki の中の1ページをエクスポートしてhns 側で取り込んでみているのだが、長くなってくると日記自体が読みにくくなってきた。
とりあえず、ページ上部のこの襴は削除。 内容はサイドバーに移しておいた。 幅がそれほどないので、今のままだと折り返しすぎて読みにくい。 要調整。 サイドバー自体も、NaneyOrgWiki のページをエクスポートして取り込んでいるのだが *1 こちらも長くなりすぎだし整理する必要があるな。
*1一部。そうでない部分もある。
- 私的10大ニュース2004 [ web ] (2004-12-31)
- はいぱー日記システムで日記を開始 (2001-05-11)
- 21:00 [ nDiki ] hnsからDiKickerへ (2004-02-22)
- hnsのキャッシュを有効に (2004-03-03)
- DiKicker に n 年日記機能を追加 (2006-11-03)
2004年1月31日 (土)
■ 過去の今ごろ

過去の1月31日より。
その後「XMLベース->hns」と変遷しているわけだが、そういえばまだデータを移していないのが一部残っているな。
- reStructuredText いいんじゃない? (2005-11-22)
- やっぱ hns (2003-11-20)
- Flickr::UploadでLinuxから画像アップロード (2005-04-22)
- [ www.naney.org ] 23:00 明日に移転先サーバの設定完了予定 (2002-01-22)
- JAlbum で Webフォトアルバム (2004-11-14)
2004年2月10日 (火)
■ [ WiKicker ] WiKicker へ脚注機能追加

WiKicker スタイルで日記を記述するにあたり欠けている機能として「脚注」がある。 Wiki としては必須でないので WiKicker には導入していないのだが、日記としては無いと困る。 脚注が使えると文を書く時に正直手を抜ける。 また hns 上の旧記事をコンバートする時にも無いといろいろ面倒だし。
ということで実装。
@ インラインブロック
さてどうしたものか。 WiKicker の WRI (BracketName 等を含む識別子)としての実装なら、parser の変更もなく新しいWRI scheme の追加と対応するクラスを書くだけですむ。 しかし WRI は終端記号なので、そうすると脚注の中でWRIを使えなくなる。 それは困る。
ということで、やはり非終端記号が必要。 悩んだあげく、
{{scheme: ... }}
という「インラインブロック非終端記号」を導入。 {{..}} というのは確かいくつかの WikiEngine でプラグイン呼び出しで使っている記法だったような。
- 一般的な文章中には現れず、
- かといって文章中に混ぜてもそれほど違和感なく(wiki ではこれが重要)
- これ以上文法を追加したくないので、今後機能追加の際に利用できるように scheme 指定できる
といった点から、このようにしてみた。 2番目の点で合格点の出せる記法かどうかは微妙だが、まぁ許せる範囲かな。
{{ }} は、1行中に現れる必要有り。 「...」は scheme specific part だが、今のところ scheme によらず、InlineParser で解析されて部分木になるため、WRI とか ... とかも書ける。 InlineParser では正規表現を使っていて括弧の数は数えないので、今のところ {{ }} の中に {{ }} は書けないが、まぁ問題ないでしょう。
@ 脚注記法
で脚注は、
{{fn: ...}}
となる。 普通。
@ 実装
- InlineParser の拡張
- InlineBlockNode クラスの追加
- 各 Visitor に visit_InlineBlockNode を追加。
- HtmlFragmentVisitor に fn: の処理を追加。
いざ実装してみると、ちょこっとのコードで実現。 脚注番号の降り方とか、今後改良する点はあるけど、大枠は完成。
- Wikiの文法の標準化 (2004-02-10)
- [ WiKicker ] hell mode - HTMLタグ付けブロックの導入 (2005-09-13)
- 無制限 HTML タグ付けブロックを使って nDiki に Google ... (2007-08-23)
- WiKicker に JSON でのページ出力機能を追加 (2007-04-03)
- キックオフミーティング2日目 (2004-10-26)
2004年2月11日 (水)
■ [ DiKicker ] hnsからのコンバータ作成開始

DiKicker のコードを書いている途中に「やっぱ先にデータがある程度ないとな」ということで、hns からのコンバータを作り始める。
hnfの文法は非常にシンプルなのでコンバータの作成が簡単(RTをのぞく)。 あらためて感心。
@ RT のスパン記号
||、== で上、左のセルと結合できるのか。 WiKicker にも欲しいな(| はセル区切りに使っているで、別の記号にする必要があるけど)。
- やっぱ hns (2003-11-20)
- WiKicker に JSON でのページ出力機能を追加 (2007-04-03)
- 社内 Blog 開設 (2006-05-16)
- [ WiKicker ] WiKicker へ脚注機能追加 (2004-02-10)
- 最近の Twitter ステータスを nDiki 「最近のさえずり」ページ... (2007-11-23)
スポンサード リンク
■よく検索されるキーワード
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)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザイン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)



スポンサード リンク