Railsがバージョン1.2で確実に参加するようになったRESTfulリソースの世界では、当然のことながらXMLを共通言語として使用します。しかし、多言語となり得ない理由はひとつもなく、さらにRailsの万能性のおかげで、RESTfulなアプリケーションではXMLと並んで他の標準を簡単にサポートでき、よりたくさんのオーディエンスへアプリケーションを開放し、また、バンド幅要件の緩和に...
昨日のスクリプトを書いていて思ったけど、TwitterのAPIってRESTfullだよね、これってActiveResourceでアクセスすれば簡単だったの?と思った。ということでActiveResourceの勉強もかねて試してみた、結果としては慣れればかなり楽、「Postクラスは暗黙的にPostテーブルを見る」のように命名規則に従うことでスマートにWebサービスへアクセスすることができる、SOAPのWSDLみたいな型定義を...
Webサービスとして最も有名で成功しているのが、AmazonのAWSだと思います。アマゾンの豊富な商品データベースにRESTやSOAPで問い合わせできます。AWSはバージョンアップを続けていますが、問い合わせにバージョンを指定できるため過去のリクエストでも問題なく利用できます。ResponseGroupに取得したい情報の指定、SearchIndexに商品の種類の指定など、豊富なパラメータを指定できるよ...
」では、Ruby on Rails(以下、RoR)1.2で追加された新機能「scaffold_resource」を使って、付箋紙の情報(Stickyモデル)を読み書きするStickiesコントローラを生成しました。 このscaffold_resourceで生成されたコントローラは、通常のscaffoldと異なる「RESTful」という呼び出し方法をサポートしています。この方法では外部のプログラムから接続がしやすいように、HTMLではなくXML形...
FUSE用のRubyライブラリで、FuseFSてのがあるのを最近知った RubyのFuseFS使ってtwitter file systemを作ってみた Rubyで手軽にファイルシステムを構築できるそうな。面白そうなので、ひとつ試しにRESTなWebサービスをローカルにマウントするRESTファイルシステムを作ってみた。 (http://localhost:3000/books/3.xml へアクセスして中身を表示) あと外部Webサービスをローカルにマウント!てのがやり...
データストア/ビューストア/実体化ストアはプラガブルである。現在の実装はRAM、区分編成ファイル/ファイルシステム、およびAmazon S3である。 分散型の実体化は機能するかもしれないが、書き換えが行われる。 InfoQは、Anthony氏と情報交換し、RDDB、CouchDB、およびRDBMSについて話を聞く機会に恵まれた。まず、研究プロジェクトを話題にしていたRejectConfにて、RDDBに取り組み始め...
ブログや Wiki を使うときに、「使い勝手はこちらのツールが気に入っているんだけど、機能が足りないんだよなあ」とか「ブログサービスにこの機能を追加したいんだけど、勝手にそんなこと出来ないし……」などと思ったことはありませんか? 他の人が作った Web アプリケーションやサービスの連携や拡張を行ったものの、相手がバージョンアップして仕様が変わってしまった...
は RoyF の論文を詳しく解説していてよいのだけれど、いかんせんアカデミックすぎる。 技術的な要素も抑えつつ、入門者にもわかりやすい解説はないものかと探していたのだが、みつからない。 英語の文書を訳すことも考えたんだけど、あまりよいものが見つからない。 で、結局自分で書くことにした。 最初はひとつのポストで済ませるつもりだったんだけど、書き始めたら長...
『 おぉー動画(wmv)!!!?!/「はてな技術勉強会」と「はてな技術勉強会」では違うダシモノがありそうだな。 』
Rails 0.14からpluginの仕組みが導入され、今までは「libにライブラリを置いて、config/enviroment.rbに〜を記述して云々」という面倒な方法が、vender/plugins以下にファイルを配置するだけで、Rails本体の拡張が簡単に可能になりました。その作り方をRailsでRESTを簡単に実現するpluginを題材に説明します。 まずは配置するファイルですが、 vender/plugins/プラグイン名/init.rb # 必須 vender/plugins/プ...
[1] Railsは使っている内に、もはやRails以外でプログラムをしたくなくなる位の魅力がある。MVCの仕組みといい、O/Rマッピングといい、Migrationといい…そこかしこに魅力が溢れている。 そんなRailsがさらに魅力的になるライブラリがこれだ。Rubyの壁をこえ、JavaScript上でDB操作が可能になる。 今回紹介するオープンソース・ソフトウェアはJester、RESTによるDB操作を行うJavaScriptライ...
具体的なコードに入る前に,RailsのRESTful Routingを作成する,map.resources, map.resouceの機能について再度まとめておきます。 特に,map.resouces,map.resouceでRESTfulなCRUDが作成されることはこれまで何度が見てきました。ここでは,これらのメソッドが持つオプションについて見ていきましょう。 :path_prefix リソースがネストする場合に,リソースの前に付くパスを指定します。前節のリソー...
の記事では,Rails2.0の足回りを簡単に概観しました。今回は,実際にRails2.0の機能を利用し,RESTfulなウェブアプリケーションを作ってみたいと思います。 RESTとは何か Rails2.0の機能を用いて,RESTfulなアプリケーションを作るまえに― RESTとは,いったいなんでしょうか? という問いに対して,正確に答えるには私の知識はこころもとないです。Wikipedia日本語版のRESTの項を引いてみ...
のキラーアプリケーションになり、CRUD(Create、Read、Update、Delete)パターンに基づくWebアプリケーションを短時間で作成できる非常に強力なツールとして急速に普及しました。そして2007年末、今やすっかり有名になったこのWebアプリケーションフレームワークのバージョン2.0がリリースされました。最初のリリースのときほどの驚きはありませんが、Rails 2.0はやはり多くのイノベ...
ヘンシュウチョさんの、 「RailsだとWeb APIとか自動生成できるってホント?俺に教えてよ!つーか勉強会やろうぜ」 という発言を切欠に小勉強会をやってきました。 ヘンシュウチョさんはオープンソースXML DB eXistの話。XPathやXQueryなどXML関連は仕様の分裂や議論が絶えないので深追いや混乱が楽しいですね。eXistの日本語ドキュメントは殆どなさそうなので是非公開してほしいです...
『 WebフォトアルバムをサンプルにしてAjax開発を解説する連載(3/3)。prototype.jsのAjax.Request+JSONによるAjax処理。 』
今までおろそかにしていた「ルート設定」ではあるが、Rails2.0からは避けて通ることができない((2.0以前であってもルート設定をちゃんと理解できていれば、もっともっと幸せになれたはず...。))と今更ながら思い直し、いろいろ試してみた。以下はその実験結果。 基本 追加オプションなしの基本ルート設定map.resources :slipsによって、以下のルート規則が生成される。 ルート規則は...
二日目も大盛況のうちに終了。熱かったです。盛り上がった。 DHHのActiveResourceの話なんてスタンディングオベーションものでしたし。 "素敵だな"と思ったことをチラシの裏*1に書き留めていたので、感激備忘録として書き留めておきます。詳細かつ客観的なログはYuguiさん始め他の方々に期待。 全体の感想としてはとにかく楽しかったです。スタッフの方、発表者の方、本当にあ...
『 TwitterAPIをRubyから使えるライブラリ。100%対応を謳ってるのがウソ。0.3.0でもrepliesに対応してなかったり、since_idとか非対応オプションもある。 』
『 RailsでのREST実装例。今ごろブックマーク 』