Rails入門:基礎をSinatraで理解しRailsで作れるようになる
3.9 (278 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,279 students enrolled

Rails入門:基礎をSinatraで理解しRailsで作れるようになる

WEB開発の理解するべき重要なポイントを抑えた上で、仕事の現場で活用されるフレームワークRailsを学びましょう。基礎理解はSinatraという簡単なフレームワークで行い、それの知識をベースとしてRailsを会得します。
3.9 (278 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,279 students enrolled
Created by Masashi Sato
Last updated 11/2019
Japanese
Current price: $13.99 Original price: $19.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 6.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • 「最初はRailsを触らずにSinatraでの開発を通じて」WEBサービスの基本的で普遍的な仕組みを理解することができます。
  • フレームワークの仕組みをある程度理解した上でRailsのWEBサービスが構築できるようになります。
  • WEBサービスに機能を追加しようとした際に、何をすればいいのかがイメージできるようになります。
  • 「最初のオリジナルサービス」を開発する一歩手前までの必要な知識を獲得できます。
Course content
Expand all 82 lectures 06:33:42
+ 前準備
4 lectures 16:41

「なぜSinatraを用いて学習を始めるのか」ということの確認と、今回のシステムの全体像の理解を通してWEBサービスの基本的な構成への理解を深めます。

Preview 06:33

Cloud9の利用のためにAWSのアカウントを作成する手順を確認します。

AWSのアカウント作成
02:20

Cloud9の環境を作成します。

Cloud9の環境作成
01:33

Cloud9の開発環境について操作方法などを確認します。

開発環境の確認をする
06:15
+ 腕慣らし
3 lectures 24:41

Rubyを使って「Hello, World」という文字列をターミナルに出力します

RubyでHelloWorld
11:13

Sinatraを使って「Hello, World」という文字列をブラウザに表示します

Preview 09:09

ブラウザをリロードする度に現在時刻が表示されるようなコードを書いてみます

もう少しプログラミングっぽいことをやってみよう
04:19
+ Sinatra: WEBの基礎概念
6 lectures 37:56

ブラウザに効率的にHTMLを表示するため、erbを使います

テンプレート(erb)を使ってみる
09:06

CSSをWEB上に公開するための静的なファイルの扱いを学びます

静的ファイルを使う
03:41

画面を移動するためのハイパーリンクを作成します。

Preview 02:35

画面から情報を送信するためにFormを使います。

Formを使う
09:55
「リクエストについて」講義
08:18

サーバからブラウザへの返信であるレスポンスについて理解を深めます。

Preview 04:21
+ Sinatra: データベースやモジュール
7 lectures 46:30

bundlerを使って、gem管理をファイルで行うように変更していきます

BundlerでGem管理を行う
08:15

rubyでのモジュール管理の仕組みであるbundlerについて理解を深めます。

「GemとBundler」講義
04:56

ActiveRecordを利用してDBを使えるようなシステムの準備をしながら、課題をどのように解決していくかを学びます。

ここではDBへの情報の挿入を試します。この章は色々な操作を行うので、操作解説のテキストを用意しました。こちらもご利用ください。

DBの利用を通じて課題解決を学ぶ
14:50

DBからの情報の取得の方法について学びます

DBの情報を取得する
Processing..

データベースを扱う上での基礎的な概念、テーブルやカラムについて理解を深めます。

「データベースとは」講義
06:03

ActiveRecordについて、DBのテーブルやレコードと対比しながらその意義を学びます。

「ActiveRecordについて」講義
05:16

マイグレーションとその意義を学びます。

「マイグレーションについて」講義
07:10
+ Sinatra: その他の機能・概念
3 lectures 20:59

バリデーションを行って画面に入力違反を出力します

バリデーションについて
08:06

セッションに値を格納したり、取得したりすることを学びながら次の画面でのメッセージ表示を実装します。

セッションを利用したメッセージ
05:41

コマンドラインからRubyのプログラムを操れるirbを利用してデータの操作を行います。

irbでのデータ操作
07:12
+ Sinatra: 少しずつ修正をしながら開発する
3 lectures 18:11
カラム追加のマイグレート
05:49
カラム追加のUI対応
08:27

UIの調整と、WEBサービス作成時の心構えを皆さんへお伝えします。

UI調整と一つのWEBサービス完成に寄せて
03:55
+ ブリッジ
1 lecture 06:33

MVCの意味やModel、View、Controllerの連携を学びます。

「MVCの基礎」講義
06:33
+ Rails: Railsとは。その特徴を理解する。
7 lectures 41:59
Railsのインストール
05:27
bundle installしてサーバを起動する
05:45

scaffoldを利用して、簡単に動くシステムを構築します。Sinatraで時間がかかったものが一瞬で作成されることに驚くでしょう。

scaffoldで素早く作成する1
04:39

scaffoldを利用して、簡単に動くシステムを構築します。Sinatraで時間がかかったものが一瞬で作成されることに驚くでしょう。

scaffoldで素早く作成する2
04:24

scaffoldで作成したアプリケーションのソースコードを見ながら、Railsがどのように通信を処理していくのかを確認します。

Railsツアー
05:36

Railsの全体的な世界観を、MVC、マイグレーションやrakeコマンドなどを交えて理解します。

「Railsの全体像、規約について」講義
09:02

scaffoldで作成される様々なファイルについて大まかな理解をします。

「scaffoldの概要について」講義
07:06
+ Rails: ControllerとViewの基本形を確認する
8 lectures 37:53

Controllerの7つのactionがどのようなタイミングで呼ばれ、どんな動作なのかを確認します。

Controllerの7つのAction
04:19

Controllerの7つのactionがどのようなタイミングで呼ばれ、どんな動作なのかを確認します。

Controllerの7つのAction2
04:51

Railsの概念の中で大きな意味づけをしているRestfulの概念について理解を深めます。

「Restfulについて」講義
09:30
POSTパラメータについて
04:17
form_forの結果のHTMLについて
02:52

StrongParameterが何の為にあり、どのように考えるのかを確認します。

StrongParameterを確認する
03:36

コールバックとはどんなものかを確認します

コールバックを確認する
03:21

パーシャルを利用することでViewの再利用ができることを学びます

すでに出来上がっているformを見て、新規と編集時に使われているのを確認します。

Viewのパーシャルを確認する
05:07
+ Rails: ロジックやデータを扱うModel
5 lectures 17:31

rails console を利用してターミナルからRubyを操作してみましょう。

rails console を使う
02:18

バリデーションActiveRecordの操作を確認します。

rails consoleを利用します

Modelにバリデーション機能をつける1
03:56
Modelにバリデーション機能をつける2
04:17

whereを使って取得情報をフィルタします

ステータスによって取得する結果が違うことを確認します

情報をフィルタして検索するwhere
02:15

有用なコマンド、rake routesがどのような情報を提供しているかを学びます

rake routes について
04:45
Requirements
  • 簡単なHTML/CSSの書き方は知っておいてください。ごく基本的な内容で大丈夫です。
  • 初歩的なプログラミング(変数や関数、条件分岐や繰り返し)について理解されていると更に良いでしょう。
Description

ご注意!:最初はRailsを扱いません!その理由も含めて以下をご確認くださいませ。

本コースはWEBサービスをRailsで作成するために必要なごく基本的な(とは言えWEB開発全般で通用する大切な)知識を学ぶためのものです。たとえば以下のような方を対象にしています。

  • WEBサービスを開発をしたいが、自分に向いているのかをまだ測りかねている。

  • WEBサービスを開発をしたいが、全体的としてどんな作業が必要なのかよくわからない。

  • WEBサービスの開発をしてみたが、知識の偏りが不安。

Railsは数多くの設計概念を内包した規模の大きなフレームワークです。そのために

  • 「スクールで学んだけれど先生に言われた通りに書いただけなのでよくわからない」

  • 「本に書かれているものを真似した通りにしか作れない」

というような理解不足に陥ることが多くあります。

このコースではそのような理解不足をできる限り起こさぬ為、以下のように少しずつステップアップしていくアプローチで進めます。

  1. Sinatra編: 最初はRailsを触りません!WEB開発全般に共通するリクエスト・レスポンスのような概念やbundlerやgemなどのRubyの環境の基礎について、Sinatraという軽量なRubyのフレームワークを使って学びます。

  2. Rails編: Railsの持つ様々な概念や機能について、実際にサービスを作りながらレクチャするものです。

「コードを真似して書くことを中心としたコーディングの回」と「書いたコードに関する概念をレクチャする講義の回」との二種類の教え方を組み合わせます。


バージョンの不一致や、環境の更新などで動画の通りに行っても動作しなくなってしまうケースがあります。コースを開始した際のメッセージによくある質問への回答集が入っていますのでご確認の上進めてください(Udemyの規約によって、ここにURLが書けませんのでご理解ください)。


ご注意:

  • 条件分岐や繰り返しのような最低限のプログラミングの概念及びHTML/CSSの基礎は扱わないので、別途勉強されるのが望ましいです。

  • 環境構築については扱っておりません。Cloud9のようなWEB上に作られた環境を利用することを想定しています。本講座が初めてのサービス開発を目指すものであるので、環境はある程度理解が高まってからでも十分間に合うと考える為です。

  • 新しくAWSアカウントを作れば無料枠のおかげでリーズナブルに学べる仕組みができていると思いますが、用法・用量を守って正しくお使いください。AWSがどういう仕組みで課金されるかなどは理解されてから進められることをオススメします(この辺りの課金についてのトラブルが起きた場合でも責任は持てませんのでご注意くださいませ)。

バージョンなど:

  • Ruby 2.3系

  • Rails 4.2系

  • SQLite3

  • 最新版のGoogle Chrome

  • AWSのCloud9環境

Who this course is for:
  • WEBサービスの作成を行いたい人のうち、WEBサービスそのものの全体像や概念を知った上で、規模の大きな実践的なフレームワークを利用した開発までのスキルを獲得したい人向けです。
  • とりあえず手を動かすところから始めて、徐々に理解を深めて行く方向で学習したい人向けです。技術要素を一つずつ積み重ねてゆくのではなく、まずサービスを作成する上での全体像を把握した上で、個々の細かいことを補完して行きたい人が対象です。
  • HTMLやCSSなどフロントエンドの部分は対象外です。基本的な知識は持っていることを前提としています。