タグ

ブックマーク / yohei-y.blogspot.com (35)

  • yohei-y:weblog: 『Webを支える技術 ── HTTP、URI、HTML、そしてREST』という本を書きました

    このブログ、1年近くご無沙汰していました。その間なにをやっていたかというと、実はずっとを書いていました。『Webを支える技術 ── HTTP、URI、HTML、そしてREST』というなんとも挑戦的な題名のです。技術評論社さんのWEB+DB PRESS Plusシリーズの11冊目で、来月発売される予定です。 Webを支える技術 ── HTTP、URI、HTML、そしてREST山 陽平技術評論社 2010-04-08 このは、WEB+DB PRESSで連載していた「RESTレシピ」という連載がベースになっています。実は連載が1年経ったくらいから、技評さんからは書籍化のオファーをもらっていました。ただ、その時点では書いた分量も少ないし、そもそも自分に雑誌記事とは比べ物にならないくらい分量のあるが書けるとは思っていなかったので、書籍ではなく連載継続という形でトータル2年間連載をしました。

    yohei
    yohei 2010/03/03
    書きました。よろしくおねがいします!
  • yohei-y:weblog: REST 入門(その8) REST でないもの

    » REST 入門 目次 WWW は REST アーキテクチャスタイルのアーキテクチャを採用した実装のひとつですが、 REST アーキテクチャスタイルでないアーキテクチャの WWW アプリケーションもかなり存在します。 REST でないものを一言で言ってしまうと、 URI と HTTP を正しく使っていないもの、ということになります。 以下では URI と HTTP の誤った使い方について説明します。 URI をクライアントで組み立てる URI をクライアント側でごちょごちょ組み立てなければならないのなら、それは REST ではありません。 たとえば、はてなブックマーク AtomAPI が、こんなインターフェースだったらどうでしょう? ブックマークをキーワードで検索する。 POST /uso/bookmarkSearchService HTTP/1.1 Host: b.hatena.ne.

  • ステートレスとは何か

    RestWiki をたまに見直すと新たな発見があって面白い。 たとえば先日、「ステートレスなやりとりとは何か(What is Stateless Interaction?)」という箇所を見つけて、興味深く読んだ。このページは以前も絶対に読んでいるはずなのだが、 人間は忘れてしまうものである。 RestWiki の例でも充分わかりやすいのだけれど、自分でも例を思いついたので書きとめておく。 ステートフルサーバとステートレスサーバはどう違うのか。 まずは、ステートフルの例: 客: こんにちは 店員: いらっしゃいませ。○○バーガーへようこそ 客: ハンバーガーセットをお願いします 店員: サイドメニューは何になさいますか? 客: ポテトで 店員: ドリンクは何になさいますか? 客: ジンジャーエールで 店員: +50円でドリンクをLサイズにできますがいかがですか? 客: Mでいいです 店員:

  • yohei-y:weblog: RESTful Web サービスの読みどころ: 1章プログラマブルWebとWebサービス

    RESTful Web サービスの発売が近付いてきました。 RESTful Web サービスLeonard Richardson Sam Ruby 陽平 株式会社クイープオライリー・ジャパン 2007-12-21 この章では、いわゆる「Web サービス」の概要を解説します。 Web サービス、およびそれを使って実現されるプログラマブルWebでは どのような技術が使われているのか、それらはどのような関係にあるのか がわかると思います。 書のタイトルでもある RESTful な Web サービスを実現するためには、 基的に HTTP, URI, XML, JSON, (X)HTML, 等の知識が必要ですが、 これらの技術を使うだけでは RESTful にはなりません。 単なる XML over HTTP が RESTful でないことがしばしばあります。 Web サービスを REST

    yohei
    yohei 2007/12/14
    都内主要書店の店頭に並ぶのは19か20くらいだそうです↓hiromarkさん
  • yohei-y:weblog: AtomPub が RFC 5023 に/日本語訳を公開します

    AtomPub がついに RFC になりました! RFC 5023 The Atom Publishing Protocol RFC 5023 The Atom Publishing Protocol(HTML) 関係者のブログ Joe Gregorio: RFC 5023 - The Atom Publishing Protocol Sam Ruby: <appdraft>no<app:draft> RFC になるまでずいぶんと長かったように感じますが、 その分完成度は上ったのだと思います。 interop もすでに何回も開催されており、その結果も良好です。 AtomPub は全ての、とはいかないまでも、多くの Web サービスのベースとなることが できるプロトコルです。 たとえば blog 、何らかのデータベース、画像/映像リポジトリ、 Wiki、カレンダー、ソーシャルブックマークなど

  • yohei-y:weblog: REST の勝利宣言と良い XML の見分け方

    ITpro Challenge 行ってきました。 豪華なメンバーでどの講演もとても面白かったですね。 江島さんの講演は、Web 上でサービスをやるとはどういうことなのかについてとても示唆に富んだ話だったし、 鵜飼さんのハッカーのソフト工学の話は職場的にすげータイムリーだったし、 なおやさんの話は同時代を生きてきた、生きている者としてとても共感できる内容だったし、 戀塚さんはこれぞハッカーという感じのすごい人でした。 僕は LT の最後に話をさせてもらったわけですが、 ネタを二つ持っていって聴衆のみなさんに選んでもらうことにしました。 結果は REST が勝ったので、当初の予告どおり REST の話をすることに。 結局お蔵入りになった XML の話ですが、もったいなかったので懇親会でお話させてもらいました。 プレゼン中で引用した Web ページはこちらです。 檜山さんの記事 XML ボキャブ

    yohei
    yohei 2007/09/09
    RPC は悪くないです。Webスケールのシステムに合わないだけ>thrakt。すみません>shinfukui。ありがとう>uzuki-first。そうなのか>C_L。設定ファイルはYAMLでもいいんじゃね。「データがソフトより寿命が長い」は超同意>takwil
  • yohei-y:weblog: APP の標準化作業がほぼ終了

    Tim Bray からアナウンスがあったとおり、 APP の標準化作業がほぼ終了しました。 RFC 番号が付くのはしばらく先だと思いますが、 現状の仕様を実装してもう問題ありません。 最後の draft-17 ベースの仕様が RFC になります。今後の修正は editorial なものだけのはずです。 この先、Web API を設計する人は、まず APP が利用できないか検討しましょう。 APP を採用すれば自然と REST スタイルを採用することになります。 これまで悩みがちだった Web API の設計が、かなり楽になると思います。 Web API を設計する人は、オレオレXMLを設計する前に、Atom/APP をベースにしたらどうなるか、 を考えて見ましょう。きっと Atom/APP は良い選択肢になってくれるはずです。 日では AtomPP で定着しつつあった Atom Publ

    yohei
    yohei 2007/07/27
    その予定です > ↓「WEB+DB 連載で仕様解説期待」
  • yohei-y:weblog: APP Interop in Tokyo

    NTT コミュニケーションズの朝倉さん(実は NAIST の研究室の先輩です)と一緒に 7/30 に Atom Publishing Protocol の接続試験を東京で行います。 http://intertwingly.net/wiki/pie/July2007InteropTokyo 4月に Google Campus で行われたものの日版です。 今のところ参加する予定なのは あさくらさん(ntt.com) 丸さん(ウィザ) shigeta さん miyagawa さん(リモート) たけまるさん 我々 参加されたい方は上記 Wiki に名前を書く、あるいは僕(yoheiy at gmail dot com)までメールください。APP の実装をお持ちの方はぜひ。

  • yohei-y:weblog: [これはすばらしい] mixi ステーション API。ただ一つ注文が…

    via: mixi あしあとAPI発掘 mixi が Atom Publishing Protocl (APP) 対応の Web API を mixi ステーションで利用しているそうだ。 さっそく手元にあった APP クライアントで試してみると 30分くらいであっさりと接続成功。当に素晴しい。 ざっくりと Web API を見させてもらったのだけれど、 拡張タグの使い方などセンスが良いし、さすがという感じだ。 ただ一点だけ、どうしても直してほしいのは APP の service document の名前空間 URI。 これは http://www.w3.org/2007/app が番仕様である。mixi の Web API は古い名前空間を使ってる。 中の人はわかっていると思うんだけど、APP はもう少しで RFC になる。 APP を実装する人は必ず RFC になる名前空間 URI

    yohei
    yohei 2007/07/02
    差し戻しは99%ないです > TAKESAKO
  • yohei-y:weblog: HTTP ステータスコードを正しく使おう

    先月、ぐるなび API がリリースされていました。 ぐるなびさんの持っている膨大なデータベースに Web API を通して気軽にア クセスできるようになったのは、非常に喜ばしいし、その英断に感謝したいと 思います。 しかし、Web API 仕様書、特にエラー仕様を見てちょっとがっかりしました。 もう少し上手にデザインすれば、もっとよかったのに…、という思いです。 一度出してしまった API はそう簡単に変えられないと思いますが、 参考までに僕だったらどうするか、を書いてみます。 この仕様の一番の問題はエラーコードです。 以下は 2-2 のエラー仕様に記述されているサンプルです。 <?xml version="1.0" encoding="UTF-8"?> <gnavi> <error> <code>602</code> </error> </gnavi> タグが三つ(gnavi, erro

    yohei
    yohei 2007/06/18
    それはステータスコードの仕事ではない > cetacea / HTTP ステータスコード == API エラーコード > toton / ボディは plain text じゃなくてもいいよ > nsta
  • yohei-y:weblog: 山田さんの資料

    自己紹介� 名前�� YAMAMOTO Yohei 職業­ ソフトウェアエンジニア(XML guy) 興味 XML/Web サービスの設計一般 連絡先�� yoheiy at gmail dot com 注意書き この日記に記述されている内容は、筆者の個人的な主張や考えであり、筆者の勤務する企業や属する組織とはまったく関係ないことをお断りしておきます。

    yohei
    yohei 2007/05/09
    ↓すみません。置き直しました。http://www.geocities.jp/yamamotoyohei/rest/
  • yohei-y:weblog: 第九回XML開発者の日 終了

    自己紹介� 名前�� YAMAMOTO Yohei 職業­ ソフトウェアエンジニア(XML guy) 興味 XML/Web サービスの設計一般 連絡先�� yoheiy at gmail dot com 注意書き この日記に記述されている内容は、筆者の個人的な主張や考えであり、筆者の勤務する企業や属する組織とはまったく関係ないことをお断りしておきます。

  • yohei-y:weblog: 本3冊

    しばらく時間が空いてしまいましたが、最近気になったを3冊紹介します。 まずは Flickr の中の人、Cal Henderson の Building Scalable Web Site。 REST が設計思想からスケーラビリティを攻めているのに対し、このは実践からいかにスケーラブルなサイトを構築するかを攻めています。 似たような話は古くは LiveJournal の中の人から、 Flickr の中の人まで、 さらに最近は mixi の中の人や はてなブックマークの中の人 (ビデオ)、 ライブドアの中の人まで さまざまなテクニックや経験則を公開してくれていて、まさに高速道路建設中なわけですが、 このはその高速道路のひとつの出口になるんじゃないでしょうか。 ぜひ日語版もほしい一冊だと思います。 Building Scalable Web Sites Callum Henderson

  • yohei-y:weblog: WEB+DB PRESS Vol.32 に REST の記事を書きました

    naoya さんが先に言及してくれてますが、WEB+DB PRESS Vol.32 に 「REST アーキテクチャスタイル入門」という記事を書きました Web アプリケーション開発者の方を対象に Web アプリでの REST から Atom Publishing Protocol まで、 かなり細かく解説したつもりです。 はてな技術発表会で naoya さんが XML 開発者の日の参加報告をしているのを聴いて、 普通の Web アプリケーション開発者の人にももっと REST を知ってもらえたらいいなと感じたのがその理由です。 なのではてなスタッフの方々にはぜひ一人一冊ずつ購入していただければと:-)。 ただ、やっぱり REST は難しいですね。人に説明するたびに思います。記事でわからないことがあれば、ここにコメントしていただければできる範囲で返答しようと思います。

    yohei
    yohei 2006/04/21
    しまった。ツンデレにすればよかった: べ、べつにはてなーずのために REST 解説したわけじゃないんだからねっ!
  • yohei-y:weblog: REST ってやっぱり難しいかも。

    前のエントリでこんなことを書いたばかりだけれど、REST ってやっぱりどうよ、という気分になったので久々に blog を更新してみる。 ただただしさんのおれだったらフォト蔵APIをこうするを読んで、僕が del.icio.us に書いた感想は +1。ID == URI ですよね。Cool URI は名詞であるべき、というのは強調したい。「日REST協会」入りたくないなー(笑)。みんな休んでそう というもの。たださんのエントリでは URI と書くべきところが ID になっててちょっと気になったり、「作法」は「アーキテクチャ」じゃなくて「アーキテクチャスタイル」だ、とか思ったのだけれど、でも筋としては納得の内容だった。 しかし、たださんのエントリの、たかはしさんや mizzy さんのコメントを読んでうーんと唸ってしまった。 僕にはお二人の言いたいことがわかる。んで両方間違っていないと思う。

  • yohei-y:weblog: Atom で件数取得

    なんか催促されちゃったみたいなので :-) 詳しく書いてみます。 はてなのブックマーク件数取得 API いいですね。 今さら xml-rpc かよ! というツッコミは置いておいて、 データ重要な世の中で有用なコンテンツ(メタデータ)にリーチする 方法が増えるのは喜ばしいことです。 そうそう、こういう API を AtomPP で実装するとしたらどんな感じなんだろう。そもそもうまくフィードで定義できるのか。教えて偉い人! 偉い人じゃないけど、結論からいえば、 Atom Publishing Protocol (APP) そのままじゃ無理です。 やってもいいけどどうしても無理が出てしまいそう。 そもそも目的が違うのだから、ここは野良 XML/プロトコルでいいのでは。 ただ、結果をフィードで取れるとそれなりに嬉しいかもしれない。 普通 REST で検索するときは query string を使っ

  • yohei-y:weblog: 第八回XML開発者の日

    昨日、第八回XML開発者の日が開催されました。死ぬほどつかれたけれど、死ぬほど面白かった。こんなにまじめに一日中頭を使って人の話を聞いたのは久しぶりです。 僕の発表資料とパネルのときに即席で作ったスライドです。発表資料の方はもんたメソッドなのでスライドショーで見てください。パワーポイントない人は OOo でお願いします。(2006-04-11 置き場所修正) 以下、感想とまとめです。 REST入門 山陽平(株式会社リコー) REST の入門編を喋ってみました。 なるべく基的なところを丁寧に話したかったんですが、成功したかどうか… コネクタの話をしなかったので、高橋さんにちょっとご迷惑をおかけしました m(_ _)m はてなとREST API 伊藤 直也(株式会社はてな) モテ重要、ということでなんではてなが APP を採用したのか、 その根底に流れるデータ重要という考え方、 サーバサイ

    yohei
    yohei 2005/11/25
    資料と感想です
  • yohei-y:weblog: Javascript HTML のデザインパターン

    僕もご多分に漏れず Javascript で遊んだり調べたりしています。 いろいろなクールなサイトの生 Javascript を見て勉強しているのですが、 まず面白いなと思ったのがロールオーバーの実現方法です(JavaScriptHTML をわかってる人には当たり前の内容だと思うので、ツマラナイ話だと思いますが)。 WaSP の左上の画像のロールオーバーは <img id="logo" src="/img/logo.gif" height="100" width="103" alt="Web Standards Project logo" /> 生 HTML はこんなかんじで onmouseover/onmouseout 属性を記述せず、 JavaScript で function initRollOvers() { var logo; if (document.getElement

  • yohei-y:weblog: 良い URI の設計

    URI は綺麗であるべき、と常々思っているんですが、よいページを発見しました。 Michael Eakes のこのエントリです。 Tanya Rabourn がリストアップしている文献一覧からエッセンスをまとめてくれています。 曰く、よく設計された URI とは 変らない(don't change) 人間が推測可能(are human guessable) 論理的(ファイルシステムを反映する必用がない) (are logical (no need to mirror a filesystem)) サイト構造をビジュアライズするのに役立つ(help visualize the site structure) 短い(are short) 小文字を使う(use lowercase) 予期されない記号を使わない(don't use unexpected punctuation) 問合せパラメータな

  • yohei-y:weblog: Hatena ID Auto-Discovery について

    昨日は SIGMOD-J の大会に行った後にアルファギークなお二人と事をしてきました。 大会ではやはり naoya さんの Web 2.0 についての話が一番面白かったです。 周りにいた人の反応も一緒でした。 ちなみに僕は naoya さんは初対面。 事に途中参加の高林君とはちょうど4年ぶりだったことが今判明。オリンピックみたいだ:-)。 naoya さんは普段から blog やブックマークを見ているので、ぜんぜん初対面な気がしなかったんですが、 僕としては REST だの Folksonomy だの microformats だのといった単語をガンガン喋ったり聞いたりするのが新鮮かつエキサイティングでした。 やっぱり直接会って話すのは大切だと実感です。 以下題です。僕は話題に出遅れてしまったんですが Hatena ID Auto-Discovery について。 naoya さんには