版元ドットコム

探せる、使える、本の情報

文芸 新書 社会一般 資格・試験 ビジネス スポーツ・健康 趣味・実用 ゲーム 芸能・タレント テレビ・映画化 芸術 哲学・宗教 歴史・地理 社会科学 教育 自然科学 医学 工業・工学 コンピュータ 語学・辞事典 学参 児童図書 ヤングアダルト 全集 文庫 コミック文庫 コミックス(欠番扱) コミックス(雑誌扱) コミックス(書籍) コミックス(廉価版) ムック 雑誌 増刊 別冊
研鑽Rubyプログラミング 実践的なコードのための原則とトレードオフ Jeremy Evans(原著) - ラムダノート
..
【利用不可】

書店員向け情報 HELP

研鑽Rubyプログラミング 実践的なコードのための原則とトレードオフ (ケンサンルビープログラミング ジッセンテキナコードノタメノゲンソクトトレードオフ)

コンピュータ
このエントリーをはてなブックマークに追加
A5判
392ページ
定価 3,600円+税
ISBN
978-4-908686-17-7   COPY
ISBN 13
9784908686177   COPY
ISBN 10h
4-908686-17-3   COPY
ISBN 10
4908686173   COPY
出版者記号
908686   COPY
Cコード
C3055  
3:専門 0:単行本 55:電子通信
出版社在庫情報
不明
初版年月日
2023年4月
書店発売日
登録日
2025年1月17日
最終更新日
2025年1月30日
このエントリーをはてなブックマークに追加

紹介

本書は、通常のプログラミング言語解説書の先、言語が備える基本的な機能(クラス、メソッド、変数など)の性能を実践で極限まで引き出すための思考、ライブラリやDSLを自分で設計するコツ、メタプログラミングやデザインパターンとの付き合い方、データベースやフレームワークに対する心構え、そしてセキュリティへの取り組み方などを扱います。
業務で毎日のようにRubyのコードを書いているというプログラマーはもちろん、ちょっとしたコードならRubyで書いたことがあるという他言語のプログラマーにとっても、プログラミングにおけるさまざまな原則とトレードオフについて繰り返し考え直すきっかけになる貴重な中級者向け解説書です。

目次

本書に寄せて ― まつもとゆきひろ

日本の読者の皆さんへ ― Jeremy Evans

まえがき

第I部 Rubyプログラミングの基礎的な原則
第1章 組み込みクラスを最大限に活用する
 1.1 いつ組み込みクラスを使うべきか
 1.2 true、false、nilを活用する
 1.3 用途に応じて数値型を使い分ける
 1.4 シンボルと文字列の違いを理解する
 1.5 配列、ハッシュ、セット(集合)を使い分ける
 1.6 Structを活用する(Structはもっと評価されるべき)
 1.7 まとめ
 1.8 復習問題
 1.9 もっと詳しく学ぶには
第2章 役に立つ独自クラスを設計する
 2.1 いつ独自クラスを定義すべきか
 2.2 SOLID 原則のトレードオフ
 2.3 大きなクラスか、多くのクラスか
 2.4 独自データ構造の使いどころ
 2.5 まとめ
 2.6 復習問題
第3章 変数を適切に使う
 3.1 ローカル変数:Rubyで大活躍の変数
 3.2 インスタンス変数を活用する
 3.3 定数も単なる変数である
 3.4 クラス変数を置き換える
 3.5 基本的に、グローバル変数は避ける
 3.6 まとめ
 3.7 復習問題
 3.8 もっと詳しく学ぶには
第4章 メソッドと引数
 4.1 クラスメソッドはない。あるのはインスタンスメソッドだけ
 4.2 メソッドの命名
 4.3 メソッド引数を使いこなす
 4.4 メソッドの可視性は重要である
 4.5 委譲の扱い方
 4.6 まとめ
 4.7 復習問題
第5章 エラーに対処する
 5.1 戻り値によるエラー処理
 5.2 例外によるエラー処理
 5.3 一時的なエラーを再試行する
 5.4 例外クラス階層の設計
 5.5 まとめ
 5.6 復習問題
第6章 コードを読みやすくフォーマットする
 6.1 コードフォーマットにまつわる見解の違い
 6.2 構文の一貫性とメンテナンス容易性
 6.3 恣意的な制限の末路
 6.4 Ruby自体で基本的なコードフォーマットを検査する
 6.5 コードのフォーマットで本当に大切なこと
 6.6 まとめ
 6.7 復習問題

第II部 Rubyのライブラリプログラミングの原則
第7章 自分のライブラリを設計する
 7.1 ユーザーエクスペリエンスを重視する
 7.2 ライブラリの適切な規模を見極める
 7.3 メソッド設計の複雑性のトレードオフ
 7.4 まとめ
 7.5 復習問題
第8章 ライブラリを拡張可能にする
 8.1 Rubyが提供する拡張性関連の機能
 8.2 プラグインシステムを設計する
 8.3 「グローバルでは不変、ローカルでは可変」
 8.4 まとめ
 8.5 復習問題
第9章 時宜にかなったメタプログラミング
 9.1 抽象化の利点と欠点
 9.2 冗長なコードを削減する
 9.3 2つのメタプログラミング手法
 9.4 method_missingのわきまえ
 9.5 まとめ
 9.6 復習問題
第10章 役に立つドメイン特化言語を設計する
 10.1 独自のDSLを設計する
 10.2 独自のDSLを実装する
 10.3 DSLの使いどころ
 10.4 まとめ
 10.5 復習問題
第11章 きちんとコードが動くことをテストする
 11.1 なぜそんなにもRubyではテストが重要なのか
 11.2 さまざまなテスト手法
 11.3 テストをどこまで複雑にするか
 11.4 さまざまなレベルでのテスト
 11.5 カバレッジ100%に意味はない
 11.6 まとめ
 11.7 復習問題
第12章 変更に対処する
 12.1 リファクタリングする理由
 12.2 リファクタリングの進め方
 12.3 よく使われるRubyのリファクタリング技法
 12.4 機能追加のためのリファクタリング
 12.5 機能を適切に削除する
 12.6 まとめ
 12.7 復習問題
第13章 代表的なデザインパターンを使う
 13.1 Rubyに組み込まれているデザインパターン
 13.2 「1つだけあればよい」に対処する
 13.3 「何もない」を扱う
 13.4 Visitor パターン
 13.5 Adapter パターンとStrategy パターン
 13.6 まとめ
 13.7 復習問題
第14章 ライブラリを最適化する
 14.1 最適化の必要がなさそうなコードを把握する
 14.2 プロファイリングが先、最適化は後
 14.3 存在しないコードより速いコードは存在しない
 14.4 何もかもが遅い場合の対処法
 14.5 まとめ
 14.6 復習問題

第III部 Rubyのウェブプログラミングの原則
第15章 データベースが鍵を握る
 15.1 なぜそんなにもデータベース設計が重要なのか
 15.2 採用するデータベースを決める
 15.3 最も重要なデータベース設計の原則
 15.4 データベースは単なるデータ置き場ではない
 15.5 モデル層を選ぶ
 15.6 データベースとモデルのエラー処理
 15.7 まとめ
 15.8 もっと詳しく学ぶには
 15.9 復習問題
第16章 ウェブアプリケーション設計の原則
 16.1 クライアントサイド中心の設計とサーバーサイド中心の設計
 16.2 ウェブフレームワークの選定
 16.3 URLパスの設計
 16.4 モノリス、マイクロサービス、アイランドチェーン
 16.5 まとめ
 16.6 復習問題
第17章 堅牢なウェブアプリケーションのセキュリティ
 17.1 Ruby のウェブアプリケーションにおけるセキュリティ上の問題は、ほとんどが高レイヤのもの
 17.2 入力を信用してはならない
 17.3 可能な限りの高レイヤでアクセスを制御する
 17.4 インジェクション対策
 17.5 高いセキュリティが求められる環境に向けた取り組み
 17.6 まとめ
 17.7 復習問題

付録A 復習問題の回答例

訳者あとがき

索引

著者プロフィール

Jeremy Evans  (ジェレミー エバンス)  (原著

Rubyのコミッター。Rubyのバグ修正に注力するのと同じぐらい、Rubyの実装の改善にも取り組んでおり、最速のウェブフレームワーク(Roda)や最速のデータベースライブラリ(Sequel)をはじめとした、いくつもの著名なRubyライブラリのメンテナーも務めている。彼のライブラリはその実行性能だけでなく、コードの品質、理解しやすさ、ドキュメンテーション、発見されたバグの修正の素早さでも知られている。Ruby とRuby コミュニティへの貢献が認められ、数々の賞も受賞。2020年には権威あるRubyPrize を受賞し、2015年にはRuby Heroに選出された。20以上のRuby カンファレンスでの講演実績もある。さらに彼はRubyの開発に加えて、OpenBSDのコミッターも務めている。

角谷信太郎  (カクタニシンタロウ)  (翻訳

個人事業主。一般社団法人日本Ruby の会理事。RubyKaigi Team Señor Organizer。(株)永和システムマネジメントフェロー。フィヨルドブートキャンプ顧問。 エクストリームプログラミングの理念である「新たな社会構造」のために自分がやれることをやっている。主な共訳・監訳書は『ユニコーン企業のひみつ―Spotify で学んだソフトウェアづくりと働き方』(オライリー・ジャパン)、『Clean Agile 基本に立ち戻れ』(アスキードワンゴ)、『なるほどUnix プロセス―Rubyで学ぶUnix の基礎』(達人出版会)、『RubyのしくみRuby Under a Microscope』『アジャイルサムライ―達人開発者への道』『アジャイルプラクティス―達人プログラマに学ぶ現場開発者の 習慣』(オーム社)、『アジャイルな見積りと計画づくり―価値あるソフトウェアを育てる概念と技法』(毎日コミュニケーションズ)など。

上記内容は本書刊行時のものです。