WEB+DB PRESS plusシリーズAPIデザインケーススタディ
――Rubyの実例から学ぶ。問題に即したデザインと普遍の考え方
――
2015年12月16日紙版発売
2015年12月16日電子版発売
田中哲 著
A5判/304ページ
定価3,058円(本体2,780円+税10%)
ISBN 978-4-7741-7802-8
ただいま弊社在庫はございません。
書籍の概要
この本の概要
Rubyを題材に,APIデザインの各種事例を取り上げた技術解説書。実用のための言語のAPIデザインには,使いやすさ,一貫性,速度,互換性など,さまざまな点でバランスの良さが求められます。それらの点で,長きにわたり定評がある言語の一つは「Ruby」ではないでしょうか。本書ではRubyの事例をベースに,APIデザインの過程と考え方を丁寧に解説。言語の中核機能を担う「I/O」「ソケット」「プロセス」「時刻」「数,文字列」をカバーし,APIデザインの核心に迫ります。熟達のRubyコミッタによる全面書き下ろし。
本書の構成
本書は,Rubyで実際に行われたデザインを具体的に解説することによって,使いやすいプログラミング言語やライブラリをデザインする方法を述べています。そのため,Rubyのデザイン自体の詳細と,デザインのやり方について知ることができます。
本書は全5章から成り,Rubyの機能のカテゴリ別に分割されています。各章は,個々の機能のデザインを説明する節が並んでいます。
各節は基本的には独立しているので,どこから読んでもかまいません。とくに,その節で述べている機能を使ったことがあるのであれば,理解しやすいでしょう。ただ,関連する話題はなるべくわかりやすいものから連続して並べてあるので,そのようなものは連続して読んだ方が理解しやすいでしょう。
各章は,以下のような内容です。
第1章─I/O
IOクラスのデザインについて,述べています。C言語の標準ライブラリのstdioの問題を多く取り上げています。
第2章─ソケット
ネットワーク通信やプロセス間通信に使われるソケットのデザインについて,述べています。ソケット周りは,OSでさまざまな拡張が行われます。そのような拡張を,Rubyアプリケーションにうまく提供するデザインなどについて取り上げています。
第3章─プロセス
プロセスの起動に関するデザインについて,述べています。低レベルAPIのspawnと高レベルAPIのopen3の話題を多く取り上げています。
第4章─時刻
Timeクラスのデザインについて,述べています。暦や夏時間は人間社会の都合によって定義されるため,ソフトウェアの機能でも人間社会の都合を考慮せざるを得ません。人間社会の都合とソフトウェアの都合をどう折衷させるか,という問題を多く取り上げています。
第5章─数,文字列
数や文字列に関する機能のデザインについて,述べています。数に関して数学的な背景をどうデザインに反映させるか,などといった問題を取り上げています。
本書に関するお知らせ
本書に関連する記事を公開しております。
本書のハッシュタグは,以下です。
- #APIデザインケーススタディ
- #APIAKR