Webサイト、Webサービス、WebアプリケーションをRubyで作成するためのDSL、それがSinatraです。本書は、基本的なRubyのプログラミングを理解したプログラマが、Sinatraを使い始めるために必要な知識をコンパクトにまとめた書籍です。ルーティング、ビュー、キャッシュなどを使ったアプリケーションの書き方から、内部構造の解説や、サブクラス化を用いたModularスタイルのアプリケーションを解説。さらにはカスタムブログエンジンを例に、アプリケーション構築の全体を紹介します。なお本書はEbookのみの販売となります。
入門 Sinatra
―Web制作のためのシンプルなRuby DSL
Alan Harris、Konstantin Haase 著、山村 貴子、株式会社トップスタジオ 訳
- TOPICS
- Programming , Web , Ruby
- 発行年月日
- 2012年09月
- ISBN
- 978-4-87311-559-7
- 原書
- Sinatra: Up and Running
- FORMAT
目次
はじめに
本書の対象読者
本書の構成
基礎
さらに詳しく
実践
本書の表記規約
サンプルコードの利用について
お問合せ先
1章 準備作業
Sinatraの特徴
フレームワークなのか
MVCを実装するのか
誰が使用するのか
実際のプロジェクトはどのようなものか
問題点はあるのか
これらのスキルは他でも通用するか
インストール
Thin
起動
構文の解説
Telnetを使ったテスト
じゃんけんアプリケーション
まとめ
2章 基本原理
ルーティング
HTTP
メソッド
一般的なルート定義
同じ動作をする複数のURL
パラメータを含んだルート
クエリ文字列パラメータを含んだルート
ワイルドカードを含んだルート
最初の十分なマッチ
正規表現を含んだルート
リクエストの中止
リクエストの移動
リクエストのリダイレクト
静的ファイル
ビュー
インラインテンプレート
外部ビューファイル
サブフォルダ内の外部ビュー
ビューへのデータの受け渡し
フィルタ
エラー処理
404 Not Found
500 Internal Server Error
構成
HTTPヘッダ
headersメソッド
requestオブジェクトの検証
キャッシュ
ヘッダの手動設定
expiresによるヘッダの設定
ETag
ETagの生成
弱いETag
セッション
セッションの削除
Cookie
添付ファイル
ストリーミング
接続の維持
限定されたストリーミング
まとめ
3章 内部の仕組み
アプリケーションと委譲
内部のself
getの定義元
実装の考察
ヘルパと拡張
Sinatra拡張の作成
ヘルパ
モジュールを使用しないヘルパ
ヘルパと拡張の結合
リクエストとレスポンス
Rack
Sinatraを起動しないSinatra
Rackの働き
ミドルウェア
Sinatraとミドルウェア
ディスパッチ
ディスパッチの応用
結合の変更
まとめ
4章 Modularアプリケーション
Sinatraのサブクラス化
Modularアプリケーションの実行
run!の使用
rackupの使用
settingsについて
settingsとクラス
サブクラスのサブクラス化
ルート継承
アーキテクチャ
サブクラスの動的な生成
Rackの有効活用
クラスの結合
ミドルウェア結合
カスケード
ルータの使用
戻り値の使用
ルータとしてのSinatraの使用
拡張とModularアプリケーション
ヘルパ
拡張
まとめ
5章 実践:カスタムブログエンジンの作成
ワークフローの概念
ファイルベースのブログエントリ
Gitの使用
半静的ページ
実装
ブログエントリの表示
Markdownのレンダリング
記事の生成
インデックスの追加
基本レイアウトの追加
Gitの統合
コンテンツの再生成
変更のプル
適切なキャッシュヘッダ
アプリケーションの組み立て
Rackの使用
GitHubでのセットアップ
Bitbucketのセットアップ
post-receiveフックの使用
Herokuを使用する場合
まとめ