本書は、プログラミング言語の文法はだいたいわかったけど、実際にプログラム(アプリ)はどう(あるいは何を)作ればいいの? という読者向けに、具体的なプログラムの作り方を解説する初心者脱出のための指南書です。
「プログラミング言語の文法書を読み終えた後、実際にアプリを開発しようと思って調べて見ると知らない言葉ばかりで面食らった」「細かなコードは書けるけど、少し規模が大きくなるとどう作ったらよいかわからない」といった状況を打破できるように、本書では小規模なアプリ(Amazonの購入履歴を取得してExcelファイルに出力するアプリ(コマンドライン版と、それを拡張したWeb版))を実際に作りながら、その作り方と開発の流れをていねいに解説します。
https://www.ohmsha.co.jp/book/9784274227417/
正誤表やDLデータ等がある場合はこちらに掲載しています
第1部 準備編
第1章 作成するアプリと開発の流れ
第2章 必要な機能を実験しよう
第2部 実践編
第3章 コマンドライン版 注文履歴取得アプリを作ろう
第4章 Web アプリ版に必要な機能を実験しよう
第5章 Webアプリ版 注文履歴取得アプリを作ろう
第6章 注文履歴からExcelワークシートを作ろう
第7章 まとめ
付録A サンプルコード
付録B 参考文献
付録C 開発環境の準備
付録D Ruby の復習
用語集
はじめに
第1部 準備編
第1章 作成するアプリと開発の流れ
1.1 Amazonから注文履歴を取得してみよう
1.1.1 Amazon使っていますか?
1.1.2 Amazonのアカウントを作成する
1.1.3 なにか注文してみる
1.1.4 注文履歴を閲覧する
1.2 アプリ開発の流れを整理する
1.2.1 アプリケーションの利用者(アクター)は誰か
1.2.2 アプリケーションが提供する機能(ユースケース)はなにか
1.2.3 アプリケーションのユースケース図
1.2.4 アプリケーションのできあがり予想図を描こう
1.2.5 なにを作るのかと、どんな作り方をするのかを分ける
1.2.6 中心の機能を他の機能と分けよう
1.2.7 最後はWebアプリにしてみよう
1.3 まとめ
第2章 必要な機能を実験しよう
2.1 Webページから情報を取得する
2.1.1 Webブラウザの操作を整理する
2.1.2 プログラムでWebサイトを開く
2.1.3 Webブラウザを操作してWebサイトを開く
2.1.4 Selenium─WebDriverをインストールする
2.1.5 ChromeDriverをインストールする
2.1.6 ChromeDriverの起動を確認する
2.1.7 Selenium─WebDriverの動作を確認する
2.1.8 実行したらエラーになった場合
2.2 WebDriver を使って Amazon にログインする
2.2.1 Amazonのトップページを開く
2.2.2 ページの操作からログインの手順を整理する
2.2.3 デベロッパーツールを開く
2.2.4 「アカウント&リスト」の表示要素を確認する
2.2.5 「アカウント&リスト」リンクを探す
2.2.6 「アカウント&リスト」リンクをクリックする
2.2.7 アカウント情報を外部ファイルに保持する
2.2.8 ログイン用メールアドレスを入力する
2.2.9 表示が終わるのをWaitで待つ
2.2.10 パスワードを入力してログインする
2.3 WebDriver を使って注文履歴を取得する
2.3.1 注文履歴のページを取得する
2.3.2 取得したい期間を変更する
2.3.3 欲しい表示要素を探すセレクタを検討する
2.3.4 検討したセレクタを使って欲しい情報を抽出する
2.4 WebDriverの使い方のまとめ
2.5 まとめ
第2部 実践編
第3章 コマンドライン版 注文履歴取得アプリを作ろう
3.1 実験結果の意味を確かめる
3.1.1 ユースケースと実験したことを比べてみる
3.1.2 実験したプログラムを図で表してみる
3.1.3 実験したプログラムはユースケース記述と紐づいていない
3.2 処理の意味が分かるようにしよう
3.2.1 ユースケース記述とプログラムを紐づけてみよう
3.2.2 処理を分けて名前をつけよう
3.3 アプリケーションとしての構造を考えよう
3.3.1 アプリケーション全体を階層に分けよう
3.3.2 プログラムの構造をクラス図に合わせよう
3.4 注文履歴の詳細を取得しよう
3.4.1 注文履歴の概観
3.4.2 注文番号を特定する
3.4.3 注文日、合計を特定する
3.4.4 注文明細を特定する
3.4.5 注文履歴の格納方法を検討する
3.4.6 詳細を取得する処理を追加しよう
3.5 Rubyのコマンドラインアプリの作り方を調べる
3.5.1 コマンドライン引数を使ってみる
3.5.2 コマンドライン用ライブラリを使ってみる
3.6 アプリの動作をブラッシュアップする
3.6.1 プログラムを複数のファイルに分割する
3.6.2 注文履歴の取得期間を実行時に変更する
3.6.3 複数ページをたどる
3.6.4 ブラウザの画面を表示しないで実行する
3.7 コマンドライン版 注文履歴取得アプリの完成
3.7.1 完成したアプリケーションのプログラム
3.7.2 追加課題
3.8 まとめ
第4章 Webアプリの働きを実験しよう
4.1 Webアプリの基礎知識
4.1.1 Webの仕組み
4.1.2 Webアプリの構成
4.1.3 Webサーバーの働き
4.1.4 よく使われているWebサーバー
4.2 Webページを作ってみる
4.2.1 WebページとHTML
4.2.2 HTML文書の見かけとCSS
4.2.3 HTMLで書いた文書の構造
4.2.4 サンプルページを作る
4.3 WebサーバーWEBrickを動かしてみる
4.3.1 WEBrickはWebサーバーを作るライブラリ
4.3.2 WEBrickの動作を確認する
4.3.3 Webサーバー上でプログラムを実行する
4.3.4 Webページの生成にテンプレートエンジンを使う
4.4 まとめ
第5章 Webアプリ版 注文履歴取得アプリを作ろう
5.1 アプリケーションの仕様を整理する
5.1.1 提供したい機能を整理する
5.1.2 やり取りを整理する
5.2 個々の画面の HTML 版を作成する
5.2.1 Webアプリ用ディレクトリの作成
5.2.2 注文履歴の取得画面の作成
5.2.3 簡単なスタイルシートを用意する
5.2.4 スタイルシートを画面に適用する
5.2.5 注文履歴取得の結果を表示する画面の作成
5.2.6 取得済み注文履歴一覧画面の作成
5.2.7 注文履歴の詳細を表示する画面の作成
5.2.8 注文履歴を削除する画面の作成
5.3 画面遷移を整理する
5.3.1 メニュー画面を用意する
5.3.2 画面の遷移を検討する
5.3.3 注文履歴の一覧や詳細画面の遷移を検討する
5.3.4 注文履歴の削除画面の遷移を検討する
5.3.5 画面遷移を実験する
5.4 Webアプリに仕立てる
5.4.1 画面と処理と出力を結びつける
5.4.2 注文履歴の取得画面をERB化する
5.4.3 注文履歴取得のサーバー側処理を作成する
5.4.4 注文履歴の取得を実行する
5.4.5 注文履歴の一覧画面をERB化する
5.4.6 注文履歴一覧のサーバー側処理を作成する
5.4.7 注文履歴の一覧を実行する
5.4.8 注文履歴をファイルから1件ずつ読み込む
5.4.9 詳細画面をERB化する
5.4.10 注文履歴の詳細を表示する処理を作成する
5.4.11 注文履歴詳細の動作を確認する
5.4.12 注文履歴を削除する画面をERB化する
5.4.13 注文履歴の削除のサーバー側の処理を作成する
5.4.14 注文履歴の削除を実行する
5.5 Webアプリ版注文履歴取得アプリの完成
5.5.1 Webアプリ版の構造
5.5.2 完成したアプリケーションのプログラム
5.5.3 追加課題
5.6 まとめ
第6章 注文履歴からExcelワークシートを作ろう
6.1 Excelを使わずにワークシートを作成したい
6.2 Ruby で Excel ワークシートを作る方法を知る
6.2.1 Excelワークシートを操作できるライブラリを調べる
6.2.2 rubyXLをインストールする
6.2.3 rubyXLの動作を確認する
6.3 注文履歴から Excel ワークシートを作成する
6.3.1 注文履歴をExcelのセルに割り当てる
6.3.2 アプリケーションへの組込み方を決める
6.4 Excelワークシートへの変換機能を追加する
6.4.1 Excel対応版の画面を作成する
6.4.2 Excelに変換するサーバー側の処理を作成する
6.4.3 注文履歴をワークシートに変換する動作を確認する
6.4.4 完成したアプリケーションのプログラム
6.4.5 追加課題
6.5 まとめ
第7章 まとめ
7.1 できあがったアプリのふりかえり
7.1.1 コマンドライン版注文履歴取得アプリケーション
7.1.2 Webアプリ版注文履歴取得アプリケーション
7.1.3 Excel対応版注文履歴取得アプリケーション
7.2 この本の次のステップ
7.2.1 本格的なWebアプリの開発:Ruby on Rails
7.2.2 アプリケーションの開発、設計の発展
付録
付録A サンプルコード
A.1 サンプルコードの配布
A.2 配布ファイルの構成
A.3 サンプルの使い方
A.3.1 自分の書いたコードと比較する
A.3.2 うまくいかないところを入れ替えて試す
A.3.3 問い合わせのときに使う
付録B 参考文献
B.1 Web上の情報源
B.2 書籍
B.3 その他
付録C 開発環境の準備
C.1 テキストエディタを設定する
C.1.1 テキストエディタはプログラミングに必須
C.1.2 自分が使うテキストエディタを決めよう
C.2 テキストエディタに慣れておこう
C.2.1 タイピングに慣れておこう
C.2.2 記号の入力や表示に注意する
C.2.3 毎日使ってエディタの操作に慣れる
C.3 演習用ワークスペースを作成する
C.3.1 ホームディレクトリを確認する
C.3.2 ワークスペースを作成する
C.4 自分のPCの環境を確認する(Windows)
C.4.1 コマンドプロンプトを開く
C.4.2 コマンドプロンプトをタスクバーに登録する
C.4.3 コマンドプロンプトのプロパティを調整する
C.4.4 Rubyが使えるかどうか調べる
C.5 自分のPCにRubyを追加する(Windows)
C.5.1 Rubyを入手する
C.5.2 Rubyをインストールする
C.5.3 インストールできたか確認する
C.6 自分のPCの環境を確認する(Mac)
C.6.1 ターミナルを開く
C.6.2 Rubyを起動してみる
C.7 自分のPCにRubyを追加する(Mac)
C.7.1 HomeBrewを使って追加する方法
C.7.2 rbenvを使って追加する方法
C.7.3 インストールできたか確認する
C.8 自分のPCの環境を確認する(Linux)
C.8.1 ターミナルを開く
C.8.2 Rubyを起動してみる
C.9 自分のPCにRubyを追加する(Linux)
C.9.1 Rubyパッケージを追加する方法
C.9.2 rbenvを使って追加する方法
C.9.3 インストールできたか確認する
C.10 簡単なスクリプトの作成と実行
C.10.1 テキストエディタでRubyのプログラムを書く
C.10.2 作成したプログラムを確認する
C.10.3 Rubyのプログラムを動かす
C.10.4 うまくいかないときの対処法リスト
C.11 まとめ
付録D Ruby の復習
D.1 Rubyはオブジェクト指向スクリプト言語
D.2 商品名や購入日を表示してみよう
D.2.1 商品名を表す(Stringクラス)
D.2.2 金額を表す(数値の文字列化)
D.2.3 購入額を計算する(Numericクラス)
D.2.4 購入日を表示する(Dateクラス)
D.3 履歴データのまとまりを操作しよう
D.3.1 明細の項目を表示しよう(Arrayクラス)
D.3.2 プログラムに値を渡す(コマンドライン引数)
D.3.3 注文履歴を表示しよう(Hashクラス)
D.4 条件によって履歴の表示を変える(条件分岐)
D.4.1 履歴の中で明細を別表示に変える(if文、unless文)
D.4.2 明細の価格を合計する(if修飾子、unless修飾子)
D.4.3 $PROGRAM_NAMEと__FILE__を使う
D.5 複数の履歴を繰り返し処理する(繰り返し)
D.5.1 注文した回数だけ処理を繰り返す(eachメソッド)
D.6 処理の対象と操作をまとめる(クラス)
D.6.1 注文履歴を図で表す
D.6.2 注文履歴をクラスで表す(Class)
D.7 注文履歴を保存する
D.7.1 注文履歴をファイルに保存する(Fileクラス)
D.8 ファイル操作の失敗を捕捉する(例外処理)
D.8.1 ファイル操作で発生する例外の例
D.9 複数行に分かれた注文履歴を読み込む
D.9.1 複数行に分かれた注文履歴の例
D.9.2 複数行に分かれた注文履歴を1件分ずつ読み込む
D.9.3 繰り返し処理にブロックつきメソッドを使う
D.10 HTMLとCSSの基礎
D.10.1 開始タグと終了タグ
D.10.2 タグの属性
D.10.3 段落
D.10.4 見出し
D.10.5 ハイパーリンクとアンカーポイント
D.10.6 表(テーブル)
D.10.7 フォーム
D.10.8 HTML文書の全体構造
D.10.9 CSSの基礎
D.10.10 spanタグとdivタグ
D.11 まとめ
用語集
おわりに
索引