トップ «前の日記(2006-10-12) 最新 次の日記(2006-10-15)» 編集

Route 477



2006-10-14

[misc] CodeFest京都2006

です。

去年よりも参加者が減ったけど、スタッフが増えたので総人数はそう変わらないかな。

TracのWiki記法って、箇条書きもスペース1個分インデントしないと駄目なんですねぇ。変わってる。

[softs] irolog 1.1.0 リリース

irolog(IRCのログビューア)の新バージョンをリリースしました。

1.1.0では、各チャンネルの最新発言を一覧表示できるようになって、より少ない手間で発言をチェックできるようになりました。

画像の説明

画像はイメージです。

[web] JavaScriptでtableの一部分を消したり出したりしたい

そんなもんtrタグのスタイルをdisplay:none; と display:block;で切り替えたらいいだけじゃね? と思ったのですが、FireFoxではdisplay:blockでは表示が変になるのでdisplay:table-row;としないといけなかったり、 IEではgetElementByName()がうまく動かなかったり(divタグに name="hoge" としても駄目なのかな)、苦労しました。

<script>
var show = (navigator.userAgent && navigator.userAgent.indexOf("Gecko/") != -1) ? "table-row" : "block";

function fold_open(n){
 elms = document.getElementsByTagName("tr");
 for(var i=0;i<elms.length;i++){
   if(elms[i].className == "fold_"+n){
     if(elms[i].style["display"] == "none")
       elms[i].style["display"] = show;
     else
       elms[i].style["display"] = "none";
   }
 }
}
</script>
...
<tr><td><a href="javascript:fold_open(1);">+</a></td><td></td><td></td></tr>
<tr class="fold_1"><td></td><td></td><td></td></tr>
<tr class="fold_1"><td></td><td></td><td></td></tr>
...

こんな感じでとりあえず動いています。

[python] Python 調査報告

via enbug diary

>>> from __future__ import with_statement       # with を使うため(Python-2.6では不要になる)
>>> with open('/etc/passwd', 'r') as f:
...     for line in f:
...         if len(line) < 30:
...             raise Exception('too short line: ' + line)
...
Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
Exception: too short line: bin:x:2:2:bin:/bin:/bin/sh

>>> f                                           # f は with 文によってクローズ済み
<closed file '/etc/passwd', mode 'r' at 0xb7d02ad0>

みんPyにもあったけど、「from __future__」ってやっぱりカッコいいですねw

しかしPythonもだんだん複雑になってないか?とちょっと心配になる。

[ruby] File.write

File.readみたいにFile.writeも欲しいなぁ。

File.write("hoge.txt",string)とか。バイナリモードは第3引数に"wb"とか渡す感じで。

File.open("hoge.txt","w"){|f| f.write string}

長い。

[ruby] 60*60*24

って書くのもいい加減飽きてきたな。

last_month = Time.now - 30.days とかしたい。

class Integer
  def days
    60*60*24*self
  end
end

これだとyesterday = Time.now - 1.days とかなっちゃうけど、まあいいか。1連鎖みたいなもんですよね(違うか)。

でもやっぱりちょっと抵抗があるので穏便にdays(30)という形式にしておいた。

def days(n)
  60*60*24*n
end

Pythonには「時間の差」を表現するクラスとかあるらしいね。