• ブログ
  • 写真
  • キーワード
  • ブックマーク
  • ログイン

Title

« 2008年06月 | 2008年08月 »
  • Passengerを2.0.1にバージョンアップ 2008-07-01 00:13:49

    Passengerを2.0.1にアップデートしてみました。速くなるというウワサだったけど、計測してたら逆に遅くなっていた。

    追記
    と思ったけど、単に同条件で1.05のベンチマークをとっていないだけでした。
    結果からすると、2.0.1のほうがほんのわずかですが速くなっています。

    Commentコメント(0) Pageリンク元(20) Append
  • しゅごキャラ! (1) (講談社コミックスなかよし (1113巻))
    メディア: コミック
    ローマの休日
    メディア: DVD
  • かえるキーワード独立の断念 2008-07-04 00:43:54

    ここ最近、かえるキーワードを別アプリとして分離する作業をやってきたのだけど、WebAPIで機能を提供するのは遅すぎて実用性にかけるため、計画を断念しました。このトップページの表示だけでも20秒以上かかってしまっていたくらい。
    というわけで内部的なかえるキーワード機能を復活させました。

    Commentコメント(0) Pageリンク元(1) Append
  • 肋骨が痛い 2008-07-04 00:48:40

    先日の土曜日に自転車で江ノ島にいったのですが、実は家を出てすぐに落車をしました。そんなにスピードが出てなかったのでちょっとすりむいたくらいで済んでいたのですが、徐々に肋骨が痛くなってきました。最初は大きく伸びをするとちょっと痛い、という感じだったのだけど、今はもうふつうにしているだけでずきずき痛むし、くしゃみをしたら顔をしかめそうになるくらい痛いです。なんてことだ。ヒビでも入ってなきゃいいけど。とりあえず、週末は病院にいってみよう。

    Commentコメント(0) Pageリンク元(12) Append
  • 病院にいってきた 2008-07-06 01:45:11

    肋骨はさいわい骨折していることもなく、ただの打撲ということになりました。いちよ、レントゲンを撮ったのですが、特に何もなくてよかったです。
    とはいえ、まだ痛いですけど。

    Commentコメント(0) Pageリンク元(4) Append
  • ご飯支度中の珍入猫 Japanese cat door 1 2008-07-08 01:02:00

    めちゃくちゃおもしろい

    Commentコメント(0) Pageリンク元(2) Append
  • うっかり 2008-07-08 22:13:09

    デーモンがいつの間にか死んでいて、ダイナミックDNSへのIP通知が行われず、今日一日kaeruspoonにアクセスできなかったです。
    ちゃんと監視しとかないといけないですね。

    Commentコメント(0) Pageリンク元(1) Append
  • ライツアウト (講談社文庫): ピーター エイブラハムズ, Peter Abrahams, 矢沢 聖子: 本 2008-07-08 22:15:10

    • ライツアウト (講談社文庫)
    • 作者/アーティスト: Peter Abrahams,矢沢 聖子
    • 出版社/メーカー: 講談社
    • メディア: 文庫
    • 発売日: 1996-03

    「ライツアウト (講談社文庫)」を読みました。

    Commentコメント(0) Pageリンク元(2) Append
  • 毎日新聞すごい 2008-07-09 21:57:27

    はてなブックマーク - http://mdn.mainichi.jp/robots.txt
    おもしろい。

    Commentコメント(0) Pageリンク元(3) Append
  • Passengerで、ときどきspawnサーバが落ちる 2008-07-09 22:00:27

    Passengerを使っているんだけど、気づくとときどきspawnサーバの一部が落ちていたりする。今日も12時ごろに落ちていた。まだちょっと不安定ですね。どうしようかな。Thinにもどそうかな。

    Commentコメント(0) Pageリンク元(6) Append
  • Objective-Cを使ってみる 2008-07-11 00:23:51

    ひょんなことからObjective-Cの勉強をちょっとしてみた。
    最初はMacがないと使えないと思っていたのだけど、gccでコンパイルできることがわかった。すばらしい。

    sudo aptitude install gobjc
    

    環境構築はこれでOK。あとはgccかけるときに-lobjcをつけてあげます。

    gcc test.m -lobjc
    

    こんな感じ。Objective-Cのファイル名の拡張子はmだそうです。

    Objective-Cは基本的にC言語みたいです。変な記法でオブジェクトが使えるようになったC言語。
    たとえばRubyで

    class Tsukasa < Oishi
      def say
        puts "hello, world!"
      end
    end
    a = Tsukasa.net
    a.say
    

    というようなコードがあったとき、Objective-Cでは

    #import <stdio.h>
    #import <objc/Object.h>
    
    @interface Tsukasa : Oishi
    - (void)say;
    @end
    
    @implementation Tsukasa
    - (void)say {
      printf("hello, world!\n");
    }
    @end
    
    int main(void) {
      id a = [Tsukasa new];
      [a say];
    }
    

    と書きます。同じクラスを2回書いているように見えますが、@interfaceのところはクラスの宣言で、@implementationでメソッドを実際に定義します。メソッド名の前のカッコは返り値で、その前の「-(マイナス)」はインスタンスメソッドであることを示しています。クラスメソッドのときは「+(プラス)」を使います。
    実際にメソッドを呼び出すとははかぎ括弧で指定します。最初にレシーバを書いて、次にメソッドと引数が続きます。
    idというのはインスタンスを表しているObjective-Cの型で、基本的にはvoid*みたいなものだそう。だから、

      Tsukasa * a = [Tsukasa new];
    

    と書いてもOKなのです。
    書き方がちょっと変だけど、C++よりはとっつきやすそうです。もっといろいろ勉強してみよう。

    Commentコメント(0) Pageリンク元(21) Append
  • 今朝のObjective-Cの勉強 2008-07-12 09:38:01

    朝早く起きて、Objective-Cの勉強をちょっとしました。

    今日覚えたこと。
    1.インスタンス変数とself
    インスタンス変数は@interfaceディレクティブで指定してあげます。

    @interface Test : Object
    {
            int     prt_attr;
    @public
            int     open;
    @private
            int     num;
            char *  name;
    }
    

    @public,@protected,@privateディレクティブで公開範囲を指定します。何も指定していないときは@protectedが選択されます。
    メソッド内でインスタンス自体にアクセスしたいときはselfを使います。

      self->num = 3;
    

    注意が必要なのが、@publicなインスタンス変数を外部から利用するとき。id型の変数からは@publicなインスタンス変数を参照できません。

      id obj = [Test new];
      obj->open = 3; // これはNG
    

    そのときは

      Test * obj = [Test new];
      obj->open = 3; // これはOK
    

    というように静的な型としてコンパイラが確認できるようにしてあげます。

    2.メソッドのラベル
    メソッドにはラベルをつけることができます。同じメソッド名でもラベルが異なれば別のものとして扱われます。

      - (void)method:(int)num andName:(char*)name {
        printf("lavel on\n");
      }
      - (void)method:(int)num :(char*)name {
        printf("lavel off\n");
      }
    ......
      [obj method:1:"test"];
      [obj method:1 andName:"tsukasa"];
    

    とすれば、

    lavel off
    label on
    

    となります。引数の間にラベルを置くみたいです。最初は引数それぞれにラベルをつけられるのかと思っていました。引数が3つあれば

    - (void)method:(int)num andName:(char*)name andAge:(int)age;
    

    というふうに書けます。

    3.指定イニシャライザ
    インスタンスを生成するときに初期値も指定してあげたいときがよくあります。そんなときに使うのが指定イニシャライザ。Objective-Cでは、newクラスメソッドで[Class alloc init]とメッセージを投げているので、initメソッドをオーバーライドすればよさそうですが、こいつは引数を受け取れません。そこで、

      - (id)init {
              [super init];
              return [self initWith:1 :"oishi"];
      }
    
      - (id)initWith:(int)num :(char*)name{
              self->num = num;
              self->name = name;
              return self;
      }
    

    というように、initメソッドから引数を受け取る指定イニシャライザを呼んであげます。慣例的に、指定イニシャライザはinitWithで始まるメソッド名にするようです。main()で実際にこれを利用するときは、

    Test * obj = [[Test alloc] initWithNum:5 :"tsukasa"];
    

    みたいな感じで呼びます。そのままですね。

    4.ガベージコレクション
    Objective-Cにはガベージコレクションなどありません。まさにC言語です。インスタンス生成で確保したメモリを開放するときはfreeインスタンスメソッドを呼んであげます。

      [obj free];
    

    これ、忘れそうですね。Rubyとかに慣れている身としては。注意が必要です。

    5.クラスオブジェクト
    Objective-Cではクラス自体をオブジェクトとして利用することができます。クラスオブジェクトを引き出すときはclassメソッドを使います。型はClassとなります。

      Class c_obj = [Test class];
      id obj => [c_obj new];
    


    6.セレクタ
    Objective-Cではメッセージのやりとりにセレクタというものを使って実際のメソッドを特定しているようです。
    セレクタを使えば実行中に呼び出したいメソッドを動的に選択することができるようになります。C言語の関数へのポインタみたいですね。セレクタを取得するには@selectorディレクティブを使います。返される型はSEL型です。

      SEL call_m = @selector(openMethod);
      [Test perform:call_m];
    

    performメソッドはセレクタを受け取って、それが示すメソッドを実行します。

    7.メソッドへのポインタ
    メソッドへのポインタを取得することができます。取得したそれはC言語の関数へのポインタと同じように使うことができます。メソッドへのポインタを取得するには、instanceMethodForクラスメソッド、またはmethodForインスタンスメソッドを使います。これらはメソッドへのポインタをIMP型として返します。

      id obj = [Test new];
      SEL method_sel = @selector(method);
      IMP func = [obj methodFor:method_sel];
      func(obj, method);
    

    メソッドへのポインタの第一引数にオブジェクト、第二引数にメソッドのセレクタ、それ以降に通常の引数を指定します。

    8.プロトコル
    JavaのインターフェースのようなものがObjective-Cにもあって、プロトコルと呼ばれています。

    @protocol Tsukasa
    - (void)oishi;
    @end
    
    @interface Test : Object <Tsukasa>
    @end
    

    というように、プロトコルを採用するクラスの宣言で <>内に指定してあげます。プロトコルが採用されたクラスでは必ずそのメソッドを実装しなければなりません。

    Commentコメント(2) Pageリンク元(95) Append
  • Macで遊ぶ一日 2008-07-12 17:53:02

    今日は会社に来て、一日中Macで遊んでました(つまり仕事ではない)。
    iPhoneアプリの開発を初めてしたけど、結構大変でした。どこから手をつけていいのかよくわからないもの。
    それでも、とりあえず検索窓ととあるWebAPIからXMLデータを取得するところくらいはできました。まだまだ前知識が足りません。XCodeやInterfceBuilderの使い方がまだいまいちです。
    でもMacは触っていて気持ちがいいですね。ますます欲しくなってきた。

    Commentコメント(0) Pageリンク元(7) Append
  • Sony がけっこう好き 2008-07-14 00:35:54

    • SONY ウォークマン Aシリーズ ワンセグ内蔵 8GB ブラック NW-A918B
    • 出版社/メーカー: ソニー
    • メディア: エレクトロニク
    • ス発売日: 2007-11-17

    iPodよりもこれが欲しかったりする。

    ぼくはけっこうSony製品が好きで、使っているPCもVAIOだったりします。正直、VAIO以外のPCを使う気が全然しません。だってカッコ悪すぎるんだもの。変な家電っぽいし、他のメーカーのPC。VAIO以外で許せるのはMacくらいです。

    Commentコメント(0) Pageリンク元(9) Append
  • livedoorさんの社内勉強会Megatechに参加してきました 2008-07-15 23:12:21

    livedoorさんの社内勉強会Megatechに参加してきました。とても楽しかったです。当初予定してなかった懇親会にも急遽参加させていただいた。勉強会に参加したら、懇親会にも参加しないともったいないなあと実感した今日この頃でした。
    勉強会の内容では、特にMySQLのパフォーマンスチューニングのお話が興味深かった。プレゼン資料がweb公開されるかもしれないというお話だったので期待していようと思います。

    Commentコメント(0) Pageリンク元(7) Append
  • ステラ・リーベックになる 2008-07-19 21:02:28

    ステラ賞というものがアメリカにはあるのだけど、その賞が作られるもととなった事故はステラ・リーベックというおばあちゃんが足にマクドのコーヒーをこぼして大火傷をしたというものです。
    今朝のぼくはそのステラばーさんと同じことをしてしまいました(マクドじゃなくて自宅のコーヒーだけど)。おかげでふとももに火傷が。すぐに病院にいって治療してもらったけど歩くのが一苦労です。とほほ。

    Commentコメント(0) Pageリンク元(5) Append
  • 詳解 Objective-C 2.0: 荻原 剛志: 本 2008-07-19 21:09:13

    • 詳解 Objective-C 2.0
    • 出版社/メーカー: ソフトバンククリエイティブ
    • メディア: 大型本
    • 発売日: 2008-05-28

    「詳解 Objective-C 2.0」を買いました。

    Commentコメント(0) Pageリンク元(11) Append
  • 人間失格 (新潮文庫 (た-2-5)): 太宰 治: 本 2008-07-21 11:23:20

    • 人間失格 (新潮文庫 (た-2-5))
    • 出版社/メーカー: 新潮社
    • メディア: 文庫
    • 発売日: 1952-10

    「人間失格 (新潮文庫 (た-2-5))」を読みました。
    三十歳になるまであれほど本を読んできた自分なのに、まだ人間失格を読んでいなかったということに我ながらちょっと驚きました。
    しかし失敗した。これは若い頃に読んでおくべきだったな、と思わせる本でした。

    Commentコメント(0) Pageリンク元(4) Append
  • ダメな一日 2008-07-22 02:37:40

    今日は何もしない一日だった。朝起きてから夕方まで、ぼうっとしながら自分の昔の小説を読んでいたりしました。腹が減ってきたなと思ったら夕方の6時を過ぎていたのでびっくりした。休日はひきこもって過ごしていた昔のぼくみたいだ。今日は一日勉強にあてる予定だったのに。今日した有意義なことは、人間失格を読んだことと洗濯をしたことくらい。
    今はユルさんが実家に帰っているので実につまらない。ひとりだと何もすることがないのだ。困ったものである。

    Commentコメント(3) Pageリンク元(5) Append
  • VAIOの新型typeZがいい 2008-07-26 12:01:45

    type Z | 製品情報 | 個人向け | VAIOパーソナルコンピューター | ソニー

    今までVAIOのtypeSがプログラマにも最適な感じの製品でしたけど、今回のモデルチェンジで軟弱者に成り下がっています。
    代わってそのポジションにのし上がってきたのがtypeZ。これ、すごくいいな。買ってすぐにUbuntuをインストールしたい。

    Commentコメント(0) Pageリンク元(92) Append
  • kaeruspoonのサーバを移動させました 2008-07-27 22:55:19

    最近暑くなってきたので、玄関の下駄箱の上に置いてあったサーバをリビングに移動させました。熱対策のため、夏だけはリビングに置くのです。

    Commentコメント(3) Pageリンク元(1) Append
  • Software Design (ソフトウエア デザイン) 2008年 08月号 [雑誌]: 本 2008-07-30 02:09:13

    • Software Design (ソフトウエア デザイン) 2008年 08月号 雑誌
    • 出版社/メーカー: 技術評論社
    • メディア: 雑誌
    • 発売日: 2008-07-18

    「Software Design (ソフトウエア デザイン) 2008年 08月号 雑誌」を買いました。

    Commentコメント(0) Pageリンク元(1) Append
« 2008年06月 | 2008年08月 »

Twitterでのひとりごと

  • コードギアスはもうなんだかどうでもいい感じのお話になっている(09/07 22:37)
  • ターミナルを見た。いまいちかな。(09/06 23:58)
  • アップルから帰ってきました(09/05 23:00)
  • パナップを食べた。会社のパナップのほとんどをぼくが食べている気がする。(09/05 12:54)
  • photohito 見てたらカメラがほしくなってきた。http://photohito.com/(09/04 22:49)
  • 交通警察24時をやっているらしい。見たいなあ(09/04 20:42)
  • 超不毛な作業をしたので、自分へのご褒美にパナップを食べている(09/04 20:14)

プロフィール

おおいしつかさ

Amazon商品の一覧

人気の記事ベスト10

  • 1.apache+mod_proxy_balancer+mongrelでRailsを動かす方法
  • 2.Perlでevalを使ってみる
  • 3.バージョン管理をsubversionからgitに移行してみた
  • 4.tokyobikeのドロップハンドル化
  • 5.URLなど、長い英字を折り返して表示する方法
  • 6.ubuntu8.04でデュアルディスプレイを使う
  • 7.restful_authenticationを使ってみた
  • 8.Rspecでコントローラのspecファイルを書く
  • 9.Amazonの商品を手軽に扱えるプラグイン、AmazonResourcesをつくりました
  • 10.RailsとPostfixで受信メールを処理する方法

コメント

  • 武石(人に喜ばれること)
  • おおいしつかさ(googleからの本当のメール)
  • 武石(googleからの本当のメール)
  • ユル(日本酒と魚があれば何もいらない)
  • おおいしつかさ(日本酒と魚があれば何もいらない)
  • 武石(しつこい)(日本酒と魚があれば何もいらない)
  • 武石(日本酒と魚があれば何もいらない)

過去の記事

2006年
12月
2007年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2008年
1月 2月 3月 4月 5月 6月 7月 8月 9月

キーワード一覧

ActionScript AmazonResources git javascript kaeruspoon milook NSR Objective-C Rails Ruby Ruby on Rails subversion Thin tokyobike ubuntu VAIO VAIO typeZ Waves Xen ぐりぐり カンタロー スノボー ドトール ドライブ バイク プログラミング ユルさん 執筆 日本酒 模型 真中洋嗣 自転車

Youtube

ニコニコ動画