Railsを使ってみよう

Rails熱が高まっているので、せっかくだしもう少し弄ろうと思います。
そういえばLpic303の勉強中だった気がしますが、みなまで言うなという事で。
どうしてこうなったという経緯を説明するとLPIC303-操作のセキュリティでPuppetが登場。
Puppet→Vagrant+Vbox+Chef→Chef→Ruby→Rails みたいな。

調べた内容をそのまま日記に書くのはコンテンツとしてどうかと思うので、Ruby初心者のたけけんが勉強しながらほおお~っと感じたところを箇条書きっぽく書いていくってことで進めていきたいと思います。

Bundler

複数のPCでの開発もできるように、必要なGemパッケージの種類やバージョンの管理をするツール。内容はGemfileに記述されており、Bundle installを叩けば環境が整う。
rubyのバージョンもrbenvで返れるし、かなり柔軟だと感じる。

Rubyはほぼオブジェクトで出来ている
※メソッドはオブジェクトではないが、オブジェクト化することは可能らしい

今年の始めころにTCP/IPソケットプログラミングを読めるようになりたいという一心で数か月間C言語を基礎から勉強していて、調子にのって今度はC++でオブジェクト指向を学ぼう!と思っていたところ、たけけんはプログラムを書くことを目的には出来ないらしく、目的を達するための手段でしかプログラミングが出来ないようであっさり企画倒れというか風化してしまいましたが、Rubyはすべてオブジェクトらしいので、Rubyを勉強する=オブジェクト指向の勉強になるやんと。
Javascriptはやる気がでない。
Railsってなんかおもしろそーってだけです。
言いたいことは、オブジェクト指向とか言葉にとらわれずに、Rubyのモットーである楽しむという事を続けていれば自然にオブジェクト指向が身についているのではないか(だったら一石二鳥でいいな)と思った。
ってなんだこの説明は。

デプロイ

本番環境でアプリを動かして、一般公開すること。らしいので、ブログ開設当初のたけけんは、検証=デプロイ(サーバアプリケーションだが)だったわけで今考えるとおそろしあ。

でも、気を付けるべきところを気を付けていれば何とかなるのはサーバアプリとWebアプリの違うところですかね。サーバアプリはミスがあればだいたい立ち上がらないとかですが、Webアプリでミスがあったら食われる危険がありますよね。

Git

昔から使っていたけれど、最近になってようやく活用しだした感のあるGit。ただこれを見たら色々なところで使いたくなった。
いま参考にしているサイトに載ってた例だが。

[takeken@ubuntu]$ ls app/controllers/
application_controller.rb  concerns

うっかり。

[takeken@ubuntu]$ rm -rf app/controllers/
[takeken@ubuntu]$ ls app/controllers/
ls: app/controllers/ にアクセスできません: そのようなファイルやディレクトリはありません

やっちまったが。

[takeken@ubuntu]$ git status
On branch master
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        deleted:    app/controllers/application_controller.rb
        deleted:    app/controllers/concerns/.keep

no changes added to commit (use "git add" and/or "git commit -a")

ほら元通り。

[takeken@ubuntu]$ git checkout -f
[takeken@ubuntu]$ ls app/controllers/
application_controller.rb  concerns

と、大げさな例だが、これはいいね。

Rake

ruby版のmake みたいなものらしく、使いどころというとデータベースがバックで使われるWebアプリでよく登場するらしい。
たしかにrake db:migrateはよく見た気がする。

bundle exec rake db:migrate と rake db:migrateは違うのか

違うとも同じとも言える。
bundle execを省略するケースもあるようですが、bundle exec をつけると、Gemfileで指定されたgem環境 でコマンド実行されるということらしい。
環境によるということだが、慣れないうちは付けた方がいいなと思う。
また bundle install –path パス でGem群のインストール場所の指定もできる模様。

 .erb

Embedded Ruby
訳すと埋め込みRuby、VagrantやChefで良く出てきた拡張子ですが、訳すとそのままな意味だった。
<% ... %> 中に書かれたコードを実行、出力はしない。
<%= ... %> 中に書かれたコードを実行、テンプレートに出力される。

Bootstrapフレームワーク

デザインに詳しくなくても、ナウい見栄えにしてくれる。

さて、最初は何で勉強しましょか

定番はこちらですかね。

Ruby on Rails チュートリアル:実例を使って Rails を学ぼう:
by Michael Hartl

基本的な解説とコピペで進められて、章末に演習が少しあります。
こんな感じで出来上がります。

railssamp

PHPで作っていたネタをRailsでやろうかなあと考えているのだけれど、なかなかなぁなここ最近。
とりあえず今回はこんな感じで。

 

Similar Posts:


Leave a Reply

Your email address will not be published. Required fields are marked *