タグ

RESTとwebに関するt-wadaのブックマーク (52)

  • GraphQLは何に向いているか - k0kubun's blog

    今年GitHubGraphQL APIを正式公開したあたりから、GraphQLが去年とかに比べちょっと流行り始めたように感じる。idobataがGraphQL APIを公開したり、Kibelaも公開APIGraphQLで作ることを宣言している。 利用者側からすると使えるインターフェースの中から必要なものを調べて使うだけなのであまり考えることはないのだが、自分がAPIを提供する立場になると話は変わってくる。REST APIGraphQL APIはどちらかがもう一方のスーパーセットという風にはなっておらず、どちらかを選択すると何かを捨てることになるので、要件に応じてどちらを選ぶのが総合的に幸せなのか考える必要がある。 以前趣味GitHub連携のあるサービスを作っており、それを最近GraphQL API v4を使うように移行し、そこでついでにそのサービスのGraphQL APIを書いてみ

    GraphQLは何に向いているか - k0kubun's blog
    t-wada
    t-wada 2017/09/12
    冷静な筆致でよくまとまっている
  • ウェブを発明したティム・バーナーズ=リー氏にチューリング賞

    30年近く前にワールドワイドウェブ(WWW)を発明したTim Berners-Lee氏が、コンピューティング業界最高の権威を持つ賞を受賞した。大成功を収めた同氏の発明であるWWWは現在、新しいモバイル技術の台頭という局面に差し掛かっている。 Association for Computing Machinery(ACM)は米国時間4月4日、Berners-Lee氏に2016年度A.M.チューリング賞を授与した。受賞者には賞金100万ドルに加えて、最高の栄誉が贈られる。この賞は、英国の研究者であるAlan Turing氏にちなんで命名されている。Turing氏は、第2次世界大戦中にドイツの暗号機「エニグマ」の暗号解読を支援し、コンピュータの基設計の考案に貢献した人物。 Berners-Lee氏は、HTML(Hypertext Markup Language)とHTTP(Hypertext

    ウェブを発明したティム・バーナーズ=リー氏にチューリング賞
    t-wada
    t-wada 2017/04/05
    当然の受賞だと思う。本当にめでたい。
  • RESTful API の設計のキホン

    2016/10/12 社内勉強会で使ったスライドを社外向けに一部加筆訂正したもの

    RESTful API の設計のキホン
    t-wada
    t-wada 2016/10/14
    よくまとまっている資料ですばらしい
  • 綺麗なAPI速習会 - Qiita

    Wantedly Engineer blogに速習会資料を閲覧向けに再編しました! ぜひご覧いただけると幸いです! 記事は、綺麗なAPI速習会@Wantedlyの資料として作成されたものです。 同時にこちらのコードも参照してください。 マイクロサービス 流行りのマイクロサービス、何がいいのか 各々自由な言語やArchitectureでサービスを立てられる 障害の影響が部分的 変化に強い 個別デプロイ etc... マイクロサービス化をすすめるにあたり、やりとりは全てAPIで行う 内部のAPIであっても外部に公開できるようなクオリティのAPIを作成し、それを元にサービスを作っていくことが重要 APIGatewayとBFF API Gateway Pattern 公式サイトより 「見た目はモノリシック、実装はマイクロサービス」 一箇所見に行けば全てのAPIを見つけられる 細かい権限管理も可

    綺麗なAPI速習会 - Qiita
    t-wada
    t-wada 2016/08/05
    APIGateway や BFF も視野に入れた RESTful な Web API の構成と設計方法について。とくにページネーションの API に関する設計が詳しく解説されている。すばらしい。
  • RESTful#とは勉強会13 を開催しました #RESTudy - tkawaのはてぶろ。

    一昨年からだいたい月1回ぐらいのペースで、Webの基的な仕組みを基礎から学ぶ「RESTful#とは勉強会」を開催しています。主催はshokolaさんで、私は進行役を担当しています。 2月23日に開催したRESTful#とは勉強会13では、ヴァル研究所さんの協力のもと、駅すぱあとWebサービスをレビューするという企画をやりました。いろんな意見が出てとてもおもしろかったです。みなさんありがとうございました。 RESTful#とは勉強会13 当日の内容とポイント RESTful#とは勉強会13 ツイートまとめ ゲストとして来ていただいた@Keisuke69さんがブログ記事を書いておられたので、これは私も書かなければ、ということで感じたことを書いていきます。 keisuke69.hatenablog.jp 駅すぱあとWebサービスについて、当日思っていて言い忘れたこと トークンをURLのクエリパ

    RESTful#とは勉強会13 を開催しました #RESTudy - tkawaのはてぶろ。
    t-wada
    t-wada 2016/02/29
    "昨今のWeb APIを見てみると、セマンティクスがあまりに足りない" "OpenAPI(Swagger)、API Blueprint、RAMLなどは、近いところもありますが、RESTの制約である「自己記述的」を満たしていない"
  • 例えば OSFA な API をやめる - @kyanny's blog

    OSFA == one-size-fits-all 単一の API で全てをカバーするのをやめたらどうか、ということ。 APIのバージョニングは限局分岐でやるのが良い - Hidden in Plain Sight @kenn 最近はRESTfulなエンドポイントは完全に後方互換なまま、クライアントごとにオーケストレーション層(radical versionin)を設けるという方向にシフトしようとしている。詳しくは http://t.co/zODm7mFr5B— Tatsuhiko Miyagawa (@miyagawa) February 28, 2014 この話のポイントとはちょっとずれてる && Podcast 聴いてないのですが。 Quipper プラットフォームで内部的に利用されている API も、 /v1 というパスの下にはえててごく一部のエンドポイントだけ /v2 がある、み

    例えば OSFA な API をやめる - @kyanny's blog
    t-wada
    t-wada 2015/09/18
    ジェネリックで汎用的な API だけで頑張るのではなく、クライアントアプリケーションに特化した一連の API を必要に応じて提供する設計について
  • WebAPIリクエスト仕様書としてcurlコマンドのご提案 - Qiita

    WebAPIの仕様を記述する方法はいくつかあると思う。 普通に日語で記述する JSON Hyper-Schema、WADL、RAML、Swaggerなどを使う 仕様書の代わりにプログラムを書く HTTPメッセージそのものを記述しておく でも、文法にばらつきがあったり、読みにくかったり、ツールのセットアップが面倒だったり、どれもイマイチな所があって、手軽な方法が欲しいと思っていた。 何気なくcurlコマンドのオプションを調べていたら、「もうこれでAPIドキュメント扱いにしちゃえばいいんじゃね?」と思えてきたのでメモしておく。 curlコマンドのおさらい curlコマンドはlibcurlの付属コマンドで、最近のUnix系OSなら大抵最初から入っていると思う。コマンドの詳細はmanを読んでいただければ。 cURL - How To Use (マニュアルページ日語訳) curlコマンドのオプシ

    WebAPIリクエスト仕様書としてcurlコマンドのご提案 - Qiita
    t-wada
    t-wada 2015/05/26
    面白い。すぐ試せる、実行可能なドキュメントという側面はとても良いと思う
  • WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita

    2017-01-05 追記 2016年3月にエラーの標準形式RFC7807「Problem Details for HTTP APIs」が提案され、今日現在proposed standard(標準化への提唱)となっています。こちらも是非ご覧ください。 RFC 7807 - Problem Details for HTTP APIs HTTP APIの詳細なエラー情報をレスポンスに持たせるための仕様 最近はREST APIを提供しているサービスが増えてきていますね!また公開されるAPIだけでなく、Microservicesなアーキテクチャを採用して、バックエンドがWeb APIで通信するケースも増えてきているように思います。 APIを使うときはあまり気にしたこともなかったですが、いざAPIを設計してみるとどんなインターフェイスがいいのか、どんな形式がいいのかといった疑問が次々と出てきます。

    WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita
    t-wada
    t-wada 2015/05/26
    Web API のエラー表現 (エラー時のレスポンスボディ) を各社サービスがどのように設計しているかのまとめ。参考になる。実際の HTTP ステータスやヘッダがどうなっているのかも気になる。
  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0062 号 バックナンバー Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist Magazine 0058 号 RubyKai

    Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)
    t-wada
    t-wada 2015/05/11
    "API を呼び出すというメタファーが危うい (略) RPC と大差ありません。こういうイメージから離れましょう" REST とハイパーメディアについてきちんと説明。サーバからただ JSON を返している人にこそ読んで欲しい
  • HTTPS 化する Web をどう考えるか - Block Rockin’ Codes

    Update 2015/5/8: 指摘頂いたタイポや誤訳などを更新しました。 2015/5/8: 構成を一部修正しました。 Intro 4/30 mozaiila のセキュリティブログに下記のようなエントリが投稿されました。 Deprecating Non-Secure HTTP | Mozilla Security Blog エントリはそこまで長くないので、ここに翻訳の全文を記載します。 そして、元エントリのライセンスである CC BY-SA 3.0 に則り、 エントリも同じく CC BY-SA 3.0 とします。 Deprecating Non-Secure HTTP 原文: Deprecating Non-Secure HTTP 今日は、 non-secure な HTTP から、徐々に廃止していくという方針についてアナウンスします。 HTTPS が Web を前進させる手段である

    t-wada
    t-wada 2015/05/07
    牧歌的な時代の終わりなのかな
  • リソースの一部更新におけるURL設計 - Qiita

    概要 Webアプリケーションにて、リソースの一部更新を行う際、どのようにURL設計を行うとシンプルで美しいか(当はそこまで考えていなかったけど)悩んでいたところ、 @t_wada さんから素敵な設計指針をご教示いただきました。 記事はその内容に加えて、実際に自分で行ったこと、調べたこと、思った事など、まとめております。 あらすじ 数週間前にSIピラミッドからヒモなしバンジーを決めてWebの世界に飛び込んだ私は、小さな小さなWebアプリケーションをrails newから手探りで作っていました。 そんなとき、簡単なリソースの一部更新機能をどう実装したもんかなーと悩んでました。以下、当時(といっても先週)の超雑なぼやき。 リンクをクリックしてモデルの一部を変更するのはどうしたらいいんだろう。 例)不参加をクリック -> 某カラムをtrueからfalseへ リクエストオブジェクトに対象カラムの

    リソースの一部更新におけるURL設計 - Qiita
    t-wada
    t-wada 2015/02/13
    流しの RESTful おじさん業の現場風景です
  • What's a link?

    When you ask a developer, what is a “link”, they may quickly answer “a URL” or “a URI”, but this is not the whole truth. A URL is only an address that you can find to build a resource. A “link” connects one resource to another. My goal is to create a PHP interface that describes the abstract data-model behind a link. To do this job correctly, I felt I had to dig through all the relevant hypermedia

    What's a link?
    t-wada
    t-wada 2015/02/06
    ハイパーメディアにおけるリンクの概念 (単なる URL ではない) について HTML5, HTTP ヘッダ, Atom, XRD/JRD, HAL, Collection+JSON, Siren などを例に挙げて説明しているエントリ
  • Web API: The Good Parts

    Web APIの設計、開発、運用についての解説書。APIは設計次第で使いづらいものになってしまうだけでなく公開後の保守運用も難しくなってしまいます。そのためAPIを美しく設計することがとても重要です。書では「設計の美しいAPIは、使いやすい、変更しやすい、頑強である、恥ずかしくない」という考えのもと、APIをどのように設計し運用すればより効果的なのか、ありがちな罠や落とし穴を避けるにはどういう点に気をつけなければいけないのかを明らかにします。ターゲットは、URIにアクセスするとXMLやJSONなどのデータが返ってくるシンプルなタイプ――XML over HTTP方式やJSON over HTTP方式――のAPIです。読者は、Web API設計の考え方と手法を知ることができます。 はじめに 1章 Web APIとは何か 1.1 Web APIの重要性 1.1.1 APIでの利用を前提とした

    Web API: The Good Parts
    t-wada
    t-wada 2014/11/06
    目次を見る限りとても良さそう “設計の美しいAPIは、使いやすい、変更しやすい、頑強である、恥ずかしくない” 「恥ずかしくない」っておもしろいな
  • SRU: Search/Retrieval via URL -- SRU, CQL and ZeeRex (Standards, Library of Congress)

    SRU/CQL SRU- Search/Retrieve via URL - is a standard XML-based protocol for search queries, utilizing CQL - Contextual Query Language - a standard syntax for representing queries. Specifications: SRU 2.0        SRU 1.2        SRU 1.1     CQL Version 1.1 was released in 2004 and 1.2 in 2007. SRU 2.0 is an OASIS Standard. Companion Specs: Scan    Explain   SRW    XML Files Also Conformance (SRU Base

    t-wada
    t-wada 2014/07/02
    検索系 API の仕様 "SRU- Search/Retrieve via URL" と "CQL - Contextual Query Language" の仕様を記したサイト
  • Home - OpenSearch

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

    Home - OpenSearch
    t-wada
    t-wada 2014/07/02
    OpenSearch 規格群の本丸。各仕様へのリンクもまとまっている。検索系の Web API を設計する際の参考になる。
  • The Hypertext Application Language

    HAL - Hypertext Application Language A lean hypermedia type Author: Mike Kelly <[email protected]> Created: 2011-06-13 Updated: 2013-09-18 (Updated) Summary HAL is a simple format that gives a consistent and easy way to hyperlink between resources in your API. Adopting HAL will make your API explorable, and its documentation easily discoverable from within the API itself. In short, it will make yo

    t-wada
    t-wada 2014/07/02
    HAL の specification をブクマし忘れてた “HAL is a simple format that gives a consistent and easy way to hyperlink between resources in your API.”
  • - The RESTful cookbook

    Welcome to the REST CookBook REST is hot! And REST is finally rediscovered by API programmers all over the world. But REST isn't always as easy as it seems on first look. Dealing with HATEOAS, Code on demand and uniform interfaces can be really tricky and many people will fall back to not-so-restful approaches when things are starting to become more difficult. But it doesn't need to be. Once you g

    t-wada
    t-wada 2014/07/02
    RESTful な Web API を作る際の FAQ を(少量だけど)まとめているサイト
  • The Netflix Dynamic Scripting Platform

    by Sangeeta Narayanan Over the past couple of years, we have optimized the Netflix API with a view towards improving performance and increasing agility. In doing so, the API has evolved from a provider of RESTful web services to a platform that distributes development and deployment of new functionality across various teams within Netflix. At the core of the redesign is a Dynamic Scripting Platfor

    The Netflix Dynamic Scripting Platform
    t-wada
    t-wada 2014/06/30
    なるほどこれは確かに発想としては Web API 界のストアドプロシージャだなぁ
  • 10 Best Practices for Better RESTful API | Thinking Mobile

    Do not use verbs: /getAllCars /createNewCar /deleteAllRedCars 2. GET method and query parameters should not alter the state Use PUT, POST and DELETE methods  instead of the GET method to alter the state. Do not use GET for state changes: GET /users/711?activate or GET /users/711/activate 3. Use plural nouns Do not mix up singular and plural nouns. Keep it simple and use only plural nouns for all r

    10 Best Practices for Better RESTful API | Thinking Mobile
    t-wada
    t-wada 2014/06/23
    RESTful な Web API を設計するための基本が並んでいる
  • interagent

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    interagent
    t-wada
    t-wada 2014/06/05
    HTTP API を設計/開発するためのライブラリがずらりと並んでいる。このリポジトリは凄いな。