タグ

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

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

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

  • OAuthがソーシャルログインで使われるようになった経緯

    最近の僕の趣味は、stack overflowに来た質問に回答を付ける、ということです。特に 英語版 の方では、英語の読み取りと作文の練習をかねてやってます。もちろん、 日語版 の方でも、回答できそうな質問が来たら、積極的に回答するようにしています。たまに 間違えた回答付けてしまって-1をもらうこと もありますが、それを含めての貢献かな、と。気にしない気にしない。 さて、日語版の方でOAuthに関する以下の質問が来ていました。 OAuthはどのようにしてソーシャルログインとして使用されるようになったのでしょうか? 下記の記事をみるとOAuthはもともと外部からAPIを呼ぶためのものであり、ソーシャルログインとして使うのはHack的な使い方のような印象をうけました。 来の目的が、ソーシャルログインのためでないならどのような経緯(どこどこのサービスで使われたのがきっかけというような歴

    Jxck
    Jxck 2016/03/09
    OAuth はマッシュアップの流行に乗って広まったイメージ
  • 【翻訳】JSON Web Tokenライブラリの危機的な脆弱性

    【翻訳】JSON Web Tokenライブラリの危機的な脆弱性 Written on Sep 14, 2015. Posted in Web Technologies 以下の内容は、JSON Web Tokenを扱うライブラリの脆弱性に関する報告内容を和訳したものです。 https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/ JSON Web Tokenライブラリの危機的な脆弱性 最近、いくつかのJSON Web Token実装のセキュリティについてレビューしていた間に、私は検証処理をバイパスする攻撃が可能な危機的な脆弱性を持つ多くのライブラリを発見しました。多くの実装や言語を横断して、同じ2つの欠陥が見つかりました。そして、問題が起こる場所を書き上げることが助けになると

    【翻訳】JSON Web Tokenライブラリの危機的な脆弱性
    Jxck
    Jxck 2015/09/14
  • HTML5 FileSystem APIを使って上書き処理をする方法

    HTML5 FileSystem APIを使うと、ユーザのローカルファイルシステムにファイルを書いたりすることができます。もちろん自由にファイルを読み込めるわけではなく、Chrome Webブラウザが持っているサンドボックス内に通常は限定されます(Chromeアプリの場合はその限りではないですが)。オフライン対応アプリケーションを開発する場合には、非常に魅力的なAPIです。 僕の場合はChromeアプリ内でFileSystem APIを使っていたのですが、「既存ファイルの上書き処理」をする際に困ったことと解決策を、エントリで紹介してみたいと思います。FileSystem API自体の説明は、「 FileSystem API について知る」をご覧ください。 まず、普通にファイルに何か書き込みを行いたい場合、以下のようにコーディングすると思います。 function onInitFs(fs)

    HTML5 FileSystem APIを使って上書き処理をする方法
    Jxck
    Jxck 2015/01/08
  • オレ流AngularJSを使った設計ポリシー

    Chrome MySQL Adminでは、 AngularJSを使って実装を行っています。Chrome appsでは、 何らかのMVC Frameworkの利用が勧められています。 AngularJSは、Controller、Directive、Template、Serviceなど、いくつかの部品群を組み合わせてアプリケーションを構成することになります。その機能の豊富さ故に、実はちゃんとしたポリシーを決めておかないと、いかようにでも作れてしまうために、かえって複雑さが増してしまうという危険性も出てきます。もちろんアプリケーションの作り始めは試行錯誤の連続なのですが、徐々に自分なりのポリシーみたいなものが確立されてくるはずです。 エントリでは、Chrome MySQL Adminでの設計/実装ポリシーを簡単に紹介してみたいと思います。ちなみに、全てのソースコードは、以下にあります。 htt

    オレ流AngularJSを使った設計ポリシー
    Jxck
    Jxck 2014/10/13
    参考になる。
  • Web Components部品へ何か情報を渡すための方法

    Web Componentsを使った部品を考えたときに、単にタグをWebページに配置する利用方法も多いと思いますが、同時に何かパラメータやコンテンツを指定することで部品の挙動が変化する、といったことができると嬉しい部品もいっぱいあると思います。Shadow DOMが適用されることになるため、Webページと部品は基的に「隔離」されます。そのため、何か情報を渡すための仕組みが必要になってきます。 ここでは、以下の2つの方法について紹介してみたいと思います。 属性を使って情報を渡す。 文を使って情報を渡す。 属性を使って情報を渡す 最初に紹介するのは、部品が提供するタグの属性値として情報を渡す方法です。まずは、部品を使ったWebページ側のコードを見てみましょう。 <!DOCTYPE html> <html> <head> <script src="bower_components/platf

  • Web ComponentsのWebブラウザ別動作を調べてみた

    Web Componentsでは、標準技術として幅広いWebブラウザで利用可能とすべく、Polyfillという名の「未対応Webブラウザ向け実装」が開発され、すでに利用可能です。このPolyfillを使うことで、Chromeだけでなく、Firefox、Opera、そしてIEでもWeb Componentsを動作させることができます。 では、実際どこまでPolyfillでWeb Componentsが動作するのでしょうか?Polyfillとして適用するのは、もちろん platform.jsです。これを使って、複数のWebブラウザで動作検証をちょっとしてみようと思います。試してみたのは、以下の3つです。 基的なWeb Componentsの動作確認 HTMLElement#createShadowRoot()の動作確認 Shadow DOMのCSSスコープ それぞれ見ていきましょう。 基

    Web ComponentsのWebブラウザ別動作を調べてみた
    Jxck
    Jxck 2014/07/22
    Shadow DOM の現状。まぁ Polyfill できるなら、 WebComponents 以前からみんなベストプラクティスとしてやってるだろうし。ブラウザ実装がそろったときにすぐ動けるように準備しておく段階という感じ。
  • AngularJSにてMaterial Designサポートの開発が進められているようです

    先日行われたGoogle I/Oで華々しいデビューを飾ったMaterial Design。Appleのフラットデザインをさらに推し進めて、視覚効果がリッチになったり、情報を読んでいく際のナビゲーションが規定されていたり、さらに当たり前のようにレスポンシブな仕上がりになっていましたね。個人的な印象は「とにかく派手!見た目重視フィードバック重視!」でした。操作した際の楽しさが考えられてるって感じましたが、皆さんはどう思いましたか? 基的なUI部品の視覚効果を見て、「あ、さっそく使ってみたい!」って思いますよね。特に、ずっとBootstrapを使ってきた開発者は、Material Designに乗り換えたい!Polymerやってみたい!って思ったことでしょう。僕もそのうちの一人です。さらにPolymerによってWeb Componentsの波はすぐそこまで来ているので、早く自分のものにしておき

  • ミクシィ社を退職しました

    3年と10ヶ月ちょい勤務したミクシィ社を退職しました。正確には今月末までですが、余ってた有給休暇を2週間ほど使うので、最終出社日としては先週の金曜日でした。 「退社」というか「退職」というかを調べていたのですが、「退職」という方が正確っぽいですね。退社だと「勤務を終えて家に帰ったこと」も意味として含まれるらしいです。確かに「退社願」は書かずに「退職願」を書きますよね。つまりはそういうことです。 入社からずっと一貫して「mixi Platform」の構築に従事してきました。 mixi Developer Centerに載っている内容が、僕がやってきた全てと思っていただければ大丈夫です。無事にソーシャルゲーム、ソーシャルアプリという市場を作り出すことはできたかな、と思います。今では他社の勢いがすごいですけど、そういった他社の方々とも手を取り合って大きな市場の形成に寄与できたと思ってます。200

    Jxck
    Jxck 2013/02/18
    お疲れ様でした!!
  • 1