
【完全無料】プログラミング独学の手引き
どうも、くすたんです。
今回はプログラミングを独学する上での手引きを記載していこうと思います。
値段はもちろん12万円!!!
ではなく無料です!!
(※ 別途、紹介する書籍やサービスの利用料はかかります。基本的には書籍がなくてもできるロードマップになっています)
理由は、普通のエンジニアなら誰でも知っている内容ですし、下手に有料にしてサポートに時間を取られるより、無料で公開をしてサポートはほどほどにし、本業でちゃんと売上を立てた方が効率がいいからです。
個々のエラー対処についてはサポートが困難なので、ここでは割愛します。公式ドキュメントやQiitaを活用するなどして対処いただきたいです。
ちなみにこの内容はエンジニアサークル「ヒラマサ」で実践している内容を一部改変したものになります。
対象
・プログラミングを勉強したいが何から始めたらいいかわからない人
・PHP(Laravel)を勉強したいがどうやったらいいかわからない人
このロードマップではRuby(Ruby on Rails)ではなく、PHP(Laravel)を学習するにあたってのロードマップになっています。
PHPを学習する前提になっている理由は3つです。
1. Ruby(Ruby on Rails)を勉強するロードマップはたくさん出回っている
2. RubyとPHPのどちらかを勉強するかで将来が大きく変わることはほとんどない(最初のうちは、どちらかを集中して勉強して必要に応じてもう片方を勉強すれば大丈夫です)
3. (地方での就職を視野に入れた場合)、PHPを使っているIT企業が多いので、地方で就職することを考えるとPHPの方が都合がいい
書いた人
改めまして、くすたんと申します。
地方大学卒業後に、地元のIT企業でSNSやソーシャルゲームの開発をリードエンジニアとして行いました。
令和より地方でフリーランスエンジニアをしながら、YouTuberとしてプログラミングネタの発信、チームヒラマサでのプログラミング教育にも取り組んでいます。
よくあるエンジニア系インフルエンサーみたく、高学歴だったり、借金を抱えていたり、底辺からプログラミングで逆転をしたりはしていません。
至って普通の人です。そのため、このnoteを読んでいる人なら頑張れば実現できるであろう内容になっているかと思います。
鹿児島.mk #11 おかえりオンラインLT大会 を公開しました! https://t.co/BU0wCYvtfp #鹿児島mk
— くすたん🦔駆け出しヤドン (@qst_exe) July 8, 2020
事前準備
プログラミングを勉強する前に色々と準備をしておきましょう。
そもそも論、Webサービスがどうやって動いているかを知らない人は最初にこの動画を見ましょう。プログラミングスクールの社長が分かりやすく説明してくれています。
こちらを解説したスライドも共有しておきます。
そして、Progateへの会員登録も済ませましょう。今後はProgateを中心に学習を進めていきます。Progateは最初は無料で使えますが、本格的にプログラミングを学習しようとすると月額料金が必要になります。
しかし、プログラミング書籍に比べれば圧倒的に安いのでここは出し惜しみせずに登録しましょう。
HTML/CSSを学ぶ
Webサービスの見た目を作ってくれるマークアップ言語です。(プログラミング言語というとマサカリを投げられるので気をつけましょう笑)
このレッスンの学習コースと道場コースを全てクリアしましょう。1周するだけで大丈夫です。
PHPを学ぶ
Webサービスの表層が作れるようになったら、実際にサーバサイドのプログラミング言語の勉強をしましょう。
PHPのレッスンの学習コースと道場コースを全てクリアします。これも、1周するだけで大丈夫です。
おまけ
この時点で、簡単なWebアプリが作れるようになりました。どうしても何か作ってみたくなった人は、以下のリンクで簡単なゲームを作ってみましょう。
SQL(MySQL)を学ぶ
上記の過程が終わった時点で簡単なアプリが作れるようになりましたが、まだ不十分です。
データベース(ゲームのセーブデータやLINEのトーク履歴的なものを保存しているところ)を扱う言語であるSQL(MySQL)の学習に進みます。こちらのレッスンも全てのコースを1周しましょう。
コマンドライン/Gitを学ぶ
コマンドラインやGitはプログラミングとはちょっと違う括りになります。しかし、知っているとプログラミング学習がスムーズになるので、これらのレッスンをそれぞれ1周しておきましょう。
Gitに関してはWindowsとMacのそれぞれに応じた設定方法のコラムもあるので、それも読んで設定しておきましょう。
JavaScript
JavaScriptは何でもできる言語ですが、とりあえず「Webサービスの表層を魔法のように操作できる言語」という認識で大丈夫です。
こちらは、後述のjQueryを使うために基本文法のみ勉強します。レッスンで学ぶのはコースⅠ~Ⅲまでで大丈夫です。
jQuery
jQueryはJavaScriptのライブラリで、JavaScriptを使いやすくしたものです。こちらのレッスンは全てのコースをそれぞれ1周しましょう。
おまけ
jQueryだけでも十分ですが、最近ではJavaScriptのフレームワークであるVue.jsやReactを使うケースも多いようです。
ここまでする必要はないですが、興味が出たら触ってみることをおすすめします。(Vue.jsはProgateのレッスンにありませんが、取っつきやすさでいえばVue.jsの方が取っつきやすいです)
振り返り
ここまで学習を進めたら一旦振り返りを行います。理解度が不十分なところに関して、レッスンをもう1周します。もし、理解度が不十分なところがなければこの工程はスキップしても構いません。
また、PHPとMySQLについて物足りずに書籍で体系的に勉強したい人にはこちらの本がオススメです。
Laravelの学習
Progateの学習がここまで終わったらフレームワークの学習に入りましょう。フレームワークはサービスを作るうえで必要な知見をまとめて、色々と便利にしてくれるものです。
RubyでいえばRuby on Rails(通称Rails)が有名ですが、PHPの場合はCake PHPやLaravelが有名です。ここでは、Laravelを学習することとします。
RailsならProgateやRailsチュートリアルといったメジャーな教材があるのですが、Laravelの場合はそれがありません。今回は以下のチュートリアル記事に沿ってTODOアプリを作成していくことにします。
注意
このチュートリアルはLaravel5.8で行うようにしてください。これは、make:authがLaravel6.x以降使えなくなっているためです。
また、どうしても書籍で勉強したい場合は、この本がわかりやすくてオススメです。
環境構築に詰まった時にはこちらの記事がオススメです。
機能を追加していく
チュートリアルが最後まで終わったら、作ったTODOアプリに色々と機能を追加していきましょう。追加するものとしては以下のような機能を入れていくと力がつくと思います。
・DBをMySQLに変更する
・ユーザー名の変更機能を追加する
・タスク単体ページを追加する
・タスクをログインしていない人にも閲覧できるようにする
・タスクに画像とタスクの説明テキストを添付できるようにする
・明日締め切りのタスクで完了していないタスクを一覧で定時にメールで送るようにする
・検索フォームを設置し、タスク名とフォルダ名、説明テキストからand検索できるようにする
さらにLaravelの知見を本を使って深めたい時にはこの本がオススメです。
就職するには…
結論は分かりません。企業によって採用基準が異なるうえ、採用事業を行っていないからです。しかし、一般論として以下の方法を取れば採用の確率をあげることができます。
・indeedで検索する
・エージェントを活用する
・IT勉強会に参加してコネを作る
最後に
基本的にはここまでのロードマップは独学で進めることができるかと思います。
どうしても詰まったときには、コミュニティやMENTAなどでエンジニアに質問すると効率よく学習を進めることができるかと思います。
宣伝ですが、僕もMENTAでプログラミングサポートしてます!笑
またもしよかったらYouTubeも見てもらえると嬉しいです!
最後まで読んでいただきありがとうございました!