Archive for category Ruby

2011 年の自分まとめ featuring blog.udzura.jp

Time to Read

3分

Read the rest of this entry »

 

「年末年始休暇に読みたい! Rack について参考になる記事まとめ」について

という地味な「はてなまとめ」記事を作りました。適宜ツッコんだり、サンプルを追加しちゃってください。

どんなスポーツでも体幹を鍛えるのは重要ですし、今やほとんど全部の Ruby 製ウェブアプリケーションで「Rack」は重要な幹となるべき位置を占めていますので、これを機会に再入門の時間を取ってみるのもいいのではないだろうか~と。何より重要なこととして、そんな、難しいものじゃないんですよ。とってもシンプルで綺麗です。ぼくも、そろそろ rack/rack をちゃんと読んだりしたいです……。

あと、「はてなまとめ」、というかまとめ系ウェッブサービスを初めて使いました。なので、こなれていないところがあるかと思います。

 

rack-block という Rack Middleware をリリースしました

ついさっきリリースしました。検索ボットなどのアクセス避けに使えたりします。

使い方はREADME.md、もしくはspecを。あとでちゃんとドキュメントすると思います。

内部は(まだ)いろいろ凄いので、あんま突っ込まないでください……

では、メリークリスマス!!

 

.rb勉強会(第1回)参加しました

facebook でつながった(ソーシャル的常套句)人たちとルッビーの勉強会をやり、僕は僕の妄想的な主張を形にして発表したりしました。

.rb勉強会資料 – はじめる! Ruby de Web 開発

「またいつもの主張かよ~」 と思う向きもありそうなんですが、割と好評だったようで大変うれしく思いました。あと、「Sinatra楽しい!」と多くの人に言っていただけたのはよかったです。

ツッコミがあったので、補足すると、 Java は Rack 等の登場以前からJavaサーブレットのような技術でアプリケーションとサーバの抽象化を行っています。ただ、 Rack の方がよりシンプルになっていて、かつ動的型である Ruby(きっとPython/Perlも) の特徴に見合った実装になっていると思います。 PHP の場合は会場でも意見があったとおりそもそも Web 専用なので特別に WSGI/Rack 的なレイヤーを切り出していないということなのでしょう(2011/12/21 14:31)。

会場の Jelly Jelly Cafe 自体もかなりカオスで面白かったです。もっと時間をゆっくりとってもくもくしたりもできれば楽しそうだな~とか思ったりもしました。第2回に期待です。

 

AOP はよく分からないが Module#method_added がクールだと思う

Time to Read

3分

Groovy クラスタなので、こういう記事を読んだ。で、最後の方に Ruby その他について言及がある。

Groovyが趣味に合わないという方の場合、好きな動的言語で上記の例を再実装することが可能です。例えばRubyでは、invokeMethodではなくmethod_addedフックを無効にすることが可能です。“method_added”は、新しいメソッドがクラスに追加されたときに呼び出されます。メソッドがObjectに追加された場合、alias_methodを介してbefore、after、aroundアドバイスを挿入する実装のため交換し、プロキシすることができます。かつてすべてのWeb開発者を悩ませたJavascriptですら、AOPが容易に実装できる強力なイディオムを備えています。AspectJ(サイト・英語)というそれ用のフレームワークも存在するのです。

でも、僕は正直 Module#method_added を使ったことが無かったので、ちょっと調べてみましたよ、と。

Read the rest of this entry »