ラベル Ruby の投稿を表示しています。 すべての投稿を表示
ラベル Ruby の投稿を表示しています。 すべての投稿を表示

2012年2月12日日曜日

[Ruby][Rails]Mac OS X 10.7 (Lion)に開発環境を構築したよ!

こんにちは
かねしろ @pikroot です

色々なタスクが片付いたので、今日からはゆっくり開発は始められそうです。

ということで、Mac Lion にRailsの開発環境を構築しました。
参考にしたのは以下のサイト
Ruby on Rails 3.1 を Mac OS X にインストールする手順をかなり丁寧に説明してみました

上述のサイトが大層丁寧に解説してくださっているので、改めて記事にする必要もないかと思いましたが、備忘録の意味を込めてログを残しておきます。

環境構築手順とか詰まったこととか

  1. Xcodeをインストール。

    AppstoreからDLしてインストールするだけです。

    インストールしたあとは一度実行することが必要らしい。(Appのインストールと諸々の設定をするためのインストールは別、的な雰囲気?)
    実行すると何かしらのインストール的な処理が始まります。

    iTunes開いていたら怒られました。閉じましょう。

    これでXcodeのインストールは完了です。
  2. Homebrewのインストール

    ターミナルで
    /usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
    を実行。
    成功すると以下のようになります。

    最初に実行したときは、Xcodeのインストールが済んでいなかったようで以下のような感じになりました。
    (後述するRubyの更新処理まで一緒にやってます。で、結果的にエラー(笑))

    HomebrewとはMacにUnixツールをインストールするためのパッケージ管理システムらしいです。
    (参考:Homebrewの導入と使い方)
  3. Rubyの更新

    ターミナルで
    brew install ruby
    を実行。
    以下のような感じになりました。
  4. RubyGemsの更新

    ターミナルで
    sudo gem update --system
    を実行。
    sudoコマンドを利用するので、聞かれたときはパスワードを入れてあげましょう。
    以下のような感じになりました。

    RubyGemsはRubyのライブラリ管理ツールですね。
  5. Rakeの更新

    ターミナルで
    sudo gem update rake
    を実行。
    gemを使っているのがわかると思います。これがgemのパワーです。

    以下のような感じになりました。
    今回はアップデートなかったようです(´・ω・)

    RakeはMakeみたいなものです。(雑
  6. Ruby on Railsをインストール

    ターミナルで
    sudo gem install rails --no-ri --no-rdoc
    を実行。ここでもgemが大活躍。
    ちょっと時間がかかるけど、ゆっくりと待ちましょう。
    確かUbuntuでRailsをインストールするときも時間かかったので、Railsさんはきっとこういう正確なんだと認識。

    以下のような感じになりました。
  7. node.jsのインストール

    ターミナルで
    brew install node
    を実行。Homebrewが初活躍。

    以下のような感じになりました。

    node.jsとは「サーバサイドのプログラムもJavaScriptで書いちまおうぜ!」といって開発されたものです。
    最近流行っているらしいですよ奥さん。

上記処理のあと、動作確認を行い、無事動いていることが確認できました。




これで諸々のインストールは完了です。
詳しく解説してくださった方に感謝です。

2011年12月29日木曜日

[log][Ruby][RoR]その日のログはその日のうちに

かねしろです。

修理に出していたPCが戻って来ました。

ハードディスクとマザーボードの換装をしたとのこと。
つまりデータのロストです(´・ω・)

お陰で、新たにPCのセットアップを行うはめになりました。

DropBoxとEvernoteを入れれば大半はなんとかなるのですが、
細かいソフトをもろもろ入れたりデータをバックアップから復元したりする手間が面倒です。

中でも最も悲しいのは、
Rubu on Railsの勉強中にとったメモファイルがロストした件。

Head First Railsをひと通りやりながら取ったメモなので、かなりの分量になっていました。
中にはエラーの対処法とか、気になった事のメモも。
あれがないと同じ轍を何度も踏んでしまうことになりそうです。

というか、なってます(笑)

また調べながら、簡単なチュートリアルをこなす必要がありそうです(´・ω・)

やっぱりその日のログはその日のうちにブログにUPするのが懸命ですね。
どれだけ忙しくても、それだけはやっておかねば、と心に深く刻み込んだ一日です。


とりあえずgemspecのエラー修正方法

rails serverコマンドでサーバを立ち上げようとしたときに
/var/lib/gems/1.8/specifications/tilt-1.3.3.gemspec
あたりにエラー
とかいうタイプのエラーが出力され、サーバが立ち上がりませんでした。

このファイルをvimで開いてみると、日付のあたりが
{2011-08-28 00:00:00.000000000Z}
となっていたので
{2011-08-28}
に修正するとOKでした。

エラーが出ているときの状態↓




このエラーは以前にもぶつかったことがあるので、再現性のある何かかもしれませんね。

他にも幾つか細々とした修正をする必要があった気もするのですが
それらの対処法を書いたメモが前述のとおり飛んでしまったので、
またイチから試しながら調べる必要がありそうです。

2011年11月5日土曜日

[Ruby][log]Okinawa.rbの勉強会#3 なう

今日はOkinawa.rbの第三回勉強会に来ています。
内容はRuby(もしくはRails)のチュートリアル組と、ハッカソン組に別れての黙々勉強会。
僕は先程までCodeSchoolで自習してました。

やったこと

無料の2コース

を攻略。
Rails for Zombiesは5時間、Try Rubyは30分程度で修了できました。
順序的には
Try Ruby -> Rails for Zombies
が正しいんだろうけど、僕は途中までZombieやってから息抜きがてらにTryRubyやりました。

身についたのか、といわれれば。

極めて怪しいw
教材を見ながら、それを改変して問題を解く流れになっていたので、イチからの構築は厳しいです。
ただ、RubyとRailsの雰囲気は大分掴めたので、帰宅後にでも書籍片手にサービス開発したら出来る子になれるんじゃあないでしょうか。

演習問題の解答例

問題を解き直しながら、ソースコードでも貼りつけようかと思いましたが、綺麗にまとめてくれているサイトがありました。
よりみち、まわりみち:Rails for Zombies 解答
ちらっと見た感じ、僕と解法が(というか解答のコンセプト自体が)異なる箇所がいくつかあるようです。
2番なんか、僕は新しいZombieを作ってDBに突っ込んだんですが(笑)
# Tryしてみたところ、どちらもAcceptedになるようです。多分問題文が不適切。

RoR(Ruby on Rails)の感想

コンテンツがURLで管理できるのが楽。(RESTFulと呼ばれているらしいです)
今開発している某案件とか某研究対象とか某収益サイトもRailsで再構築するとハッピーになれるかも、と思ったり思わなかったり。
もう少し勉強して、方針を定めたいと思います。
というわけで、今週末(はと言ってもあと1日半もない)はRoR漬けです。

2011年11月3日木曜日

[ruby]「rubygemsが見つかりません」との戦い

今日は1日rubyとrailsとイチャイチャする予定だったのですが、EeePCにrailsを入れようとしたところ詰まりまくりでスケジュールが破綻。
とりあえず解決したのでメモっておきます。

発生した問題

apt-getでrubygemsを入れようとしたら「パッケージ rubygemsが見つかりません」と言われました。
PCの再起動も意味なし。

解決策

apt-get updata
でリストを更新したらいけました。
まだまだなれないUbuntu生活ですが、日々頑張っていきます。

全然関係ないけど

今日は沖縄ビアンコの1周年祭ということで、ビアンコに行って来ました。
色々と用品を買った後に、新入荷のブラックゴーストに一目惚れ。
今日から我が家の一員です。

現在ポリプテルス・セネガルスと同居中。
しばらくは仕切り板で水槽分割して飼う予定です。
互いが慣れた頃に仕切り板を撤去する方向で。

2011年10月21日金曜日

[Ruby]RubyMonkをやってみる_第一回

RubyMonkをやってみる

rubymonkというRubyを学べるサイトの情報がMLに流れていたのでやってみる。


arrayの操作

とる

[1, 2, 3, 4, 5][2]で添字が2の要素、「3」が取れるらしい。
[1, 2, 3, 4, 5][-1]だと後ろから1つ目、「5」が取れるらしい。


つっこむ

[1, 2, 3]<<4で末尾に4が挿入される。
[1, 2, 3]<<"woot"で末尾に文字列'woot'が挿入される
[1, 2, 3].push"woot"でも同様


中身をいじる

[1, 2, 3].map{|i| i + 1}で各要素に1が足される。掛けたりも出来る。


select

puts [1, 2, 3, 4, 5].selest {|number| numver % 2 == 0} で偶数のみが出力。

names = {'rock' 'paper', 'scissors', 'lizard', 'spock']とあるとき
puts names.select{|word| word.length > 5}
で5文字より長い名前が出力。


けす

[1,3,5,4,6,7].delete_at(2)で添字2の「5」が消える
[1,2,3,4,5,6,7].delete_if{|i| i < 4 }で4以上が消える


Loops

for

def array_copy(destination)
    source = [1, 2, 3, 4, 5]
    for i in source
        destination.push(i) if i < 4
    end
    destination
end
で4未満の値をdestinationに格納。
array = [1, 2, 3, 4, 5]
array.each do |i|
    puts i
end 
で配列の中身を全部表示。

組み合わせて、

def array_copy(destination)
    source = [1, 2, 3, 4, 5]
    for i in source
        destination.push(i) if i < 4
    end
    destination.each do |i|
        puts i
    end
end

でdestinationに4未満をコピーして、それを表示。


演習問題的な

arrayとnが与えられて、arrayの中からランダムでn個の要素を表示しなさいという問題。
回答は

def random_select(array, n)
    result = []
    n.times do
        result <<
        array[rand(array.length)]
    end
    result
end 

うーん。これまでのレッスンで取り扱っていない関数を多用する演習問題とか鬼畜…


今日は一旦ここまでってことで。

alpha版にしてはいい動きをしていましたが、
ところどころバグがあるようでした。
(変数名を変えるとError扱いされたり)
サイトは全部英語なので、それを読みながらだと作業効率も微妙です(´・ω・)