n月刊ラムダノート Vol.6, No.2(2026)
通常価格
¥1,600(税込¥1,760、送料当社負担)
特別価格
- 紙書籍をお届けします(PDFがついてきます)
- PDFのみ必要な場合は、こちらからPDF単体をご購入ください
- 通常はご注文から2~3営業日で発送します。
- 年末年始や大型連休など、1週間から10日程度、配送のお休みをいただく場合があります。詳しくはお知らせをご覧ください
計算機好きのための技術解説情報誌
- エヌゲッカンラムダノート(不定期刊行)
- 96ページ
- A5判
- 紙書籍は1色刷
- 2026年3月25日 第6巻第2号/通巻13号 発行
- 正誤情報など
n月刊ラムダノートは、nヶ月ごとに刊行される、計算機好きのための技術解説情報誌。コンセプトは「いろんなIT系技術書から1章ずつ選んできた解説記事の集まり」です。今号は3本の記事をお送りします。
#1 WebSocketとそのセキュリティ(大塚由奈)
クライアントからのリクエストに応じてサーバーがレスポンスを返すというHTTPの通信モデルは、双方向で継続的にやり取りが発生するチャットのようなアプリケーションでは不向きとされる。この課題に対し、HTTP通信を引き継いで同一のTCP上で双方がデータを送受信できる仕組みとして考案されたのがWebSocketである。Webにおける双方向通信を手軽に実現できる技術として、HTTP/2や3によって遅延や効率が改善された現在でも広く利用されている。
さまざまなアプリケーションで手軽に利用できるWebSocketだが、HTTPとは異なる通信モデルであることから、認証やセキュリティに関して固有の対応が求められる側面もある。本稿では、通信の様子をパケットキャプチャで観察しながらWebSocketの基本的な仕組みを確認したうえで、実践的なアプリケーションに欠かせない認証のための手法を整理する。さらに、WebSocketならではのセキュリティ上の課題とその対策についても紹介する。
#2 不変性から導くパッケージ管理とNix(大給知也)
多くのOSやプログラミング言語には、システムの構成や依存ライブラリを管理するために、それぞれ専用のツール(パッケージマネージャー)が整備されていることが多い。しかしそれらによるパッケージ管理には、導入直後には問題なかった依存関係が更新によって衝突するようになったり、別のマシンで動作させるための環境の再現が思うようにいかなかったりと、少なからず課題もある。
そうした既知の課題の多くを克服するパッケージマネージャーとして「Nix」がある。Nixでは、従来のパッケージ管理には「共有状態の破壊的変更」という構造的な課題があるとし、パッケージの一意性(分離性)、再現性、合成可能性(宣言性)、不可分性(可逆性)を満たした実装による根本的な解決が目指されている。
本稿では、まず「一度生成されたデータは変更しない」という不変性(イミュータビリティ)を公理として据えることで、理想のパッケージ管理に求められる上記の特性が論理的に導かれることを見る。そのうえで、それらがNixにおいてどのように実現されているかを解説する。さらに、nix shellやNixOSといった実践的なユースケースについても紹介する。
#3 現代の技術者から見たチューリングマシン(Takenobu Tani)
1930年代に数学の「決定問題」を解くための思考の道具として考案されたチューリングマシンは、現代の視点から見ると、極限まで簡素化されたディジタルコンピュータであるとも考えられる。特に、マシンの動作規則そのものを外部からデータとして読み込ませるという「万能チューリングマシン」のアイデアは、今日の「汎用」のソフトウェアプログラムの概念を鮮やかに先取りしたものだと言えるだろう。
本稿では、1936年にアラン・チューリングがこのアイデアを提起した原論文に立ち返り、現代のコンピュータアーキテクチャとソフトウェアプログラムの知見を活用しながら、チューリングマシンの自動計算機械としての側面に焦点を当てる。人間が手順化できる計算を「記録媒体に対する情報の読み書きと移動」というメカニズムだけで表現できることを示した原論文に触れることで、現代的なコンピュータの設計で暗に目指されている考え方を明らかにする。
執筆者紹介
大塚由奈(#1)
2005年生まれ。2025年2月にGMO Flatt Security株式会社に長期インターンのセキュリティエンジニアとして入社。2026年4月に新卒入社予定。学生時代にはセキュリティ・キャンプやSecHack365、CODE BLUEなど数多くのイベントに参加しており、講師やチューターの経験も持つ。Webセキュリティ領域に強い興味を持ち、日々CTFや情報のキャッチアップに取り組んでいる。
大給知也(#2)
株式会社アットマークの機械学習エンジニア。AIベンチャーにて機械学習システムの社会実装に従事した後、現職ではデータ解析のほか、Rust/TypeScriptを用いたWebサービス開発やLLMを活用した機能開発に携わる。NixOS/nixpkgsのコミッターでPythonチームに所属。社内ではNixによる開発環境の標準化やビルドフローの改善にも取り組む。国内での普及を目指しNix日本語コミュニティでも活動している。
Takenobu Tani(#3)
CPU関連のハードウェアエンジニア。性能と消費電力を重視するCPUの設計および応用開発に携わる。ソフトウェアの性能と電力改善の支援も担う。一番好きなプログラミング言語はHaskell、次はアセンブリ。著書に『プログラマーのためのCPU入門 ― CPUは如何にしてソフトウェアを高速に実行するか』(ラムダノート)
目次
1. WebSocketとそのセキュリティ
1.1 WebSocketの概要
1.2 WebSocketの挙動を動かして確認する
1.3 Webセキュリティの要素技術とWebSocket
1.4 WebSocketアプリケーションで利用できる認証方式
1.5 WebSocketに対する典型的な攻撃
1.6 まとめ
2. 不変性から導くパッケージ管理とNix
2.1 なぜ環境は「可変な状態」によって壊れるのか
2.2 不変性から導かれる、理想のパッケージマネージャーに求められる特性
2.3 Nixによる宣言的パッケージ管理の概要
2.4 より実践的なNixのユースケース
2.5 おわりに
2.6 参考文献
3. 現代の技術者から見たチューリングマシン
3.1 チューリングマシンとは
3.2 チューリング論文の概要
3.3 物理的な構成
3.4 チューリングマシンの「プログラミング」
3.5 現代のコンピュータとの比較
3.6 万能チューリングマシン
3.7 まとめ
3.8 参考文献