ぼんやりと考えている人

名前: ひろしまなおき (廣島直己)
住処: シリコンバレー
職業: しがないプログラマ
家族: 愛妻一人、息子一人、娘一人
道具: ハーレー二台、ギター三本
電紙: n at h7a.org

ひろしまなおき (廣島直己)

Twitter

« October 2008
S M T W T F S
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

以前にぼんやりと考えたこと

最近のコメント

  • ひろしま (日本の少子化問題…): 天才ですね。いや、神童だったんですね、どこで間違え…
  • Hiratz (日本の少子化問題…): 幼少のみぎりに この問題にいち早く着目した私は、風呂…
  • ひろしま (東京はすべる…): ありがとう。 でも、残念ながら今回は、出張前からぜん…
  • Yone (東京はすべる…): 残念。じゃあうちに夕食でも食べに来ない? Hちゃんも…
  • ひろしま (東京はすべる…): @とおる え、そうですかねえ。ぼくはあんまり感じない…
  • C (東京はすべる…): 11月1〜3日に毎年恒例の新蕎麦会があるよ。…
  • とおる。 (東京はすべる…): はじめまして。どうでもいいですが、クロックスは東京…
  • ryu.hgia (かりーたんはぼく…): >>「エンジニアはモテるJK」 この言葉、ものすごく重み…
  • あごら (Gyazickr for iPho…): 遅くなってしまいましたが…v1.1 で Flickr の URL 問題…
  • ひろしま (かりーたんはぼく…): かりーたんが好きですか、そうですか。 じゃあ、こんど…

  • Powered by Pivot - 1.40.5: 'Dreadwind'
  • SPAM Poison
  • XMLフィード(RSS 1.0)
  • Atomフィード

26 June '2007 - 20:39 | 技術動向 RubyCocoa が楽しい件

Cocoa も Objective-C もまったく触ったことがないし、勉強もしてないので、なにがどうなのかは詳しくは知らないけれど、面白そうなので、先週から RubyCocoa で遊び始めた。

そもそも Cocoa の作法はまったく要領を得ない上、ruby のスレッドと NSThread の整合性の問題で、ちょっとヘマをすると core 吐きまくってあっという間に数ギガを消費してしまい、週末は rm -f /cores/core.* って何度タイプしたか分からないのだけれど、それはそれ。

で、なにからやってみようか考える。先日、温度がどうとかって言ったから、まずは温度を表示するコマンドを作ってみよう。

とりあえずアップルのサイトを調べてみたら、IOKit というのを使うと欲しい情報が取れることが分かったので、これを使う方法を探してみる。が、どうも簡単そうじゃなさそうな感触。

かわりに、bundle を作って Objective-C メソッドを ruby から呼べるようにする方法を発見したので、それを試してみる。

Objective-C で SystemManagementControl クラスを作って、そいつを ruby から呼んで、温度情報を取得してみたらあっさりと動いた。うーむ。こんなに簡単に ruby extension が書けるなんて、あまりに素晴らしす。

というか、これはこれで収穫だったのだけれど、そんなことがやりたかったわけではない。bundle なんて使わずになんとかしたい。

そこで、まずは勉強のために、既存のフレームワークで簡単そうなやつを使ってテストしてみることにする。WebKit なんていいんじゃまいか。

ブラウザを作るとなると、たぶん nib とかなんとか面倒なことになりそうなので、まずは GUI なしで遊びたい。GUI なしでどう遊べるだろう。あ、スクリーンショットでも取ってみるかな。見えなくてもいいし。

というわけで http://developer.apple.com/documentation/Cocoa からリファレンスを探して読みながら、でっちあげてみた。現時点での成果は http://n.h7a.org/hacks/rubycocoa/webshot.rb に置いておく。中川先生、ありがとう。

$ ruby webshot.rb google.com yahoo.com apple.com microsoft.com n.h7a.org/blog
http://google.com ... saved
http://yahoo.com ... saved
http://apple.com ... saved
http://microsoft.com ... saved
http://n.h7a.org/blog ... saved
$ ls *.png
apple.com.png microsoft.com.png yahoo.com.png
google.com.png n.h7a.org_blog.png

こんな感じで指定のサイトを png にして保存する。

PDF にして吐くと CSS が無視されるとか、フラッシュがちゃんと表示されないとか、細かいバグはもし原因が分かったら直すってことで。理由を知ってる人は教えてください。

ちなみに RubyCocoa 0.11.1 が入ってないと動かない。Leopard には入ることになってるけれど、秋まで待てない人は今すぐにいれるべし。

で、なんだっけ。

あ、そうだ、IOKit を bundle とか作らずに使う方法を見つけなくては。たぶん、C の関数と構造体を扱う方法が RubyCocoa に用意されてるだろうから、それを探してみればいいんだろうな。

いやー、楽しいなあ。

Trackback link:

トラックバック用URLを生成するには、JavaScriptを有効にしてください。



  
情報を記憶する

Emoticons /

酢ハムがいったいどんなハムなのかはともかく…
 

 

通知:
非公開:

注意: 使用できるタグは <b> と <i> のみです。URLやメールアドレスはそのまま記述すればリンクになります。