モダンPerl入門
増補改訂版(仮)

牧 大輔 著

このエントリーをはてなブックマークに追加

※本ページは『モダンPerl入門 増補改訂版(仮)』の特設サイトです。商品紹介のほか、電子書籍版の早期ディスカウント販売(β版を先行提供)などを予定しています。今後の更新情報は「CodeZine Books」のFacebookページなどで配信していきます。

以下は、2013/9/18時点での目次案ver.1です。随時更新予定。

初版の目次項目については、こちらを参照してください。

第1章 はじめに

1.1 本書について
1.2 本書で扱うPerl
1.3 本書内のPerlサンプルコードについて
1.3.1 対応Perlバージョン
1.3.2 古いバージョンをお使いの場合
1.4 ドキュメントについて

第2章 Perl環境の設定【刷新】

2.1 Perl本体のインストール
2.1.1 perlbrew
2.1.2 plenv
2.1.3 perl-build
2.1.4 インストール時のperlの名前
2.2 CPANとのつきあい方
2.2.1 CPANとは
2.2.2 CPANモジュールを吟味する
2.2.3 CPANモジュールの管理・インストール
2.3 Cartonによるアプリケーション実行環境の構築
2.3.1 Carton利用の準備
2.3.2 依存関係の管理
2.3.3 Cartonでコマンド実行
2.3.4 Carton実行時の注意

第3章 Perlオブジェクト【刷新】

3.1 素のオブジェクト (bless)
3.2 現代的なアプローチ
3.2.1 Class::* ファミリー
3.2.2 blessからMooseファミリーへ
3.2.3 Mooseファミリー
3.2.4 メソッドモディファイヤー

第4章 PSGI/Plack 【NEW!!】

4.1 PSGI
4.2 Plack
4.3 PSGIアプリケーションの基本
4.4 PSGIミドルウェア
4.4.1 ミドルウェアを使って見る
4.4.2 ミドルウェアを欲しい時だけ適用する
4.4.3 もっと簡単にミドルウェアを使う
4.4.4 ミドルウェアの使いどころ
4.5 PSGIアプリケーションのデプロイ
4.5.1 スタンドアローンPSGIサーバー
4.5.2 PSGIアダプタ
4.5.3 PSGIアプリケーションデプロイ時のTips

第5章 WAF【刷新】

5.1 WAFの選択
5.2 Mojolicious概要
5.2.1 1分でできる"Hello, World"
5.2.2 Mojolicious::Lite vs Mojlicious
5.2.3 ルーティング
5.2.4 レンダリング・テンプレート処理

第6章 イベント駆動の世界へようこそ 【NEW!!】

6.1 AnyEvent概要
6.2 AnyEvent API解説
6.2.1 AnyEvent vs AE
6.2.2 ウォッチャー
6.2.3 AnyEvent->condvar | AE::cv
6.2.4 AnyEvent->timer | AE::timer
6.2.5 AnyEvent->io | AE::io
6.2.6 AnyEvent->signal | AE::signal
6.2.7 AnyEvent->child | AE::child
6.2.8 AnyEvent->idle | AE::idle
6.3 AnyEventを実際に使って見る
6.3.1 AnyEvent::HTTP
6.3.2 タイムアウトを設定する

第7章 データベース【刷新】

7.1 DBI
7.1.1 DBIの基本
7.1.2 DBIオプション
7.1.3 DBIの小技
7.2 ORM・データベースをオブジェクトから操作する
7.2.1 ORMの系譜
7.3 ORMかDBIか
7.3.1 DBIメリット・デメリット
7.3.2 ORMメリット・デメリット
7.4 DBIを少しだけ簡単にするツール達

第8章 CPAN / パッケージング【刷新】

8.1 CPAN
8.2 CPAN形式
8.2.1 何故CPAN形式なのか
8.2.2 How to CPAN
8.2.3 Makefile.PLの作成
8.3 Milla/Minilla
8.3.1 プロジェクトを新規作成する
8.3.2 テストを実行する
8.3.3 CPANにアップする

第9章 Perlとテスト

9.1 Perlとテスト
9.2 テストの書き方
9.3 Apacheとテスト
9.4 Perlテスト開発:ケーススタディ
9.5 Testツールあれこれ

第10章 C APIとXS

10.1 C APIとXS
10.2 XSファイルを使用したディストリビューションの書き方
10.3 XSファイルからコンパイルまでの処理
10.4 基本的な構造体
10.5 typemapの役割
10.6 MAGIC 構造体
10.7 C構造体の格納方法
10.8 Perl関数の呼び出し
10.9 ガーベッジコレクション
10.10 既存のCライブラリへのバインディング
10.11 XSまとめと注意点

第11章 最適化

11.1 最適化の基本ステップ
11.2 データベース操作の最適化
11.3 最適化のポイント
11.4 コードレベルの最適化
11.5 ログ 【NEW!!】

第12章 中級者が知っておくべきモダンなPerlの基本、ツール、記法【刷新】

12.1 cpanminus (cpanm)
12.1.1 cpanmでモジュールをインストール
12.1.2 依存関係を特定ディレクトリにインストール
12.1.3 CPAN形式のディレクトリから依存関係だけをインストール
12.1.4 任意のモジュールをインストールせずにファイルだけダウンロード・解凍する
12.1.5 モジュールインストール時にテスト
12.2 Reply (REPL)
12.3 perldoc
12.3.1 perldocピックアップ
12.4 Server::Starter (start\_server)
12.5 cpan-outdated
12.6 lwp-request
12.7 perltidy
12.8 Module::CoreList | corelist
12.9 非破壊的 文字列置換 | s///r
12.10 コンテキスト
12.11 ガーベッジコレクション
12.12 弱い参照 | Scalar::Util::weaken()
12.13 変数の宣言
12.13.1 local変数修飾子
12.14 パッケージ(名前空間)の宣言
12.14.1 メソッド呼び出しの仕組み
12.15 警告の表示
12.16 例外処理
12.17 localと例外処理