○この記事の要点
「第1章 ゼロからデプロイまで」の最初から途中までの実施内容メモ
思ったことなどのメモ
○内容
■Ruby on Railsについての説明
・生い立ち。2004年
・採用実績。Airbnb や Basecamp, Disney, GitHub, Hulu, Kickstarter, Shopifyなど
・利用されている理由
・100%オープンソース
・設計が簡潔で美しい(Ruby言語の驚異的な柔軟性によるもの)
・RESTへの対応
・多様なコミュニティ
■環境構築
・手法が2つ。手法2がおすすめらしいので、手法2で実施(無料)。確かに便利。特にLinuxマシンを用意できない場合、手法2はおすすめ。
手法1.Learn Enough に沿ったローカルマシンでの環境構築
手法2.クラウド統合開発環境 (クラウドIDE) を使った環境構築
(クラウドIDEはWebブラウザの中で実行できるため、OSが異なっても同じように扱えるため、便利)
クラウドIDEとして、AWS Cloud9がおすすめされている。(Cloud9 の料金は無料)
・AWS Cloud9の環境整備(https://aws.amazon.com/jp/cloud9/getting-started/)
(1)AWSアカウントの登録を行う ※1
(2)AWSへのログイン。AWS cloud9での環境作成 ※1
(3)初期設定
・Rubyドキュメントのインストール
・Railsをインストール
※1 Railsのチュートリアルなので、仕方がないとは思うが、AWSアカウントの登録やcloud9の環境作成については時間がかかった。この後時間があれば詳細記事を作成するか。
■最初のアプリケーション作成
(1)cdコマンドでアプリケーションを作成したいフォルダに移動
(2)rails 5.1.6 new hello_appしてアプリケーションフォルダを作成
→アプリケーションのひな型作成を行ってくれる ※2 エラー発生
※2
エラー:
既にenviromentフォルダが存在していた(なぜ?)ので、フォルダを作成せずそのまま実施したが、実行結果がエラーになった。
対処:enviromentフォルダを削除してから再度enviromentを作成し、rails 5.1.6 new hello_appした
(3)Bundlerを実行して、アプリケーションに必要なgemをインストール
チュートリアルに記載してある通り、Gemfileを修正(バージョン指定のため)
bundle installを実行。※3 エラー発生
※3
ubuntu:~/environment/hello_app (master) $ bundle install
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
Fetching gem metadata from https://rubygems.org/............
Fetching gem metadata from https://rubygems.org/.
You have requested:
spring = 2.0.2
The bundle currently has spring locked at 2.1.0.
Try running `bundle update spring`
If you are updating multiple gems in your Gemfile at once,
try passing them all to `bundle update`
対処:エラーメッセージにbundle updateして!って書いてあるので実行。
再度bundle installで正常に終了するようになった。
↑ここまででアプリケーションの準備完了
■rails serverの起動(開発マシンでのみブラウズできるローカルWebサーバー)
(1)rails serverを実行
(2)PreviewタブからPreview Running Application
開いた窓の右にある□をクリックすると、ブラウザ起動⇒Yay! You’re on Rails!
・rails serverを停止してから再度Preview Running Applicationすると、No application seems to be running here!になっているので、サーバが動作していないことを確認できる。
■Hello,World!の表示
(1)application_controller.rbのファイル修正⇒hello,worldのhtml定義
(2)routes.rbのファイル修正⇒デフォルト表示の変更
PreviewタブからPreview Running Application⇒hello,worldが開いた
今日はここまで。実施時間は2時間。次回は「第1章 ゼロからデプロイまで」の残り
■感想
・仮想IDEとか便利すぎる。昔はローカルマシンに仮想環境入れて、OSセットアップから言語のインストール、パスの設定。。。とか全部やったのにそれ全部不要。素晴らしい。
・Linuxの知識がなくても行けそうだが、自身がやったことがGUIで見れないというのでイメージがわかない点はありそう。
・MVCモデルということで、昔Servletやってた経験が活きてる。というかいまだにMVCモデルが使われてるんだな。と思った。