WEB

Webアプリ開発の前に知っておきたいこと【Web技術の基本】

投稿日:

5G通信で開発環境はオンラインに移行するのか【プログラミング】の中で、今後製造業界でもソフト開発がWebに移行するのでは?という直感を書きました。

実際に私の会社(中小製造業)ではWeb移行が始まっています。特にハード機器を制御しないようなシステムにおいては、Webへの移行がスムーズだということもわかってきました。

これまで、.NETやPython等を使いスタンドアロンなソフトを組んできましたが、ついに私もWebを学習することになり、まずは基本から・・・ということでWeb技術の基本的なことが学べる書籍を求めました。

Web技術の基本がわかるおすすめ書籍

スマホにPCにタブレット、、、Webの技術に触れない日は皆無ですね。私たちは当然のようにWebで検索し、必要な情報を得たり商品を購入しています。しかし、Webの仕組みに関してはほとんど知りません。仕組みを知らなくてもWebサービスを使えるからですね。そう考えるとWebの仕組みって本当にすごいです。

今回私はWebアプリを仕事で作ることになり、本当にWebに関して無知であることを悟りました。そこで「Webの技術やセキュリティ、アプリの構造など」どんな風になっているのか知りたいと思い、本著を手にしました。

Web技術に関する書籍は本当にたくさんリリースされています。どの本を選んでも得られる知識は相当量のものと思われますが、難しすぎては意味がありません。まずは基本を抑えたいと思い、イラスト図解式 この一冊で全部わかるWeb技術の基本と謳われた本著を選びました。

この「イラスト図解式 この一冊で全部わかるWeb技術の基本」はAmazonにて購入前に10ページほど中が見られるのですが、1つのテーマにつき2ページで完結しており、言葉での説明とイラストで説明と非常に簡潔にまとめられています。しかも内容がわかりやすい!!できるだけ難しい言葉を使わずに書かれている印象を受けました。まさに基本を学ぶには最適な著です。

「イラスト図解式 この一冊で全部わかるWeb技術の基本」でわかる内容

これからWebアプリ開発を始めるエンジニア

という立場で本著を分析してみます。下記の内容において特に理解が進みましたのでまとめておきます。

Webアプリ開発において必須ともいえる基礎知識

webとネットワーク

  • IPアドレスとポート番号
  • URLの構造・意味
  • ドメイン
  • DNS
  • webサーバー(役割/構成)

Httpの仕組み

  • HTTPメソッド(GET、POST)
  • HTTPS
  • 安全性/暗号化
  • クッキー

HTML/css

  • 構造/バージョン

高速化(音声・動画)

Webアプリケーション

  • 設計思想
  • フレームワーク
  • Webクライアント(Web-API)
  • 動的ページ
  • データベース
  • 非同期通信
  • CGI
  • セキュリティ
    認証
    暗号化
  • システム構築と運用
    冗長
    クラウドシステム
    サイトパフォーマンス

などなど、Webアプリ製作に関わるものとしては決して落とせない項目ばかりです。この一冊で全部わかるとのタイトルに偽りなし!といったところです。2ページ1テーマで書かれていますので、当然各テーマについて深堀りはされていませんが、必要十分です。これ以上詳細に書かれても、Web初心者にはちんぷんかんぷんですからね^^;

私が読んでみて、個人的に大変参考になったなと思う点を挙げておきます。

ポート番号がなぜあるのかがわかった

仕事上、サーバとのSSH通信等でポートを設定するような機会はあるのですが、ポート番号にどんな意味があり、なぜ設定するのかは知りませんでした。

当著では、このあたりの説明がさらりとわかりやすくされており、勉強になりました。

webサーバーとクライアント(ブラウザ等)の間でどんなやりとりが行われているか

当著で学んだことで一番理解が進んだ項目です。

サーバ、クライアント(ブラウザ)という言葉とその意味は当著を読む前から知っていました。しかし実際にこの2つがどのようにデータをやりとりしているか、その仕組みまではわかっていませんでした。

HTTPの通信仕様を学習することで、クライアントが要求(送信)したデータをサーバ側でどのように受理し、そして処理しているのかがざっくりわかりました。

この点がわかっているのとわかっていないのでは、Web開発におけるアプリ設計に大きく差が出るのでは?と感じました。特にHTTPメソッドのGETやPOSTの使い方では、セキュリティ上よろしくないとされている使い方もできてしまいます。やはり「技術の一端を知って使う」ことこそ重要であると感じました。

HTTPSはなぜ安全なのか

Webのセキュリティに関しても、多数のページに分けて解説されています。昨今のWeb開発は、セキュリティを確保して開発することが常識になりつつあります。SSLといった用語だけは聞いたことがあっても、どのようなセキュリティが実装されているかまでは理解できていませんでした。

すでにgoolge chromeではSSL(https)に対応していないサイトは「危険」とみなし、警告を出すようになっています。Webのセキュリティ技術は、攻撃者とのイタチごっこになっているフシもありますが、Web開発者としては当然安全を担保すべきです。これは、製造業のように社内ネットワークだけで利用するようなWebアプリケーションを開発する場合でも同じだと認識しています。

インターネットに接続しようとしまいと、使うブラウザの仕様は同じですからね。古い技術を使い続けてブラウザが対応できなくなることを考えると、常に新しい技術でアプリを構築する必要性を感じました。

そういった常識的なコーディングを実装するためにも、下記で触れる”フレームワーク”が大きな役割を果たしている旨の解説がありました。

2017年の著でしたので、2019年登場のHTTP/3には触れられていませんでした。HTTP/3では、通信仕様が大きく変わるといわれており、合わせてG5通信の利用開始で、Webサービスもさらに利便性が上がると期待しています。

Webにおけるフレームワークとは

Web以外での開発においても「フレームワーク」という言葉はよく聞きます。横文字になると難しく感じていましたが、結局は「機能をまとめたもの」という理解で良いようですね。

上記で触れた通り、ログイン機能やある程度のレイアウトを構成する機能がフレームワークにまとめられており、1から実装しなくても機能を使うだけで簡単にフロントエンド等を構築できる枠組みのことです。

いまいちよくわかっていなかったWebフレームワークについても、理解を深めることができました。

さいごに

Webの技術は日進月歩だと思っていましたが、HTTPの通信仕様など、現在も使われている技術にも随分以前の技術が使われていることもわかりました。

また、当著では

  • サーバー
  • プロトコル
  • Web業界の標準W3C

に関してもわかりやすく解説されており、Web技術に関しての知識はひととおり付くでしょう。これでWebアプリがすぐに開発できる!!ということにはなりませんが、通信仕様やセキュリティに少しでも理解があるベースで始められます。

非常に有意義な書籍でした。おすすめします。

タグ

カテゴリー

  • この記事を書いた人
アバター

from-age35

中小企業エンジニアです。35歳で急遽プログラミングを覚えることになり、PythonやJavaScriptなどをゆっくりマイペースに覚えています。先端スキルには疎いですが、楽しくコーディングしてます♪最近の興味は【WEB開発】です

-WEB
-

Copyright© 35からのプログラミング , 2019 All Rights Reserved Powered by AFFINGER5.