linkto_sitemap  
  menu_top   menu_aboutus   menu_coterie  
    menu_inquiry   menu_link   menu_blog
発行物紹介
 
発行物一覧

  ▼次回イベント情報

  ▼すべての発行物

  ▼ご注文方法

頒布中発行物

  シェルスクリプト人類のHTTP/2

  生成AIでsleep

  ウーブレックコマンド

  逃し弁コマンド

  速読とフラッシュ暗算…できる?

  シェルスクリプト人類のWebSocket

  先生、わかりません!

  トキデリ

  File/Dir Hacks ver.1.0

  電車バス断ち 自転車生活を 1年8カ月 続けた結果

  コンパチブル・シェルスクリプティング

  初めてのPOSIX原理主義

  平成最後のフレンズかんそくたい

  そんなにあるのか チップスター図鑑

  ポプテピツイ

  フレンズかんそくたい

  ついったーちほーの最大瞬間風速

  Win/Mac/UNIX
すべてで20年動くプログラムはどう書くべきか

  あの紀文(ひと)は今、キッコーマン。(2版)

  鳥と太陽の紋章を受け継ぎし者たち

  すべてのUNIXで20年動くプログラムはどう書くべきか

  キッコーマンの
飛んでる豆乳
飲みたい紀文

  本当は身近な
うつ病のはなし

頒布終了発行物

  先生、わかりません! 特別版

  File/Dir Hacks ver.0.2

  あの紀文(ひと)は今、
キッコーマン。

  Shell Script
ライトクックブック
2014-2016

  すべてのUNIXとWindowsで20年動くプログラムはどう書くべきか

  Shell Script
ライトクックブック
2014-2015

  ななか Inside Press vol.5

  リッチな
コンピューター入門

  リッチな
サーバー構築
VOLUME1 DS

  Shell Script
ライトクックブック

  笑顔になりたい

  Googol Mac
Like Racks 第1版

  リッチな
サーバー構築
VOLUME2

  できねPROmini
Chromium OSクラウドコンピューティング

  できねPRO
そろそろIPv6事始め

  できねPRO
快適データ通信

  TeX同人誌用
栄養補助食品
 
  カバー・タイトル
 
表紙:シェルスクリプト人類のHTTP/2プログラミング

シェルスクリプト人類の
HTTP/2プログラミング

10周年のHTTP/2を学び、人類は進化する

Rich Mikan 著

2025年10月26日(技書博12) 初版発行予定
A5版 98ページ

  • color_iconPDF版(カラー)頒布開始

目次を表示,→訂正情報はこちら

①冊子+PDFセット 頒布価格800円【税込】

現在、カゴに 冊入っています

②PDF単独 頒布価格300円【税込】
(学生・教職員無料対象品)

現在、カゴに 冊入っています

▲トップに戻る


  本の内容
 

HTTP/2を覚えてサーバープッシュ型のWebアプリを作ろう

登場から10年経ちましたが,HTTP/2を使っていますか?もしかすると既に無意識のうちに使っているかもしれません.HTTP/2はHTTP/1.x以前の接続を包み込む技術なので,Webサーバー・クライアント双方が対応していれば,従来のCGIスクリプトやJavaScriptも知らぬ間にHTTP/2で通信することになります.HTTP/2環境下では通信効率が上がるため,ダウンロードの所要時間が短くなるなどの恩恵があります.

とはいえ,ちゃんとHTTP/2勉強して積極的に使いましょう.HTTP/2を積極的使うと次のようなWebアプリが作れます.

  • サーバーログをリアルタイムにWeb画面に表示するアプリ
  • 加速度センサーの値をリアルタイムグラフで表示させるアプリ
  • SNSのようなチャットアプリ

「あれ?それってWebSocket本でやったことと同じなんじゃ?」と思う方もいらっしゃるかもしれませんが,その通りです.しかし,HTTP/2はWebSocketが抱えていたネットーク到達可能性の課題を克服できるという点でアドバンテージがあります.

本書では,主要Webサーバー(Apacheとnginx)でHTTP/2を有効化する方法の解説から,HTTP/2を積極活用してサーバープッシュ型データ通信(Server-Sent Events)を行うWebアプリの作り方を徹底解説します.解説内容をまとめると次のとおりです.

  • ApachenginxでHTTP/2を有効化する方法
  • HTTP/2の積極的活用方法の一つ“Server-Sent Events (SSE)”の解説
  • UNIX標準入出力とブラウザーを繋ぐのに不可欠な技術“MQTT”の解説
  • グラフ描画ライブラリー“Chart.js”の使い方
  • 地図描画ライブラリー“Leaflet”の使い方
  • Geolocation APIを使った位置情報の読み方

目次

  • はじめに ― こんなことが可能になる
  • 目次
  • 1章 ハンズオン ― とにかく試せ
    • 0. 今からやろうとしてること
    • 1. MQTTクライアントの導入
      • 1) インストール
      • 2) 設定
    • 2. MQTTブローカーの導入(省略可)
      • 1) MQTTブローカーのインストール
      • 2) Mosquittoブローカーの設定
      • 3) ファイアーウォールの設定
      • 99) パブリックブローカーを使う場合
    • 3. Webサーバーの導入
      • a. Apacheの場合
      • b. nginxの場合
    • 4. サーバー証明書の導入
      • a. localhost用のサーバー証明書の導入
    • 5. デモプログラムのダウンロード
      • a. “git clone”する(お手軽)
      • b. ダウンロード・展開(Gitが無い人向け)
        • ダウンロードされたパッケージ
    • 6. “Hello, world!”する
      • 1) MQTTブローカーを起動する
      • 2) デモHTMLを開く
      • 3) 接続先MQTTブローカーのアドレスを入力
      • 4) サブスクライバー用のトピック名を入力
      • 5) サブスクライバーを始動
      • 6) ブラウザーから“Hello, world!”
      • 7) ターミナルから“Hello, world!”
    • 7. このハンズオンを通しての「気づき」
  • 2章 レクチャー ― 仕組みを学ぶ
    • 1. MQTTとは何か
      • i. IoT機器向け、シンプル&軽量な通信プロトコル
      • ii. Pub/Sub型データ配信モデルを採用
      • iii. UNIX標準入出力とも相性がいい!
    • 2. HTTP/2とは何か
      • i. 従来のHTTPを通す専用トンネル
        • ①HTTP/1.1までのTCPコネクション節約術
        • ②HTTP/2でのTCPコネクション節約術
        • ③【参考】HTTP/3のTCPコネクション節約術
      • ii. プッシュ型データ送信方式(SSE)の発明
      • iii. SSEはHTTP/2+TLSに取り込まれた
    • 3. まとめ
  • 3章 チュートリアル ― MvH2プログラミングを覚える
    • 0. “MQTTwrapper”のインストール
      • i. MQTTwrapperパッケージはどこにある?
    • 1. ブラウザー➡UNIXホスト方向を作る
      • i. サーバーサイド(CGIスクリプト)を作る
        • ①初期設定とCGI変数受け取り
        • ②MQTTブローカーへのパブリッシュ
        • ③クライアントへのレスポンス
      • ii. クライアントサイド(HTML/JavaScript)を作る
        • ①HTMLによるコントロールパネルを作る
        • ②JavaScriptの初期設定を書く
        • ③パブリッシュを要求する関数の中身を書く
        • ④パブリッシュ開始・終了関数を書く
      • iii. HTML・CGIファイルを動かしてみる
    • 2. UNIXホスト➡ブラウザー方向を作る
      • i. サーバーサイド(CGIスクリプト)を作る
        • ①初期設定とCGI変数受け取り
        • ②SSEレスポンスヘッダーを返す
        • ③MQTTサブスクライブとSSEフォーマットへの変換
        • ④プロセス後始末のためのトリック
      • ii. クライアントサイド(HTML/JavaScript)を作る
        • ①HTMLによるコントロールパネルを作る
        • ②JavaScriptの初期設定を書く
        • ③インジケーターを変化させる関数を書く
        • ④SSE(サブスクライブ)を開始する関数を書く
        • ⑤SSE(サブスクライブ)を終了する関数を書く
      • iii. HTML・CGIファイルを動かしてみる
    • 3. まとめ
  • 4章 ステップアップ ― 可能性を広げる
    • 1. WebブラウザーでUNIXコマンドを使う
      • i. 「多倍長電卓」デモを動かしてみる
      • ii. プログラムのポイント(ログウィンドウの作り方)
    • 2. 表をリアルタイムに更新する
      • i. 「伝言板」デモを動かしてみる
      • ii. プログラムのポイント(コマンド解釈とDOM操作)
    • 3. リアルタイムグラフを描画する
      • i. 「リアルタイムチャート」デモを動かしてみる
      • ii. プログラムのポイント(Chart.jsの使い方)
        • ①ライブラリー読み込み
        • ②グラフ枠設置とグラフ形式定義
        • ③データの投入(プロット)
    • 4. 地図をリアルタイムに操作・描画する
      • i. 「マップ・ワーム」デモを動かしてみる
      • ii. プログラムのポイント(Leafletの使い方)
        • ①ライブラリー読み込み
        • ②地図枠設置とマップタイル他各種初期設定
        • ③地図操作
    • 5. Webブラウザーから位置情報を得る
      • i. 「私達はどこにいる?」デモを動かしてみる
      • ii. プログラムのポイント(Geolocation APIの使い方)
        • ①前提条件
        • ②位置情報の読み出し方
    • 6. まとめ
  • あとがき
  • Rich Mikan
  • もじゃ
  • 奥付

書面サンプル

書面サンプル p.17

書面サンプル p.34

書面サンプル p.75

書面サンプル p.82

「シェルスクリプト人類のHTTP/2」販促ポスター

▲トップに戻る


  電子書籍版を配布します
 

購入者に漏れなく電子書籍版を配信

電子書籍での購読を希望される読者の皆様のため,購入者特典として電子書籍版のダウンロードサービスを用意します.

ダウンロードの方法(イベントで購入された方向け)

本サイトからご購入された方は,何もせずとも電子版のダウンロード案内メールが届きます(多少のタイムラグがあります).

イベントで冊子版を購入された方にも,購入特典としてもれなくシリアルキーをメールでお知らせいたしますので,お手数ですが次の手順で申請をしてください.

  1. 本書の裏表紙にある署名欄に、自筆でサインしてください.(本名はもちろん,ペンネーム等でも構いません)
  2. 署名と本が写り込むように写真を撮ってください.範囲は裏表紙全体で,解像度は480*640ピクセル程度が目安でお願いします.
  3. 写真をメールに添付し,本文に本名を記入し,tsuhan[at]richlab.org宛にメールをお送りください.("[at]"は"@"に置き換えてください)

本にサインをするのを好まれない方は,写真の代わりに,ご感想・ご意見でもOK.最低140文字以上でお書きいただき,ご本名と共にtsuhan[at]richlab.org宛にお送りください.

▲トップに戻る


  訂正情報
 

本誌発行後に見つかった訂正情報を掲載します.

▲トップに戻る


  その他情報
 

クレジット

This book is the 30th product of the Rich Laboratories.
Copyright © 2025 Matsura Rich Laboratories, All rights reserved.

▲トップに戻る

 
 
nearly_valid_html401
[Powered by FreeBSD]
Powered by Apache
     
 
Copyright © 2007 Matsura Rich Laboratories, All rights reserverd.