はじめに

最終更新日: 2019年 04月07日

プログラミングを始めるとなるとついつい、RubyやPHP、Javaなどプログラミング言語の話になりがちですが、 プログラミングをするにはコンピュータの仕組みなどからHTTPやSSHなどのネットワーク、などプログラミングを 進めるために必要な事前知識や周辺知識が多くあります。

ここではそれらをひとつひとつ分類してわかりやすく説明を行なっていきます。

IT基礎

まず最初のIT基礎の部分では、プログラミングとは?のようにプログラミングがどういう作業であるのかという部分をまとめた内容になっています。 プログラミングとは基本的にコンピュータへ指示命令をするためのプログラミング言語を用いてコンピュータに何らかの仕事や計算をさせることを言います。

その後に、プログラミングでコンピュータに命令をするには、コンピュータ自体がどのような仕組みでできていてプログラミングされたコードがどのように 処理されるのかということを説明します。

さらに、コンピュータはCUIとGUIという概念があり、ネットサーフィンなどの普通の用途でパソコンを使う方はGUIに慣れているのですがプログラミングを 行うためにはCUIからの操作(コマンド操作)が不可欠なのでそれぞれの違いを説明していきます。

最後に最近世の中で言われるプログラミングというとほとんどWebアプリケーションを作るためのプログラミングであることが多いのですが、そもそもWebって なんなのというところやインターネットって何のという話を最後にしていきます。

Webアプリ基礎

昨今のエンジニアブームで中心となっている多くはWeb系企業(自社サービスを持っている企業)ですが、そもそもWebアプリケーションとはどういうものなのか?

また、Webアプリケーションを開発するにあたって、サーバ-クライアント型の仕組みや考え方になれている必要があるのでそこでWebの仕組みについて解説を行なっていきます。

ネットワーク

Webアプリケーションを開発する場合、ネットワークの知識は不可欠です。それぞれの過程にWiFiが普及したり、それぞれの世帯で一台のPCあるいはスマートフォン を持つ様な世の中になりIPアドレスやドメインの話は普通に生活していても耳にする機会は増えたと思うのですが、Webエンジニアになるためにはそこから さらに一歩踏み込んだ知識が必要なので、そちらについて解説をしていきます。

また、HTTPやSSHなどプログラミングを始めるとなんとなく耳に入ってくるけどちょっと複雑な分野についても説明していきます。

Webアプリをささえる技術

プログラミングを習得して実際にWebエンジニアとして働き始めるには、一定の知識量が必要とされるのですが「Web開発」を行うために 最低限必要な知識はどれで何を学べばよいのか?というのが漠然としてWebエンジニアになるために必要な技術をそれぞれ紹介していきます。

この章ではそれぞれ下記の技術を詳しく解説していきます。

  • Git
  • Ruby
  • JavaScript
  • Linux
  • HTML/CSS

それぞれの知識はここまでできれば安心ということはなく、エンジニアになったらそれぞれの分野で知識を深めて行かないといけないのですが、 Webエンジニアとして就職するあるいは一人でWebアプリケーションを開発できるようになるために最低限必要であろう知識をここで解説していきます。

ここで書いた5つの技術をひとつひとつ全て解説していくとかなりの量になるので、実際にコードや使い方の話はそれぞのれカリキュラムに譲って、 ここでは「Gitってどんなもの?」「Gitってどういう場面で使うの?」「Gitを使うことで何がいいの?」など概論てきな話をつらつら書いていきます。

※注意事項

カリキュラムは体系的にWebエンジニアに必要と思われる知識について解説を行なっていきますが、とくに最初から順番に一つずつ覚えて行こうみたいな使い方はやめてください。

Webエンジニアになるために必要な知識というのは相当な量があるので最初から順番にってやっていくとどこかで挫折します。 時間がある時に読むのでも良いし、それぞれの単元を開くまえに「これってこういうことだよね」ってちょっとあたりをつけながらページを開いてみてかいてある 内容がすでに知っていることであればそのまま閉じていいし、わからない部分や初めて知る部分があればそこであらたに学びを得て頂ければと思います。

最終的には、どのページを開いてもだいたい知っている、聞いたことのある状態になっていればWebエンジニアとして必要な最低限の知識は身についていると考えて良いと思います。

くれぐれも、それぞれのページを開いて一つずつ理解・暗記していくような真似はしないでください、ストレスの少ない形で繰り返し参照するようなイメージ でこのカリキュラムを使って頂ければと思います。