うめすこんぶ

日々のプログラミングで残しておきたいメモ.何かの役に立てれば幸いです.

第1章 ゼロからデプロイまで | Rails チュートリアルを学ぶ

スポンサーリンク

改めて、Railsについて深く学びたいと思った。本格的なアプリが作りたい。 というわけで、railチュートリアルの1章を行う。

第1章 ゼロからデプロイまで | Rails チュートリアル

以下、作業メモ。

Ruby on Railsチュートリアルで開発するアプリケーションでは、特定のWebサービスに偏らない一般的な記述を心がけており、読者の目的にかかわらず本チュートリアルでWeb開発の基礎を学ぶことができます。

今回は第3版。前までRspecを使用していたテストも、より基本的なminitestに変更。 それ以外でもRailsの細かい部分より、Webのサーバサイドを開発する上でより基本となる部分を学べるようになっている。

Scaffoldの甘い誘惑

Scaffoldでコードを簡単に自動生成できるけど、無駄に量が多く複雑で、コードの動作が理解しづらいという。なるべく自動生成には頼らず、コードの意味を一つ一つきちんと理解していきたい。

railsは2004年から登場。もう10年選手だった。

Railsがこれだけ多くに人達に使われているのはなぜでしょうか。その理由の1つは、Railsが100%オープンソースで、制約の少ないMITライセンスで公開されているからです。これにより、Railsをダウンロードしたり使ったりしても、一切コストがかかりません。

MITライセンス。

早速実践

$ rails _4.2.2_ new hello_app
$ vim Gemfile
$ bundle install

MVCでは、ドメインロジック (ビジネスロジックともいいます) を入力/表示ロジック (GUI と密に関連します) から分離します。Webアプリケーションの場合、「ドメインロジック」はユーザーや記事、商品などのデータモデルに相当し、GUIはWebページを指します。

MVCってあまりちゃんと理解してなかったけど、ドメインロジックという機能に相当するModelと、表示ロジック(View)を分離しているのが大きな特徴か。 Controllerはユーザとのリクエスト/レスポンスのやり取りを行う。管理者というか、中心的なリーダ、司令塔といった感じ。

Linus Torvaldsにより開発された分散バージョン管理システムであるGitが主流になっています。

Linusさんて、LinuxだけじゃなくてGitも開発したのか。めちゃくちゃすごいな。。

$ git checkout -f

コミットされてない変更を強制的に元に戻す技! これは使えそうだ!

$ git push -u origin --all

--allをつけると、ブランチすべてをリモートに送ることができる!

最終的にherokuにデプロイができた。以下Warnings

###### WARNING:
remote:        You have not declared a Ruby version in your Gemfile.
remote:        To set your Ruby version add this line to your Gemfile:
remote:        ruby '2.2.4'
remote:        # See https://devcenter.heroku.com/articles/ruby-versions for more information.
remote:
remote: ###### WARNING:
remote:        No Procfile detected, using the default web server.
remote:        We recommend explicitly declaring how to boot your server process via a Procfile.
remote:        https://devcenter.heroku.com/articles/ruby-default-web-server

herokuの基盤では、rubyのバージョンは2.2.4にするほうがいい(今はruby 2.0.0p481)

Ruby on Rails 4 アプリケーションプログラミング

Ruby on Rails 4 アプリケーションプログラミング