LoginSignup
6
2

More than 5 years have passed since last update.

Railsチュートリアルで学んだこと ~第1章~

Last updated at Posted at 2018-12-26

はじめに

アウトップットの一環として学んだことを書き、知識の定着や見返したときにどれくらい成長したかを確認するために本記事を書いています。
学習を進めていく上で詰まったところやその解決策、新しく知ったことを書いていこうと思います。

Railsチュートリアルはこちらから

間違った解釈や、誤字脱字がある場合もあります。
その際はコメント等で教えていただけると幸いです。

学習前の知識(チュートリアルで利用する技術)

  • HTML/CSS
  • JavaScript
  • Ruby
    • 書籍での学習のみ。
  • Rails
    • Coffee-Cupの基礎編をやり終えた程度の知識。
  • Git
    • add、commit、pushのみ知っていたが、実際に使ったことはない。
  • SQL
    • 基本構文は知っているが、実際に使ったことはない。

開発環境

チュートリアルでは、Cloud9を利用して開発していますが、私はローカル環境を構築して勉強しています。
構築はドットインストールのローカル環境構築を参考にしました。(多少変更している点もあります。)

OS:CentOS
Ruby:2.5.3
Rails:5.2.2
Git:2.20.1
Heroku:heroku/7.19.4 linux-x64 node-v11.3.0

Gitによるバージョン管理

アプリケーションのソースコードを管理する。
以前のバージョンに戻ったり、間違えて消してしまったファイルを復旧したりと様々な目的がある。

gitの設定

$ git config --global user.name "name"
$ git config --glabal user.email email

ローカルリポジトリ

ローカルリポジトリは自分のパソコン内の作業場所のようなものです。
複数人で開発する場合は後述のリモートリポジトリにプッシュします。

リポジトリの初期化

# 管理したいプロジェクトのルートファイルで
$ git init

ステージングエリアへファイルを追加

# Aオプションをつけると全てのファイルを追加できる
$ git add -A

ステージングエリアの状況を確認

$ git status

ステージングエリアにある変更したファイルをリポジトリに追加

# -mオプションで以降にコミットメッセージを書ける
$ git commit -m "message"

コミットメッセージの履歴を確認

$ git log

直前のコミットの状態に戻す

# -fオプションは強制的に実行させる
$ git checkout -f

リモートリポジトリ

今回はチュートリアルに従ってBitbucketを利用します。
他にもGitHubやGitLabもあるそうです。

一人で開発する場合はリモートリポジトリは必須ではないようですね。

SSH公開鍵の作成(すでにある場合はスキップ)

こちらを参考に公開鍵を作成します。

$ cd ~/.ssh

# SSHキー作成
$ ssh-keygen

# SSH公開鍵を確認
$ cat ~/.ssh/id_rsa.pub

作成後、アカウントにSSH公開鍵を追加します。

リモートリポジトリへ追加とプッシュ

$ git remote add origin git@Bitbucket.org:ユーザーネーム/リポジトリ名.git

# ローカルのリポジトリをリモートリポジトリにプッシュ
$ git push -u origin --all

ブランチ

ブランチを分けることで、運用中のアプリに影響を与えずに開発をすることができます。

トピックブランチの作成

$ git checkout -b ブランチ名

# 現在のブランチを確認
$ git branch
  master
* ブランチ名

マージ

各ブランチで変更したファイルをマスターブランチへ反映させます。

# masterブランチに切り替える
$ git checkout master

$ git merge ブランチ名

ブランチの削除(任意)

$ git branch -d ブランチ名

デプロイ

Herokuを使いデプロイをします。

Heroku用のGemfileに変更

HerokuではPostgreSQLを利用するようなのでGemfileを書き直します。

Gemfile.
~~~ 省略 ~~~

# SQlite3が本番環境にインストールされないよう、開発環境のみで使うように変更する
group :development, :test do
  gem 'sqlite3'  # 追加(元あったものは削除)
end

# PostgreSQLを本番環境で使うようにする
group :production do
  gem 'pg'
end
~~~ 省略 ~~~

変更後以下のコマンドを実行します。

$ bundle install --without production

Herokuのインストールと設定

チュートリアルに書いてあるコマンドを実行すると使えるようにはなったのですが、再度仮想環境を起動させるとherokuコマンドが使えなくなっていたので、こちらの記事を参考にインストールしたところ、問題が解決しました。

インストール後、ログインとSSHキーを追加します。

# ログインする
$ heroku login

# 私の場合上記のコマンドでログインができなかったので次のコマンドを使いました。
$ heroku login --interactive

# SSHキー追加
heroku keys:add

Herokuにデプロイ

# Herokuサーバーにアプリの実行場所を作成
$ heroku create

# Herokuにリポジトリをプッシュ
$ git push heroku master

まとめ

1章ではRubyやRailsに関しては、新しく知ったという事はありませんでした。
対してGitやHerokuといった、どのような開発にも必要な知識(特にGit)を知ることができました。
まだまだ使いこなせているわけではありませんが、チュートリアルを進めながら言語以外の知識も身につけられるようにしていこうと思います。

6
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2