タグ

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

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

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

    d14a
    d14a 2017/01/05
  • OpenSocial Development Environmentをリリースしました

    OpenSocial Development Environmentの最初のバージョンを日リリースしました。 http://www.eisbahn.jp/trac/osde OSDEは、OpenSocialアプリケーションを開発するためのEclipseプラグインです。もし皆さんがOpenSocialアプリケーションを開発しテストを行う際に、いずれかのSNS(orkut.com、myspace.com、hi5.comなど)を使わなければなりません。これらのSNSを使う手法は、皆さんに強力な制限を与えることでしょう。例えば、ソーシャルアプリケーションをテストするために友達を作らなければならず、多くの機能をサポートしたSNSを探さなければならず、SNSが安定して稼働していなければなりません。 OSDEは、皆さんに個人的なSNSを提供することができます。この小さなSNSの中で、皆さんは会員のプロ

  • 天使やカイザーと呼ばれて: 約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を使ったパターン

  • 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について

  • Module: ActionController::Resources

    シングルトンリソースのために、動詞指向のコントローラを実装するために命名されたルートを生成します。シングルトンリソースとは、ユーザの/accontプロフィールのように、そのアプリケーションを訪れたカレントユーザにとってグローバルなリソースのことです。 一般的な規約のために、map.resourcesを参照してください。これらとの主な違いは以下があげられます: - 単一の名前が、map.resourceに与えられます。そのデフォルトコントローラの名前は、その単一の名前から取られます。 - シングルトンリソースのみのときは、:collectionオプションはありません。 - 単一の名前がmap.resourceに指定されたときは、:singularオプションはありません。 - シングルトンリソースコントローラのために、デフォルトindexルートが作られることはありません。 - シングルトンリソ

  • http://www.eisbahn.jp/yoichiro/ActiveResource_README_ja.txt

    = Active Resource Active Resource(ARes)は、ビジネスオブジェクトと「Representational State Transfer(REST)Webサービス」を接続します。透明なプロキシ機能がクライアント(ActiveResource)とRESTfulサービス(ActionController::Resourceの中でシンプルなRESTルーティングが提供される)の間に提供されることによって、RESTなWebサービスのためのオブジェクト関連マッピングが実装されます。 == 哲学 Active Resourceは、RESTなWebサービスのための論理的なオブジェクト関連マッピングのラッパーを提供することを試みます。それは、Active Recordの主要な目的の一つである「あるリソースにマップする必要があるコードの量を削減する」と同じ哲学に従います。これは

  • 結局lighttpdからmungrel_clusterに移行

    「 lighttpdで稼働しているrailsアプリでリダイレクトが効かなくなった」件だが,結局原因は判明せず。どうもyumの自動更新によってlighttpdがバージョンアップされたらしく,そのタイミングで動作がおかしくなった模様。 apacheとlighttpdの組み合わせは,mongrelの自動機能の設定を行うのが面倒そう,という安易な理由で選んだのだが,やはり世の中はapacheとmongrelの組み合わせが多数派なようである。いつまでも放置していると,ユーザ(とっても目の肥えた数人)に対して非常に恥ずかしく,最悪の場合「Ruby on Railsなんてそんなもんだよね」とか言われてしまうかもしれない。よって,mongrelに運用環境を移行することを決意。 さっそく手順を探していると,とってもよさそうなブログのエントリを見つけた。 「 mongrel_cluster」- バリケンのRu

  • datetime型を持つモデルのテスト

    Ruby on Railsにおいて,テスト環境がとっても気持ちがいいと「前のエントリ」で書いたが,実際にテストケースを書き始めると,やっぱり知らないことがいろいろと出てきて,サクサクっとはいかない。もちろん,それは俺がバンビーノだからなのだが。。。 datetime型な列があるappointments表のAppointmentモデルをテストすることを考える。fixtureには,こんな感じで記述するだろう。 first: id: 1 promise: 2007-07-10 13:30:00 さて,Appointmentモデルのテストコードだが, class AppointmentTest < Test::Unit::TestCase def setup @appointment = Appointment.find(1) end def test_create assert_kind_of

  • YAMLファイルの読み込みと場所の指定

    Ruby on Railsアプリケーションにおいて,実行環境依存で設定を変更したくなるときがある。昨日一応の完成を見た僕の処女作では,最初にログインする際のパスワードについて,正解のパスワードをデータベースからではなく,ファイルから読み込ませるようにしたかった。しかし,IntegrationテストやFunctionalテストのコード中にログイン処理のテストをコーディングする際に,正解のパスワードを記載しなければならないため,production時の正解のパスワードではなく,開発時もしくはテスト時には別途バレてもいい適当なパスワードとしたかった。 パスワードを記述しておくファイルは,configディレクトリ内にYAML形式で作っておく。ファイル名はここでは「auth.yml」としておこう。パスワードは平文ではなく,MD5のハッシュ値を記述している。developmentとtestのパスワード

  • ドキュメントとして何を書くか?

    僕の考えは、以下のような感じ。 (1) ドキュメント(設計書だろうが仕様書だろうが)は、「誰に何をどう伝えるべきか」を考えれば、何を揃えればいいかは自然と決まってくる。そして、誰が読んでも意味がないと判断されるドキュメントは意味がないので書かない。 (2) 「基設計書」や「詳細設計書」や「外部設計書」や「内部設計書」という言葉があるが、肝心なのは「誰に何を伝えるか」であり、伝えたいことや認識あわせの単位でドキュメントが作られればそれでいい。それらをまとめて「○○設計書」とするかどうかは、顧客がそうしたければ好きにすれば良い(そこまでやる義務は開発側にはないと思う)。 (3) アーキテクトの仕事は、各作業者が何をしたらいいか迷うことなく作業ができるように「決めごとをしていくこと」。その決めごとは、すべてドキュメント化されるべきであり、そのためには「誰に何をどう伝えるべきか」を考えていけば、

  • 1