【未経験からのRuby on Rails – 第4回】Railsアプリケーション開発をしよう! 〜開発の準備編〜


スクリーンショット 2015-08-10 16.23.33
こんにちは。新卒のmatsuariです。
Rubyについてまだまだ知るべきことはたくさんありますが、とにかく早くアプリを作りたい!
ということで、今回はアプリ開発の準備に取り掛かっていきます。
Rubyはアプリを作成しながら、同時に学んでいきたいと思います。

Railsアプリケーション開発の準備《 Mac環境向け 》

1.新規Railsアプリケーションの作成

2.データベースの作成

3.データベースの確認(Sequel Pro)


1.新規Railsアプリケーションの作成

早速ですが、新規アプリケーションを作成します。
Railsアプリケーションを開発するには、アプリケーションのひな形を作る必要があります。

$ cd Desktop         
$ mkdir app          
$ cd app          
$ rails new ebisu –d mysql  # ebisuというアプリケーションをmysqlオプションで作成
$ cd ebisu

 

新規アプリケーション「ebisu」を配置したい「app」ディレクトリに移動し、rails newコマンドを使って、「ebisu」という新規アプリケーションを作成します。

ここでは、mysqlを使うアプリケーションを作成したいため、オプションは「-d mysql」としました。
※ MYSQL:データを保存する、データベースサーバーの一種

〜MEMO〜

rails newコマンド:
「rails new アプリケーション名」とコマンドを打ち、実行することで、新規アプリケーションを作成することができる。

また、オプションをつける場合は「- オプション名」と追記する。
ここではmysqlオプションを追記しましたが、その他にも様々なオプションがあります。
他にどのようなオプションがあるかは、こちらをご覧ください。
railsコマンド(rails) – – Railsドキュメント


 

次に、Sublime Textで新規アプリケーション「ebisu」を開きます。

Sublime Textを起動し、「command + o」で開くファイルを選択することができます。
「ebisu」ディレクトリを選択します。

アプリケーション内には、たくさんのファイルがあることが分かります。
各ファイルがどのようなファイルか?に関しては、実際に編集をしていく際に説明したいと思います。

先に知りたい!という方は、こちらをご覧ください!
Ruby on Rails 4アプリケーションの作成 – Build Insider


2.データベースの作成

config/database.ymlというファイルがありますが、
ここには「データベースの接続情報」が記述されています。

※ データベースとは:
「多くのデータを管理するための箱」だと言えます。
データベースには様々な種類のデータが格納されており、これらのデータを出し入れすることが出来ます。

Railsでは運用環境ごとに1つのデータベースを持っており、

  • development:開発用環境
  • test:テスト環境
  • production:本番環境

の3つの種類があります。
運用環境ごとに、データベースを切り替え、データのやりとりが行われますが、
通常、ローカルでのアプリケーション開発はdevelopment環境で行います。

Railsではアプリケーション内でデータベースを利用することができ、
データベースを利用するために、データベースの作成を行う必要があります。

実際に、新しくデータベースを作成していきたいと思います。

データベースは「rake db:create」コマンドで作成することができ、このコマンドを実行すると、database.ymlファイルの内容に基づいてデータベースが新規作成されますので、database.ymlにはデータベースの設定を記述していきます。

はじめに、database.ymlを開いて、内容を確認していきます。

ebisu / config / database.yml

ここでは、Railsアプリケーションをmysqlオプションで作成したため、
接続するデータベースの種類を指す「adapter」「mysql2」となっています。

その他、接続できるデータベースは
デフォルトの「sqlite3」や、「PostgreSQL」、「Frontbase」、「SQL Server」などが
あります。

デフォルトの「sqlite3」でデータベースを作成した場合の
database.ymlファイルの記述内容は、以下の通りとなります。

今回はdatabase.ymlの記述を変えることなく、作成されたままの内容でデータベースを作成したいと思います。

$ rake db:create # データベースの作成

 


3.データベースの確認

データベースを作成することができているか、
「Sequel Pro」というアプリケーションを使って、確認していきます。

ダウンロードはこちらから
Download Sequel Pro | Sequel Pro

※「Sequel Pro」とは
Mac用のMySQLフロントエンドで、データベースの中身を分かりやすく表示してくれ、またテーブルやレコードの操作や閲覧、管理が簡単にできるアプリケーションです。

「Sequel Pro」を使うことをオススメする理由はこちらをご覧ください!
MacからMySQLをさわるならSequel Proをオススメする5つの理由 | CreativeStyle

「Sequel Pro」をダウンロード・インストールできたら、起動します。

接続方法は「標準」「ソケット」「SSH」の3種類から選ぶことができますが、
今回はローカル環境でのSocket接続をするため、
1.ソケットを選択

2.名前を入力

名前は何でもOKですが、ここでは「localhost」とします。

3.ユーザ名・パスワード・データベースの入力

これらは全て、自分の環境のものを入力します。
今回は、ユーザ名を「root」とし、
パスワードは未入力、データベースはオプションとします。

4.「お気に入りに追加」を選択

次回起動するとき、接続情報が消えてしまうため、
お気に入りに追加しておくことで、設定し直す手間を省きます。

5.「接続」を選択

左上にある「データベースを選択」をクリックして、

「ebisu_development」「ebisu_test」があることを確認してみましょう!

これでデータベースの作成と確認は完了しました。


まとめ

ここまでの要点を最後にまとめておきます。

1. rails newコマンド:

新規Railsアプリケーションを作成できる。
オプションを付ける場合には、「- オプション名」と追記する。

2. データベース:

多くのデータを管理するための箱。
様々な種類のデータが格納されており、これらのデータを出し入れすることが出来る。

Railsでは運用環境ごとに1つのデータベースを持つ。
実行環境には
development:開発用環境、test:テスト環境、production:本番環境
の3つの種類がある。
通常、ローカルでのアプリケーション開発はdevelopment環境で行う。

3.rails db:createコマンド:

「database.yml」の内容に基づき、データベースが作成される。

4.Sequel Pro:

Mac用のMySQLフロントエンド。
データベースの中身を分かりやすく表示してくれ、またテーブルやレコードの操作や閲覧、管理が簡単にできるアプリケーション。


 

以上で、

  1. 新規Railsアプリケーションの作成
  2. データベースの作成
  3. データベースの確認

が完了しました。

これで開発の準備は整いました!

スクリーンショット 2015-08-10 16.23.33

 

ビッグデータ開発部の記事もよろしくお願いします。
「ビッグデータに価値を見出す」―DACが誇るデータサイエンティスト集団とは?―

過去記事


DACエンジニア採用情報

  関連記事

curry
【小ネタ】JSで要素の組み合わせを列挙する

下記のような、キーの数や要素数が可変のデータの組み合わせを、列挙するjavascriptコードです。 pythonにはitertoolなどの順列・組み合わせ計算を行う定番ライブラリがあるようです。 やっている事ですが、イメージとしては組み合わせを数列に置き換えています。 1桁目が2進数、3桁目が3進 …

no image
【未経験からのRuby on Rails – 第1回】楽しく書けるプログラミング言語 “Ruby” とは

こんにちは、はじめまして。新卒1年目のmatsuari(女子)です。 この度、Rubyの勉強を始めることになりまして、 まずはたくさんあるプログラミング言語の中で、なぜ自分がRubyを学ぶのか? しっかりと把握した上で学習に取り組んでいきたいと考え、『Rubyとは何か?』調べました。 超基礎的なこと …

tf
ディープラーニングで「顔が似ているAKB48のメンバーを教えてくれるbot」を構築

概要 こんにちは、システム開発部の中村です。 今回は、Facebook Messenger APIを利用して、 画像をアップロードすると、似ているAKB48のメンバーを教えてくれるbotを実装しました。 尚、ディープラーニングやTensorFlowそのものの解説というより、 「エンジンとしてディープ …

chain
PyStanによるはじめてのマルコフ連鎖モンテカルロ法

はじめに こんにちは。システム開発部の中村です。 社内で行っている『データ解析のための統計モデリング入門』(所謂緑本)の輪読会に参加した所、 大変わかりやすい本だったものの、Macユーザには悲しい事に実装サンプルがWinBUGSだったため、 9章の一般化線形モデルのベイズ推定によるアプローチをPyt …

no image
Polymer on Rails

Web Componentsをご存知だろうか。これが普及すればWebの開発は画期的に変わるだろう。 説明すると長くなるので、LIGさんのにその辺はお任せして。(この記事読んでください。) 簡単に言えば、下記にあるような新たに提案されたブラウザ向けAPIの総称。 Custom Elements, 説明 …

no image
【小ネタ】Javascriptのconsoleオブジェクトをもっと便利に使う方法

すごく便利なconsoleオブジェクトですが、ブラウザによってサポートされているメソッドが なかったり、そもそもconsoleオブジェクトが使えなかったりと、たまに不便だったりします。 そんなときによく使う便利なコード。 使い方はconsoleと同じようにlogger.log,logger.grou …

shogi
ナイーブベイズで羽生さんと羽生くんを分類してみた

はじめに こんにちは。システム開発部の中村です。 機械学習についての理解を促進するため、 データから分類モデルを自動で構築する古典的な方法である、 ナイーブベイズ分類器を実装してみました。 最近はCloudVisionAPIなど専ら画像解析が流行っていますが、 自分のような初学者には敷居が高そうだっ …

promise
ECMAScript6を使ってみた ~「Promise」編

ECMAScript6とは 一応ちょっとだけ説明しておくと、 ECMAScript(エクマスクリプト)は、Ecma Internationalによって標準化されたスクリプト言語で、バージョン6が2015 年 6 月 17 日に標準仕様として発行されました。(以下、ES6と呼びます) ES6ではcon …

スクリーンショット 2015-07-31 16.38.02
【未経験からのRuby on Rails – 第2回】Rubyのプログラムを書いてみる(Mac)

こんにちは。新卒1年目のmatsuariです。 前回はRubyとは何か、簡単にご紹介をしましたが、 今回は実際にRubyファイルを作成して、プログラムを書いてみるところまでご紹介していけたらと思います。 Mac環境のプログラミング初心者向けです。 はじめに、Rubyのプログラムを書くためのファイルを …

ruby
Railsたった14行でアドサーバーAPIができた話

こんにちは。駆け出しエンジニアの近江です。 最近Railsにハマっているので、私が2年間担当しているアドサーバの、簡易版をRailsで作ってみました。 広告やキャンペーンを登録する管理画面はある前提で、ここからたった14行追加するだけでアドサーバーのHTTP APIを作りたいと思います。ついでに配信 …