初心者がWebアプリを作るまでの最短ルート

## 概要
未経験からフレームワークを使えるようになるまでのカリキュラムを作りました！

# 0.はじめに
#### **ゴール**
*自分でWebアプリが作れるようになる*

#### **勉強の流れ**

| No. | 内容 |
|:-:|:-:|
|1| HTML&CSS  |
|2|  OSとLinuxコマンド |
|3|  ローカル環境開発 |
|4| PHP |
|5| MySQL   |
|6| jQuery |
|7|  PHP & MySQL & jQuery |
|8|  Laravel |

#### **やっておくこと**

0.[質問は恥ではないし役に立つ](https://qiita.com/seki_uk/items/4001423b3cd3db0dada7)を読もう

1.[Progate](https://prog-8.com/)の登録

2.[ドットインストール](https://dotinstall.com/)に登録する

3.[ドットインストールの使い方](https://www.sejuku.net/blog/3178#5-2)を理解する
※Atomなどは次のステップで行うのでここではスルーしてください

4.テキストエディタのインストール

- **Atom**
【参考サイト】

    - [今注目のテキストエディタ「Atom」の使い方と便利機能まとめ](https://blog.codecamp.jp/atom_utility)
    - [Atomの使い方](https://dotinstall.com/lessons/basic_atom_v2)


- **Sublime Text3**
【参考サイト】
    - [今日から使える！Sublime Textの使い方【初心者向け】](https://techacademy.jp/magazine/3060)
   - [SublimeText3を2年以上使って、生き残ったPluginを紹介します。](https://qiita.com/MakoTano/items/8853caa206283df5e1f9)

# 1.HTML&CSS
ドットインストールの授業は動画を見るだけでなく、実際に手を動かしてコードを書いてください。

#### **導入**
Progateの「HTML&CSS初級編」をクリアしましょう。何となくの理解でも今はオッケーです。
#### **HTML**
[HTML入門編](https://dotinstall.com/lessons/basic_html_v3)をクリアしてください

#### **CSS**
次は[CSS入門](https://dotinstall.com/lessons/basic_css_v3)をやりましょう
「CSS入門」の授業を受ける際にHTMLのコードを書くのが面倒な場合はページの下の方に「ソースコード」があるのでそちらからコピペしてもいいです
※CSSは必ず自分で書いてください。

# 2.OSとLinuxコマンド
1.[このサイト](https://eng-entrance.com/you_can_do_linux)を参考にしてOSについて理解してください

2.Progateの「CommandLine基礎編」をクリアしましょう

3.[こちらのサイト](https://qiita.com/tetsuya/items/46888bb4dfc8a6bfef02)でコマンドの理解を深めて下さい

# 3.ローカル環境開発
自分に最も適した方法を選んで作成してください

| 方法 | 難易度 | 汎用性 |
|:-:|:-:|:-:|
| XAMPP  |  低 |  低 |
| Cloud9  |  中 |  中 |
|  Vagrant&Virtualbox | 高  | 高 |

#### XAMPP
- [XAMPPの使い方](https://www.adminweb.jp/xampp/)

#### Cloud9
- [初心者でも簡単！Cloud9でPHPを動かしてみよう](https://www.geekjob.jp/trial-cloud9-php/)
- [Cloud9ログインページ](https://c9.io/login)
※Cloud9はAWSに統合されたので今までの方法ではできないところがあります

#### Vagrant&Virtualbox

- [ローカル開発環境の構築 [Windows編]](https://dotinstall.com/lessons/basic_localdev_win_v2)
- [ローカル開発環境の構築 [macOS編]](https://dotinstall.com/lessons/basic_localdev_mac_v2)
- [Windows上でVirtualBox+Vagrant+CentOSによる仮想環境構築](https://qiita.com/hiroyasu55/items/11a4c996b0c62450940f)
- [VirtualBox (Windows) 上に CentOS 7 をインストールする](https://qiita.com/100/items/80a899fbaeb1e82b3f67)


# 4.PHP
1.ProgateのPHPレッスン1をクリアしましょう
2.[ドットインストールPHP入門](https://dotinstall.com/lessons/basic_php_v2)をクリアしよう

# 5.SQL
1.ProgateのSQL1をクリアしましょう
2.[こちらのサイト](https://blog.codecamp.jp/my_sql_intro)でMySQLについて勉強しましょう
#### 参考サイト
- [MySQL入門者必見！MySQLとデータベースの基礎を徹底解説！](https://blog.codecamp.jp/my_sql_intro)

## 6.jQuery
1.[このサイト](https://www.sejuku.net/blog/6909)を読んでjQuery理解を深めましょう
2.ドットインストールの[jQuery入門](https://dotinstall.com/lessons/basic_jquery_v2)をクリアしましょう

## 7.PHP & MySQL & jQuery
#### 4.5.6の知識を全て用いてToDo管理アプリを作成しましょう
- https://dotinstall.com/lessons/todo_app_php_v3

## 8.Laravel
#### フレームワークについて理解しましょう
- [WEBフレームワークとは？](https://postd.cc/what-is-a-web-framework/)
- [Laravel入門-Laravelとは？特徴は？環境構築は？](https://qiita.com/torisankanasan/items/e7fb97e209d770970800)

#### Laravelでブログ作成
ドットインストールの[Laravel5.5入門](http://libro.tuyano.com/index2?id=3766003)をクリアしましょう

※詰まった時は下記サイトを参考にしてください
[「初心者のためのLaravel入門」グループ](http://libro.tuyano.com/index2?id=3766003)

##おめでとうございます！これでフレームワークを用いてブログを作成できるようになりました！

## 9.エラーが出た時は
#### マインドセット
- [質問は恥ではないし役に立つ](https://qiita.com/seki_uk/items/4001423b3cd3db0dada7)

（質問のパターンランゲージを律義に踏襲する必要はありませんが、このような考え方は持ってください）

#### エラーの際の参考サイト集
- [プログラミング初心者歓迎！「エラーが出ました。どうすればいいですか？」から卒業するための基本と極意（解説動画付き）](https://qiita.com/jnchito/items/056325421b7e36f02335)
- [【初心者向け】プログラミングでエラー解決するためのポイントとおすすめの質問サイトを紹介](https://asobitaiblog.com/2018/02/24/1097/)