【未経験からのRuby on Rails – 第4回】Railsアプリケーション開発をしよう! 〜開発の準備編〜
こんにちは。新卒のmatsuariです。
Rubyについてまだまだ知るべきことはたくさんありますが、とにかく早くアプリを作りたい!
ということで、今回はアプリ開発の準備に取り掛かっていきます。
Rubyはアプリを作成しながら、同時に学んでいきたいと思います。
Railsアプリケーション開発の準備《 Mac環境向け 》
1.新規Railsアプリケーションの作成
2.データベースの作成
3.データベースの確認(Sequel Pro)
1.新規Railsアプリケーションの作成
早速ですが、新規アプリケーションを作成します。
Railsアプリケーションを開発するには、アプリケーションのひな形を作る必要があります。
[code lang=”shell” highlight=”4″]
$ cd Desktop
$ mkdir app
$ cd app
$ rails new ebisu –d mysql # ebisuというアプリケーションをmysqlオプションで作成
$ cd ebisu
[/code]
新規アプリケーション「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の記述を変えることなく、作成されたままの内容でデータベースを作成したいと思います。
[code lang=”shell”]
$ rake db:create # データベースの作成
[/code]
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フロントエンド。
データベースの中身を分かりやすく表示してくれ、またテーブルやレコードの操作や閲覧、管理が簡単にできるアプリケーション。
以上で、
- 新規Railsアプリケーションの作成
- データベースの作成
- データベースの確認
が完了しました。
これで開発の準備は整いました!
ビッグデータ開発部の記事もよろしくお願いします。
「ビッグデータに価値を見出す」―DACが誇るデータサイエンティスト集団とは?―
過去記事
1 2 3 4 5 |
<a title="【未経験からのRuby on Rails – 第1回】楽しく書けるプログラミング言語 “Ruby” とは" href="http://yebisupress.dac.co.jp/2015/07/31/%e3%80%90%e6%9c%aa%e7%b5%8c%e9%a8%93%e3%81%8b%e3%82%89%e3%81%aeruby-rails-%e7%ac%ac%ef%bc%91%e5%9b%9e%e3%80%91%e6%a5%bd%e3%81%97%e3%81%8f%e6%9b%b8%e3%81%91%e3%82%8b%e3%83%97%e3%83%ad/" target="_blank">【未経験からのRuby on Rails – 第1回】楽しく書けるプログラミング言語 “Ruby” とは</a> <a title="【未経験からのRuby on Rails – 第2回】Rubyのプログラムを書いてみる(Mac)" href="http://yebisupress.dac.co.jp/2015/08/11/%e3%80%90%e6%9c%aa%e7%b5%8c%e9%a8%93%e3%81%8b%e3%82%89%e3%81%aeruby-rails-%e7%ac%ac2%e5%9b%9e%e3%80%91/" target="_blank">【未経験からのRuby on Rails – 第2回】Rubyのプログラムを書いてみる(Mac)</a> <a title="【未経験からのRuby on Rails – 第3回】変数と定数" href="http://yebisupress.dac.co.jp/2015/08/18/%e3%80%90%e6%9c%aa%e7%b5%8c%e9%a8%93%e3%81%8b%e3%82%89%e3%81%aeruby-rails-%e7%ac%ac3%e5%9b%9e%e3%80%91%e5%a4%89%e6%95%b0%e3%81%a8%e5%ae%9a%e6%95%b0/" target="_blank">【未経験からのRuby on Rails – 第3回】変数と定数 </a> |

関連記事
-
-
Railsたった14行でアドサーバーAPIができた話
こんにちは。駆け出しエンジニアの近江です。 最近Railsにハマっているので、私が2年間担当しているアドサーバの、簡易版をRailsで作ってみました。 広告やキャンペーンを登録する管理画面はある前提で、ここからたった14行追加するだけでアドサーバーのHTTP APIを作りたいと思います。ついでに配信 …
-
-
Qiita Team API と Google Spread Sheet でチーム日報を生成する
チーム日報を活用する MarketOne 開発チームでは複数拠点に分かれての開発を行っています。リモート開発が中心となると口頭でのコミュニケーションに限界があるため、テキストベースのコミュニケーションの比重が高い状態にあります。 チケットシステムやソースコード管理ツール上の議論はもちろんおこなってい …
-
-
Scala入門 準備編「開発環境構築」 – PHP使いからScala使いへ転身!
はじめに みなさんこんにちは、今月入社しましたプロダクト開発本部の亀梨です。 普段はXmediaOneというメディアプランニング・広告運用管理・トラッキング・マーケティング分析を行う 統合プラットフォームの開発を担当しています。 XmediaOneの開発で採用しているプログラム言語はS …
-
-
Android 非同期処理についてまとめてみた
Androidには、UIに影響を与えないよういくつか非同期処理が用意されています。 今回は非同期処理の代表的な ・Service ・IntentService ・HandlerThread について違いを踏まえながらまとめます! 非同期処理について(http://codezine.jp/articl …
-
-
Scala実践「Either型を使ってimmutable(不変)なコードを書こう!」
はじめに みなさんこんにちは、プロダクト開発本部の亀梨です。 普段はXmediaOneというメディアプランニング・広告運用管理・トラッキング・マーケティング分析を行う 統合プラットフォームの開発を担当しています。 Scalaでイケてるコードを書きたい! 背景 わたくしはDACに入社してからScala …
-
-
読み方がわからない技術用語 2015
英語圏での読み方を基本的には参考にしています。英語圏でも複数の読み方をしているケースもあるようなので、あくまでも参考程度。2015と書きながら、古い言葉も混じってますが。 async – えーしんく Alt – おると ASUS – えいすーす bower  …
-
-
【未経験からのRuby on Rails – 第1回】楽しく書けるプログラミング言語 “Ruby” とは
こんにちは、はじめまして。新卒1年目のmatsuari(女子)です。 この度、Rubyの勉強を始めることになりまして、 まずはたくさんあるプログラミング言語の中で、なぜ自分がRubyを学ぶのか? しっかりと把握した上で学習に取り組んでいきたいと考え、『Rubyとは何か?』調べました。 超基礎的なこと …
-
-
【小ネタ】JSで要素の組み合わせを列挙する
下記のような、キーの数や要素数が可変のデータの組み合わせを、列挙するjavascriptコードです。 pythonにはitertoolなどの順列・組み合わせ計算を行う定番ライブラリがあるようです。 やっている事ですが、イメージとしては組み合わせを数列に置き換えています。 1桁目が2進数、3桁目が3進 …
-
-
iOS端末情報をTreasureDataに送るアプリをswiftで作ってみた。
はじめまして、2年目のOyamanです。 通常業務とは別のことになりますが、Swiftに触れる機会が少しあったので、スマホ関連の記事を書かせていただきます。 はじめに SwiftとTreasureDataのSDKを使って、 iOSの端末情報をTreasureDataへ送るアプリを作ってみます。 今回 …
-
-
GoogleスプレッドシートからTreasureDataへデータを取り込む
AudienceOneの開発を担当しています。skryoです。 またまたTreasureDataネタですが、今回はGoogleスプレッドシートからGoogleAppsScriptを使ってTreasureDataへデータを取り込む手順を紹介したいと思います。 なぜ? Googleスプレッドシート上でマ …