CodeZine連載を大幅加筆、『CoffeeScriptファーストガイド』5月25日発売

CodeZine / 2012年5月22日 12時50分

 CodeZineの人気連載「CoffeeScriptによるモダンなWebアプリケーション開発」を大幅に加筆修正し一冊にまとめ上げた『CoffeeScriptファーストガイド』が、5月25日に翔泳社から刊行されます。

 「CoffeeScript」は、最近のWeb/スマートフォンアプリ開発に欠かせないJavaScriptを、より簡潔に少ないコーディング量で記述可能にする簡易言語で、開発効率の向上を求める開発者たちの間で近年注目されています。

 本書では、CoffeeScriptの開発環境構築から始まり、文法、便利なライブラリ、テスト技法、ベストプラクティスと幅広くカバー。開発ノウハウを豊富なサンプルコードとともに凝縮しており、CoffeeScriptの初心者はもちろん、既存ユーザーにもご活用いただける内容に仕上がりました。

(※ベストプラクティスもCodeZineに未掲載の内容が多く含まれています)

●仕様



書名: 『CoffeeScriptファーストガイド ~モダンJavaScriptによるアプリケーション開発』 著者: 飯塚 直 著 頁数: 352ページ 定価: 2,940円(2,800円+税) 判型: B5変形 色数: 1色 刊行日: 2012年5月25日 ISBN: 978-4-7981-2599-2 ●目次

第1章 CoffeeScriptの概要 1-1 CoffeeScriptとは/CoffeeScriptが登場する前/CoffeeScriptの登場と広まり 1-2 CoffeeScriptの開発環境/Node.jsのインストール 1-3 プログラムの実行/coffeeコマンドでプログラムを実行する 第2章 基礎的な文法 2-1 文法の基本/CoffeeScriptの基本形 2-2 関数/引数を取る関数 2-3 文字列/変数展開/複数行に分けて書く 2-4 コメント/コメントをコンパイル後にも残す 2-5 配列 2-6 オブジェクト 2-7 変数のスコープ 2-8 条件分岐/if/else 2-9 ループ・繰返し/配列に対するループ 2-10 演算子/比較は常に厳密 2-11 例外処理 第3章 応用的な文法 3-1 レンジ/レンジの基礎知識 3-2 関数にthisを束縛する/thisの値はどのように決まるのか 3-3 存在演算子/変数や関数が存在するか調べる 3-4 引数の扱い/引数を配列で受け取る可変長引数 3-5 クロージャ/クロージャの基礎知識 3-6 分割代入/分割代入の基礎知識 3-7 CoffeeScriptの便利なテクニック/複数行にわたる正規表現/JavaScriptの埋込み 3-8 グローバル変数を作る/JavaScriptにおけるグローバル変数 3-9 CakeとCakefileでビルド環境を作る/CakeとCakefile/タスクを作る 第4章 クラスを作る 4-1 クラスとは何か/クラスの基礎知識/JavaScriptにおけるクラス 4-2 クラスの定義/クラスとインスタンスの作成 4-3 クラスの継承/継承により新しいクラスを作成する 4-4 プロパティ作成のテクニック/静的なプロパティ/プライベートなプロパティを作る 第5章 ライブラリを使って開発を楽にする 5-1 Underscore.jsの準備/Underscore.jsの読込み/ライセンス 5-2 コレクション用の関数/each 5-3 配列用の関数/flatten/without/uniq 5-4 関数用の関数/memoize 5-5 オブジェクト用の関数/keys/values/clone 5-6 文字列用の関数/escape/template 5-7 非同期処理のフロー制御/Node.jsでの読込み/ブラウザでの読込み 第6章 テストとデバッグ、開発のヒント 6-1 テストの基礎知識/ソフトウェアにおけるテスト/テストはどのようなプログラムに必要か 6-2 テスト環境の準備/ブラウザでの準備 6-3 テストを書く/基本的なMochaのテストの書き方 6-4 デバッガの使用/Node.js環境で使えるデバッガ 6-5 ドキュメントの生成/ドキュメントを書く 6-6 ベンチマーク 6-7 よくあるエラーやミス/ReferenceError/TypeError 第7章 Node.js向け開発のベストプラクティス 7-1 イベント駆動型のプログラムをきれいに作る 7-2 Node.jsのモジュールシステム/Node.jsとブラウザの両方に対応したライブラリを作る 7-3 URLからコンテンツを取得する 7-4 コマンドラインプログラムの開発 7-5 ヘッドレスブラウザ/PhantomJSのインストール 7-6 Webアプリケーションの開発/インストール 7-7 データベースへのアクセス/O/Rマッピング/Sequelizeのインストール 7-8 ログ出力/winstonのインストール/winstonの使い方 7-9 マルチプロセス化/子プロセスを起動してメッセージをやりとりする 7-10 エラー処理 7-11 デーモン化/foreverのインストール/foreverの使い方 7-12 開発から本番運用に至るまで/バージョン管理/バグトラッカー/負荷テスト 7-13 プロファイラ 7-14 npmパッケージの開発 7-15 ライブラリの探し方 第8章 ブラウザ向け開発のベストプラクティス 8-1 JSONを扱う 8-2 jQuery/スマートフォン向けのjQuery代替ライブラリ 8-3 HTML5を土台を利用して作る/HTML5 Boilerplateの使い方/Google Chrome Frame 8-4 UIのライブラリ/Twitter Bootstrap 8-5 HTML5やCSS3のサポート状況を判別する/Modernizrの使い方 8-6 Ajaxコンテンツのルーティング/Sammy.jsの使い方 8-7 DOMの準備完了を待つ 8-8 パフォーマンス向上のためのテクニック/リクエスト数を減らす/JavaScriptやCSSを外部ファイル化する/CSSスプライト 8-9 検索エンジンのコントロール/robots.txtの記述方法 8-10 外部JavaScriptの文字コード 8-11 複数のファイルに分ける 8-12 JavaScriptを最適化する 8-13 JavaScriptファイルの結合 8-14 ライブラリをCDNからロードする 8-15 ブラウザでのテストを自動化する/Selenium 8-16 プロファイラを使う/ボトルネックを見つける 8-17 古いInternet Explorerでの検証 8-18 クライアント側のエラーログを収集する 8-19 ユーザーの行動解析ツールの設置/プライバシーポリシーの明記 8-20 複雑なテンプレートの使用 8-21 WebSocketをクロスブラウザで使う/Socket.IOのインストール(サーバ側)/Socket.IOの使い方(サーバ側) 8-22 KnockoutでUIの表示を動的に変更する/Knockoutの使い方 8-23 CoffeeScriptをブラウザで直接実行する/text/coffeescriptの使い方 8-24 CSSのトレンド  

CodeZine

トピックスRSS

ランキング