ぼんやりと考えている人

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

Twitter

« March 2024
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            

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

最近のコメント

  • ひろしま (ひらがなせいかつ …): じゅくじくんは なくした ほうが いい ですね。ぼくは…
  • たんぽぽ (ひらがなせいかつ …): きゅうに ぜんぶの ことばを ひらがなだけに する…
  • とね まさひこ… (ひらがなせいかつ …): ぼくは ものかき だが, かんじが きらいなので,…
  • とりえ (ひらがなせいかつ …): このさいとは みているだけで なんとなく ほんわか…
  • ひろしま (思い通りの日本語…): こうどな ほんを よめなければ、こうどな たんごを 学…
  • nt4 (思い通りの日本語…): ひらがなせいかつに初めて接し、興味を覚えました。そ…
  • ひろしま (ひらがなせいかつ …): やはり、がいこくに くらしていたり、がいこくとの か…
  • ぷりうりうぷ… (ひらがなせいかつ …): こんにちは。すうぇーでんに すんでいます。いとうさ…
  • Joi Ito (ひらがなせいかつ …): もと べいにち たいしの Edwin O. Reischauer さん…
  • yonay (理屈じゃないとい…): なんか、著者の主張を誤解しているような気がするよ。…

  • 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やメールアドレスはそのまま記述すればリンクになります。