質問はTwitterへ #RESTudy をつけてどうぞ。
「第10章 HTML」はXHTML1.0/1.1をベースとして書かれていますが、現在の標準はHTML5ですので、細かい部分で違いがあります。
HTML5においては、p.159の5つ以外の文字実体参照(実体参照)、数値文字参照(文字参照)は使う必要がありません。UTF-8でそのまま記述しましょう。
HTML5においては、ブロックレベル要素、インライン要素という区別はなくなり、新しいコンテンツモデルとそのカテゴリが導入されています。フローコンテンツ、フレージングコンテンツ、などです。
例:
div要素はフローコンテンツで、中にはフローコンテンツを含むことができる。
p要素はフローコンテンツで、中にはフレージングコンテンツを含むことができる。
span要素はフローコンテンツ・フレージングコンテンツで、中にはフレージングコンテンツを含むことができる。
a要素はフローコンテンツ・フレージングコンテンツ・インタラクティブコンテンツで、中に含むことのできるコンテンツは親要素を引き継ぐ(トランスペアレント)。ただしインタラクティブコンテンツは含むことができない。
参考: http://ascii.jp/elem/000/000/652/652795/
これによって、例えばa要素の中にdiv要素を入れるということがHTML5では可能になっています。
ブラウザのデベロッパーツールを使いましょう。
Windows: F12 か Ctrl+Shift+i
Mac: command+option+i
HTMLソースコードを見たり、リクエスト/レスポンスを見て、HTTPのルールに沿っているかどうか、RESTfulかどうかを調べましょう。
http://www.slideshare.net/t_wada/restful-web-design-review
スライドを読んで、感じたこと、疑問点などをグループで話し合いましょう。 スライド中の用語に関して理解が不安なときは「Webを支える技術」のページを振り返ってみましょう。
p.8
- 対象となるデータを認識する
多くの場合、先にRDBテーブル設計が必要になります。そうすると、まずテーブルとカラムが対象になります。
- 対象となるデータをリソースに分ける
ただし、リソースの粒度がテーブル単位とは限らないことに注意しましょう。
p.12
Tumblr の奇妙なURL
これは何が問題でしょうか?
URLが右にいくに従って自然な階層構造/サブセットになっているか
URLは「/」で区切られた階層構造。URLの末尾を削っていってもアクセスできるかどうかが目安です。
p.13
リソースとリソースの関係を表す第三のリソースを探す
これはRDBテーブル設計で交差テーブルを見つけるときにも重要です。
- subscription (user <=> magazine)
- belonging, membership (user <=> group)
- friendship, relationship (user <=> user)
- tagging (thing <=> tag)
- categorization (thing <=> category)
もっと挙げてみましょう。
GET 重要。とても重要。
GETできないリソースを作ってしまったら何かがおかしいといえます。
DOM Scripting の原則に従う
- Progressive Enhancement
- Graceful Degradation
- Unobtrusive JavaScript
JavaScriptがないと全く使えないようにするのはなるべくやめましょう シングルページアプリケーションは本当に必要かをよく考える
初回発表時に出た議論メモ http://qiita.com/tkawa/items/bedc9dbcf9547d0df313