Monthly Archives: 8月 2016

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

Posted on by 0 comment

参加者 今井(読み手)、沼田(記)
範囲 pp.301 – 312

7章 Webサーバ

  • 7.5 WebSocketとSocket.IO
    • 7.5.1 簡単なSocket.IO
      • 例7-27 ②
        位置がずれている(app.configureではなくcountUpの説明だろう)。
    • 7.5.2 Socket.IOとメッセージングサーバ
      • l.8
        以下そのメリットの一部を示す、のほうが自然では。
    • 7.5.3 Socket.IOを使ってJavaScriptを更新する
      • 例7-33 ③
        connectの引数のURLはポート番号は指定しなくてよいのだろうか?
      • 例7-33 ④
        scriptの閉じタグを</scrとript>で分けているのは何故?
  • 7.6 まとめ

8章 サーバデータベース

  • 8.1 データベースの役割
    • 8.1.1 データストアの選択

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

Posted on by 0 comment

参加者 青木(読み手)、沼田(記)
範囲 pp.288 – 301

7章 Webサーバ

  • 7.3 高度なルーティング
    • 7.3.1 ユーザCRUDルート
      • 7.3.1.3 ユーザオブジェクトを読み取るルートを作成する
        • p.289 l.1
          正規表現パターンの括弧がコード例とは逆。コード例が正しい?
      • 7.3.1.4 ユーザの更新や削除を行うルートを作成する
    • 7.3.2 汎用CRUDルーティング
    • 7.3.3 ルーティングを別個のNode.jsモジュールに配置する
      • 7.3.3.1 Nodeモジュール
      • 7.3.3.2 ルーティングをモジュールに移行する
  • 7.4 認証と認可を追加する
    • 7.4.1 ベーシック認証

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

Posted on by 0 comment

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

範囲 pp.273-288

7章 Webサーバ

  • 7.2 Node.js
    • 7.2.2 Node.jsを使って「Hello World」を作成する (p.273 下方コードの上2行目~)
      • p.276 methodはGET, POSTだけ?
        → Node.js APIで明確に書かれているところは見つけられなかったが、「例としてGET, DELETE」と書かれていたので他のもあるのだろう。
    • 7.2.3 Connectをインストールして使う
    • 7.2.4 Connectミドルウェアを追加する
      • p.278 コード下から6行目 connect.logger()の'()’は必要?
        → loggerは関数を戻す関数。loggerの引数でフォーマットなどを指定できる。
    • 7.2.5 Expressをインストールして使う
    • 7.2.6 Expressミドルウェアを追加する
    • 7.2.7 Expressで環境を使う
    • 7.2.8 Expressで静的ファイルを提供する
  • 7.3 高度なルーティング
    • 7.3.1 ユーザCRUDルート
      • 7.3.1.1 ユーザリストを取得するルートを作成する
      • 7.3.1.2 ユーザオブジェクトを生成するルートを作成する
        • p.287 囲み
          curlの例でPOSTメソッドの指定はしなくて良い? → ‘-d’オプションを使用するとPOSTが使用される。

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

Posted on by 0 comment

参加者 今井(読み手)、沼田(記)
範囲 pp.258 – 273

II部 SPAクライアント

6章 モデルとデータモジュールの完成

  • 6.5 アバター機能モジュールを作成する
    • 6.5.2 アバタースタイルシートを作成する
      • 例6-16 ②
        text-overflow:ellipsisを設定すると領域をはみ出たテキストを省略して末尾に三点リーダを表示する
    • 6.5.3 シェルとブラウザドキュメントを更新する
    • 6.5.4 アバター機能モジュールをテストする
  • 6.6 データバインディングとjQuery
  • 6.7 データモジュールを作成する
    • 例6-21 makeSioのreturnのonに入れている関数
      callbackを呼び出すときのargumentsは何?
  • 6.8 まとめ

III部 SPAサーバ

7章 Webサーバ

  • 7.1 サーバの役割
    • 7.1.1 認証と認可
    • 7.1.2 検証
    • 7.1.3 データの保存と同期
  • 7.2 Node.js
    • 読み方は「のーどじぇいえす」のようです
    • Twisted
    • Tornado

    • 7.2.1 なぜNode.jsなのか
      • p.271 最後の行
        サーバがアプリケーションである、とはどういう意味?
    • 7.2.2 Node.jsを使って「Hello World」を作成する(サーバ起動後の説明まで)

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

Posted on by 0 comment

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

範囲 pp.246-258

6章 モデルとデータモジュールの完成

  • 6.4 チャット機能モジュールを完成させる
    • 6.4.2 スタイルシートを更新する (p.246 コード下本文~)
    • 6.4.3 チャットUIをテストする
  • 6.5 アバター機能モジュールを作成する
    • 6.5.1 アバターJavaScriptを作成する
      • p.256 コード下方 $boxの定義
        最後に appnedTo() しているし他でも使用されていないので、$box変数は不要なのではないか。

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

Posted on by 0 comment

参加者 今井(読み手)、沼田(記)
範囲 pp.237 – 246

6章 モデルとデータモジュールの完成

  • 6.4 チャット機能モジュールを完成させる
    • 6.4.1 チャットJavaScriptを更新する(コラム「イベントハンドラ名について」の下~)
      • p.242 jqueryMap.$list_boxに対する操作
        end()
      • p.242 onListchangeメソッドで宣言している変数
        vlist_htmlと宣言しているがlist_htmlの間違いだろう。
      • p.243 1行目
        list_htmlは宣言時に初期化しているので、ここでのString()の代入は不要では?
      • p.243
        8行目と9行目は全く同じで8行目はコメントアウトされている。このコメントは必要?
    • 6.4.2 スタイルシートを更新する(リセットまで)

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

Posted on by 0 comment

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

6章 モデルとデータモジュールの完成

  • 6.2 chatオブジェクトを構築する
    • 6.2.6 チャットメッセージングをテストする
      • p.229 説明の⑯と⑰、⑲と⑳の並び順が逆
  • 6.3 モデルにアバターをサポートする
    • 6.3.1 chatオブジェクトにアバターサポートを追加する
      • p.230 例6-8
        update_avatarメソッドの引数名がコメントとコードで異なる
        background-colorだけシングルクオートがついているのはなぜ?
    • 6.3.2 アバターを模倣するようにフェイクを修正する
    • 6.3.3 アバターサポートをテストする
    • 6.3.4 テスト駆動開発
  • 6.4 チャット機能モジュールを完成させる(コラム「イベントハンドラ名について」まで)
  • 6.4.1 チャットJavaScriptを更新する

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

Posted on by 0 comment

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

範囲 pp.219-228

6章 モデルとデータモジュールの完成

  • 6.2 chatオブジェクトを構築する
    • 6.2.3 chat.joinメソッドをテストする
      • p.220 例6-4 ②内
        argumentsは何?
        → 関数定義の仮引数に関係なく、その関数が呼び出されたときに指定された実引数をすべて持っているオブジェクト。
    • 6.2.4 chatオブジェクトにメッセージングを追加する
      • p.222 ④説明 脱字
        spasetchatee → spa-setchatee , spaupdatechat → spa-updatechat
      • p.224 中ほど
        join_chat関数定義内、二つ目のifの閉じカッコ’}’からreturnまでインデントがずれている。
    • 6.2.5 メッセージングを模倣するようにフェイクを更新する

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

Posted on by 0 comment

参加者 今井(読み手)、沼田(記)
範囲 pp.206 – 219

5章 モデルの構築

  • 5.5 シェルでサインインとサインアウトを可能にする
    • 5.5.4 UIを使用してサインインとサインアウトをテストする
      • 本文ではsign inだが図ではsign-inとなっている。
  • 5.6 まとめ

6章 モデルとデータモジュールの完成

  • 6.1 chatオブジェクトを設計する
    • 6.1.1 メソッドとイベントを設計する
      • 6.1.1.1 チャットメソッドを設計する
        • set_chateeメソッド
          指定されたユーザがすでにチャット相手の場合にfalseを返すのは後続の処理を再実行しないためだろう。
      • 6.1.1.2 チャットイベントを設計する
        • 各メソッドの成功時の返り値の記載がないが、trueを返すのだろう。
        • update_avatarメソッドの引数の説明も、他にあわせて値には<と>をつけたほうがよいのでは。
    • 6.1.2 chatオブジェクトAPIを文書化する
  • 6.2 chatオブジェクトを構築する
    • 6.2.1 joinメソッドを持つchatオブジェクトから始める
    • 6.2.2 chat.joinに応答するようにフェイクを更新する
      • 例6-3のpeopleListの各css_map
        background-colorだけシングルクォートがついているが不要では?