プログラミングを独学しようと思うけど何から始めたらいいんだろう。
プログラミングに必要なスキルの全体像を知りたいな。
その上でどの順番で何ができるようになればよいか知りたい
こういった疑問に答えます。
本記事を読むことによって、どのような順番でWebプログラミングを独学していけばよいかわかるようになります。
達成すべき目標がはっきりすることで進捗もわかりますし、モチベーションも保てますね。
それでは、順番に見ていきましょう。
Webプログラミングに必要なスキル
4種類のWebプログラミングスキル
独自にスキルを種類分けして見ました。
- 静的ページ作成スキル
- データベース操作スキル
- Webプログラミングスキル
- リッチコンテンツスキル
- サーバー構築スキル
静的ページ作成スキル
HTMLファイルにタグを記載し、CSSで装飾します。
学習をするうえで特に意識してほしいことがあります。
- 手を動かすこと
- いろいろ試してみること
手を動かすことは実際に作って表示してみるということです。
いろいろ試すことは学んだ基礎の応用になります。
実際に自分が手を動かすことで、エラーや表示崩れが起きることがあります。
その問題を解決することで理解が深まります。
データベース操作スキル
Webアプリケーションでは、ほぼデータベースが利用されます。
SQLを使ってデータベースへデータを登録したり、更新したり、削除したり、参照したりします。
基本的には、以下の操作でデータを取得します。
- 登録:INSERT文
- 更新:UPDATE文
- 削除:DELETE文
- 参照:SELECT文
他にも取得する範囲を絞ったり、集計したりと便利な機能があります。
SQLにおいても好きな学習サイトで学び、自分で手を動かし、いろいろ試してみてください。
Webプログラミングスキル
一番肝となるスキルです。
Webプログラミングと言ってもプログラミング言語はたくさんあります。
RubyかPHPあたりが良いと思います。もちろんPythonでも構いません。
まずは、学習するプログラミング言語を決めて基礎構文を学びます。
その後にWebアプリケーションの学習を進めます。
Webプログラミングでデータベース操作スキルで学んだSQLを実行し、データを抽出
Webプログラミングで抽出したデータを静的ページ作成スキルで作成したページに埋め込む
ここで初めてそれぞれのスキルが連動し始めます。
Webプログラミングにおいても好きな学習サイトで学び、自分で手を動かし、いろいろ試してみてください。
リッチコンテンツスキル
ここでは更にコンテンツを使いやすくするための技術を学びます。
ずばりJavascriptの学習になります。
- かっこいいアニメーションを付けたい
- 入力した文字数をリアルタイムにカウントしたい
- 入力したHTMLをリアルタイムにプレビューしたい
- 現在時刻を表示したい
など、コンテンツに動きをもたせたい場合Javascriptが必要になります。
なくてもWebアプリケーションを作ることは可能です。
サーバー構築スキル
ここまで見てきたスキルは、自分のPC上で動作を確認できるものです。
スマホや他のPCからは見ることができません。
これを全世界に公開するためにサーバーが必要になります。
サーバーは契約して公開できるわけではなく自分のPCでやった環境構築をサーバー上で行う必要があります。
普段使っているPCとは違い黒い画面にコマンドを入力する作業になります。
基本的にLinuxというOSでサーバー構築すると思います。
Linuxコマンド、viエディタ、yumを覚えて構築していきます。
また、セキュリティー面の強化しサイバー攻撃を受けないようにする必要があります。
Webプログラミングを独学する順番
Webプログラミングの独学する順番は以下で良いと思います。
- HTML
- CSS
- Webプログラミング
- Javascript
- サーバー構築
まずはHTML、CSSを使って自分のプロフィールサイトを作ってみるのが良いと思います。
就職・転職のポートフォリオとしても使えますしコンテンツの内容も自分が持っているので作りやすいですね。
Webプログラミングは、RubyでRuby on Railsが学習しやすいです。
自分の場合、他言語の下地がありましたので「ruby 文法 最速」でググってRubyを覚えて、Railsチュートリアルで勉強しました。https://railstutorial.jp
Javascriptは、調べて使えるレベルでとりあえず問題ないです。
作成したプロフィールページに画像のスライダーを追加あたりをやってみたらどうでしょう。
サーバー構築は、他のスキルとは少し異なります。
最近ではRailsチュートリアルでも利用するHerokuという作成したRailsアプリケーションを公開できるサービスもあります。
サーバー構築スキルをせずにそういったサービスを利用するのも良いかもしれませんがエンジニアスキルとしては習得したいところです。