冷えピタ

低温火傷になった結果がこれだよ!

Ruby on Rails 2.3 Release Notes

ails 2.3 delivers a variety of new and improved features, including pervasive Rack integration, refreshed support for Rails Engines, nested transactions for Active Record, dynamic and default scopes, unified rendering, more efficient routing, application templates, and quiet backtraces.

rails2.3がリリースされたみたいです。

最初の自動化は似たスクリプト書いてたのと、仕事がすでにコーディングにガッツリ入ってるのでコード量が減る変更の方が気になってしょうがないです。

リリースノートを読んで、一番コードに(良い意味で)影響がありそうなのは Object#try かなと思いました。行数が凄い減りそう。 Controllerの行数が一行でも減るのはうれしいです。

動的スコープ(scoped_by_foo)とデフォルトスコープ(default_scope)はModelの行数が減りそうでうれしい。

コア開発者の人は結構大工事だったと思うんですが、Rackベースに変更できてスッキリしてるんじゃないでしょうか。

相変わらず変更がアグレッシヴなのは自動テスト文化のおかげでしょうか。利用する側としては激流に身を任せ同化するほかないようです。

ニコニコMUGENwiki </del> トキ

Ruby XML Performance Shootout: Nokogiri vs LibXML vs Hpricot vs REXML

Last week, libxml-ruby 1 was released – a significant achievement since it had been under development for seven years. I suspected that it might just pip Nokogiri to the ””fastest way to parse XML in Ruby”” post and invited people to benchmark them. Turns out.. it ain’t so. Nokogiri is the fastest.

XMLパーサーのベンチマーク。nokogiriはlibxml2ベースでHpricot互換とは相当良さそうですな。

実践Common Lisp
  • 実践Common Lisp
  • オーム社(2008-07-26)
  • オーム社
  • (翻訳)佐野匡俊
  • (翻訳)水丸淳
  • (翻訳)園城雅之
  • (翻訳)金子祐介
  • 定価:¥ 4,410
  • 新品価格:¥ 4,410
  • ASIN:4274067211

Common Lisp初心者にはコレ!ということでid:g000001さんに実践Common Lispを貸してもらったので飯食いながら読んでました。(On Lispを買ったらいきなりマクロというのが分からなかった。)

これは趣味だ、これは趣味だ、これは趣味だ。Common Lispという架空の無料ネットゲームをプレイしているのと同じと考えてほしい!Railsの息抜きにネットゲームをプレイしているのです。そうなのです。)

とりあえず、家の糞ノートにUbuntuとSBCLという処理系を入れてみた。id:g000001さんに「schemeとは結構違うらしい」ということを聞いていたのでビビっています。

まず疑問に思ったのは下記のようなことです。

  • UNIXのsellからどうやって起動するのか。
  • gaucheでいえば #!/usr/bin/env gosh を1行目に書くみたいなことはできるのか。
  • コンパイルはどうやってやるのか。
  • プログラムへの標準入力と引数はどうやって受けとるのか。
  • socketやtcpの通信はどうやってやるのか。
  • パッケージシステムはどういうものがあるのか。
  • プログラムは普通どういう形で配布するのか。
  • マルチバイトの文字列はどうやってあつかうのか。

主にUNIXの他のプログラムとの連携をどうやるのかということが気になってしまうんですが、UNIXに毒されている者の考えで、Common Lisp流とはそもそも違うのかもしれない・・・。

(0:09:44) komagata: 休出ワロス (0:13:00) y@休出だるすぎワロタ: うzzz

controllerのspecで、getしてるところでどうしても下記のようなエラーでこける。

18)
ArgumentError in 'FoosController responding to GET index should expose all foos as @foos'
wrong number of arguments (1 for 0)
./spec/controllers/foos_controller_spec.rb:13:

原因はこれだった。

class ApplicationController < ActionController::Base
  include ActionController::UrlWriter
end

controllerの重要な何かがUrlWriterで上書きされてるっぽい。controllerにあんまり変なものincludeすると痛い目を見るというアンチプラクティス・・・。

八王子市民の脳裏に強烈なインパクトを残し続ける「太陽おどり」(正式名称、新八王子音頭)

はぁっ!

1.東西南北
  月から星からやって来る
  逢いたい見たい住みたいと
     キンラキラキラキラキラ
  みどりがいっぱいあるところ
  美人がいっぱいいるところ ハア
  太陽の街八王子
   ハッパキラキラキラキラ ハア
       キンラキラキラキラキラ

2.はだかでぶつかれ
  若さでぶつかれどんと行け
  振り返らずに止まらずに
     キンラキラキラキラキラ
  足音百万空高く
  あしたをみつめて大行進 ハア
  太陽の街八王子
   ハッパキラキラキラキラ ハア
      キンラキラキラキラキラ
    
     -間奏-

3.あの娘とあいつが
  高尾の山からおりて来た
  平和の花を胸につけ
     キンラキラキラキラキラ
  やさしい瞳と情熱で
  世界へ扉を開く朝 ハア
  太陽の街八王子
   ハッパキラキラキラキラ ハア
      キンラキラキラキラキラ
  • 定時外(土日も)の作業が必要になるような計画を立てない。
    • 一度やるとそれが標準になる。
  • しかし、パワーは有り余っている。そのパワーでルーチンプロセスの改善やタスクのオーバークオリティを狙ってみる。

ルーチンプロセスの改善

  • 何故ゴミの日にきちんとゴミ出しできないんだろう?
  • 毎週のリリース時のブランチ作成のためのCapistranoタスクを書いてみる。
  • 毎日寝る時間を携帯のアラームにセットしてみる。

オーバークオリティ

  • 来週入る新人用PCを(設定を)ピッカピカにしてみようか。
  • 上司に頼まれてたタスクを一個、とんでもない前倒しで完了してみようか。
  • 商品検索用のコントローラー一個だけ、とんでもない数のテストを書いてやろうか。
  • 小さいアプリのカバレッジを圧倒的にしてみる。

僕が非常勤でシステム担当になっている五反田のアクトインディ株式会社でエンジニアのアルバイトを募集しています。(というか僕が募集しています。)

  • 仕事
    • Railsアプリ開発(RSpec)
    • サーバー構築(Debian/CentOS)
  • 時給1000円以上
  • 勉強のためのアルバイト可
  • 3ヶ月~の短期も可
  • 週3日以上できる人
  • 慣れれば自宅勤務も可
  • 場所、五反田
  • PC持込可(BeOSとかPlan9とかでもいいです)
  • 服装自由
  • ガチ鬱可(薬を服用していれば可)
  • 業務形態
    • 社員前提
    • アルバイト
    • インターン
    • いろいろ

rono23の例でいったら、「Railsは本読みました」、「Linuxはいまいち・・・」という状態から両方とも1人で一から作れるようになってました。 なんらかのプログラム経験させあれば大丈夫です。

rono23も最初から半年ぐらいの予定で、予定通りやり終えて旅立って生きました。ミステリー小説の下巻や1人おでんセットをプレゼントしたことはいい思い出です。

オープンソースのWeb開発がサーバー構築含めてぺろっと習得したいかたはぜひ! 条件はほぼ、僕らと面白楽しく開発できるかどうかです。

komagata@gmail.com の アルバイト募集係までメールをください。 無事働くことになった方には、「極道メシ 1巻」をプレゼントいたします。また、machidaさんからは沖縄名物「サーダーアンダーギー」がプレゼントされることでしょう。

宜しくお願いします!

Mixing Cucumber with Test::Unit/Shoulda — GIANT ROBOTS SMASHING INTO OTHER GIANT ROBOTS

Most of Cucumber’s users seem to be fans of RSpec, but if you’re using Test::Unit (or Shoulda), Cucumber works just as well.

うわああああ、CucumberのためにShoulda捨ててRspecにしたのに、Test::UnitでもShouldaでも問題無く動くみたいです・・・。

外部の人に頼むときRspecじゃないと混乱するだろうからいいか・・・。

くっ・・・・。