Monthly Archives: 9月 2016

「シングルページWebアプリケーション」第40回(9/30)

Posted on by 0 comment

参加者 沼田(読み手)、今井(記)

範囲 pp.450-460

付録B SPAのテスト

  • B.4 テストスイートを作成する
    • B.4.5 テストスイートを作成する
      • B.4.5.1 初期状態とサインインのテストを追加する (p.450 // /loginAsFred/開始 から)
        • p.451 ⑧のところのコード行頭 衍字
          x$.when$.when
        • p.451 下から4行目のコード
          {, user }は、{ user }の間違いか。
      • B.4.5.2 メッセージやり取りのテストを追加する
        • p.454 ⑧と⑨
          コードと説明が逆
      • B.4.5.3 アバター、サインアウト、サインアウト状態のテストを追加する。(p.460 // /testLogout_State/終了 まで)
        • p.459 中ほどのコメント 衍字
          // Freadとしてログアウトする// Fredとしてログアウトする

「シングルページWebアプリケーション」第39回(9/27)

Posted on by 0 comment

参加者 今井(読み手)、沼田、青木(記)

範囲 pp.439-450

付録B SPAのテスト

  • B.3 nodeunitを準備する
    • p.439 下から3行目 .bashrcに環境変数の設定を追記しているが、.bashrcの書き方によっては反映されない危険性がある。
  • B.4 テストスイートを作成する
    • B.4.1 Node.jsにモジュールをロードさせる
      • p440 下から2行目 以下その方法 → 以下その方法
    • B.4.2 単一のnodeunitテストを準備する
      • p.444 Node.js Manual & Documentationはここ
    • B.4.3 最初の実際のテストを作成する
      • p.445 nodeunit_suite.jsの実行コマンド間違い $ nodeunit nodeunit_test.jp → $ nodeunit nodeunit_suite.jp
    • B.4.4 イベントとテストを策定する
    • B.4.5 テストスイートを作成する
      • B.4.5.1 初期状態とサインインのテストを追加する(testInitialStateの終わりまで)

「シングルページWebアプリケーション」第38回(9/23)

Posted on by 0 comment

参加者 青木(読み手)、今井(記)

範囲 pp.386-392, 433-439

9章 SPAを本番環境に備える

  • 9.3 キャッシングとキャッシュバスティング
    • 9.3.4 サーバキャッシング (p.386 例9-5の下から)
      • p.387 本文最終行 まちがい
        9-6に示す。 → 例9-6に示す。
      • p.388 コード中 ④の位置
        setValueメソッドの説明なので、④は一行上
    • 9.3.5 データベースクエリキャッシング
  • 9.4 まとめ

(付録Aは、第7回~第10回で読書済み)

付録B SPAのテスト

  • B.1 テストモードを準備する
  • B.2 テストフレームワークを選ぶ

「シングルページWebアプリケーション」第37回(9/20)

Posted on by 0 comment

参加者 今井(読み手)、沼田、青木(記)
範囲 pp.373 – 386

9章 SPAを本番環境に備える

  • 9.2 クラウドサービスとサードパーティーサービス
    • 9.2.2 クライアント側のエラーをロギングする
      • 9.2.2.1 サードパーティクライアントロギング
      • 92.2.2 クライアント側のエラーを手動でロギングする
    • 9.2.3 コンテンツデリバリネットワーク
  • 9.3 キャッシングとキャッシュバスティング
    • 9.3.1 キャッシングの機会
    • 9.3.2 Webストレージ
      • p.379 例9-2 「+date.getMonth(」の閉じ括弧がない。
    • 9.3.3 HTTPキャッシング
      • 9.3.3.1 max-age
      • 9.3.3.2 no-cache
      • 9.3.3.3 no-store
      • 9.3.3.4 last-modified
        • HTTPレスポンスヘッダにはEtagもある。
        • p.383 下から2行目 「リクエストが高速なるが」→「リクエストが高速なるが」
    • 9.3.4 サーバキャッシング(例9-5まで)

「シングルページWebアプリケーション」第36回(9/16)

Posted on by 0 comment

参加者 青木(読み手)、今井、沼田(記)
範囲 pp.363 – 373

8章 サーバデータベース

  • 8.6 チャットモジュールを構築する
    • 8.6.5 updateavatarメッセージハンドラを作成する
      • p.364 l.2末尾
        これを実現する(衍字)
      • p.365 /updateavatar/メッセージハンドラの引数のコメント
        2つ目のavtr_mapの前に句点が必要では。
  • 8.7 まとめ

9章 SPAを本番環境に備える

  • 9.1 SPAを検索エンジンに対して最適化する
    • 9.1.1 GoogleでのSPAのクロール方法
      • p369 図9-1の下の段落の内容
        クローラーは#!があったらこのような探し方をするということ?
  • 9.2 クラウドサービスとサードパーティーサービス
    • 9.2.1 サイト分析
      • 9.2.1.1 Googleイベント
      • 9.2.1.2 サーバ側のGoogle Analytics

「シングルページWebアプリケーション」第35回(9/13)

Posted on by 0 comment

参加者 沼田(読み手)、青木、今井(記)

範囲 pp.349-363

8章 サーバデータベース

  • 8.5 個別のCRUDモジュールを作成する (p.349 例8-25から)
    • p.350 ⑧のdeleteが、postではなくgetで実装されているのが違和感がある。
  • 8.6 チャットモジュールを構築する
    • 8.6.1 チャットモジュールに着手する
    • 8.6.2 adduserメッセージハンドラを作成する
      • p.355 例8-29
        • ① chatObjは太字になっているが、変更点ではなく以前から宣言されていた。
        • ユーティリティメソッドは、開始のコメント以外は太字になっていないが、ユーティリティメソッド全体が追加されたところ。
      • p.357 ⑫説明4行目 スペルミス
        chtterMap → chatterMap
    • 8.6.3 updatechatメッセージハンドラを作成する
      • p.360 コード内、数字の位置がおかしい
        • ②はifのところ
        • ③はelseのところ
    • 8.6.4 disconnectメッセージハンドラを作成する
      • p.361 コード②のところ
        }が太字になっていない。

「シングルページWebアプリケーション」第34回(9/9)

Posted on by 0 comment

参加者 今井(読み手)、沼田、青木(記)

範囲 pp.336-349

8章 サーバデータベース

  • 8.4 クライアントデータを検証する
    • 8.4.2 オブジェクトを検証する
      • 8.4.2.5 受信クライアントデータを検証する
  • 8.5 個別のCRUDモジュールを作成する
    • 8.5.1 ファイル構造を用意する
    • 8.5.2 CRUDを固有のモジュールに移す(例8-25の前まで)

「シングルページWebアプリケーション」第33回(9/6)

Posted on by 0 comment

参加者 青木(読み手)、沼田、今井(記)

範囲 pp.325-336

8章 サーバデータベース

  • 8.3 MongoDBドライバを使う
    • 8.3.4 サーバアプリケーションにCRUDを追加する (p.325 図8-3の下から)
      • p.327 コード ④の2行上 ミスタイプ
        obj_typeeobj_type
  • 8.4 クライアントデータを検証する
    • 8.4.1 オブジェクト型を検証する
      • p.329 コード内
        "css_map":{ の閉じカッコが無い。2か所。
    • 8.4.2 オブジェクトを検証する
      • 8.4.2.1 JSVモジュールをインストールする
      • 8.4.2.2 JSONスキーマを作成する
      • 8.4.2.3 JSONスキーマをロードする
      • 8.4.2.4 検証関数を作成する
        • p.336 ③説明
          ここに書かれている’object’は、オブジェクト(obj_map) の意味だろう。コードで書かれている引数順と説明の順が異なるのでわかりにくかった。

「シングルページWebアプリケーション」第32回(9/2)

Posted on by 0 comment

参加者 沼田(読み手)、青木、今井(記)

範囲 pp.312-325

8章 サーバデータベース

  • 8.1 データベースの役割
    • 8.1.2 データ変換をなくす
    • 8.1.3 必要な場所にロジックを移す
  • 8.2 MongoDBとは
    • 8.2.1 ドキュメント指向ストレージ
    • 8.2.2 動的ドキュメント構造
    • 8.2.3 MongoDBを始めよう
  • 8.3 MongoDBドライバを使う
    • 8.3.1 プロジェクトファイルを準備する
    • 8.3.2 MongoDBをインストールして接続する
      • p.320 例8-4
        ④のdbHandle.open()はモジュールスコープ変数ではないので、コメントの位置がおかしい。
      • p.320 例8-5
        ①の前の1)は削除し忘れ?
    • 8.3.3 MongoDBのCRUDメソッドを使う
    • 8.3.4 サーバアプリケーションにCRUDを追加する (p.325 図8-3まで)