Updates from 1月, 2009 Toggle Comment Threads | キーボードショートカット

  • someeda 17:03 on 2009/01/12 パーマリンク | 返信
    Tags: amazon, ec2   

    EC2のConsole 

    アマゾンがEC2をWebで直感的にコントロールできる、コンソールを提供開始したので。少し触ってみました。
    まずはQuickStartにある、このインスタンスを作ります。

    Ruby on Rails Web Starter (AMI ID: ami-b44bafdd)
    Fedora Core 8, 32-bit architecture, Ruby 1.8.6, Rails 2.2.2, RubyGems 1.3.1, Mongrel 1.1.5, and MySQL 5.0.45

    sshでのアクセス用URLが表示されるので、ログインしてみます。
    RubyとRailsのバージョンはこんな状態です。

    [root@ ~]# gem -v
    1.3.1
    [root@ ~]# gem list

    *** LOCAL GEMS ***

    actionmailer (2.2.2)
    actionpack (2.2.2)
    activerecord (2.2.2)
    activeresource (2.2.2)
    activesupport (2.2.2)
    cgi_multipart_eof_fix (2.5.0)
    daemons (1.0.10)
    fastthread (1.0.1)
    gem_plugin (0.2.3)
    mongrel (1.1.5)
    open4 (0.9.6)
    rails (2.2.2)
    rake (0.8.3)
    [root@ ~]# ruby -v
    ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-linux]
    [root@ ~]# which ruby
    /usr/bin/ruby
    [root@ ~]#

    こういうインターフェイスはサードパーティーの物がありましたが。今回アマゾン自身が提供する事になったわけです。無料で使えるのもありがたい事です。これでEC2を利用するのに、大分敷居が下がった感じがします。

    /proc/meminfo と /proc/cpuinfo の出力はこんな感じです。

    # cat /proc/meminfo
    MemTotal:      1747764 kB
    MemFree:       1615412 kB
    Buffers:          5368 kB
    Cached:          48384 kB
    SwapCached:          0 kB
    Active:          51096 kB
    Inactive:        40248 kB
    HighTotal:     1003528 kB
    HighFree:       907368 kB
    LowTotal:       744236 kB
    LowFree:        708044 kB
    SwapTotal:      917496 kB
    SwapFree:       917496 kB
    Dirty:              12 kB
    Writeback:           0 kB
    AnonPages:       37612 kB
    Mapped:           8472 kB
    Slab:             5972 kB
    SReclaimable:     2432 kB
    SUnreclaim:       3540 kB
    PageTables:        792 kB
    NFS_Unstable:        0 kB
    Bounce:              0 kB
    CommitLimit:   1791376 kB
    Committed_AS:   178332 kB
    VmallocTotal:   114680 kB
    VmallocUsed:      1360 kB
    VmallocChunk:   112936 kB

    # cat /proc/cpuinfo
    processor    : 0
    vendor_id    : AuthenticAMD
    cpu family    : 15
    model        : 65
    model name    : Dual-Core AMD Opteron(tm) Processor 2218 HE
    stepping    : 3
    cpu MHz        : 2599.998
    cache size    : 1024 KB
    fdiv_bug    : no
    hlt_bug        : no
    f00f_bug    : no
    coma_bug    : no
    fpu        : yes
    fpu_exception    : yes
    cpuid level    : 1
    wp        : yes
    flags        : fpu tsc msr pae mce cx8 apic mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow up pni cx16 lahf_lm cmp_legacy svm extapic cr8legacy ts fid vid ttp tm stc
    bogomips    : 6502.41
    clflush size    : 64

    ps ax。最初からmongrelが起動しています。

    # ps ax
    PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:00 init [4]
    2 ?        S      0:00 [migration/0]
    3 ?        SN     0:00 [ksoftirqd/0]
    4 ?        S      0:00 [watchdog/0]
    5 ?        S<     0:00 [events/0]
    6 ?        S<     0:00 [khelper]
    7 ?        S<     0:00 [kthread]
    9 ?        S<     0:00 [xenwatch]
    10 ?        S<     0:00 [xenbus]
    48 ?        S<     0:00 [kblockd/0]
    49 ?        S<     0:00 [cqueue/0]
    54 ?        S<     0:00 [khubd]
    56 ?        S<     0:00 [kseriod]
    76 ?        S      0:00 [pdflush]
    77 ?        S      0:00 [pdflush]
    78 ?        S<     0:00 [kswapd0]
    79 ?        S<     0:00 [aio/0]
    201 ?        S<     0:00 [kpsmoused]
    220 ?        S<     0:00 [kjournald]
    242 ?        S<     0:00 [kauditd]
    267 ?        S<s    0:00 /sbin/udevd -d
    498 ?        S<     0:00 [kmpathd/0]
    504 ?        S<     0:00 [kmirrord]
    522 ?        S<     0:00 [kjournald]
    786 ?        Ss     0:00 /sbin/dhclient -1 -q -lf /var/lib/dhclient/dhclient-eth0.leases -pf /var/run/dhclie
    851 ?        Sl     0:00 rsyslogd -m 0
    855 ?        Ss     0:00 rklogd -x
    864 ?        Ss     0:00 dbus-daemon –system
    874 ?        Ss     0:00 /usr/sbin/sshd
    882 ?        Ssl    0:00 console-kit-daemon
    932 ?        Ss     0:00 crond
    965 ?        SNs    0:00 anacron -s
    999 ?        S      0:00 /bin/sh /usr/bin/mysqld_safe –datadir=/var/lib/mysql –socket=/var/lib/mysql/mysql
    1057 ?        Sl     0:00 /usr/libexec/mysqld –basedir=/usr –datadir=/var/lib/mysql –user=mysql –pid-file
    1092 ?        Sl     0:01 /usr/bin/ruby /usr/bin/mongrel_rails start -e development -p 80 -d
    1104 xvc0     Ss+    0:00 /sbin/agetty xvc0 9600 vt100-nav
    1110 ?        Ss     0:00 sshd: root@pts/0
    1112 pts/0    Ss     0:00 -bash
    1149 pts/0    R+     0:00 ps ax

     
  • someeda 00:20 on 2008/03/12 パーマリンク | 返信
    Tags: merb   

    Merbってエラー画面が面白いね 

    Ruby on Railsに似たフレームワーク、Merbをちょっと使ってみた。

    $ sudo gem install merb --include-dependenciesmerb [app name]
    $ cd [app name]
    $ merb

    これでhttp://localhost:4000/にアクセスすると、早速エラーメッセージが発生するのだが。
    Merb エラー画面

    トレースバックの先頭の矢印をクリックすれば、その部分のソースコードが表示されるし。更に行番号をクリックすると、その部分をエディタで起動もしてくれた。これは随分親切でありがたい。

    フレームワークを使い始めの時は特に、フレームワークのソースコードを見たい物だけど。Gemでインストールしているライブラリをエディタで開くのは結構面倒。ショートカットやリンクを張っていればこれはストレス軽減できるけど、沢山あるフレームワークのファイルの中から適切な物を探して選ぶのも結構面倒だったりするので。クリック一発で開くのはかなりいいです。

     
  • someeda 18:04 on 2008/01/21 パーマリンク | 返信
    Tags: Rails, SQLite   

    レビュアブルマインドのSQLite対応 

    注意:ここで紹介しているのは、オリジナルのテーブル定義を変更します。よって動作確認のみにしてください、そのまま使い続けるのは止めた方が良いです。

    レビュアブルマインドという、Railsで作られたGTDツールを使ってみた。が、何やらSQLiteに対応していないという事で中を見てみた。

    どうやらテーブルのカラム名で’from’という名前を使っている事が問題になっている模様。SQLのfromと名前が衝突してると、SQLite上では扱われてしまうのかも。fromとかtoとかいうフィールド名は現状避けた方が無難でしょうね。

    こんな感じにしたらとりあえず動いています。まずはこれでmigrate。

    class RenameSchedulesFromToFrom < ActiveRecord::Migration
      def self.up
        rename_column :schedules, :from, :from_a
      end
    
      def self.down
        rename_column :schedules, :from_a, :from
      end
    end

    そしてmodel/schedule.rb に以下を加える。

    def from;  from_a end
    def from=(a); from_a = a end

    以上でエラーもなく、SQLiteで使えていますので。こんな事しないでfromを置換すればいいのですけど、
    ありがちな単語だし本当にこれが原因か確認したいだけでしたので、あくまでもとりあえずの方法です。

    ※ActiveRecordだと、aliasの指定をしても駄目なんですね。今回はとりあえずsetterとgetterを書いちゃいましたが、良いやり方あったら教えてください。

    ※from_aって名前は・・・求人誌みたいなので、変えて下さい。

    レビュアブルマインドのはてなグループ、参加の仕方がわからない・・・のでここに書きました。(わかりました)面白いツールなので今後に期待しています。

     
  • admin 00:53 on 2007/10/25 パーマリンク | 返信  

    Railsデベロッパー向けPHPフレームワーク? Akelos 

    AkelosというPHPのウェブアプリケーションフレームワークが仕事先で話題になったので、ちょっと見てみた。

    The Akelos PHP Framework is a web application development platform based on the MVC (Model View Controller) design pattern. Based on good practices, it allows you to:

    * Write views using Ajax easily
    * Control requests and responses through a controller
    * Manage internationalized applications
    * Communicate models and the database using simple conventions.
    Akelos PHP Framework

     

    CakePHPもRailsと同じ様な感じだったけど、これはもっとRailsに近い感じ。
    微妙に細部まで似せて作ってあるのが面白い!
    Wikiもわざわざ(?)色まで似た感じだし。

    さすがにPHPではRubyの様にスッキリとは記述できない物の、Railsを使った事ある人なら違和感無しに使えそう。
    Rails&PHP経験者なら学習コスト低そう。

    関心したのが、Localizationをアプリケーションを作成した最初の時点からサポートしてる事。
    これは素晴らしい、Railsも是非取り入れて欲しい!

    Blogged with Flock

     
  • someeda 15:24 on 2007/10/23 パーマリンク | 返信  

    in_place_editなんちゃら関連のエラーメッセージ 

    めずらしくRailsネタ
    in_place_edit_for()で、モデルオブジェクトがインスタンス変数に入ってないと出るエラー。
    Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id
    なんとなく原因は分かったものの、確信もてなかった。かるくググったらここを発見
    そしたら、こいつをプラグインでもいいし、適切な所で実行すると、エラーメッセージがもっとわかりやすくなる。
    # vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb
    class ActionView::Helpers::InstanceTag
      def object
        @object || @template_object.instance_variable_get("@#{@object_name}") || raise("Could not find instance variable named @#{@object_name} in template")
      end
    end
    あー、@userが定義されてなかったんだね!と叫びそうなくらい、わかりやすいエラーメッセージが出たよ。
    
    
    			
     
c
新規投稿作成
j
次の投稿 / 次のコメント
k
前の投稿 / 前のコメント
r
返信
e
編集
o
コメントを表示する / 隠す
t
トップへ移動
l
go to login
h
show/hide help
esc
キャンセル