再発見の発想法

サイハッケンノハッソウホウ

再発見の発想法の表紙
プログラミング
著者:
結城 浩(ユウキ ヒロシ)
出版社:
SB クリエイティブ
出版日:
2021年02月22日頃
ISBN:
9784797395310
在庫:
在庫あり
3.9(10 件 / 楽天ブックス)
初級者向け
アルゴリズム

なぜ注目されているか

総合849位 ↑ 3 ランクアップ 言及 1 件
言及数
1008位

書籍紹介

技術者は日常的に技術用語を使って考え、問題を解決しています。技術用語の中には、技術者が長年培ってきたアイディアやグッドプラクティス、それに問題解決のエッセンスが凝縮されています。
たとえば、技術用語としての「バッファ」は、データを生産するプロセスと、データを使用するプロセスの間に置かれた緩衝領域を意味します。この技術用語の発想を日常生活に適用するなら、私たちが使っている「財布」はバッファとしての役割を持っていることがわかります。さらに、いったん蓄積させることで価値を生み出すプリペイドカードにもバッファの発想が生きていることがわかります。

また、技術用語としての「ボトルネック」は、システム全体のパフォーマンスを決定するポイントを意味します。システム全体のパフォーマンスを上げるためには、やみくもに改善するのではなく最初にボトルネックを見つける必要があります。会社の承認プロセスで、特定の人物が意志決定のボトルネックになることはよくあります。いくら他のメンバーががんばっても、ボトルネックになっている人物の承認速度を上げなければ、全体のパフォーマンスは上がりません。

本書で取り上げる技術用語はプログラミング全般、アルゴリズム、セキュリティ、マルチスレッドなど多岐にわたります。このような技術用語の意味を知り、それを用いた技術者の発想を日常生活に適用させることで、業務の改善や学業の効率化、創造力の育成などに生かすことができるでしょう。

技術者の発想に関心をもっている学生から社会人、発想力や創造力を高めたいと思っているビジネスマン、組織をうまく動かしたいと思っているリーダーなど、現代を生きるすべての読者にとって最適の読み物です。

なお、本書は、『Software Design』 (技術評論社) の連載を加筆修正して書籍化したものです。

●はじめに

●第 1 章 あふれる量と戦う
・ランダムサンプリング

・指数関数的爆発

・ブルートフォース

・バックトラック

・データ圧縮

●第 2 章 速く、速く、もっと速く!
・ボトルネック

・投機的実行

・レスポンスタイム

・バッファ

●第 3 章 再利用のために
・ライブラリ

・エクスポート / インポート

・テンプレート

●第 4 章 リソースを活用する
・トレードオフ

・ガベージコレクション

・富豪的プログラミング

●第 5 章 セキュリティを守る
・公開鍵暗号

・二要素認証

・難読化

・中間者攻撃

・DoS 攻撃

●第 6 章 正しく判断する
・A/B テスト

・ベンチマーク

・評価関数

●第 7 章 連携プレーをスムーズに
・デッドロック

・ブートストラップ

・アイドル

●第 8 章 品質を上げる
・ドッグフーディング

・オーバーエンジニアリング

・バリデータ

●第 9 章 エラーに対処する
・フェールセーフ

・チェックサム

・S/N 比

・DRY

●第 10 章 機械学習と人工知能
・レコメンデーション

・過学習

・チューリングテスト

技書の森解説

『再発見の発想法』 (結城 浩 著、SB クリエイティブ、2021 年 2 月 20 日発売) は、技術者がふだん使っている技術用語を 1 つずつ取り上げ、その用語に込められた発想を仕事や日常の問題に当てはめて考える読み物です。版元の紹介文は、技術用語には技術者が長年培ってきたアイディアやグッドプラクティス、問題解決のエッセンスが凝縮されていると説明し、取り上げる用語はプログラミング全般、アルゴリズム、セキュリティ、マルチスレッドなどに及ぶとしています。版元は、本書が『Software Design』 (技術評論社) の連載を加筆修正して書籍化したものだと案内しています。

全 10 章の構成、量との戦いから機械学習と人工知能まで

目次は「はじめに」に続く全 10 章で、どの章にも 3 から 5 の技術用語が項目として並びます。第 1 章「あふれる量と戦う」はランダムサンプリング、指数関数的爆発、ブルートフォース、バックトラック、データ圧縮を、第 2 章「速く、速く、もっと速く!」はボトルネック、投機的実行、レスポンスタイム、バッファーを取り上げます。続く第 3 章「再利用のために」はライブラリ、エクスポート / インポート、テンプレート、第 4 章「リソースを活用する」はトレードオフ、ガベージコレクション、富豪的プログラミング、第 5 章「セキュリティを守る」は公開鍵暗号、二要素認証、難読化、中間者攻撃、DoS 攻撃です。後半は第 6 章「正しく判断する」、第 7 章「連携プレーをスムーズに」、第 8 章「品質を上げる」、第 9 章「エラーに対処する」と進み、デッドロック、ドッグフーディング、フェールセーフ、チェックサム、DRY などを経て、第 10 章「機械学習と人工知能」のレコメンデーション、過学習、チューリングテストで終わります。NDL の書誌によれば、巻末には索引があります。

財布はバッファー、承認者はボトルネックという読み替え

本書の発想の運び方は、版元の紹介文が挙げる 2 つの例によく表れています。技術用語のバッファーは、データを生み出す処理と使う処理の間に置かれる緩衝領域を指します。紹介文はこの発想を日常に当てはめ、私たちが使う財布がバッファーの役割を持つこと、いったん蓄えることで価値を生むプリペイドカードにも同じ発想が生きていることを示しています。もう 1 つのボトルネックは、システム全体の性能を決めてしまう箇所のことで、全体を速くするには、やみくもに改善する前にまずその箇所を見つける必要があります。紹介文は会社の承認プロセスを例に、特定の人物が意思決定の詰まりどころになっていれば、他のメンバーがいくら頑張っても全体は速くならないと説明しています。

技術用語が発想の道具として働く理由

技術用語の多くは、繰り返し現れる問題と、その問題に対して選ばれてきた解き方をひとまとめにした名前です。たとえば ガベージコレクション は、プログラムが使い終えたメモリを実行環境が自動で回収する仕組みで、人が解放の手間を負わない代わりに、回収のための処理時間を受け入れるという取引の上に成り立っています。2 つの案を利用者に無作為に振り分けて結果を比べる A/B テスト は、思い込みではなく測った結果で決めるという態度を、手順として固定したものです。用語の背後にあるこうした問題と解き方の組を知っていると、技術の外の場面でも、いま直面しているのが量の問題なのか、速さの問題なのか、判断の問題なのかを切り分けやすくなります。本書の目次も、量、速さ、再利用、資源、セキュリティ、判断、連携、品質、エラーという場面ごとに章を立て、最後の章で機械学習と人工知能の用語を取り上げています。

技術者の発想を仕事や学びに持ち込みたい読者に

版元が想定する読者は、技術者の発想に関心をもっている学生から社会人、発想力や創造力を高めたいと考えるビジネスパーソン、組織をうまく動かしたいリーダーです。目次に並ぶのは技術用語の項目であり、プログラミング言語の文法や実装の手順を順に学ぶための章はありません。そのため、特定の技術を使えるようになることが目的の人や、試験対策の教材を探している人には目的が合いません。版元の著者紹介は、結城 浩をプログラミング言語、デザインパターン、暗号、数学などの分野で入門書を書いてきた著者と紹介し、代表作に『数学ガール』『プログラマの数学』『暗号技術入門』などを挙げています。ふだん技術の言葉で考えている人がその発想を自分の言葉で説明し直したい時や、技術者と一緒に働く人が技術者の考え方の筋道を知りたい時には、用語ごとに区切って読み進められる本書が良い手がかりになります。

言及した記事 (1 件)

この本に興味がある方におすすめ

関連する本

結城 浩 の他の書籍

関連記事

関連用語

共有: