【プログラミング】本気で学ぶプログラミング(Webエンジニア編)

「どうすればプログラミングやシステムがわかるようになりますか?」、「どの本を見ればわかりますか?」とよく聞かれることなのでまとめました。

まとめてみたけど一人前になるのは大変だよ・・・

とりあえず私Webエンジニアでまとめてみました。


Web開発に必要な知識(概要)

詳細は後述致しますが、大まかに分けて以下になります。

  • フロントサイド(HTML、CSS、Javascript)
  • バックサイド(プログラム言語)
    • オブジェクト指向
    • フレームワーク
    • MVCモデル
  • DB(SQL)
  • サーバー
  • セキュリティ

フロントサイド(HTML、CSS、Javascript)

フロントサイドとは人に見せる画面のことです。

この開発にはHTMLCSSJavascriptの知識が必要になります。

HTMLは基本的な画面を作成する言語です。

CSSは画面のデザインを行ってくれます。

Javascriptは画面上の動作を担ってくれます。ダイアログを出したり、郵便番号の自動入力などにも使用されます。

CSS、Javascriptを使用しないでもフロントサイドは作成自体は可能ですが、やはりかっこいいデザインを適用するならCSS、色んな機能を画面につけたいならJavascriptを覚える必要があります。


バックサイド(プログラム言語)

バックサイドとは裏で動く処理のことを指します。

この開発はphpやjavaなど最低1つ以上の開発言語を習得する必要があります。

本来プログラマ、エンジニアがメインで行う作業がここです。

データの登録や編集、削除などの様々な処理を書きます。


プログラムを扱うにもまた細かな知識が必要になるのでこちらも書いておきます。


オブジェクト指向

Wiki:オブジェクト指向プログラミング

現在様々な言語がオブジェクト指向の作りをしています。

また、後述するフレームワークの中でもオブジェクト指向で基本的に作成されています。

そのためオブジェクト指向を学習する必要があります。


フレームワーク

Wiki:フレームワーク

様々な機能を提供してくれるソフトウェアです。

現在様々なフレームワークがあり、フレームワークに合わせて学習する必要があります。


MVCモデル

Wiki:MVCモデル

現在Web開発の多くはMVCモデルで作成されています。

フレームワークの構造自体がMVCモデルで作成されていることが多いです。


DB(SQL)

DB(データベース)はデータを保存する機能を持ったものです。

DBを扱うにはSQLという言語を覚える必要があります。

DBへの挿入、更新、削除等はフレームワーク側でやってくれることがありますが、DBのテーブルの作成など細かいものはSQLを覚える必要があります。


サーバー

実際にWebに公開するサーバーを設定する知識が必要になります。

Linux、Windowsの知識、Webサーバーの知識が必要になります。

セキュリティのための設定をする必要があったりします。


セキュリティ

セキュリティはWebを扱う上で重要になります

個人でやるとしても仕事でやるとしてもセキュリティを突破されて情報を抜かれたり、公開しているWebサイトを乗っ取られたりする可能性があります。

セキュリティの幅も広く、プログラムで行うセキュリティ対策と、サーバー側で行うセキュリティがあります。

ある程度はフレームワークでも防いでくれることが最近では多いです。


まとめ

これだけのことを勉強しなければいけません。

他にも色々、ネットワークのことなども勉強してほしいです・・・

よく「一週間で出来る〇〇」とかありますが、絶対に1冊読むだけでは終わりません。

最低限、プログラム言語系1冊、フレームワーク系1冊が必要になります。フレームワークの本の中である程度、MVCモデルが説明されてたりするものがあります。

フロントのデザインに関してはテンプレートがあったりしますし、セキュリティも私は必要だと思いますがフレームワーク上で結構防いでくれます。

職人とは違うけど1人前になるのは最低1年以上かかると思って欲しいです。


更に仕事でやる場合は顧客とのやり取りや仕様書の作成なども覚えないといけないので1年じゃ無理だと思う。


0 件のコメント :

コメントを投稿