2008-01-01から1年間の記事一覧

こんにゃくゼリーの前にまず餅だろ

http://sankei.jp.msn.com/affairs/disaster/081002/dst0810022243010-n1.htm こんなんして圧力かけて製造中止するんだったら まず世の中にある餅を製造中止にするべきだ。 餅を詰まらせて死んだ人は17人どころではないはず。 なぜ特定の企業を狙い撃ちにす…

腕利きのSEはどうやって問題を調査するか実例

(例題)crontab -eでcronを設定しても動かないようだ まず、syslogをみて、本当にcronが動いていないか確認 本当に動いていないようだ ユーザーごとのcronの設定はどこにあるのかな? dpkg -l|grep cron を実行し、crondのパッケージ名を調査 dpkg -L cron …

ANAの割引の値段の差

10/7と8は札幌に仕事で行きます。 7日に東京に行って、会社を訪問し、 その会社の人と一緒に羽田から札幌です。 8日は福島に帰ってきます。 さて、値段の差に驚いた。 羽田 -> 新千歳 18,300円(特割1) 新千歳 -> 仙台 23,700円(特割1) 新千歳 -> 福島 …

1.9ではdelegateされたクラス名がアホになる

tempfileがdelegateで実現されているのでこれを使います。 % ruby -rtempfile -e 'p Tempfile.new("hoge").class' Tempfile 1.9だと % ruby19 -rtempfile -e 'p Tempfile.new("hoge").class' File なにこれ!ってことで話題に出したら、 議論になり、まつも…

sprintfが、引数にHashを取って、キーで参照できるようになった

まつもとさんのコミットr19641でsprintfがキー参照できるようになりました。 %{name}が書式なし版、%が書式あり版です。 puts sprintf("%<name>s is %<year>d years old, %{name}は%{year}歳です。" ,:name=>"xibbar",:year=>100) 結果は % ruby19 /tmp/sprintf.rb xibba</year></name>…

オブジェクトに特異メソッドをくっつけるいくつかの方法

その1 もっとも一般的なやり方。 str="Hello World" def str.say puts self end str.say その2 特異クラスを定義して、その中でメソッド定義する str="Hello World" class << str def say puts self end end str.say その3 moduleを定義して、extendする …

さつまいも収穫

大きすぎです。

メモリが死ぬとログはどうなるのか

お客さんのとこにあるサーバが不自然に落ちたり、 動作が不安定になり、ログを見た結果、メモリが死んだと確信して取り替えました。 その時のログです。以前に同じ現象を経験していたので、 すぐに対処することにしました。 よくわからんメーカーのチップを…

コンソールで高橋メソッドを入力し、画面に表示するサンプル

つまらないサンプルですみません。 package xibbar import javax.swing.{JFrame,JLabel,JButton,SwingConstants} import java.awt.{BorderLayout,Font} import java.awt.event.{ActionListener,ActionEvent} object RealtimeTakahashiMethod { def main(args…

SSLを通すとクッキーが消滅してしまう携帯電話がある

以前に http://d.hatena.ne.jp/xibbar/20080204#1202112258 こんなエントリを書いて、 AUの携帯でSSLを通すとクッキーが消滅してしまう問題を指摘しましたが、 Vodafoneでも遭遇しましたので報告します。 V903SHという機種がダメでした。 というわけで、 AU…

函館に前泊することに

来月の12日あたりに小樽に行く予定だったのですが、 それが登別に変更になりました。 そして、北斗星で行き帰りするつもりだったのに、 北斗星が今は一日一便しかなくなってしまったので、 予約が全然とれなくなってしまったようで全滅してしまいました。 く…

簡単なGUIアプリ

勉強会へ向けて何かアプリを作っておくことになったので、 簡単なGUIアプリを作りました。 swingがわからないと作れなさそうだったので、 Javaの本を久しぶりに買いました。Head First Java 第2版 ―頭とからだで覚えるJavaの基本作者:Kathy Sierra,Bert Bate…

LeopardにMysql/Rubyをインストールする

なんだか WARNING: You're using the Ruby-based MySQL library that ships with Rails. This library is not suited for production. Please install the C-based MySQL library instead (gem install mysql). こんなWARNINGが出るので sudo gem install my…

匿名関数を渡す

rubyのブロックのように匿名関数を渡すこともできます。 object Timer { def oncePerSecond(callback: () => unit) { while (true) { callback(); Thread sleep 1000 } } def main(args: Array[String]) { oncePerSecond(()=> println("time flies like an a…

命令はオブジェクト

scalaの命令はオブジェクトだそうです。 どういうことかというと、引数でファンクションを渡すことができるということです。 object Timer { def oncePerSecond(callback: () => unit) { while (true) { callback(); Thread sleep 1000 } } def timeFlies() …

Scalaの勉強始めます

Scalaの勉強をしてみることにしました。 勉強会のメンバーはみんなJavaな人なのですが、 私は遠い昔にちょっとだけやった程度なので、よくわかりません。 コンパイラがどのような変換をおこなってJavaコードにしているかなんて、 変換されたら余計わかりませ…

文字列に文字列を追加するときに+=を使うのと<<を使うのではスピードが325倍違う

$ time ruby19 -e 's="";50000.times{s+="foobar"};' 4.58s user 9.03s system 99% cpu 13.650 total $ time ruby19 -e 's="";50000.times{s<<"foobar"};' 0.03s user 0.01s system 79% cpu 0.042 totalえーっと、連結スピードが325倍違います。 注意が必要…

ChangeLogの1行目ジェネレータ

#!/usr/bin/ruby now=Time.now puts now.strftime("%a %b #{now.day} %X %Y Takeyuki Fujioka <xibbar@ruby-lang.org>") 本当は1行で作りたかったけど、日付が09とかになっちゃうので、仕方ない。 結果は Tue Sep 9 14:20:44 2008 Takeyuki Fujioka こうなります。</xibbar@ruby-lang.org>

YARVではclass_evalのブロック呼び出しはStringの呼び出しよりも4.6倍速い

IRCでclass_evalのコストの話になって mameさんがベンチマークをとってくれました。 実行したプログラムは i = 0; while i < 100000; Object.class_eval { define_method(:foo) { } }; i += 1; end と i = 0; while i < 100000; Object.class_eval "define_m…

10月の3連休に北海道に行く方法

10/12の夜に小樽に行く用事ができたので、家族で行くことになりました。 行きは北斗星で行きます。 福島から札幌まで約58000円で家族3人で行けます。 (おそらく、福島から札幌に行く、最も楽で安くてバランスがいい方法。) 帰りは北斗星が17時頃出発のた…

火事場のような起業と子育てとの両立は難しい気がする

http://d.hatena.ne.jp/mkusunok/20080903/startup これはid:mkusunokさんのエントリですが、何を甘えたことをと 思いつつもまあこれが一般的に見ても現状なのだろうなと思います。 起業ってそれが一番いい選択だから選択しているのであって、 楽なことも苦…

姫井氏が離党断念 「改革クラブ」政党要件満たさず

http://blog.livedoor.jp/dqnplus/archives/1170344.html これは本当に最低だ。 なんだか大人じゃないですね。子どもを政治家にしてはいけません。 ちなみに姫井由美子さんを議員にしたのは 岡山県民です

CGIAltのテストのバグを見つけた

桑田さんが見ているかどうかわかりませんが、書いてしまいます。 test_cgi_multipart.rbに def teardown %[REQUEST_METHOD CONTENT_TYPE CONTENT_LENGTH REQUEST_METHOD].each do |name| ENV.delete(name) end $stdin.close() if $stdin.is_a?(Tempfile) $st…

メールアドレスがtmailに許されているかをチェックするスクリプト

携帯電話ではメチャメチャなRFC違反メールアドレスが多数存在します。 ある程度までは対応するけど、無茶なアドレスは許可しないというのが Railsで使用しているtmailにはあります。 とりあえずRailsは置いといて、お客さんからメールが届かないという 苦情…

1.9ではString#collect、String#mapがなくなった

% ruby -e 'p "aaa".collect' ["aaa"] % ruby19 -e 'p "aaa".collect' -e:1:in `<main>': undefined method `collect' for "aaa":String (NoMethodError)というようにStringにmapやcollectはできません。</main>

1.9のArray#to_sの仕様の違い

cgi.rbをいじっていて分かったのですが、1.8と1.9では挙動が違います。 fujioka@imac:~% ruby -e 'p ["aaa","bbb"].to_s' "aaabbb" fujioka@imac:~% ruby19 -e 'p ["aaa","bbb"].to_s' "[\"aaa\", \"bbb\"]"Arrayはjoinして文字列にせよということですね。 …

埼玉の幼児餓死事件は泣ける

「本当に全部ボクが悪い」 6歳長男、捨てられても叩かれてもなお母かばう…埼玉の幼児餓死事件 「ママが作ったシチューやカレーが大好き」という長男。母親が去った感想を検察官が 聞くと「我慢できなかった。さびしかったよ。何度も電話したけど全然出ない」…

trunkをMacOSX tigerでコンパイルし、test-allしてみる

実行結果、80個のエラー 見た感じ、sslのエラーとwebrickのエラーがほとんどかな。 test_certificate_verify_failure(TestNetHTTPS): test_get(TestNetHTTPS): test_get(TestNetHTTPS): test_identity_verify_failure(TestNetHTTPS): test_identity_verify_f…

LL Futureのチケット譲ります

行けなくなったのでチケット譲ります。 Tシャツつきです。定価で譲ります。

これは読めない

「鴨脚」で「イチョウ」 これは無理。 鴨の足跡は銀杏だからそうな。 京都の名字でこういうのはあるかもしれませんが、 読むのは無理。