Archive for 5月, 2011

僕がプログラミングをはじめたきっかけ

Time to Read

30秒

なかなかちゃんとしたブログ記事書く時間もないので、チラ裏してみます。

Read the rest of this entry »

 

Rack::Rewrite の README を超訳してみました

Time to Read

3分

Rack::Rewrite というものがあり、たとえば heroku のような、サーバ側は何もいじれないような場合でもソースに rewrite rule を書くことが出来たりします。日本人にはあまり広まっていないようなんですが、多機能というわけでもないし、 README を邦訳すればノリが判明して使えるかなーと思って、日本語にしてみました。

かなりザックリ+猛然と意訳超訳なので、原文も合わせてどうぞ。

Read the rest of this entry »

 

Rubyの、ブロック引数のカッコでの展開について

Time to Read

30秒

Rubyのブロック引数については、例えば以下のような書き方が許されて大変便利です。

1
2
3
4
5
6
[[[1, 2], 3],
 [[5, 6], 11]].each do |(a, b), c|
  puts "#{a + b} = #{c}"
end
# 3 = 3
# 11 = 11

このカッコ、どうも to_ary が定義されていれば展開されるようです。なので、

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class MatchData
  alias to_ary to_a
end
 
m = "hoge".match /(o).*(e)/
#=> #<MatchData "oge" 1:"o" 2:"e">
 
m.tap do |(whole, first, second)|
  puts " whole match: #{whole}",
       " first match: #{first}",
       "second match: #{second}"
end
#  whole match: oge
#  first match: o
# second match: e

こういう書き方も出来ます(この場合、実はカッコなしでも同じ挙動ですね)。

なお、多重代入の右辺でも to_ary は使われます。詳細はきっとソースなどにありますが、僕は読んでいません ;(

だからなんだというでもないですが、ちょっとしたtipsまでに。

 

Mongrel2 で動かす(rackup する) Padrino

Time to Read

3分

ブログを移行してるんですが(実は)、頓挫気味なので普通にブログ記事を増やします。

今日は、懐かしのアイテム mongrel の進化版といわれる mongrel2 を、Rubyのために使います。サンプルとして Padrino を使いますが、この先を見ての通り rackup で走らせるんで、大抵の Ruby 製フレームワークでイケるって信じてます。

まず、 ZeroMQ を入れる

Read the rest of this entry »

 

読んだ: Java: The Good Parts

Time to Read

1分

Java: The Good Parts

著者/訳者:Jim Waldo

出版社:オライリージャパン( 2011-02-24 )

大型本 ( 208 ページ )


読みました。

「Javaの勉強をしよう!」 と言う目的でこの本を手に取る人はあんまいないんだろうな、と読みながら思ったんですが…… 僕のスキルレベルとして「Javaっぽいコード」「Javaっぽい考え方」の方針をまずは一つ決めないといけない段階だと思うので、この本を指針にするのは一つの手なのかもしれないと思いました。

そして内容の3割ぐらいは結局良く分からなかったので、きっとまた読むことになるのでしょう……。

追記: 本くれ

Clean Code アジャイルソフトウェア達人の技

著者/訳者:Robert C. Martin

出版社:アスキー・メディアワークス( 2009-05-28 )

大型本 ( 528 ページ )


上記の本が欲しいので、譲ってくださる方ご連絡ください…… 状態が悪くても\2,000ぐらいなら出して買い取りまであります。