SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CodeZineニュース

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

  • このエントリーをはてなブックマークに追加

  • このエントリーをはてなブックマークに追加

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

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

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

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

仕様

目次

  • 第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(エドテックジン)」...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6594 2012/05/22 12:50

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング