ruby

シンボルとは何か その1(前編) - 文字列の同一性と同値性

シリーズ・RubyのSymbol。とりあえず分かりやすいものから見る、ということで、「intern化された文字列」としてのシンボルを説明する。そのためにはRubyにおける文字列値について詳しく考...

シンボルとは何か 概論

Rubyにはシンボルというものがある:thorughとか:conditionsとか、コロンで始まる表記で、RailsのAPIによく出てくるアレだ。でも、シンボルって何だろう。この問いに答えられる人は少ないので...

Exception Notifier Pluginを導入して分かったこと

運用環境でRailsのException Notifierを使ってる。で、アプリケーションでUnhandledな例外が発生するとメールが飛んでくる訳だ。分かったのは、運用段階まで残るエラーは結局nilに対するNoMethodEr...

最近のruby-dev

Xtalの仕様がRubyの仕様の議論に影響を与えはじめている!こうして言語は切磋琢磨して発展していくのですね。

Ruby技術者認定試験を生温かく期待する

RubyアソシエーションがRuby技術者認定試験を始めるということで、はてなブックマークでの反応は概して「はいはい、ワロスワロス。」私としてはこれでNaClが儲かるならいいと思った。何...

akasaka.rb

Akakasa.rbに行ってきた。これは何なんだ? 赤坂、溜池山王、六本木近辺のRubyを中心としたオープンソース系プログラマの集い、か。 発起人がJRubyの人、recompile.netの高井さん。 私yuguiは場...

続・Railsの画面生成を10倍高速化する方法: フィルタ編

さて、昨日はSSIとの組み合わせでPageキャッシュの適用範囲を広げる話をした。 なぜSSIかというと、これは組込みの手軽なフィルタ機構だからだ。Apache 1系統ではSSIはハンドラとして実装...

Railsの画面生成を10倍高速化する方法

RailsでPageキャッシュをより広く活用する方法を考えてみました。以下、ちょっと長く前置きが続きます。Rails遅杉Railsは遅い。何が遅いって、Rubyが遅くてRoutingが遅くてRDBとRHTMLが遅い。RDB...

わかってなかった件

「書評 - Rubyクックブック」を読んだ。私の書いた評が引用されてる。で、 わかってない。わかってない。わかってねえ! と言われてしまった。すんません。わかってませんでした。言わ...

RubyKaigi2007 (3) - 卜部さん

前の記事に続いてRubyKaigi2007をレポートする。安定版Rubyとその今後 Ruby安定版のリリースマネージャーに就任したmputこと卜部昌平さんの発表。まつもとさんは偉大な言語デザイナだがリリ...

RubyKaigi2007 (2) - ささださん

前の記事に続いてRubyKaigi2007をレポートする。Ruby 1.9実装の現状と今後 東京大学講師になった笹田耕一さんによるYARVまわりの発表。Ruby1.9は現在鋭意作成中。昨年のRubyKaigiで既に宣言されて...

RubyKaigi2007 (1) - 開会

RubyKaigi2007に行ってきた。会場は全電通労働会館。この手のイベントでは毎度詳しくレポートさせていただいている。でも、今回は実行委員会の方が非常に再現度の高い速報ログを公開し...

今さらにFizzBuzz

まぁ、いい加減流行りを過ぎて、弊社では採用面接の際にこの手のを入れることに決定したFizzBuzzですが、「Lisp風Javaの解」を見つけたので触発されて、「C風Ruby」で。format_table = { 0 => ...

inject + Symbol#to_proc = fold

「4chan BBS - Evolution of a Python programmer - Mazにっき」を読んで今頃になって気がついた。そうか。ActiveSupportのSymbol#to_procがあればinjectで極めてシンプルに畳み込みできるんだ。(1..10).inject(&:*...

capistranoで時間差deployしたい

capistranoを導入して、周回遅れではてなと同じ問題にぶつかってる弊社【何】id:secondlife said... 同時命令 - SwitchTower の影10台サーバがあればすべて同時に restart production でいきなり10台が再起...

Rubyクックブック

『Rubyクックブック—エキスパートのための応用レシピ集』、こちらも献本いただいたので感想。"Ruby Cookbook"の抄訳。 元は23章あったのが12章になってる。ちゃんと書いとけと児玉さんがコ...

JavaからRubyへ——マネージャのための実践移行ガイド

Bruce Tateの"From Java to Ruby"を角谷さんが翻訳なさった『JavaからRubyへ』、献本いただいたので感想など。 この著者で、この訳者というのが既に魅力的な本。2人ともJavaに詳しいRuby使いである...

RubyKaigi取れた

なんか、数日前までのデスマーチと、ここ数日の会社のお引越とで、プライベートのほうがガタガタだねぇ。体調も悪いし、疲れが溜ってて、色々手続きやなんかを忘れてて。そういうわ...

RSpecにおけるコンテキストをまたぐ共通部分

先日書いたSeleniumRC specの中で使ってたテクニックが最近、会社で流行ってる。2007-12-04追記: このテクニックはRSpec 0.8以前のために開発しました。RSpec 1.0以降ではshared behaviourを使いましょ...

Lisperから見たRuby

Lisperから見たRubyの印象は、もしかしてC++使いから見たDのそれと同じじゃなかろうか。 とりあえず、基本的なテクニックに関しては、対応する文法が組み込まれてるなーと。 でも、自分...

途中でコミットできるトランザクション

今まで何回かContinuationネタで使ったことがあるActiveRecord用の「途中でコミットできるトランザクション」をrailsプラグインにしてみた。なんか、意外と自分で実用することが判明してきた...

Rubyのcatch, throwの作法

「rubyのcatch throwは安心して利用できるのか?」が面白かった。今まで使い込んだことがないから深く考えてなかった。いわれてみると、確かにブロック付きメソッドが勝手にthrowを握りつぶ...

Procの暗黙の呼び出しとselector namespace

RubyにおいてProcやMethodをできるだけ普通のメソッドに近い構文で呼び出すために、まつもとさんもずいぶんと試行錯誤しているというのは呼び出し可能シリーズ初回で見たとおり。で、こ...

Rubyの呼び出し可能オブジェクトの比較 (3) - なんかklassの話

前回はコンテキストの概念を眺めて、klassを理解することが必要だという話になったのであった。klassclass文の中では構築しようとしているクラスに対応するClassオブジェクトがselfとなって...

日経ソフトウエア1月号

日経ソフトウエア2007年1月号に記事を書かせていただきました。いろんなプログラミング言語からその言語の特徴的なところを学んでみようというようなお話の中で、Rubyを担当してます。...

Rubyの呼び出し可能オブジェクトの比較 (2) - というよりコンテキストの話

=begin (())は各オブジェクトの基本的な特徴を見ただけで終わってしまった。今回はこれらをコンテキストという観点から見てみたい。 = 前...

Rubyの呼び出し可能オブジェクトの比較(1)

Rubyにはコード片を表すオブジェクトが複数ある。Method, UnboundMethod, Procである。Continuationは少し違うけど、実行コンテキストを記憶しているオブジェクトという意味では近いものがあるか...

Rubyの変数スコープがキモい件

記事を書くにあたってRubyの変数スコープを考えれば考える程気持ち悪く思えてくる。ダイナミックスコープは慣れれば後置修飾子以外はあまり困らないんだけど、やっぱりブロック変数...

「Rubyの作者松本氏がありもしない錯誤をでっちあげて批判している件」について

fromdusktildawnさんの分裂勘違い君劇場「Rubyの作者松本氏がありもしない錯誤をでっちあげて批判している件」を読んだ。こうして議論が膨らんで、何が何でもRubyとか、何が何でもCLOSとか、...

~(なぜ仕事でRubyを使うとうれしいのか)

あー、明日からの「どう見てもデスマです。本当にありがとうございました」な日々の前にちょっとだけはしゃいでもいいですかね。先日、日経ソフトウエアに書かせていただいた「なぜ...