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

Title

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

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

    Commentコメント(0) Pageリンク元(6) Append 319
  • 風の大陸 最終章 祈り (富士見ファンタジア文庫)
    メディア: 文庫
    石のささやき (文春文庫)
    作者/アーティスト: Thomas H. Cook,村松 潔
    メディア: 文庫
  • お絵描きさん用サイトを作り始める 2008-01-02 02:03:36

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

     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リンク元(257) Append 330
  • mongrelに戻しました 2008-01-08 21:02:00

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

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

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

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

     ぼくの職場にはときどき声優さんたちがたくさんやってきて、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リンク元(257) Append 333
  • スノボーに行く 2008-01-12 05:58:10

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

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

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

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

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

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

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

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

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

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

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

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

     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コメント(0) Pageリンク元(90) Append 339
  • 初音ミク 2008-01-21 21:57:06

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

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

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

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

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

     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リンク元(96) Append 342
  • 今週の休日の過ごし方 2008-01-27 21:39:18

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

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

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

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

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

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

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

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

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

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

    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リンク元(148) Append 348
  • Capistranoとmongrel_clusterを連携させる 2008-01-31 17:28:59

     「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リンク元(79) Append 349
  • Capistranoでmigration 2008-01-31 19:48:37

    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リンク元(56) Append 350
« 2007年12月 | 2008年02月 »

プロフィール

おおいしつかさ

Amazon商品の一覧

人気の記事ベスト10

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

コメント

  • おおいしつかさ(へぼ将棋にいそしむ)
  • 武石(へぼ将棋にいそしむ)
  • ユル(しろさん、小鳥を食べるの巻)
  • おおいしつかさ(今読んでいる本)
  • 武石(今読んでいる本)
  • ユル(プログラマが若隠居をしたら)
  • ユル(風邪ひいた)

過去の記事

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月

キーワード一覧

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

Youtube

ニコニコ動画