3月 10 2008
jquery-tablesorter でソート可能なテーブル
ソート可能なテーブルの実装が欲しかったので、jQuery のプラグイン(?)として実装されている tablesorter を試してみた。
サンプルとして三国志大戦3の武将データリスト。
3月 10 2008
ソート可能なテーブルの実装が欲しかったので、jQuery のプラグイン(?)として実装されている tablesorter を試してみた。
サンプルとして三国志大戦3の武将データリスト。
3月 06 2008
snowland.net に先にネタにされてしまったけど、DNS amp 対策、端的に言うと DNS サーバへの DDos 対策をようやく行ったよ。
要するに信頼できない相手には自分の管理しているゾーン以外の問い合わせに答えないように変更する。
うちではBind9なので、optionsに
allow-query { localnet; };
を追加 (localnet は別途 acl localnet で指定)し、また各 zone の設定すべてに
allow-query { any; };
を追加した。
allow-transfer については基本的に(スレーブサーバ以外へは)転送しないようにもともとしてる。
12月 27 2007
サーバ管理とかでの話。
FreeBSDやLinuxで、あるプロセス(例えばvim)を調べる/殺す際に、今までは
$ ps auxww | grep vim
なんて process id を調べてから kill、なんてやってたんだけどいい加減やめようと思って意図してpkill, pgrep を使うようにする。
pgrep を使えば process id は
$ pgrep vim
で調べられる。もし引数も含めて調べるなら
$ pgrep -f tiarra
などする必要がある。(-f で引数まで含めてパターンマッチングする)
-l で出力する情報を少しだけ増やせる。
また、最後に起動した tiarra だけ調べたい、などという場合なんかは
$ pgrep -fn tiarra
とすればよい。-n で最後に起動したプロセスだけ抽出する。-o なら最初。
んで、pgrep で調べた後に かわりに pkill にすれば、kill の動作をしてくれる。 (いきなりpkill食らわせるのはまだ怖い)
ちなみに killall は solaris でアレなのでなるべく使わないようにしてる。
自分の環境は主に FreeBSD6 なので、ports で sysutils/pkill を入れて使用した。 Linux では最初から入ってることも多そう。(最近の事情はよく知らないけど)
あと似たコマンドで skill があって (sysutils/skill)、 interactive mode があったり、正規表現でプロセス名を指定できたりする。 またこっちには nice 相当の snice がある。
skill と pkill ではかなりオプションが違うので要注意。-v とかうっかり skill に使うとまずいことうけあい。どちらかをメインで使って残りはちゃんと man を引いて使う方がよさそう。
12月 14 2007
doxygen は C++(など)のドキュメントを吐いてくれるツール。フリーでそれなりに手軽なのでいろんなところで使われてます。
ある日バージョンアップして設定をいじったら、デストラクタについてる頭の「~」が消えてしまった。
なぜ?
原因はこいつ。
INPUT_ENCODING = SHIFT_JIS
Shift_JIS は「~」を「 ̄(OVERLINE, U+203E, UTF8だとe280be)」にマッピングしてしまい、結果として落としてしまうから。
INPUT_ENCODING = CP932
ならうまくいく。こいつは UTF-8 に変換しても 7e のままにしてくれる。
12月 03 2007
Amazon の アソシエイトリンクをお手軽に使える Amazon ISBN Anchor version 1.1.0 を公開しました。Amazon ISBN Anchor のページも作りました。
XML レベルですがキャッシュしたのでとりあえず現実的な速さになりました。前のはひどかった。:(
同種のプラグインに Amazon Linkage プラグイン もありますが、よりシンプルなものが欲しかったため結局自作しました。
(本体と同じ)GPL で公開していますので、必要ありましたら(ライセンスの範囲内で)ご自由にご利用ください。
10月 15 2007
WordPress のプラグイン、Amazon ISBN Anchor 1.0.0 を作成しました。 簡単に ASIN 、 ISBN またはキーワードから Amazon アソシエイトリンクを作成することができます。
特徴は以下の通りです。
9月 09 2007
C/C++ での #pragma once。#pragma once は gcc などでは非推奨ということになっていたはず(この辺は記憶が定かではなかった)。そして自分はその理由を portablity だとばかり思っていたのですが、ちょっと検索してみたら gcc でも code warrior でも使えるんですよね。
ではなぜかというと、WikiPediaのInclude_guardの記述に曰く、
(通常のインクルードガードはグローバルなマクロを使ってしまうため)多くのC,C++の実装は非標準の「#pragma once」指示子を用意している。この指示子はヘッダファイルの最初に置かれ、このファイルが1度しかインクルードされないようにする。 しかしこのアプローチは、2つの異なる場所に書かれた #include 指示子が同じヘッダファイルを指しているかどうかを知るのが根本的に困難であるため、うまくいかないことがある(例えば、シンボリックリンクの場合)。 また #pragma once は非標準な指示子であるため、動作が実装ごとに微妙に異なる可能性がある。 (私訳)
なるほど。確かにシステムのヘッダファイルとかだとありえるし、ファイル名変更時の後方互換性維持にシンボリックリンクが使えないってことか。
逆にWindowsだけで使うとか、シンボリックリンクとかコピーとか絶対にしないというポリシーにすれば、使うのにまったく問題ないのかな。
ちょっと長年の誤解と疑問が解けました。
9月 07 2007
WordPress の「続きを読む」機能。この見た目が今のテーマでは「Continue Reading」になり日本語でないので分かりづらそうだったので、「続きを読む」という文字列に直してみました。
WordPressはgettextでメッセージカタログを利用しているので、要するにgettextでテーマのカタログを追加しようという話です。