いや全然攻性じゃないんですが。
ftp関係のトラブルを調べている時、ftpにAdministratorというアカウントでアクセスを試みる不心得者がずっとアタックをかけていた。
気持ち悪いので、以前やっていたhosts.allowの設定を復活させることにした。
ごく簡単に、/etc/deny.listに拒否するIPをずらーっと書いて

sshd : /etc/deny.list : deny
sshd : ALL : allow
ftpd : /etc/deny.list : deny
ftpd : ALL : allow

とかやればOK。
deny.listは今までアタックかけてきたIPをリストアップしてある。
一定回数以上連続でアタックされたら自動的に追加とかすると面白いような誤動作が怖いような。

ユーザから「ftpでファイル見えないぞゴルァ」というクレームが。
普段ftpを使ってない(sftpオンリー)なので気が付かなかった。
とりあえず仮ユーザを作成し、コマンドラインのftpで確認。普通に繋がる。
次に手持ちのNextFTPで確認。あれ、見える…
次にffftpで確認。ファイルが見えない。
あれぇ…

More »

稼働中のDBからfixtureを生成したくなって色々調べてみた。
(csvでエクスポートすればいいじゃんとかいうのは却下)
ar_fixturesプラグインが有名だけど、最近のRailsでは色々とめんどくさいらしい。
というわけでこちらの記事を参考に(というか丸写しで)やってみた。
実行するとschema_migrationsテーブルにidカラムがないよ、というエラー。
そりゃそうだよな、と思って改めてextract_fixtures.rakeを読むと(先に読めよ)

skip_tables = ["schema_info"]

という行がある。Rails2.1でschema_infoはschema_migrationsに変わっているので、この行を

skip_tables = ["schema_migrations"]

に変更すればおk。
あとはrake db:fixtures:extractで自動的に抽出してくれる。

なんつーかいっつもハマるので(3回目くらい)メモ。

画像をアップロードした後、「小中大」などのサイズが選択できない(オリジナルサイズしか選べない)場合はphp-gdが入ってない。
FreeBSDでphp5の場合、/usr/ports/graphics/php5-gdをインストールすればOK。
今回は途中libpngで引っかかった(共有ライブラリpng.6が見つからないと出たが、これは以前のバージョンのlibpngが入っているためで、/usr/ports/graphics/pngをアップグレードするなりインストールし直すなりすればいい)。
なお、インストール後に/usr/local/etc/php/extensions.iniにextension=gd.soを追加しろと出てくるけど、portsで入れていれば自動的に追加されているはず。

ちなみに既にアップロードしたメディアはリサイズできないので(アップロードの時点でリサイズされているため)、php-gdを入れたらアップロードからやり直すべし。


正式版が出たのでビルドしてみた。
ミラーからファイルを探してきて
% /configure –with-ns –without-x
% make bootstrap
% make install
でもってnextstep/Emacs.appをApplicationsにコピーして終了。
cedetが標準搭載になったらしいけど(よく見ると23.1.92にも入ってた…)使い方がよく分からないので放置。

相変わらずnavi2ch使ってると落ちるなぁ。
2chブラウザだけ乗り換えるかな…

12. 5月 2010 · Write a comment · Categories: Ruby
string.sub(/^No¥.(\d+)/, "#{$1}番目")

とかやってもきちんと置換されない。
何故かと言うと、#{}の式展開は正規表現マッチの前に行われるから。

string.sub(/^No¥.(\d+)/) {"#{$1}番目"}

とブロックに書き換えれば正しく置換される。

まぁ、お約束なんだけどいつも忘れた頃にハマるのでメモメモ。
gsubとかeachブロックとかでまとめて置換すると一見動いてるように見えたりして罠に陥るんだよね。

ついでにevalにコードを渡した時にrescueする方法。

begin
  @result = eval(@code)
rescue SyntaxError
  @result = 'Error! (in Syntax)'
end

明示的に例外を指定しないと捕まえてくれない。

IRC

未だにIRCをけっこう使ってるんだけども、ここ数ヶ月様子がおかしい。
発言の多いチャンネル(にJOINしているサーバ)からランダムに切断されるようになってしまった。
正確には、クライアントが切断と判断して再接続するんだけど、サーバ側にはまだ自分が残っていて、しばらくするとtimeoutするという状態。
IRCクライアントの設定を色々いじったけど全く改善しないので、根本的に原因を調べることにした。

More »