はじめに
本書をお手にとっていただきありがとうございます!*1
[*1] こんな何だかよく分からない本を、本当にありがとうございます。。
本書では、前著「バイナリ生物学入門」で紹介した「実行バイナリを生物に見立てる設計」へ「進化」の仕組みを追加することで、実行バイナリを進化により生み出せるようにした「daisy-tools」というツールを紹介する本です。
プログラマの三大美徳の一つに「怠惰」がありますが、その究極は「寝て、起きたらできあがっている」だと思います。本書で紹介するdaisy-toolsは、「コードを書くことでバイナリを生成」する従来の「プログラミング」による方法とは違い、「バイナリを進化させる」事で任意のバイナリを生成します。それによりエンジニアは、進化を評価するスクリプトを書くだけで、実行バイナリ本体に関するコードは書かずに目的のバイナリを生成できます。(と言っても、現実的に生成できるのは簡単なもののみですが。)
本書の構成
本書ではdaisy-toolsについて以下の3章構成で紹介します。
- 第1章 daisy-toolsのコンセプトとアーキテクチャ
- daisy-toolsの基本コンセプトと、バイナリを進化させる仕組みを紹介します。
- 第2章 daisy-toolsの使い方
- 使い方を実行例と共に紹介します。
- 第3章 実験結果紹介
- 「終了ステータス0で正常終了する」・「'A'を出力して正常終了する」という2つのELFバイナリの生成について実験結果を紹介します。
PDF/HTML版や本書の更新情報について
本書のPDF/HTML版は筆者のウェブページで公開しています。
本書の内容について訂正や更新があった場合もこちらのページに記載しますので、何かおかしな点などあった場合はまずはこちらのページをご覧ください。