げいるの脳内廃液処理場
管理人げいるの脳内で日々作り出された世迷い言、どーでも良いこと、個人的なメモとして使ってまいります。 ここに記載されていることは、かなりの勢いで個人的フィルタや個人的バイアスがかかっていますので、全てを鵜呑みにすると危険です。 ※2005年1月1日〜2005年8月31日のデータは消えてしまいました。ごめんなさい。
※「最近更新してないなぁ…こいつ生きてるのか?」と思われた方はこちらのTwitterかこちらのTwilogをご参照ください。
|
2006/03/08(Wed) [長年日記]
■ うっす!
コン!うっす!うっす!コン!(挨拶)
■ 昨日のssh攻撃なおバカさん。
213.67.224.235、218.64.56.60、217.199.6.147。
■ 今日はほとんどRuby。
4本ほどスクリプト書いたー。
でも
if a = 1 then
b = 1
fi
とか書いてしまう時点でダメだと思った。
Rubyはif〜endだし、thenは省略可能。fiでしめるのはbashなんかだが、その場合でも
if [ a = 1 ]; then
とかしないとダメ。つーわけでどっちつかずの中途半端。
■ 締め出し。
花魁の掲示板に最近ずっとspam書き込みが多くていちいち消してブロックでIPアドレスをdeny設定にしてたんだが、いい加減面倒くさくなったので、APNICから割り当てアドレスリストを取得して日本のアドレスだけallowで.htaccessを吐き出すスクリプトを書く(これもRuby)。案外簡単にできましたな。
…といいつつ、APNICの情報ではCIDRとかネットマスクではなく割り当て本数で提供されるので、CIDRへの変換が格好悪い。/8〜/24までcase whenでやっているという…。ちゃんと計算でやりたいが、方法が思い出せん。そのうち改良。
つか、覚書。sedでは問題ないがRubyでは正規表現上に|(縦棒)が来る場合は\でエスケープする必要あり。ちょいハマった。
■ 今日のパンヤ。
1日1ラウンドって感じでしょうか。
今日は大会でPAR3のホールで特殊ショットを使わずにコロコロと転がってホールインワン達成。久々〜。でもその後OB出して結局自己記録更新とはならないという罠。うーむむ…。
げいる <gale{at}studiotsc.com>
8〜24なら最初に計算してHashに突っ込んでおけば毎回比較より圧倒的に速そう
フィールド区切りが特定の文字ならその文字でsplitした方が後の処理が楽な場合がおおいよ。標準添付のCSVえばもっと楽かも
電車で思いつきました。割り当て長さからマスク長さへの変換式。lengthが割り当て長さであり、2のべき乗値であるとすると、<br><br>32 - sprintf('%b', length - 1).length<br><br>でOKです。lengthが2のべき乗値かどうかとか単一マスクで表記できないブロックのことを考慮しないとだめかも。単一マスクでOKかどうかは開始アドレスにマスクを当ててずれなければOKだけど、2のべき乗かどうかはどうやってチェックして、2のべき乗でなければどうやって分割するかを考える必要がありますね。