nDiki : NaneyOrgWiki

NaneyOrgWiki

www.naney.orgWikiFarm とする WikiForum

WikiEngine として WiKicker を使用している。 映画ドラマネタなどが多い。

関連情報

2005年1月9日 (日)

WiKicker 0.24 半年ぶりのリリース

NaneyOrgWiki の方でバグレポートをいただいたのを機に、これを修正してリリースパッケージを作成。 リリースは昨年の6月6日以来、約半年ぶり。

バグ修正以外で、大きな機能追加は

ぐらい。 内部的には若干リファクタリングが行われている。

おまけの DiKicker の方はちょこちょこ修正があるが、もともとまだきちんとドキュメント化していないので変更点もきちんとおっかけていない。 DiKicker も安定してきたし、正式版扱いにしてもいいのだが利用者はいるのかな。

[ 1月9日全て ]

2005年2月2日 (水)

GnuPG の布教失敗

仕事で本社にパスワードを伝えるなければならなくなった。 メールで送るのはもちんまずいので、暗号化(必要ならば電子署名も)しなければ。

ちょうど以前 NaneyOrgWikiGnuPGWindows 版 (gnupg-w32) の簡単な使い方を書いたことがあった。1.2.0 の時に書いたものだったので最新の 1.4.0a で、動作確認・出力等の再ドキュメント化などをする。

で、あとちょっとまとめたらその文書のポインタを本社の担当に送って鍵ペアをまずは作成してもらって……ふとMewメールをチェックすると……別のスタッフがパスワードメーリングリストに流しているんやないけー。

タッチの差で間にあわなかったか。

次回からはメールパスワードをやりとりしないように指導。

[ 2月2日全て ]

2005年9月12日 (月)

nDiki のコメント欄にコメントスパム

更新チェックをしたら、nDiki にコメントが入っていたので「どれどれ」と見てみる。

うぎゃー。

丁度攻撃を受けているところやんけ。

NaneyOrgWiki にもリンクスパムな書き込みがちょくちょくあるのだが、幸い絨毯爆撃的なものは受けていない。 今回もそんな感じでたかだか数十回ぐらいの書き込みだろうと、.htaccess で接続元のIPアドレスを deny しつつコメントを消していく。

……はっ、速い。

追いつかん。終わらん。

マジ攻撃ですか。IP アドレスもかなり散らしてきてますか。 あきらめて、CGI プログラムを移動して書き込みできないように。

その後もしばらく連続アクセスがあったが、途中で気がついたのか止まった。

ということで、現在一時的にコメントの全文表示・新規不能状態。

くっつき BBSを使っているのだが、まさかこれが攻撃されるとは。 そろそろ DiKicker 自体にコメント機能を直接実装しようとしていたところだったのだが、いろいろ対策を打たないといけないと思うと萎えるなあ。

[ 9月12日全て ]

2006年4月30日 (日)

www.naney.org サーバ断続的にダウン

www.naney.org の過去記事を確認しつつ作業をしていたら、9:00 前に急にアクセスできなくなった。 ping も通らない。 9:20 ぐらいに 1度復帰したが、また10:00 前にダウン。

それから何度も落ちては復帰を繰り返すようになってしまっている。 SSH で接続している途中にも突然刺ささるし、傍から見ていても原因が良くわからない。

昨日 WiKickerアップデートしたから「もしかしてうちが原因?」とちょっと心配もしたりするのだが、無限ループに入ったりメモリを使い尽すようなコードが追加してはいないはずだしなぁ(ローカルでのテストではそのような現象は見られない)。

落ちる直前まで見ていてもそれほど load average が高いわけでもないようだしなぁ。

とまぁ、しばらく様子を見ているうちに NaneyOrgWikinDiki が Internal Server Error。 止められた。 正確には SpeedyCGI のフロントエンド speedy コマンドの実行権限を管理者に落とされた。

  • (大半はロボットによるものなのだけれども) NaneyOrgWikinDiki のどちらか(あるいは両方)に常にアクセスがあってスクリプトが動いている
  • top すると他のユーザの CGI プログラムは 'perl' か 'perl 5.00503' と表示されるのに対し、これらは speedy、speedy_backend と表示されるため、管理者の目を引きやすい

ということもあって疑われたと推測。

一応こちらでも SpeedyCGI を使わないで直接 Perl で実行するように変更してみたり、Memcached を起動するのをやめてみたりなど設定を変更してみたりするのだけれど、関係なく落ちる落ちる。

管理者がシステムの設定を変えていないで発生するようになったのなら、ハードウェア障害が起きているんじゃないかと想像してしまうのだが、実際どうなんだろうか。

結局夜 23:00 過ぎだかに落ちたあとは復帰する様子がないので(管理者が落ちたかな?)、今日はあきらめ。

[ 4月30日全て ]

2006年10月3日 (火)

www.naney.org 容量超過警告につきダイエット開始

ホスティングサービス会社より、www.naney.org契約容量超過との警告のメールをもらった。まずい。

ということで急いでデータの整理を開始。

これでもまだまだ。コンテンツ系も、かなり整理する必要がありそうだ。 できれば他からリンクされているコンテンツについては対応する新しいものへリダイレクト設定しておきたいのだが、作業時間的にはちょっと無理。

[ 10月3日全て ]

2006年10月5日 (木)

DiKicker の出力する HTML コードを小さく

容量超過につき www.naney.org の容量削減中。

中でも結構な容量を食っているのが、nDiki (DiKicker) の HTML 変換済み記事データベースである。 毎回レンダリングし直すと遅いので、1度 HTML フラグメントに変換したら Bereley DB ファイルに保存しているのだが、これがどうしても大きくなってしまうのである。

NaneyOrgWiki (WiKicker) もそうなのだが、 UTF-8 を使用しているため日本語中心のテキストが思った以上にデカくなるのも痛い。

ということで生成する HTML フラグメントをちまちま小さくするようにすることにした。 チェックしてみると自動リンクURL が絶対 URL になっているではないか。 まずはこれを短い URL を吐くように書き直し。

焼け石に水な感もあるが、ちょっとずつでも短くしていきたい。

[ 10月5日全て ]

2007年1月13日 (土)

[ WiKicker ] spam検索エンジン対応に noindex、nofollow を追加

<a rel="nofollow">

相変わらず www.naney.org 上の WikiForum (NaneyOrgWiki) にも毎日のようにリンク spam 書き込みがある。

気がつき次第削除と、その URL や関連キーワードの書き込み禁止文字列ブラックリストへの登録を行っているが、手間でしょうがない。

これらのリンク先に貢献するのは腹立たしいのでリンク (A 要素)へ

 rel="follow"

属性をデフォルトで設定するように WiKicker を書き換えた。 ようやく。

<meta name="robots" content="noindex,nofollow">

あわせて、検索エンジン対応もしていおくことにした。

編集ページや履歴ページは検索エンジンに登録してもしょうがないので、インデックスから除外されるように HTML の HEAD に

 <meta name="robots" content="noindex,nofollow">

を追加するように修正。

クエリ付きの URL のページで noindex した場合、クエリ無しや他のクエリを持つ URL のページまで一緒にインデックスから外されてしまわないかちょっと心配で、今まで保留にしていたのだけれど、Wikipedia などを見ても大丈夫のようだ。


[ SEO ]

[ 1月13日全て ]

2007年4月3日 (火)

WiKickerJSON でのページ出力機能を追加

最近は DiKicker ばかりに手を入れていたが、久しぶりに WiKicker の改良も行っている。 しばらく前から実装を始めていた JSON 形式での出力機能が今日完成。

今までは WikiPage について

  • HTML 形式による出力
  • Wiki 文法で書かれている生テキスト形式による出力

という2つの出力形式を持っていたので、JSON が加わることで3つめとなる。

サーバ側で WikiPage の構文解析まではやる

クライアントサイドの JavaScript でページの内容に合わせて様々な処理をできるように、サーバ側で構文解析まではしてあげるというのが主な目的。

JavaScript でまたパーサを書いてメンテしていくのも大変なので、その部分はサーバでやってしまおうかと。 構文解析した結果の解析木を JSON 形式で返して、JavaScript 側であとはお好きにという形。

CPAN にある JSON モジュールを使用

サーバ側の Perl プログラムには、構文解析をして解析木を作れるようになっている。 この解析木から Visitor パターンで JSON 形式を生成していく。

依存モジュールを増やすことを避けるべく、最初は自前で JSON 形式に変換していこうと思ったのだがやっぱり面倒だった。 ということで CPAN にあるモジュールをチョイス。

JSON 関連では JSONJSON::Syck、JSON::PC などがあるが今回はインストールのしやすさを考えて pure Perl モジュールとして実装されている JSON を採用することにした。

Visitor クラスで解析木を無名ハッシュ/無名配列のツリーに変換して、JSON モジュールに流しこめば OK。

 use JSON;
 my $json = JSON->new(pretty => 1);
 my $js = $json->objToJson($tree);

WiKickerフレームワークにはフォーマット別に出力を切り換える機構があるので、これに JSON を追加して application/json で送るようにして完成。

ちなみに残念ながら JSON 1.07 は Perl 5.005_03 では make test が fail するので、NaneyOrgWiki では使えない。

[ 4月3日全て ]

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

[ 12月23日全て ]

2010年2月19日 (金)

今日のさえずり - 「意味わかんない」っていうセリフが伝染しないように

2010年02月19日

  • 09:34 @kmunaka お久しぶりです。ネット上ではありますが再会できて嬉しいです!
  • 09:40 I'm at 秋葉原駅 (秋葉原駅, 千代田区). http://4sq.com/68fhHr
  • 10:02 Google Apps ドキュメントの設定を「このドメインの外のユーザーとはドキュメントを共有できない(外部ドメインからドキュメントを受けとることを許可する)」に変更。
  • 12:16 I'm at セブン-イレブン神田佐久間町店 (神田佐久間町4-16, 千代田区). http://4sq.com/cEfW1k
  • 12:20 人事異動があるならもっと早く正式にアナウンスして欲しいよ(計算機管理者より)。
  • 12:23 ピリ辛チキン&鶏そぼろ弁当(昼食) 448円。セブン-イレブン
  • 12:48 @kmunaka 研究職いいですね。自分は前に会った時と同じ会社に勤務してます。今は開発やってます。
  • 12:57 @nyafuru NHKバンクーバーオリンピック @NHK_Olympic 。
  • 13:04 @kmunaka 昨年末までは NaneyOrgWiki 継続していたのですが、レンタルサーバを変えた際に移行しませんでした。spam 対応とかの時間が取れなくなってしまったので。
  • 13:31 使わないと思うけれど Google Apps 導入ついでに Google トーク クライアント再びインストールしてみた。
  • 13:50 RT @cafemari: 【3人育ててみてようやくわかったこと】「ねなさーい!」と怒るより、「いい子ね大好きよ」と言って、きゅ〜した方が早く寝る件。でもそれは、育児書に書かれていてもなかなか実行できないものだ、最初は。
  • 16:50 「意味わかんない」っていうセリフが伝染しないように気をつけたい。
  • 18:29 「スケジュール調整システム ちょー助」入力指示があったのでアクセスしてみる。パスワードを何か決めて入力しなければならないのがちょっと心理的障壁。
  • 18:31 ◎○△×って日本的かな。
  • 19:11 ソフトなチーズクリームパン(おやつ) 115円。ファミリーマート
  • 19:12 ファミリーマートバレンタインデーのチョコレートが5割引で売られていた。
  • 21:24 Google Apps ドキュメントの設定を「このドメインの外のユーザーとはドキュメントを共有できない(外部ドメインからドキュメントを受けとることを許可する)」にしても外部から共有招待したドキュメントにアクセスできなかった。受けとるの意味は別なのか。
  • 22:05 Google Apps ドキュメントの共有制限を緩くして外部と共有できるようにした。でも外部にあるドキュメントのオーナーを内部にはもってこれない。オーナーになるには共有してコピー(して外部のを破棄して内部から外部に共有)する必要があってかなり面倒。
  • 22:37 さて帰る。
  • 22:43 I'm at 秋葉原駅 (秋葉原駅, 千代田区) w/ 9 others. http://4sq.com/68fhHr
  • 22:53 @kmunaka 月曜日がマイルストーン日なので今日はガンバルデーでした。普段はそんなに残業してないですよ。
  • 22:56 ユバーバタイムライン? 今あれやってるの?
  • 22:58 あ、はみ隠しの方じゃないのか。
  • 23:02 @kmunaka コーディング中心の業務に戻ったのは去年の夏ぐらい。何年ぶりかの C++ の世界です。
  • 23:08 三方を阻まれると、いつもメカドックを思い出す。
  • 24:55 Refollow の OAuth 認証サスペンド解除されてる。 http://refollow.com/
[ 2月19日全て ]

About

Naney Naneymx

Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。

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

Process Time: 0.0498s / load averages: 0.14, 0.25, 0.23