«前の日記(2007年08月06日) 最新 次の日記(2007年08月08日)» 編集

Matzにっき


2007年08月07日 [長年日記]

_ [Ruby] Lazy Collectionへの第一歩

になるかどうか自信は無いのだが、 1.9でイテレータ系メソッドにブロックを渡さない時に返される Enumerable::Enumeratorクラスに、 外部イテレータとして使うことができるようにnextメソッドを追加した。

実装には最近YARVに追加されたFiberを利用した。 っていうか、Fiberって初めて使ったよ。 使いやすいような、使いにくいような。慣れてないせいかな。

追加したメソッドは以下の通り

  • next - 「次」のオブジェクトを返す。末尾ではStopIteration例外
  • next? - 「次」のオブジェクトがあればtrue
  • rewind - nextでのオブジェクト生成を最初に「巻き戻す」

また、Enumerable#zipメソッドは、以前は引数として渡されたEnumerableを to_aで配列に変換していたが、Enumeratorを外部イテレータとして使うことにした。 これで、無限列もzipの対象にできる。

あと、zipの挙動だが、今まではレシーバの要素数だけ繰返していたが、 今後は正式にレシーバと引数でもっとも少ない要素数だけ繰り返すことにした(今までも1.9ではArray#zipがそうなってた)。

これでgeneratorライブラリを使わなくても簡単に外部イテレータが使えて、 PythonやXtalに一歩近づいた。

_ 蛙男商会からの報告・連絡・相談 祝・開星高校甲子園出場!

開成高校の吉田投手は吉田くんの弟だったんだ(そんなわきゃない)。

それはともかく、誰にでも理解できる表現ができる人には あこがれちゃうなあ。いや、蛙男については必ずしも「誰にでも」とは 言えないかもしれないけど、 少なくともRubyよりは広い範囲に分かってもらえそう。

というわけで、実は蛙男商会も島根県の重要な地域資源(コンテンツ産業)と 見なされているらしいぞ。現在、蛙男さんはほとんど東京に居るみたいだけど。

_ [言語] CSS、YAML、XML、JSONのいいとこ取り? 新データフォーマット「RSD」提案 | マイコミジャーナル

データフォーマットに特化しているという点ではYAML、JSONと同じ方向性のように見える。 CSSの影響が強いので、そっち方面に慣れている人にはわかりやすいかもしれない。

_ 仙石浩明CTO の日記: 面接FAQ: Tech総研「転職体験談」の取材を受けました

採用面接で「どんだけ技術が好きか」という点を集中的に確認するという仙石さん、という話。

技術が好きならば、プログラミング技術は後でいくらでも延ばせるし、 お互いに幸福な関係が築けるだろう、と。 まあ、確かにうちで生き残ってる連中も、 技術好きで日常生活をコンピュータにたとえて下らない話をするのが好きな連中が 多いものな。

今後の採用の参考にしよう。

_ [Ruby] InfoQ: Gemstone OODB to support JRuby, Rubinius

Gemstoneといえば昔一世を風靡したOODBMS。 これがJRubyやRubiniusから使えるようになる、という話。 私はその頃ObjectStoreを使ってたけど。

待て。JavaとのコネクションでなんでもできるJRubyは分かるが Rubiniusが出てて、なんで本家Rubyが対象にならないのか。不思議。

_ [言語] Static Typers vs Dynamic Typers

動的型を好む人(Dynamic Typer)と静的型を好む人(Static Typer)は プログラミングの別の側面を見ているのだろう、という話。

If I understand correctly, people who prefer static type systems tend to

think in terms of structural invariants of their programs, while people who prefer dynamic type systems tend to think in terms of their programs' behavior. I am convinced this is a personal preference, nothing more, nothing less. I guess that static typers have equal problems developing in dynamically typed languages as dynamic typers have developing in statically typed languages. I don't see a problem here: If the requirements are such that a focus on static correctness is important, it's probably better to employ a static typer, whereas if the requirements are such that dynamic flexibility is more important, the job should better be done by a dynamic typer. There is nothing wrong with specialization, we don't need a grand unified theory of program development.

そう言われてみればそんな気もする。

_ asahi.com:ゲゲゲの「ぬりかべ」、こんな姿? 江戸期の絵巻に登場 - 文化・芸能

「ぬりかべ」のあの姿と言うのは伝統的なものだと思っていたのだが、 実は水木さんの創造だったのね。実際はこんな獅子のような姿であったとは。

で、この「L・トム・ペリー コレクション」のL・トム・ペリーってのは、 ペリー長老のことだね、きっと。戦後、進駐軍として日本にいたって聞いてたけど、 ここまで日本通だったとは。

意外。


«前の日記(2007年08月06日) 最新 次の日記(2007年08月08日)» 編集