n月刊ラムダノート Vol.4, No.3(2024)
通常価格
¥1,600(税込¥1,760、送料当社負担)
特別価格
- 2024年10月初旬発売予定
- 紙書籍をお届けします(PDFがついてきます)
- PDFのみ必要な場合は、こちらからPDF単体をご購入ください
- 年末年始や大型連休など、1週間から10日程度、配送のお休みをいただく場合があります。詳しくはお知らせをご覧ください。
計算機好きのための技術解説情報誌
- エヌゲッカンラムダノート(不定期刊行)
- 96ページ
- A5判
- 紙書籍は1色刷
- 2024年10月25日 第4巻第3号/通巻9号 発行
n月刊ラムダノートは、nヶ月ごとに刊行される、計算機好きのための技術解説情報誌。コンセプトは「いろんなIT系技術書から1章ずつ選んできた解説記事の集まり」です。今号は3本の記事をお送りします。
目次
#1 TypeScriptではじめる型システム(遠藤侑介)
現代のプログラミング言語の多くでは、プログラムの信頼性を高める軽量な形式手法として型システムが導入されている。一般に、型システムとは何かを知り、何をもって安全と言えるのかを理解するためには、その背景となる型付け規則の数学的な定義と証明を読み解く必要がある。そのため、型システムに関する入門書や解説記事にハードルの高さを感じているソフトウェア技術者は少なくないだろう。
本稿では、型システムに興味があるすべてのソフトウェア技術者に向けて、「型検査器をTypeScript で実装する」というアプローチを通じて型システムがプログラムの未定義動作をどのように防止するかを解説する。実装する型検査器の範囲は単純な関数に対する型までだが、本稿の内容を踏まえることで、より定式化された入門書などにより基本的な型について学ぶきっかけが得られるだろう。
#2 型を活用した安全なアプリケーション開発(佐藤有斗)
システム開発では、中核となる業務を実現するためのロジック(ビジネスロジック)の実装ミスによる不具合をいかに回避するかが重大な課題となる。そのため従来から、テストの自動化をはじめとして、そうしたミスによるエラーを防ぐためにさまざまな工夫が取り入れられてきた。
本稿では、現代のプログラミング言語で広く導入されている型システムを駆使することで、ビジネスロジックの実装ミスを実行時ではなくコンパイル時に明らかにする手法を紹介する。具体的には、Scala によるサンプルコードを通じて、ビジネスロジックを代数的データ型により表現するという考え方や、状態遷移を全域関数として記述することで異常な処理を防げるという事実について説明する。また、コンストラクタの可視性を制御したり、データベースとのやり取りを型によって厳格に制約することで、システムの安全性と信頼性を高める工夫にも触れる。
#3 「インターネットのカタチ」のその後(小川晃通)
世界中で日常生活の一部となっているインターネットの背景には、構成技術を学ぶだけでは見えてこない大きな構造、経済、そして政治がある。13 年前に刊行された書籍『インターネットのカタチ― もろさが織りなす粘り強い世界』は、そうした見えにくいインターネットを解き明かす貴重な一冊として多くの読者から支持を受けた。
本記事では、その著者が2024年現在の視点で、この13年間にインターネットで起こった重要な出来事や変化を振り返っていく。13 年前には限られた利用者のものだったスマートフォンとSNS の急速な普及、国境を越えて広がるインフラとして各国の政策やセキュリティに与えてきた影響、そしてIPv4 アドレスの枯渇とそれに伴うIPv6 普及の進展など、この間に大きく変わった状況とその影響について特に詳しく取り上げる。
執筆者紹介
遠藤侑介(#1)
Rubyの開発者(コミッタ)の一人で、Rubyのための型解析器TypeProfを開発している。STORES株式会社。著書に『あなたの知らない超絶技巧プログラミングの世界』(技術評論社)、『RubyでつくるRuby ゼロから学びなおすプログラミング言語入門』(ラムダノート)。訳書に『型システム入門プログラミング言語と型の理論』(オーム社)。
佐藤有斗(#2)
株式会社ログラス所属。同社のソフトウェアエンジニアとして経営管理クラウドLoglass の開発を行っている。主に大量の経営データを素早く柔軟に分析するデータ集計エンジンを開発や新規事業の立ち上げを担当している。得意分野は型システムと自動テスト。
小川晃通(#3)
慶應義塾大学にて博士(政策・メディア)取得。各種TCP/IP 解説書執筆。書籍執筆やライターとしての仕事の他に、IT 系エンジニアとしてプログラミングでの受託開発や、コンサルティング、講演等も行う。『インターネットのカタチ』、『マスタリングTCP/IP OpenFlow 編』(以上オーム社)、『アカマイ知られざるインターネットの巨人』(KADOKAWAメディアファクトリー)、『ポートとソケットがわかればインターネットがわかる』(技術評論社)、『Linux ネットワークプログラミング』(SB クリエイティブ)、『プロフェッショナルIPv6 第2版』、『徹底解説v6 プラス』、『ピアリング戦記』(以上ラムダノート)の著者/共著者。
目次
1. TypeScriptではじめる型システム
1.1 本稿は何ではないか
1.2 真偽値の型と数値の型
1.3 関数型
1.4 逐次実行と変数定義
1.5 おわりに
1.6 謝辞
1.7 参考文献
2. 型を活用した安全なアプリケーション開発
2.1 ビジネスロジックと型
2.2 代数的データ型
2.3 全域関数
2.4 コンストラクタの可視性をコントロールする
2.5 外部システムとのやり取りも型で守る
2.6 まとめ
2.7 参考文献
3. 「インターネットのカタチ」のその後
3.1 書籍『インターネットのカタチ』の内容
3.2 スマホとSNSの台頭
3.3 DNSに関連する話
3.4 物理的な話
3.5 インターネットと国境
3.6 IPv4 アドレス在庫枯渇問題とIPv6
3.7 PeeringDB
3.8 あとがき
3.9 参考文献