Hatena::Grouphackathon

zrail (a.k.a. tobira17, h14i, ...) の Learning Log

2010-09-13

[][]ライブラリの設計 00:47 ライブラリの設計 - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - ライブラリの設計 - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

ライブラリ設計ってインクリメンタルにやっていくしかないのかなー。

Ruby みたいな大クラス主義の言語のクラスライブラリなら心配しないんだけど、今、作りたいライブラリは C のライブラリなんだよねー。

クラスライブラリを作るのと同じ感覚(と、多少トリッキーな実装)で設計というか実装というかをやってしまうしかないのかな。

2010-08-11

[][]とりあえず C の復習から 03:54 とりあえず C の復習から - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - とりあえず C の復習から - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

最近あんまり C/C++ に触っていなかったので、その辺の復習からやろうかと思う。

そしたらもうちょいアルゴリズムの勉強する。「定本 C プログラマのための~」辺りをババっと。

2010-08-06

[][][]malloc の実装とかしたい 13:34 malloc の実装とかしたい - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - malloc の実装とかしたい - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

ふと思ったんだけど、そういえば自分で malloc を実装したことなかったな。

いやもしかしたら K&R に載ってる alloc*1は作ったかも。

その辺の理解が結構曖昧な気がしてきたのでもうちょい突っ込んでみようと思う。


このエントリで言うところの離散数学とコンピュータアーキテクチャにあたるのかなぁ。

データ構造はまぁ当然のように考えなきゃいけないし、それなりの速度を出せるようにするならアルゴリズムも工夫しなきゃいけない。

んで、メモリを OS から借りてこなきゃいけないわけだから、 OS の知識と若干のハードウェア知識も必要だろう。*2


malloc のことを勉強するのはとても楽しそうなんだけど、最近 GC 積んでる言語ばっかり使ってるせいで malloc そのものの使い方を忘れてきちゃってる。

僕の頭はもうダメかも。


*追記

などと上で書いたけれど、 OS のシステムコールを使えばデータ構造だとかアルゴリズムってそんなに強く意識しなくてもいけるんじゃないか?知らんけど。

っていうか別に作らなくてもいいや。

人が書いた malloc のコードを読むだけでもかなり勉強になるんじゃね。

*1:alloc で合ってたっけ?と思って調べたら K&R の p.123 に載ってた

*2K&R の alloc は別。あれは自前でバッファを確保してるから、その範囲でしか使えない

2010-07-11

[][][][]Watir で組み込みの IE をハンドルする 09:22 Watir で組み込みの IE をハンドルする - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - Watir で組み込みの IE をハンドルする - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

VisualuRuby で IE コンポーネントを使うと JScript 関係のメソッドが呼べないから、仕方なく Watir を使ってみた。

そしたら、こっちはこっちでなかなか IE コンポーネントのハンドラが取得できなくて困った。

組み込みブラウザの attach が上手くできないのは既知の問題だったっぽい。

んで、RubyForge の Win32 Utils のフォーラムでも同じ問題が質問されてて、 Park さんが華麗に hack なさってました。

おかげで助かった。

いやほんと僕って Windows のこと知らないね。

ソフトウェアインフラのことやりたいなら Windows とかもちゃんと勉強しないとダメだよね。

[][]wxRuby を使ってみた、のその後 09:20 wxRuby を使ってみた、のその後 - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - wxRuby を使ってみた、のその後 - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

VisualuRuby を使いました。

だって wxRuby ムズいんだもん。

その点、 VisualuRuby は非常にお手軽。

しかし、ハマりどころが結構多い気もする。

VRAxControl 関連が未だに良く分からない。

サンプルを真似して組み込みブラウザを作ってみたけれど、呼べるはずの COM のメソッドが呼べなかったり。

いや単に僕が COM のことをちゃんと理解していないだけだというオチなんだろうけど。

何か、 arton さんの日記によると IronRuby から操作したほうが楽っぽかったな。

試してないから(というか資料すら読んでないから)本当に楽なのかは分からない。あとでちゃんと調べよう。


邪道編もかなり参考にさせて貰ってます。もう 10 周年なのかー。

僕が邪道編を買ったのは 2, 3 年前だけど、最近流石に店頭で見掛けなくなってきたよね。

どこで買ったんだったかな。多分、書泉グランデか、三省堂神保町本店あたりだろうなぁ。


*追記

ああ、 arton さんの日記の文章すら斜め読みだってのがバレバレのことを書いてしまいました。

RubyIE に組み込む話でした。

でも普通に参考になりました。

2010-06-20

[][][]バカにしていた 17:02 バカにしていた - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - バカにしていた - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

正直すまんかった。

いわゆるスクレイピングのことを侮っていた。取得したページを正規表現で削ったり、 concat したりするだけでしょ?*1とか思ってた。

自分でやってみると結構めんどい。ライブラリ作者すげー!

mechanize とか超すげー。どの言語の実装が元祖なんだろ。 CPAN とか RubyGems にもあるよね?

というわけで色んな先人たちのページを見て勉強させて貰っています。


yhara 先生のスクレイピング本がもうちょっと早く出てくれればもっと助かったんだけどw

楽しみにしています。

*1:まぁ流石にそこまで単純だとは思っていなかったけど