• ブログ
  • Photoshare
  • キーワード
  • ブックマーク
  • ふぉとす
  • 写真
  • ログイン

kaeruspoon

« 2007年12月 | 2008年02月 »
  • 初詣 2008-01-02 01:57:48 Append 319

     ユルさんと町田の神社に初詣に行きます。すごく人が多くてびっくりした。すっかり侮っていました。ぼくとユルさんはふたりとも大吉でした。こいつは春から縁起がいいや。

    Commentコメント(0) Pageリンク元(9)
  • お絵描きさん用サイトを作り始める 2008-01-02 02:03:36 Append 320

     ユルさんのためのお絵描きさん用webツール(かえるイメージとでもしておこう)を作り始めました。とりあえず、イラストをアップロードできて、サムネイル一覧表示画面と個別表示画面と最新情報表示用のサイト埋め込みタグ(iframeで)を用意しました。これでお絵描きさんは、自分の既存のサイトに簡単にかえるイメージを導入することができます。
     明日はCSS設定をできる機能とフォルダ機能を実装しようと思います。それくらいで完了かな。

    Commentコメント(0) Pageリンク元(15)
  • ソルベルグによるインプレッサのテスト 2008-01-03 18:09:36 Append 321


    インプレッサはカッコいいなあ。

    Commentコメント(0) Pageリンク元(8)
  • 休みに飽きてきた 2008-01-05 01:18:05 Append 322

     休日もこれだけ続くと飽きてきます。ユルさんのためのお絵描きさん用webツールはとりあえず完成。ぼくも写真をアップして使おうかと思います。初めて acts_as_list と sortable_element を使いました。動きがシブい。

    Commentコメント(0) Pageリンク元(15)
  • 1980ハンター: 本: デイヴィッド ピース,David Peace,酒井 武志 2008-01-05 13:37:07 Append 323

    • 1980ハンター (ハヤカワ・ミステリ文庫)
    • 作者/アーティスト: David Peace,酒井 武志
    • 出版社/メーカー: 早川書房
    • メディア: 文庫
    • 発売日: 2002-05

    「1980ハンター (ハヤカワ・ミステリ文庫)」を読みました。

    Commentコメント(0) Pageリンク元(17)
  • フィッシュストーリー: 本: 伊坂 幸太郎 2008-01-05 13:37:54 Append 324

    • フィッシュストーリー
    • 出版社/メーカー: 新潮社
    • メディア: 単行本
    • 発売日: 2007-01-30

    「フィッシュストーリー」を読みました。

    Commentコメント(0) Pageリンク元(19)
  • 写真をアップしました 2008-01-06 17:22:38 Append 325

     kaeru photo
     かえるイメージを使って、今まで撮った写真をアップしてみました。デジカメが壊れているので当分更新はないと思います。

    Commentコメント(0) Pageリンク元(17)
  • tokyobikeのドロップハンドル化 2008-01-07 00:58:52 Append 326

     ぼくのtokyobikeですが、ドロップハンドルにしたくてうずうずしています。tokyobikeじゃなくて、ぼくがうずうずしています。バーハンドルはのんびり散策するにはいいのだけれど、やっぱり長距離になると手が疲れてくるのです。さいわい、ドロップハンドル自体は安いのですが、STIがちょっと高い。それに、この際フロントをダブルにしようかとも考えたりしたりしなかったり。リアも9速とか10速とかにしたいなあと思ったり思わなかったり。いろいろと考えてしまうのです。

    Commentコメント(0) Pageリンク元(1857)
  • 怪我をする 2008-01-07 21:33:49 Append 327

     PCのハードディスクを取り外していたら、手がすべって右手の中指をざっくり切ってしまった。けっこう痛い。

    Commentコメント(0) Pageリンク元(15)
  • 七草粥を食べる 2008-01-07 21:35:13 Append 328

     七草粥は淡白な味だけど、麻婆豆腐と一緒に食べるとこれがとても合うのだ。おいしかった。

    Commentコメント(0) Pageリンク元(6)
  • 愚か者死すべし: 本: 原 リョウ 2008-01-07 21:36:16 Append 329

    • 愚か者死すべし
    • 出版社/メーカー: 早川書房
    • メディア: 単行本
    • 発売日: 2004-11-25

    「愚か者死すべし」を読みました。

    Commentコメント(1) Pageリンク元(14)
  • webサーバ Thin を使ってみる 2008-01-07 23:07:49 Append 330

     Mongrelより速いというウワサのThinというwebサーバを会社の同僚の方に教えてもらいました。実際に計測してみるとmongrelより速いそうです。mongrelの開発者がグレてしまったので、Thinを使ってみるのもいいかもしれません。ちょっと試してみました。

     まずはインストール。

    sudo gem install thin
    

     あとはRAILS_ROOTに移動して、

    thin start
    

    でOKです。超簡単(デフォルトのポート番号は3000です)。もちろん、RAILS_ENVやポート番号も指定できるしデーモンとして起動することもできます。

    thin -p4000 -e production -d
    

    みたいな感じ。デーモンとして起動したときは

    thin stop
    

    で停止できます。

    いちいち手で入力するのが面倒なので、複数プロセスで起動するthin_clusterを作ってみました。

    #!/usr/bin/ruby
    require 'yaml'
    
    CONFIG_FILE = "config/thin_cluster.yml"
    def error
      puts "thin_cluster config|start|stop [options]"
      exit
    end
    
    error if ARGV.size < 1
    
    mode = ARGV.shift
    case mode
    when "config"
      config = {:env => "development", :port => 3000, :servers => 1}
    
      if i = ARGV.index("-e")
        config[:env] = ARGV[i + 1]
      end
      if i = ARGV.index("-p")
        config[:port] = ARGV[i + 1].to_i
      end
      if i = ARGV.index("-N")
        config[:servers] = ARGV[i + 1].to_i
      end
      YAML.dump(config, File.open(CONFIG_FILE, "w"))
    when "start"
      config = YAML.load_file(CONFIG_FILE)
      config[:servers].times do |i|
        `thin -e #{config[:env]} -p #{config[:port] + i} -P "tmp/pids/thin.#{config[:port] + i}.pid" -d start`
      end
    when "stop"
      config = YAML.load_file(CONFIG_FILE)
      config[:servers].times do |i|
        `thin -P "tmp/pids/thin.#{config[:port] + i}.pid" stop`
      end
    else
      error
    end
    

    thinコマンドをそのまま呼んでるだけの超手抜きですが、まあ自分が使うだけだしこれでいいや。さっそく、kaeruspoonとmilookとかえるイメージをthin_clusterで動かしてみます。しばらく様子を見よう。

    追記
    続きが「Thinサーバーをまた使ってみる」にあります。

    Commentコメント(3) Pageリンク元(480)
  • mongrelに戻しました 2008-01-08 21:02:00 Append 331

     どうも thin ではうまく動かないところがあるようで、mongrelに戻しました。もうちょっとバージョンがあがるのを待ってみましょう。

    Commentコメント(0) Pageリンク元(13)
  • 友だちがNC30を買う 2008-01-08 22:41:39 Append 332

     バイク仲間の野上さんがNC30を買ったらしい。ぼくも欲しいなあ。

    Commentコメント(0) Pageリンク元(26)
  • svkの使い方まとめ 2008-01-10 17:46:40 Append 333

     ぼくの職場にはときどき声優さんたちがたくさんやってきて、webラジオの収録を行います。となるとちょっと仕事ができる環境ではなくなるので、別のオフィスに移動してプログラミングしています。そうすると開発サーバ上のリポジトリへのコミット(Subversionを使用しています)ができません。というわけで、svkを使ってみることにしました(いまさらだけど)。

    まずはsvkのインストール。

    sudo aptitude install svk
    

    svkリポジトリを作る(ホームディレクトリに作られます)。

    svk depotmap --init
    

    開発サーバのSubversionリポジトリからsvkリポジトリへのミラーリング。
    svkのリポジトリは//で表現します。

    svk mirror http://develop/svn //svk
    

    開発サーバのSubversionリポジトリとsvkリポジトリの同期処理

    svk sync //svk
    

    svkリポジトリから作業用ブランチを作成する。
    開発サーバのSubversionリポジトリと同期している//svkに直接コミットすると、開発サーバのSubversionリポジトリにも自動でコミットされてしまうので、作業用ブランチが必要です。

    svk copy //svk //work
    

    作業用ブランチからチェックアウト。

    svk co //work devel
    


    これで環境構築は完了です。
    svkのコマンドはsvnとほとんど一緒なので、いつものようにプログラミングをして作業用ブランチにコミットしていけばOK。これで、飛行機の中でも開発できちゃいます。

    開発サーバのSubversionリポジトリから作業用ブランチへの反映方法は以下のとおり。
    まずは同期処理。

    svk sync //svk
    

    つづいて作業用ブランチへのマージ。

    svk smerge -l //svk //work
    

    マージする前に変更点をチェックしたいときは-Cをつかいます。

    svk smerge -C //svk //work
    

    マージが完了したら、あとはアップデートするだけ

    svk up
    


    作業用ブランチから開発サーバのSubversionリポジトリへの反映方法は以下のとおり。

    svk smerge -l //work //svk
    

    これだけで、開発サーバのSubversionリポジトリへも自動でコミットされます。

    Commentコメント(0) Pageリンク元(514)
  • スノボーに行く 2008-01-12 05:58:10 Append 334

     三連休はスノボーをしに行ってきます。二泊三日。楽しみだ。

    Commentコメント(0) Pageリンク元(5)
  • スノボーから帰ってくる 2008-01-14 23:19:02 Append 335

     帰ってきました。筋肉痛で全身ガタガタです。めちゃくちゃおもしろかった。また行きたいです。

    Commentコメント(0) Pageリンク元(6)
  • スノボー旅行記でも書こうかと思ったけど 2008-01-15 22:18:24 Append 336

    D.T.T.D. | スキー部
     武石さんが先に書いていました。武石さんが言うほど、ぼくはうまくありません。二十代前半の滑りまくっていたころに比べると全然衰えてるし。
     やっぱり年に一回だけではなかなか上達しませんね。せめて二、三回は行かないと。レンタカーでも借りてユルさんとスキーしに行きたいな。

    Commentコメント(2) Pageリンク元(9)
  • 天使の街の地獄 (文春文庫): 本: リチャード レイナー,Richard Rayner,吉野 美恵子 2008-01-15 22:23:44 Append 337

    • 天使の街の地獄 (文春文庫)
    • 作者/アーティスト: Richard Rayner,吉野 美恵子
    • 出版社/メーカー: 文藝春秋
    • メディア: 文庫
    • 発売日: 2001-03

    「天使の街の地獄 (文春文庫)」を読みました。

    Commentコメント(0) Pageリンク元(16)
  • 文庫版 百器徒然袋—雨 (講談社文庫): 本: 京極 夏彦 2008-01-19 10:40:24 Append 338

    • 文庫版 百器徒然袋 雨 (講談社文庫)
    • 出版社/メーカー: 講談社
    • メディア: 文庫
    • 発売日: 2005-09-15

    「文庫版 百器徒然袋 雨 (講談社文庫)」を読みました。

    Commentコメント(0) Pageリンク元(11)
  • Hpricot で link タグが勝手に空要素になる 2008-01-21 21:23:06 Append 339

     Hpricotを使っていて、くだらないことでちょっとハマってしまいました。

    irb(main):003:0> a = Hpricot("<link>aaaa</link>")
    => #<Hpricot::Doc {emptyelem <link>} "aaaa" {bogusetag </link>}>
    irb(main):004:0> a.to_s
    => "<link />aaaa"
    irb(main):005:0> (a/:link).inner_html
    => ""
    

    といった具合に、link タグがおかしなことになります。RDFのパースをする処理でこの現象に出会ってしまい、ちょっと時間を浪費してしまいました。
    正解は簡単で

    irb(main):006:0> b = Hpricot.XML("<link>aaaa</link>")
    => #<Hpricot::Doc {elem <link> "aaaa" </link>}>
    irb(main):007:0> b.to_s
    => "<link>aaaa</link>"
    irb(main):008:0> (b/:link).inner_html
    => "aaaa"
    

    明示的にXMLだと教えてあげればいいだけでした。

    Commentコメント(2) Pageリンク元(178)
  • 初音ミク 2008-01-21 21:57:06 Append 340

    ユルさんが初音ミクを描いています。

    Commentコメント(0) Pageリンク元(14)
  • Double Arrayの勉強中 2008-01-22 23:34:01 Append 341

    • WEB+DB PRESS Vol.42
    • 作者/アーティスト: WEB+DB PRESS編集部
    • 出版社/メーカー: 技術評論社
    • メディア: 大型本
    • 発売日: 2007-12-22

    「アルゴリズム超重要」でやったキーワード検索機能ですが、「WEB+DB PRESS Vol.42」にDoubleArrayのお話が載っていたので、ちょっと勉強しています。ぼくが作ったキーワード検索では、TRIEをハッシュ木で実現しているのですが、DoubleArrayではどうなのだろうかと思った次第。
     ところが、検索のアルゴリズムはすごく簡単なのですが、BASEとCHECKの配列を構築するアルゴリズムがよくわからない。ちょっとググってみても特に見つからない。見つかるのは、あらかじめわかっているキーワードをすべて登録する方法。これならちょっと考えれば実装できる。でも、途中でキーワードを追加したり削除したりする方法がむずかしい。違うキーワードなのに、遷移先が衝突しちゃうことがあるけど、このときどうすればいいのか。まあ、のんびりと勉強していこう。

    Commentコメント(0) Pageリンク元(194)
  • Thinサーバーをまた使ってみる 2008-01-24 00:09:44 Append 342

     Rubyで書かれたwebサーバ Thinも、いつの間にかバージョン0.5.4になっていたので、また試してみることにします。以前、試してみたとき(「webサーバ Thin を使ってみる」)は、HTTPヘッダがおかしなことになって、cookieがうまく働かなかったりしましたが、今回は修正されているみたい。また試してみることにします。
     関係ないけど、Thinのコードネームはおもしろいね。今回はFlying Mustardだそうです。

     spider-manさんがすでに試されていますが、Thinにクラスタ機能が実装されました。が、まだちょっと使いにくそう。なので、以前作ったthin_clusterを改良してみました。

    #!/usr/bin/ruby
    require 'yaml'
    
    CONFIG_FILE = "config/thin_cluster.yml"
    KEY = {"e" => :env, "p" => :port, "s" => :servers}
    
    def error
      puts "thin_cluster config|start|stop [options]"
      exit
    end
    
    error if ARGV.size < 1
    case ARGV.shift
    when "config"
      config = {:env => "development", :port => 3000, :servers => 1}
    
      work = nil
      ARGV.each do |argv|
        if argv =~ /^\-([eps])(.*)$/
          work = nil
          if $2 && !$2.empty?
            config[KEY[$1]] = $2
          else
            work = $1
          end
        elsif work
          config[KEY[work]] = argv
          work = nil
        end
      end
      YAML.dump(config, File.open(CONFIG_FILE, "w"))
    when "start"
      config = YAML.load_file(CONFIG_FILE)
      `thin -e #{config[:env]} -p #{config[:port]} -s #{config[:servers]} -d start`
    when "stop"
      config = YAML.load_file(CONFIG_FILE)
      `thin -p #{config[:port]} -s #{config[:servers]} stop`
    else
      error
    end
    

     ソースを見れば一目瞭然だろうけど念のため使い方。すべてRAILS_ROOTで実行します。
     まずは設定。

      thin_cluster config -p3000 -e production -s 2
    

    一度設定しておけば、起動するときは

      thin_cluster start
    

    停止するときは

      thin_cluster stop
    

    でOKです。

    Commentコメント(1) Pageリンク元(171)
  • 今週の休日の過ごし方 2008-01-27 21:39:18 Append 343

     「電脳コイル」とか「しゅごキャラ」とか「ケロロ軍曹」とか「ガンダム00」を観たり、かえるイメージをユルさん専用にカスタマイズするために初めてnet/ftpを使ったり、散歩中に新型GT-Rをディーラーで目撃したり、squidをapacheのフロントに置いてみたらRailsの静的ファイルにアクセスできなくて悩んだり、本屋さんで旅雑誌やバイク雑誌を立ち読みしたり、ドトールでコーヒーを飲んだり、UbuntuのGnomeテーマをMacOSXのパクリから黒が渋いMoomex-Ultimatumに変えてみたり、新しいバッグを買ってもらったり、モスバーガーを食べたり、電器屋さんでVAIOtypeSを眺めたり、チャーハンとかコンソメ雑炊を作ったりしてました。

    Commentコメント(0) Pageリンク元(29)
  • 月曜日の水玉模様 (集英社文庫): 本: 加納 朋子 2008-01-29 10:08:29 Append 344

    • 月曜日の水玉模様 (集英社文庫)
    • 出版社/メーカー: 集英社
    • メディア: 文庫
    • 発売日: 2001-10

    「月曜日の水玉模様 (集英社文庫)」を読みました。

    Commentコメント(0) Pageリンク元(10)
  • Railsのfixturesに画像データを使用する方法 2008-01-29 15:36:19 Append 345

    Loading Binary Data into Rails Fixtures
     Railsのtext/fixturesに画像データを使いたかったのだけど、上記のサイトのやり方で簡単にできました。

    Commentコメント(0) Pageリンク元(100)
  • 猫をよろこばせる本—もっと仲良くなれる飼い方のコツ: 本: 沼田 朗 2008-01-30 10:14:14 Append 347

    • 猫をよろこばせる本―もっと仲良くなれる飼い方のコツ (PHP文庫)
    • 出版社/メーカー: PHP研究所
    • メディア: 文庫
    • 発売日: 1996-09

    「猫をよろこばせる本―もっと仲良くなれる飼い方のコツ (PHP文庫)」を読みました。

    Commentコメント(1) Pageリンク元(20)
  • RailsアプリのコードをCapistranoでデプロイする 2008-01-31 12:51:42 Append 348

    Capistranoをはじめて使ってみました。
    まずはインストール。

    sudo gem install capistrano
    

    続いて、RailsアプリにCapistranoを適用します。
    RAILS_ROOTディレクトリ上に移動してから

    capify .
    

    を実行。
    以前は、--apply-toオプションを使っていたようですが、Capistranoのバージョン2からは同オプションが廃止されているので注意です。
    そして、作られたconfig/deploy.rbの編集。

    set :application, "cap_test"
    set :repository,  "http://svn_host/svn/cap_test"
    set :user, "tsukasa"
    set :password, "tsukasa"
    set :deploy_to, "/home/cap_test"
    
    role :app, "cap_test_ap1"
    

    こんな感じ。webサーバとかdbサーバも指定できて、migrationなんかもできちゃうみたい。まだ試してないので、それはまた今度です。

    あとはセットアップとアップロードで、コードをデプロイできます。

    cap deploy:setup
    cap deploy:update_code
    cap deploy:symlink
    

    とても簡単だ。symlinkはcurrentという、最新デプロイへのリンクを作ってくれます。
    webサーバをリスタートできたり、mongrelと連動もできるみたいです。それもまた今度。

    Commentコメント(0) Pageリンク元(269)
  • Capistranoとmongrel_clusterを連携させる 2008-01-31 17:28:59 Append 349

     「RailsアプリのコードをCapistranoでデプロイする」の続き。
     capistranoにmongrel_clusterを連携させます。
     config/deploy.rbに以下のコードを追加。

    require 'mongrel_cluster/recipes.rb'
    set :mongrel_conf, "#{current_path}/config/mongrel_cluster.yml"
    

    これでOK。
    cap deploy:setupを実行済みならば、

    cap deploy
    

    だけで、subversionからのコードの反映、mongrel_clusterの再起動まで全部やってくれます。すげー便利(いまさら?)。

    Commentコメント(0) Pageリンク元(125)
  • Capistranoでmigration 2008-01-31 19:48:37 Append 350

    Capistranoでは

    cap deploy:migrate
    

    を実行すると、config/deploy.rbで

    role :db, "db1_server", :primary => true
    

    で指定したサーバ上でmigrationを実行してくれる。

    ただ、この場合はDBサーバ上にもコードをデプロイする必要があって、あまりうれしくない感じだ。
    この場合、

    role :db, "ap1_server", :primary => true
    

    というようにAPサーバを:dbロールに指定してあげると、database.ymlの設定にしたがってDBサーバにmigrationをしてくれる。これなら、DBサーバにコードをデプロイする必要はない。

    でも、こういう使い方でいいのかなあ。よくわからない。

    Commentコメント(2) Pageリンク元(135)
« 2007年12月 | 2008年02月 »

プロフィール

おおいしつかさ

過去の記事

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月 10月 11月 12月
2009年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2010年
1月 2月 3月

キーワード一覧

ActionScript Ajax AmazonResources Erlang git github iPhone javascript Javascript Kaerukeyword kaeruspoon Mac merb milook MiyazakiResistance NSR Objective-C perl Perl Rails Ruby Ruby on Rails RubyKaigi speedpetal subversion Thin Thinkpad tokyobike TRPG twitter ubuntu Ubuntu VAIO VAIO typeZ Waves WordScoop Xen ぐりぐり しろさん カンタロー スノボー ドトール ドライブ バイク プログラミング ユルさん 執筆 宮崎 日本酒 模型 猫 町田 真中洋嗣 自転車
Baner