CodeZineの人気連載「CoffeeScriptによるモダンなWebアプリケーション開発」を大幅に加筆修正し一冊にまとめ上げた『CoffeeScriptファーストガイド』が、5月25日に翔泳社から刊行されます。
「CoffeeScript」は、最近のWeb/スマートフォンアプリ開発に欠かせないJavaScriptを、より簡潔に少ないコーディング量で記述可能にする簡易言語で、開発効率の向上を求める開発者たちの間で近年注目されています。
本書では、CoffeeScriptの開発環境構築から始まり、文法、便利なライブラリ、テスト技法、ベストプラクティスと幅広くカバー。開発ノウハウを豊富なサンプルコードとともに凝縮しており、CoffeeScriptの初心者はもちろん、既存ユーザーにもご活用いただける内容に仕上がりました。
(※ベストプラクティスもCodeZineに未掲載の内容が多く含まれています)
仕様
![](http://cz-cdn.shoeisha.jp/static/images/article/6594/6594_cover.jpg)
- 書名: 『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のトレンド
【関連リンク】
・CoffeeScriptファーストガイド(翔泳社/SEshop.com)
・CoffeeScriptファーストガイド(Amazon)
・CoffeeScriptによるモダンなWebアプリケーション開発(CodeZine)
この記事は参考になりましたか?
- この記事の著者
-
斉木 崇(編集部)(サイキ タカシ)
株式会社翔泳社 ProductZine編集長。1978年生まれ。早稲田大学大学院理工学研究科(建築学専門分野)を卒業後、IT入門書系の出版社を経て、2005年に翔泳社へ入社。ソフトウェア開発専門のオンラインメディア「CodeZine(コードジン)」の企画・運営を2005年6月の正式オープン以来担当し、2011年4月から2020年5月までCodeZine編集長を務めた。教育関係メディアの「EdTechZine(エドテックジン)」...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です