Web開発者を目指すなら知っておきたい基礎知識とおすすめ教材(後編)

こんにちは!テクトレブログ編集部です。
前回の「Web開発者になるなら欠かせない最低限のIT知識とおすすめ教材(前編)」では、Web開発者を目指すなら知っておかなければならない基本的なWeb知識のうち
- HTML、CSS
- JavaScript
- データベースやSQL
- Git/GitHub
に関するおすすめのWebサービスや書籍を紹介しました。
今回は、
- Linuxやシェル、シェルスクリプトの知識
- セキュリティの知識
- ネットワークの知識
について学べる教材について紹介していきます。
ただ、セキュリティなどの学習については、範囲が広すぎて独学できちんと学ぶのが少し難しい部分もあるので、MENTAなどのサービスででメンターを探したり、学習コミュニティのTechCommitへ参加したりして問題や疑問が湧いたら質問してみるのもおすすめです。
それでは早速、おすすめの教材について紹介に移りたいと思います!
おすすめサービス・教材一覧
Linux
WindowsやMacOSというOS(コンピューターのハードウェアを管理してくれるソフトウェア)は馴染みがあるかと思います。
Linuxとは、Unixという古くからあるOSを参考にリーナス・トーパルズが開発したOSのカーネル(中核機能)、またはLinuxカーネルを中心に開発されたシステムのことを指します。
WebサーバーのOSとして用いられることが多く、Q-Successの調査によれば、世界中に存在するサーバーのおよそ7割がLinux/Unixであるとされています。
このように、Linuxは多くのサーバーで用いられており、Webアプリを開発して公開する場合は大抵Linuxに触れることになるでしょう。
開発したWebアプリを公開する際には、多くの場合Linux系のサーバーで公開することになるので、Linuxを学んでおくと役に立つでしょう。
おすすめ教材
[オンライン教材]
エンジニアの入り口 byリナックスアカデミー
https://eng-entrance.com/category/linux
価格:無料
エンジニアの入り口は、Linuxに一度も触れたことがない人でも、Linuxの基本を体系的に学ぶことができるサイトです。
VirtualBoxを使ったLinuxのインストール方法から基本的なコマンド操作などについて丁寧に解説してあります。
Linuxに触れるのが初めての方は、このサイトから始めるのがおすすめです。
[書籍]
入門者のLinux 素朴な疑問を解消しながら学ぶ (ブルーバックス)
出版社: 講談社 (2016/10/19)

『入門者のLinux』は、実際にLinuxをコマンドで操作したり、小さなプログラムを作成しながらLinuxの基本について学んでいくことのできる本です。
ディレクトリの移動などの簡単な操作からプロセスの管理やユーザの権限設定などの重要項目にまで触れることができます。
コマンドを紹介するだけでなく、実際にそれらを使いながら進んでいくので理解しやすく記憶にも残りやすいでしょう。
出版社: 特定非営利活動法人エルピーアイジャパン(2018/5/7)
価格: 無料

『Linux標準教科書』はLinuCというLinuxの認定試験を主催しているNPO法人のLPI-Japanが無料で提供している教科書です。
無料にも関わらず200ページ以上の分量があり、内容も基本的なコマンドから、シェルスクリプトやネットワーク関連の基礎まで幅広く扱っています。
さらに深く知りたい場合も、同シリーズの教科書『Linuxサーバー構築標準教科書』『Linuxセキュリティ標準教科書』などが無料公開されているので便利です。
ネットワーク
ネットワークとは、もともと網目状に張り巡らされた輸送網のことを表します。
特にITにおいては、コンピューターどうしで繋がって情報をやりとりしているコンピューターネットワークのことを指します。
最近のWebアプリ開発ではフレームワークを用いられることがほとんどで、HTTPなどの通信プロトコルについて知らずとも開発できてしまいます。
しかし、HTTPなど通信プロトコルの基礎を知らないと開発したアプリが意図した通りの動作をしない場合に、何が原因なのか全くわからないこともあり得ます。
少なくともHTTP・SSHといった通信プロトコルがどのような挙動をしているかについては、知っておくことが必要でしょう。
おすすめ教材
[オンライン教材]
3分間ネットワーキング
http://www5e.biglobe.ne.jp/aji/3min/
価格: 無料
3分間ネットワーキングは、『3分間ネットワーク基礎講座』として書籍化もされた、ネットワークとは何かについて解説するWebサイトです。
「博士」と「ネット君」という2人のキャラクターの会話形式で解説が進んでいきます。
ネットワークとは何かという問いから、OSI参照モデル、DNS、HTTPなどネットワーク全般についてコミカルに解説されており、抵抗が少ないでしょう。
また、ビットなどの基本的な単語についても説明されていますので、初学者でもゆっくり読めば理解できるでしょう。
セキュリティ
IT分野におけるセキュリティとは、暗号やアクセス制限、セキュリティソフトなどを用いてデータ通信やシステムなどを保護して、システムが第三者の手によって攻撃されたり、内部データが改ざんされたり、また機密情報が漏えいしたりする危険を排除すること全般のことをさします。
外部からの攻撃により個人情報や機密情報が漏洩したりすると、会社としてのブランドイメージが下がり、取引を停止する自体に陥ったり、さらには損害賠償に発展することもありえます。
個人でWebアプリを作成する場合でも、ページを改ざんされると訪問してきた人のPCに悪影響を与えることもありえます。
まずはセキュリティとは何か、どのようなことに気をつけるべきかについて学び、その次に実際にセキュリティを確保する技術について学ぶと良いでしょう。
おすすめ教材
[オンライン教材]
インターネットの安全・安心ハンドブック
https://www.nisc.go.jp/security-site/handbook/index.html
出版社: 内閣サイバーセキュリティセンター(NISC)(2018/1/18)
価格: 無料

『インターネットの安全・安心ハンドブック』は、内閣サイバーセキュリティセンター(NISC)がサイバーセキュリティについて普及啓発するために作成・公開しているハンドブックです。
広く普及啓発するための本なので、セキュリティを確保するための具体的な技術について解説しているものではありません。
しかし、豊富な図解を交えながらセキュリティという概念やその大切さについて学ぶことができます。
内閣サイバーセキュリティーセンター発行で、定期的に更新されているので、信頼がおける一冊です。
[書籍]
出版社: SBクリエイティブ (2017/8/30)
『イラスト図解式 この一冊で全部わかるセキュリティの基本』は、セキュリティ全般についてイラストを交えながら解説する入門書です。
見開きでセキュリティの各項目についての概要を説明しており、前提知識がなくてもセキュリティの全体像をつかむことができるでしょう。
本格的なセキュリティ関連書籍に入る前に一読するのにオススメの一冊です。
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践
出版社: SBクリエイティブ; 2版 (2018/6/21)
『体系的に学ぶ 安全なWebアプリケーションの作り方』は、「徳丸本」と呼ばれておりWebアプリ開発におけるセキュリティ対策本の定番になっている本です。
この本では、実行環境を構築し、ダウンロードしたサンプルを実際に攻撃しながらセキュリティについて学んでいくことができます。
「なぜ脆弱性が生まれるか」「どう対処すればいいか」という、理由と対策について解説しながら進んでいくので、セキュリティを確保するための技術を身につけることができます。
「SQLインジェクション」や「クロスサイトスクリプティング」をはじめとしてWebアプリを作成する際に注意すべきセキュリティについて網羅的に解説されています。
著者の徳丸 浩さんはTwitterでも頻繁に情報を発信しており、参考になります。
徳丸 浩さんのTwitter:
基本情報技術者試験
最後に、基本情報技術者試験について紹介します。
基本情報技術者試験は「高度IT人材となるために必要な基本的知識・技能をもち、実践的な活用能力を身につけた者」を育成するために行われている国家試験です。
この試験で問われることはIT技術の基本であり、直接的にWeb技術が高まる部分は多くないかもしれませんが、知っておくことでITリテラシーを高めることができます。
ITリテラシーを高めるという目的なら、午前問題を解きながら出てきた知らない単語を調べるだけで十分で、午後問題をやったり試験を受けたりする必要はないでしょう。
もちろん、モチベーションを高めるために試験合格を目指すのも一つの手です。
おすすめ教材
[オンライン教材]
価格: 無料
基本情報技術者試験ドットコムは、株式会社スタディワークスが運営する基本情報技術者試験に関する情報を提供しているサイトで、無料で利用することができます。
平成13年度以降の過去問と解説があり、問題を解きながら学習することができます。また掲示板で質問することもできます。
基本情報技術者試験を受験する人でお世話になっている方は多いサイトでしょう。午前問題についての知識を得るにはうってつけです。
[書籍]
キタミ式イラストIT塾 基本情報技術者 平成31/01年 (情報処理技術者試験)
出版社: SBクリエイティブ; 2版 (2018/6/21)
キタミ式イラストIT塾は、イラストをベースに各種技術を解説しており、わかりやすいと評判のテキストです。
専門的な知識についても、仕組みや内容から順をおって説明をしてくれるので事前知識がなくても理解しやすい構成となっています。
いきなり過去問を解いて学習するのに抵抗がある人にオススメの一冊です。
まとめ
「Web開発者になるなら欠かせない最低限のIT知識とおすすめ教材(前編)」とあわせて、
- HTML,CSS
- JavaScript
- データベースやSQL
- Git/GitHub
- Linux
- セキュリティ
- ネットワーク
に関する多くのサイトや書籍を紹介してきましたが、プログラミング言語以外について学ぶ知識が多くて驚いてしまった人もいるかもしれません。
実際、技術を掘り下げていけば学ぶことはいくらでも出てきてキリがありません。
しかし、基本的には概要を学んだらあとは実践をしながら必要な部分について掘り下げていけば良いでしょう。
実際にプロダクトを作って知識をつなげることも大切
基本を学んだら、あとは実践をしながら掘り下げていくのが良いと書きましたが、自作アプリなどには教材と違って正解のコードがないため、どう実装していけば良いのか悩むこともあると思います。
そのような時は、記事冒頭でも紹介したMENTAでメンターを探したり、TechCommitなどのコミュニティに所属して相談をしてみるのも良いでしょう。
また、TechTrainingでも「現場で迷惑をかけない為の Ruby on Rails 実務トレーニング (個人版)」というサービスも行っています。
こちらは、脱初心者レベルの方を対象に実際にWebアプリの実装を行いながら実務としての開発スキルを身につけていくためのサービスとなっています。
プログラミングスクールは出たけどなんとなく不安な方、知識は一通り学んだけれど実装力に不安がある方などにオススメの内容となっております。
ぜひ一度、リンク先の紹介ページを見ていただければ幸いです!
