書籍レビュー(2022年7月3日)
以下、の観点で書籍のレビューをしました。
1.元専門学校の教師の観点
2.現役のWeb系エンジニアとしての観点
基礎からのWeb開発リテラシー 増井敏克 著
この本の概要(上記、技術評論社サイトより)
プログラミング言語は学んでアプリを作ったけれど、実際にWebに公開するのは不安がある
個人でWebサイトを作った経験はあるが、仕事とするには何に注意をすればいいのかわからない
このような悩みを解消するには、実際のWeb開発がどのような流れで作られているのかを知ることが近道です。利用者として何気なく使っているWebアプリやWebサイトを開発者側からの視点で捉えることで、Web開発の全体像が見えてきます。Web開発で使われる基本的な用語を整理しながら、Webシステムがどのように作られているのかを押さえていきましょう。IT業界で仕事をしたいと考えている方だけでなく、新入社員の研修で何を教えれば良いのかわからないという方にとっても、Web開発の全体像を押さえるために最適な1冊となっています。
以下の章構成となっています。
章 | 内容 |
---|---|
第1章 | Webの概要 |
第2章 | Webサイトの構成 |
第3章 | Webサーバーへの配置 |
第4章 | Webに関するネットワーク |
第5章 | Webのセキュリティ |
第6章 | ECサイトの設計と運用 |
第7章 | ECサイト制作に求められる知識 |
第1章 Webの概要
サーバとクライアントの関係について、Webサーバーの仕組みが詳しく紹介されています。クラウドサービス(SaaS, PaaS, IaaS)も一般的な言葉になっていますよね。Azure, GCP, AWS や最近のFirebaseやmBaaS, ヘッドレスCMSなんかも紹介されています。ヘッドレスCMSは以前に試しで使ってみましたが1hぐらいでサイト公開までできてシンプルでわかりやすかったです。
第2章 Webサイトの構成
HTMLの基礎から絶対パス、相対パスの説明、ブロック要素とインライン要素などウェブページ作成で基本となる説明が紹介されています。以下、は授業で過去使ったスライドですが、HTMLの構造の説明して表示して確認するぐらいしかしてなかったので補助教材的にこちらがあるとよかったですね。
第3章 Webサーバーへの配置
ファイルの転送方法としてFTPやSCPの他、バージョン管理で必須のGitやGithubの紹介があります。GitやGithubは、使いながら慣れないとなかなか理解が難しいところですが、本書籍でイラスト入りでわかりやすく説明されているので全体像を把握するのにいいかと思いました。パーミッションまで踏み込んで解説されており、勉強になります。
第4章 Webに関するネットワーク
ウェブサイトを構築する上でネットワークの知識は欠かせないですね。HTTP, HTTPSなどのプロトコルを使った通信を知らなければウェブサイトを作成しても運用することは困難です。ブラウザで「レンダリング」を確認しながら本章を読むことで理解が深まると思います。
以下は以前、私が使ったスライドですが初心者だとなかなか図だけだと理解が難しいです。
第5章 Webのセキュリティ
Webサイトを公開後には、脆弱性を突かれて XSS や CSRF, SQLインジェクション のような攻撃を受けることがあります。本書では、脆弱性診断ツールの紹介までされていたので、時間があるときに私も試してみたいと思いました。OAuth, OpenID Connectなどは、現在の仕事でも使っていますが、理解が難しい内容であるのでこちらの書籍で概要をつかむことができました。
第6章 ECサイトの設計と運用
ショッピングサイトがどのような構成になっているか、サイトマップの例がありわかりやすいです。データベースの設計例も掲載されています。
第7章 ECサイト制作に求められる知識
なかなか意識しないところですが、プライバシーポリシーやセキュリティポリシーは近年、必要性が増している話ですね。Webサイト作成者なら知っておきたい知識です。
全体的な感想
全体的な感想としては、挿絵やフォントサイズが適切で見やすくわかりやすい内容になっていました。私が専門学校教師時代に「Webシステム構築」という授業をもったことがありますが、HTMLやCSSや教えたこがありますが、ウェブアプリを作るだけでなく、このような全体的な知識を網羅している書籍があればよかったな。と呼んでいて思いました。Web開発で必要な知識を一通り学べるため教科書や参考図書に向いてます。WEB系のシステム企業で、社員研修の参考図書で用いるのもいいかなと思います。
話が多少脱線しますが、専門学校教員時代にモバイルアプリ開発するために Monaca というプラットフォームを利用していました。Monacaとは、AndroidやiOSで動作する「ハイブリッドアプリ」を作成することができるWEBサービスです。HTML, CSS, JavaScript というWeb開発の知識があれば、初心者でもアイデアさえあれば、簡単にアプリが作れます。さらに mBaaS のWebサービスである ニフクラ mobile backend を組み合わせることでバックエンドの開発も容易にできます。専門学校教師のときは、こちらのプラットフォームを使ってアプリコンテストで多数の入賞をすることができました。それらの技術+知識という面でこちらの書籍は、学生の理解を深める参考書にいいじゃないかなと思いました。
Monaca
ニフクラ mobile backend
おわり。