MVPプログラミング教室資料

※このテキストの質を向上させていきたいので、
不明点やエラー、少しでもわかりにくかった部分があれば教えてください

こちらは名古屋で毎週金曜日に開催している
MVPプログラミング教室のテキストです

プログラミング未経験からプロダクトを開発することが
できるスキルを身に付けることを目的としており、
順番通りに進めていけば根気のある方であれば10週間ほどで
プロダクトを開発することができるかと思います

以下Ruby on RailsとFlaskの比較:
青色→メリット
ピンク→デメリット

Ruby on Rails

  • 先人達が作成してきたコードがたくさんあるのでそちらを利用することで爆速開発が可能(エコシステム)
  • プロダクトのリリースなどが比較的簡単
  • 日本語情報がかなり多い
  • Gem(外部のライブラリ)に依存しているのでコードのエラーではなくGemのエラーが頻発する
  • ファイルが多いので初心者で管理をするのが難しい
  • 良くも悪くもある程度の操作でプロダクトができてしまうので、自分で何をしたかわからないままリリースすることになってしまうかもしれない

ご不明点などございましたらお気軽にご連絡ください。
mail: info@masahiro.me

基礎(Ruby on Rails版)

Progateの以下のレッスンを上から順番通りに進めます
※ただしそれぞれのレッスンに掲載されているコラムはやらなくていいです

  • HTML&CSS
  • Ruby
  • Ruby on Rails5
  • Command Line
  • Git

Bootstrap

CSSやJavascriptを機能のまとまりとして構築した便利機能集のようなものです
RailsやFlaskを初めとしてWeb開発で非常に重要な機能集なので勉強しましょう

Bootstrapの説明について:Bootstrapのグリッドシステムの使い方を初心者に向けておさらいする
Bootstrap使い方:Bootstrapの使い方とは?初心者でもわかる使い方をまとめて解説!!

Windows環境開発

Macは調べれば割と簡単に出てくると思いますが、
思いのほかWindowsユーザーの方が多かったので
Windowsベースで環境を開発していきます
下記2点を順番に行ってください

Ruby on Rails
Windows仮想環境構築
VagrantでRuby on Rails環境開発

ターミナルコマンドについて

railsやvagrant、ターミナルで頻繁に利用するコマンド集です
参考にしてください
頻繁に利用するコマンドについて(Vagrant + Rails)

Railsエラーまとめ

MVP教室で発生したRailsエラーをまとめてあります
MVP教室:Railsエラー内容

練習用チュートリアル(Ruby on Rails)

チュートリアルは上から順に進めてください。難易度順に並べてあります。

TODO App
「やることリスト」のアプリを作成。一番基礎の部分。
【Ruby on Rails】ToDoアプリを簡単に作ってみる ~ その1. index new create ~
【Ruby on Rails】ToDoアプリを簡単に作ってみる ~ その2. show, edit, update, destroy ~

ブログ
TODO Appよりも少し難易度が高いですが、これも基礎のレベル
[学習用]Rails5コメント付きブログを簡単に作成してデザインも一緒にする手順1
[学習用]Rails5コメント付きブログを簡単に作成してデザインも一緒にする手順2
[学習用]Rails5コメント付きブログを簡単に作成してデザインも一緒にする手順3

実践的内容
かなり実践的な内容です
難しいところやエラーが出て進まないところもあるかと思いますが
一人で開発していくには自分で解決するスキルが必要なので、
エラーが出たらGoogleで調べましょう。

Rails tutorialは8章まで完了したら
ひとまずOKです
次は下記のQ&Aサイトの構築をやっていきましょう
Ruby on Rails チュートリアル実例を使ってRailsを学ぼう

Q&Aサイトの構築
このチュートリアルではQ&Aサイトを作成しながら

  • ログイン機能
  • データベースのアソシエーション

をメインで学んでいただきます。

TwitterやFacebookなどのアプリケーションにはログイン機能が必ずあります
このチュートリアルではdeviseというgemを使ってログイン機能を実装します

deviseを利用することでログイン機能を簡単に実装できますが、
新規登録やパスワード再発行など様々な機能群も含まれており、
ただ使うだけではなく、Googleで全体像を自分で調べてみましょう

このチュートリアルの中盤からはデータベースのアソシエーションが出てきます
データを紐づけるための機能で、
最も重要な概念の一つです
不明点などがあればGoogleで調べて理解を深めましょう。

初心者向け : Railsログイン機能をつけてQAサイトを作る 1 -ログイン機能+質問機能-
初心者向け : Railsログイン機能をつけてQAサイトを作る 2 -Bootstrap+UI修正-
初心者向け : Railsログイン機能をつけてQAサイトを作る 3 -回答機能+リアクション機能+ベストアンサー機能-
初心者向け : Railsログイン機能をつけてQAサイトを作る 4 -タグ付け機能-
初心者向け : Railsログイン機能をつけてQAサイトを作る 5 -管理画面機能-
初心者向け : Railsログイン機能をつけてQAサイトを作る 6 -検索機能-

データベース設計

MVPを作る際にデータベースの設計を行う必要があるのでこちらのツールを利用します
データベース設計はシステム設計の要とも言える部分なので、必ず相談してください

dbdiagram.io