タグ

ブックマーク / www.eisbahn.jp (8)

  • HTTP APIの詳細なエラー情報をレスポンスに持たせるための仕様

    今日では HTTP(s) で API が公開されることは当たり前の時代ですが、エラーをアプリケーションにどう伝えるかは、個々の API の設計に依存していました。特に、HTTP ステータスコードは有限であり、元々持っている意味があるので、自由に使うことはできません。API はそのドメインごとにもっと複雑で細かなエラー情報があるはずで、それらはレスポンスボディに載せてアプリケーションに伝えることになりますが、その書式に規定は今までありませんでした。 HTTP API にて、アプリケーションにエラー情報を伝達するための(レスポンスボディに載せられる)標準的な形式が、RFC7807 Problem Details for HTTP APIs で定められています。適用例としては、以下のようになります。 HTTP/1.1 403 Forbidden Content-Type: application

  • 「JRuby on Rails」について発表しました

    昨日の4月30日、JJUG主催による「クロスコミュニティカンファレンス」にて、「JRuby on Rails」というお題目で話をしてきた。 | View | Upload your own 聴衆の中に潜んでいたJRuby第一人者から、手痛い突っ込みの数々を頂いた。ここで上記資料の中で訂正(ってわけじゃないけど)してみようと思う。 32枚目の「CGIに比べてパフォーマンス的に有利」と記述してしまったが、現状ではmongrel_clusterで真面目に(?)構築した方が、JRubyよりもパフォーマンスはいい数値が得られている、とのこと。僕が実測したときには、初回のアクセス以外はかなりレスポンスは良かったのだが、全体的にはまだまだ、という印象のようである。 33枚目でセッションのクラスタリングの話をしたのだが、現在のJRuby+GoldSpikeでは、普通にJavaのHttpSessionを使っ

    paulownia
    paulownia 2008/05/01
    風邪で行けなかった…残念
  • ActiveResourceで拡張子なしのURIを発行する方法

    Ruby on Rails 2.0から標準搭載されたActiveResource。これを使うと、RESTful APIをActiveRecordのように叩くことができるようになる。自分でURIを作ってopenすることもせず、レスポンスを自分でパースしてオブジェクトを作ることもせず、数行の記述でRESTfulなサービスを利用することが可能になる優れものだ。ActiveResourceの詳細は、 ここを見て欲しい。 さて、現状のActiveResourceは、僕にとって一つ気になる点がある。それは「URIが必ず拡張子付きで発行される」という仕様。例えば、 class Community < ActiveResource::Base self.site = ‘http://commusuke.eisbahn.jp/api/’ end として、「Community.find(1)」と実行すると、

  • メッセージ指向なオブジェクト指向でのUMLって?

    オブジェクト指向は単なるオブジェクト間のメッセージのやり取りに過ぎない、という言葉は、僕の身近な人たちにとっては僕から一度は聞いたことがあるだろう。そんな考えに関して注目エントリが下記。書いてある内容はほぼ同意なんだけど、部分的に引っかかりを感じざるを得ないので、僕の意見をエントリしてみる。 「 イマドキのオブジェクト指向」- アークランプ より: では、「イマドキのオブジェクト指向」とは何か。それはメッセージ指向という解釈です。オブジェクト指向は「メッセージによる処理の分割」であり、「分離された処理をオブジェクトと呼ぶ」と定義します。これまではオブジェクト指向とは「オブジェクトによる処理の分離」であったわけです。 太古の昔から、オブジェクトは「メッセージのやり取りによる処理の委譲の繰り返し」だったはず。「継承ではなく委譲を使いましょう」なんて思想は、オブジェクト指向の基であり、それはメ

  • HttpServletResponse#getOutputStream()したストリームは自分でclose()するのか?

    久々にJavaな話題。昨日社内で、 「Servletの中でresponse#getOutputStream()や#getWriter()したストリームは、自分でclose()する必要があるの?それともclose()せずに放置が正解なの?」 という質問を受けた。僕は「自分で獲得したリソースは自分で明示的に解放すべき」という考えが基にあり、思い返すと、doGet()やdoPost()メソッド内でちゃんと自分でclose()するコーディングを長年に渡って行ってきた。flush()に関してもclose()したタイミングで行われるだろうし、初期のアホコンテナに対しては、ちゃんと後処理を行ってくれないんじゃないか、という不信感があったため、いつも自分でclose()を明示的に呼んでいた。 でも、昨日質問を受けて、果たしてclose()を自分でする必要があるのか?コンテナにclose()は任せる必要が

  • Active ResourceのREADMEを翻訳してみました

    Rails 1.2から搭載され、Rails 2.0でいくつか改良されたActive Resource。これを使えば、RESTなWebサービスを簡単に利用できるようになる。これのREADMEが「 ここ」にあるのだが、勉強がてら日語に翻訳してみたので、公開してみようと思う。 ActiveResource_README_ja.txt RESTfulなWebサービスを利用するクライアントは、Active Resourceを使えばかなり簡単に作れることが、これを見てわかると思う。Active Resourceに興味がある方は、ぜひ一読いただきたい。 Tweet 関連記事 2023年のRemap Remapにファームウェアビルド機能を追加しました Google I/O 2023でのウェブ関連のトピック 2022年を振り返って 現在のRemapと今後のRemapについて

  • 天使やカイザーと呼ばれて: 約5時間かかったRuby on Railsの実行環境構築

    ここ数日はJavaからほとんど離れて,Ruby on Railsのお勉強に多くの時間を割いている。確かにRoRがこんだけ騒がれる理由がわかる。railsの内部処理に踏み込むと宇宙な世界だが,railsの上でアプリケーションを書いて単体テストをしている分には,この上ない気持ちにさせてくれる。 しかし,RoRアプリの運用環境構築に5時間も苦戦するとは思わなかった。 RoRの運用環境は,現在では以下のパターンがあるらしい。細かく分ければ,もっと多くの組み合わせがあるだろう。 apache + mod_ruby apache + mod_fastcgi apache + mod_proxy + lighttpd apache + mod_proxy + mongrel lighttpd + FastCGI lighttpd + mongrel mongrel まず,mod_rubyを使ったパターン

  • Twitterclipse公開中!

    自分が何をしているのか?友達や知り合いが何しているのか?こんなことを共有して楽しもうというサービスが, twitterである。そんなtwitterを,例のごとくEclipseから利用できるように,プラグインを開発した。その名も,twitterclipse。 eisbahn.jpのアップデートサイト(http://www.eisbahn.jp/update-site/)にtwitterclipseを配置しているので,Eclipse上でインストールを行うことができる。 機能としては, 予め登録されているFriendのステータスメッセージを表示(最新のみ)する。 自分のステータスメッセージを更新する。 を搭載した。使用を開始する場合は,[Window]-[Preference]-[Twitterclipse]メニューで表示される設定画面で,自分のユーザIDとパスワードを入れる必要がある(これがミ

    paulownia
    paulownia 2007/04/22
    うは
  • 1