学習ロードマップ


## はじめに

こんにちは。
未経験からエンジニアになるためのロードマップをまとめたいと思います。
私自身、独学で学んでいく為に、何を何から進めていけばよいのか、情報がありすぎてものすごく時間がかかりました。同じように困っている人の参考になればうれしいです。
31歳で大きな挫折をしましたが（この経験も、[こちら]の記事にまとめています。もし興味があれば。）、31歳で新たな挑戦にワクワクしながら楽しんでいこうと思います。年齢が近い人はもちろん、これから同じようにエンジニアを目指す人を応援しています。（まだ私、なれていませんが。）

:mega:  随時更新していきます。

## 【1. 基本的なプログラミングの学習】

### Python
:pencil2:学ぶ内容
基礎文法、関数、データ構造、標準ライブラリ、クラス、:warning:オブジェクト指向

:rocket: :アウトプット:
簡単なスイカゲームを作りました。
[こちら](https://qiita.com/kenta1760/items/2dda7b03b68481c6ff01)にリンク張っておきます。参考にしてみてください。


:book:学習教材 
||有料サイト|Youtube|書籍　　　　　　　　|
|:--|:--|:--|:--|
||Progate[:computer:](https://prog-8.com/)（入門を1周）|
||ドットインストール[:computer:]()（入門を1周）|

:mega:  個人的には、ドットインストールの方が幅広く端的に学べるなと思いました。
##

### JavaScript (Node.js)、REACT、HTML&CSS
:pencil2:学ぶ内容:
どういったものなのか知る為に、触れてみる程度で大丈夫です。

:rocket: :アウトプット:
webサイトをする。
ここではシンプルなもので大丈夫だと思います。
[こちら](https://code-jump.com/coding-recommend/)にリンク張っておきます。参考にしてみてください。

:mega: 私は毎日、30分くらいさわる様にしてゆるーく覚えていきました。

:book:学習教材
||Webサービス|Youtube　　|書籍|
|:--|:--|:--|:--|
||Progate[:computer:](https://prog-8.com/)（入門を1周）||『1冊ですべて身につくHTML & CSSとWebデザイン入門講座』[:mag_right:](https://amzn.asia/d/01iy4FKq)|
||ドットインストール[:computer:](https://dotinstall.com/)（入門を1周）||『ほんの一手間で劇的に変わるHTML & CSSとWebデザイン実践講座』[:mag_right:](https://amzn.asia/d/3fimAxP)|
||||『1冊ですべて身につくJavaScript入門講座』[:mag_right:](https://amzn.asia/d/dr656N9)|
||||『モダンJavaScriptの基本から始める React実践の教科書』[:mag_right:](https://amzn.asia/d/1Mws8i5)|


## 【2. バックエンドの基礎技術】

### インターネットの基本
:pencil2:学ぶ内容
・TCP/IP
・DNS
・HTTP/HTTPS
・ルーティング
・REST API

:rocket: :アウトプット:
将来的に、CCNA、LPIC、基本情報技術者試験といった資格を取るとかいいかもしれません。
そのために毎日30分ほど学習・問題解くなどして試験の準備をしておきます。

:book:学習教材
||Webサービス|Youtube　　|書籍|
|:--|:--|:--|:--|
||基本情報技術者試験道場 [:computer:](https://www.fe-siken.com/fekakomon.php)|まさるの勉強部屋 [:computer:](https://www.youtube.com/@masaru-study)|『3分間ネットワーク基礎講座』[:mag_right:](https://amzn.asia/d/0im5nGX)|
|||【基本情報技術者試験　Youtuber】すーさん [:computer:](https://www.youtube.com/@kihonzyouhou)|『3分間ルーティング基礎講座』[:mag_right:](https://amzn.asia/d/itK04pz)|
||||『3分間DNS基礎講座』[:mag_right:](https://amzn.asia/d/79HfPHs)|
||||『3分間HTTP&メールプロトコル基礎講座』[:mag_right:](https://amzn.asia/d/cI0lrHB)|
||||Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESSプラスシリーズ) [:mag_right:](https://amzn.asia/d/3iZYwgX)|

:mega: 書籍で理解しずらいところをYoutubeで学んでいく感じです。
##

### Django（Python）、Ruby on Rails（Ruby）
:pencil2:学ぶ内容
フレームワークを学び簡単なBlogやTweetAppを作成してみます。
:mega: 上記のインターネットの基本をサラッとでいいので先に学んでおくと非常に理解が進むような気がします。

:book:学習教材
||Webサービス|Youtube　　|書籍|
|:--|:--|:--|:--|
||Udemy: 滝澤 成人さん『プログラミング初心者でも安心、Python/Django入門講座』 [:computer:](https://www.udemy.com/user/narito/)||現場で使える Django の教科書《基礎編》［4.2 LTS 対応版］[:mag_right:](https://amzn.asia/d/iTjkiRk)|
||Progate[:computer:](https://prog-8.com/)『Ruby on Rails』||現場で使える Django の教科書《実践編》[:mag_right:](https://amzn.asia/d/8C5qUjS)|
|||||

:mega: Progateのコース『Ruby on Rails』は本当にわかりやすかったです。その後、python（django）を触ることになりましたが、すらすら内容が入ってました。
##

### OSとコンピューターサイエンス
:pencil2:学ぶ内容
コンピューターがどのようにして起動するのかを学びます。
ハードウェアとソフトウェアの関係をりかいし、HDD、メモリ、CPU、BIOS、OS、ドライバ、アプリケーション、ミドルウェア、ファームウェアなど役割を理解する程度でいいと思います。
Linuxの歴史や特徴などを勉強しながら『OSとは何か』を学んでいきます。
仮想化ソフトウェアやディストリビューション、基本的なシェル（bash）とシェルスクリプトを理解していきます。
その他にも
SSHを利用したセキュリティを確保してリモートマシンと安全に通信できる特徴など。
ターミナルのカスタマイズ
超基本的なファイルコマンドなど

:rocket: :アウトプット:

:book:学習教材
||Webサービス|Youtube　　|書籍|
|:--|:--|:--|:--|
||ITロード[:computer:](https://it-road.com/)||新しいLinuxの教科書　第２版 [:mag_right:](https://amzn.asia/d/0umPf5i)|
||Progate[:computer:](https://prog-8.com/) 『Linux』|||
|||||
|||||
|||||
##

### データベースの学習（MySQL、PostgreSQL）
:pencil2:学ぶ内容
・基本的なクエリの作成
・データベース設計
・リレーションシップの理解
・データベース設計
・正規化
・ER図の作成
:book:学習教材
||Webサービス|Youtube　　|書籍|
|:--|:--|:--|:--|
||Progate [:computer:](https://prog-8.com/) 『SQL』||SQL 第2版: ゼロからはじめるデータベース操作 [:mag_right:](https://amzn.asia/d/iRjZzjF)|
||SQLab [:computer:](https://sqlab.net/)|||
|||||
##

### Git / Gitub
:pencil2:学ぶ内容
・Gitの概念
・インストールと初期設定
・基本操作（init,status,add,commit,など）
・変更管理（diff,rm/mv,など）
・ブランチ操作（branch,checkout,merge）
・コンフリクトの解決
・作業の巻き戻しと変更の取り消し（reset/revert,など）

:book:学習教材
||Webサービス|Youtube　　|書籍|
|:--|:--|:--|:--|
||Udemy: 山浦 清透さん『Git：はじめてのGitとGitHub』[:computer:](https://www.udemy.com/user/kiyotoyamaura/)||いちばんやさしいGit&GitHubの教本 人気講師が教えるバージョン管理＆共有入門 [:mag_right:](https://amzn.asia/d/fS7Y9xZ)
||Udemy: 山浦 清透さん『Git： もう怖くないGit！チーム開発で必要なGitを完全マスター』[:computer:](https://www.udemy.com/user/kiyotoyamaura/)||GitHub実践入門 ~Pull Requestによる開発の変革 [:mag_right:](https://amzn.asia/d/c7jrtxw)|
|||||
##

### Docker

:pencil2:学ぶ内容
・基本概念
・基本操作
・イメージの管理
・Dockerfileの基本
・コンテナのネットワーク
・データ永続化
・DockerCompose など

:book:学習教材
||Webサービス|Youtube　　|書籍|
|:--|:--|:--|:--|
||||Docker&仮想サーバー完全入門　Webクリエイター＆エンジニアの作業がはかどる開発環境構築ガイド [:mag_right:](https://amzn.asia/d/4W6sJsp)
|||||
|||||
##

### API

:pencil2:学ぶ内容
・基本概念
・WEB APIの基本
・APIリクエスト
・JSON
・APIの認証とセキュリティ
・APIの設計と開発
・実装

:book:学習教材
||Webサービス|Youtube　　|書籍|
|:--|:--|:--|:--|
||||Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESSプラスシリーズ) [:mag_right:](https://amzn.asia/d/3iZYwgX)
||||Web API: The Good Parts [:mag_right:](https://amzn.asia/d/gjaz0xL)|
|||||
##

### セキュリティ

:pencil2:学ぶ内容
・SSL/TLS
・データ暗号化
・クロスサイトスクリプティング（XSS）
・SQLインジェクション
・認証システム
・セッション管理など

:book:学習教材
||Webサービス|Youtube　　|書籍|
|:--|:--|:--|:--|
||||体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践 [:mag_right:](https://amzn.asia/d/4Vhlc7L)
|||||
|||||
##

### AWS

:pencil2:学ぶ内容
・基本概要
・EC2: 仮想サーバーの立ち上げ
・S3: オブジェクトストレージ
・RDS: リレーショナルデータベース
・Lambda: サーバーレスコンピューティング
・IAM: ユーザー管理、セキュリティ
・コスト管理　など

:book:学習教材
||Webサービス|Youtube　　|書籍|
|:--|:--|:--|:--|
|AWS無料利用枠: AWSの無料利用枠での学習 [:computer:](https://aws.amazon.com/jp/)|||AWSではじめるインフラ構築入門 第2版 安全で堅牢な本番環境のつくり方 [:mag_right:](https://amzn.asia/d/ijXVLmN)
|||||
##

### テストとデバック

:pencil2:学ぶ内容
・基本概要
・Pytest

:book:学習教材
||Webサービス|Youtube　　|書籍|
|:--|:--|:--|:--|
||||『テスト駆動開発』[:mag_right:](https://amzn.asia/d/20HivZa)
|||||
##