読者です 読者をやめる 読者になる 読者になる

すがブロ

sugamasaoのhatenablogだよ

パーフェクトRuby on Railsという書籍が出ます

6/6発売となります

パーフェクト Ruby on Rails

パーフェクト Ruby on Rails

まだAmazonだと書影や目次がでていませんね。

これが表紙です!!

f:id:seiunsky:20140516111941j:plain

目次などの一次ソースは http://gihyo.jp/book/2014/978-4-7741-6516-5 を見ていただければと思います。

一応、書籍の目次を書いておきますね。

■■Part 1 Rails ~ overview

■1章 Ruby on Railsの概要

1-1 Railsを使う前に
1-2 Railsの思想
1-3 Railsをはじめよう!!
1-4 scaffoldを使ってRailsでの開発を体験しよう

■2章 Ruby on RailsとMVC

2-1 MVCアーキテクチャ
2-2 モデル
2-3 コントローラの役割
2-4 ビューの役割
2-5 MVCについてのまとめ

■■Part 2 実践テクニック

■3章 アセット

3-1 Sprockets
3-2 CoffeeScript
3-3 Sass
3-4 Turbolinks

■4章 Railsのロードパスとレイヤーの定義方法

4-1 MVC以外の構成要素の扱い
4-2 レイヤーを追加するgemの例

■5章 開発を効率化するgem

5-1 サンプル用のRailsプロジェクトを用意する
5-2 PryをRailsのコンソールとして利用する
5-3 Hirbを使ってコンソール上のモデルの出力を整形する
5-4 Better Errorsでエラー画面をよりリッチに表現する
5-5 Springでコマンドを高速化する
5-6 rails-erdでモデルのER図を生成する

■■Part 3 実践Webアプリケーション開発

■6章 Railsアプリケーション開発

6-1 イベント告知アプリケーションを作る
6-2 アプリケーションの作成と下準備
6-3 OAuthを利用して「Twitterでログイン」機能を作る
6-4 イベントの登録機能を作る
6-5 イベントの閲覧機能を作る
6-6 イベントの編集・削除機能を作る
6-7 登録されたイベントへの参加機能,参加キャンセル機能を作る
6-8 退会機能を作る 
6-9 落穂ひろい
6-10 gemで機能拡張をする

■7章 Railsアプリケーションのテスト

7-1 なぜテストコードを書くのか
7-2 minitest/RSpec
7-3 テストを実行するための環境を整える
7-4 モデルのテスト
7-5 コントローラのテスト
7-6 ビューのテスト
7-7 エンドツーエンドのテスト
7-8 JavaScriptのテスト
7-9 TDDの考え方
7-10 CI(継続的インテグレーション)
7-11 カバレッジと静的解析

■8章 Railsのインフラと運用

8-1 はじめに ── DevOpsとは何か?
8-2 VagrantでローカルにVMを作る
8-3 Chefを用いた本格的なサーバ構成管理
8-4 デプロイをする
8-5 New Relicによるアプリケーションの監視
8-6 serverspecとインフラのテスト
8-7 終わりに

■■Part 4 一歩先行くRails

■9章 より実践的なモデルの使い方

9-1 アーキテクチャパターンから見るRails
9-2 複雑なバリデーションとコールバックを整理する
9-3 DBに依存しないモデルを作るActiveModel
9-4 値オブジェクト
9-5 Concern
9-6 サービスクラス 
9-7 終わりに

■10章 Railsを拡張する

10-1 Railsを支えるgemたち
10-2 Rack Middlewareを作る
10-3 プラグインを作る - Railtieについて 
10-4 終わりに 

誰が読むと嬉しいの

この本の対象読者として、我流でRailsを使っていて参考になる話を読みたいという人、あるいは別のWebアプリケーションフレームワーク(例えばナントカPHPとかそういうMVC系のもの)を扱っていて、さてRailsを使ってみようという人がちょうど良いのかなと思います。

「これからRailsでWebアプリケーションを作りたい」という人であれば、別の入門書を読んでから(あるいはRailsチュートリアルをやってから)2冊目として読むのに良いかなと思います。

内容とか見どころ

Rails 4.1に対応しているということで、EnumやVariantについても解説されています。Part3で扱っているアプリケーションもRails 4.1をベースとしているので、secrets.ymlを使ったりしていますので、この本をふつーに読むとRails 4.1の機能を知ることができると思います。

この本の見どころとしては、Railsアプリを作るという点もそうですが、その後のデプロイ(herokuにpushしてワーイでは終わるわけではない)や監視まで含んで言及しているという点が挙げられます。

また、fat model 問題に対して、どのようにアプローチしていくか、というのを9章で語っています。ここらへんは実際にRailsで開発しているとどうにかしたいんだけど、どうすりゃ良いのっていう部分でもあると思うので、開発の指針として参考になればと思います。

執筆についていくつかのこと

今回もパーフェクトRubyと同じくRe:VIEW + GitHubのプライベートリポジトリを使って書きました。 また、チャットやGitHubへのpushやビルド結果の通知などはidobata.ioを使いました。本当に便利すぎてやばい。

執筆フローはだいたいこんな感じ

  • Re:VIEWで原稿を書いてGitHubへpush(PRベース)
  • 自宅サーバのJenkinsが該当ブランチの原稿をHTMLへビルド
  • HTMLみつつレビューを行う
  • issue上あるいはidobata上で内容について意見を合わせる

あと、必ずやったほうが良いこととして、誤字脱字のチェックとして、形態素解析して綴り間違いみたいのは検出したりしたほうが良い。すくなくとも画面上の文字を読んでいるだけではなかなか気が付かないので……。

というわけで、今回は最終的なPDFになったあと、brew popplerでインストールされたツール群の中にあるpdftotextを使ってテキストを抜き出し、そのファイルに以下のスクリプトをかまして表記ゆれっぽいのを探した。本当は文字同士の距離?とかを調べてこれとこれは同じ単語じゃね?みたいのを出力できれば良かったんだけど、そこはまぁ得意の目grepでどうにか(ちなみにこのコードはパーフェクトRubyでも使ったヤツ)。

表記ゆれチェッカーもどき

そんなわけで

どうにか発売までこぎ着けましたのでみなさまよろしくお願いいたします。

パーフェクト Ruby on Rails

パーフェクト Ruby on Rails

ついでにこちらもよろしくお願いいたします。

パーフェクトRuby (PERFECT SERIES 6)

パーフェクトRuby (PERFECT SERIES 6)

Webアプリエンジニア養成読本[しくみ、開発、環境構築・運用…全体像を最新知識で最初から! ] (Software Design plus)

Webアプリエンジニア養成読本[しくみ、開発、環境構築・運用…全体像を最新知識で最初から! ] (Software Design plus)