入門 Sinatra

―Web制作のためのシンプルなRuby DSL

[cover photo]
TOPICS
Programming , Web , Ruby
発行年月日
ISBN
978-4-87311-559-7
原書
Sinatra: Up and Running
FORMAT
EPUB
Ebook
1,870円
Ebookを購入する

Webサイト、Webサービス、WebアプリケーションをRubyで作成するためのDSL、それがSinatraです。本書は、基本的なRubyのプログラミングを理解したプログラマが、Sinatraを使い始めるために必要な知識をコンパクトにまとめた書籍です。ルーティング、ビュー、キャッシュなどを使ったアプリケーションの書き方から、内部構造の解説や、サブクラス化を用いたModularスタイルのアプリケーションを解説。さらにはカスタムブログエンジンを例に、アプリケーション構築の全体を紹介します。なお本書はEbookのみの販売となります。

目次

はじめに
    本書の対象読者
    本書の構成
       基礎
       さらに詳しく
       実践
    本書の表記規約
    サンプルコードの利用について
    お問合せ先

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を使用する場合
    まとめ