デジタル庁 開発者サイトデジタル庁開発者サイトでは、政府のウェブサービスやアプリケーションの開発に関わる人を対象に、各種ガイドラインやAPIリファレンス、ライブラリ、ツール等を提供し、効率的な開発をサポートします。
デジタル庁 開発者サイトデジタル庁開発者サイトでは、政府のウェブサービスやアプリケーションの開発に関わる人を対象に、各種ガイドラインやAPIリファレンス、ライブラリ、ツール等を提供し、効率的な開発をサポートします。
Best practices for web API designWe packaged up over 15 years of experience designing and managing APIs at incredible scale with Google Cloud's API management product, Apigee. Download this report to learn from this experience—including our most important guiding principle: considering the application developer’s point of view first. A "pragmatic REST" approach to API designURL design best practic
ほとんどの最新の Web アプリケーションでは、クライアントがアプリケーションと対話する際に使用できる API を公開しています。 適切に設計された Web API には、次をサポートする目的があります。 プラットフォームの独立。 API の内部的な実装方法に関係なく、すべてのクライアントが API を呼び出すことができる必要があります。 そのためには、標準プロトコルを使用し、クライアントと Web サービスが交換するデータの形式に同意できるメカニズムを備えている必要があります。 サービスの進化。 Web API はクライアント アプリケーションから独立して進化し、機能を追加できる必要があります。 API の進化に伴い、既存のクライアント アプリケーションが変更なしに引き続き機能する必要があります。 クライアント アプリケーションが機能を十分に使用できるように、すべての機能が検出可能である
こんにちは、ティアフォーで認証認可基盤を開発している澤田です。 最近取り入れたProtobufで、素晴らしいREST APIの開発体験をしたのでご紹介します。 なお、ティアフォーではマイクロサービスを支える認証認可基盤を一緒に開発いただけるメンバーを募集しています。ご興味のある方は下記ページからご応募ください。 herp.careers 実現したかったこと マイクロサービス間連携のAPI開発において、以下の条件を満たすやり方を探していました。 スキーマを最初に定義してリクエストとレスポンスの型が自動で生成される ドキュメント(openapi.yaml)が生成される バリデーションが定義できて、その実装が自動で生成される 実現方法 Go言語で開発する場合はgo-swaggerでも実現できますが、本記事では、Protobufで実現できるgRPC Gatewayとprotoc-gen-valid
サイバーセキュリティツールベンダーのPortSwiggerは2022年1月17日(米国時間)、「OWASP API Security Top 10」に含まれる脆弱(ぜいじゃく)性の挙動を観察できるように設計されたオープンソースツール「vAPI」(Vulnerable Adversely Programmed Interface)を解説した。 APIセキュリティは近年、重要なセキュリティ分野となっている。APIは現在、サービスやデータ転送の管理に広く使われており、壊れたエンドポイントが1つあるだけで、データ流出や企業ネットワークの侵害につながる。 Gartnerは2022年には、API攻撃が企業Webアプリケーションに対する最も一般的な攻撃手法になると予測している。 vAPIでは何ができるのか vAPIはセキュリティベンダーのHolm Securityでセキュリティエンジニアを務めるトゥシャ
Send feedback API design guide Stay organized with collections Save and categorize content based on your preferences. Changelog Introduction This is a general design guide for networked APIs. It has been used inside Google since 2014 and is the guide that Google follows when designing Cloud APIs and other Google APIs. This design guide is shared here to inform outside developers and to make it eas
本記事は、Mohammad Faisal氏による「22 Best Practices to Take Your API Design Skills to the Next Level」(2021年4月15日公開)の和訳を、著者の許可を得て掲載しているものです。 REST API設計のための実践的アドバイス Photo by Andrea Piacquadio from Pexels はじめに すべてが分かりにくく、ひどいAPIに不満を感じたことはありませんか?私はそうです。 マイクロサービスの世界では、バックエンドAPIの一貫した設計が不可欠です。 今日は、知っておくべきベストプラクティスについて、簡潔に説明します。さあ始めましょう! 用語 API設計は、リソース指向設計というものに従います。3つの重要な概念で構成されています。 リソース:データの一部(例:ユーザー) コレクション:リソー
はじめに このチュートリアルでは、『証明書に紐付いたアクセストークン』を活用して Amazon API Gateway 上に構築した API をこれまで以上に安全に保護する方法を紹介します。 OAuth アクセストークンが一度漏洩すると、攻撃者はそのアクセストークンをもって API にアクセスできます。従来のアクセストークンは電車の切符のようなもので、一度盗まれたら誰でも使えてしまいます。 この脆弱性はアクセストークンと同時にアクセストークンの正当な保有者である証拠も併せて提示することを API 呼出者に要求することで軽減することができます。その証拠は proof of possession と呼ばれ、よく PoP と短縮されます。使用時に PoP を必要とするアクセストークンは、搭乗時にパスポートの提示も併せて要求される国際線の航空券に似ています。 RFC 8705 (OAuth 2.0
Google Best Practices for Java Libraries Google Best Practices for Java Libraries are rules that minimize problems for consumers of interconnected Java libraries. These practices come from decades of aggregated experience in maintaining open source Java libraries and are informed by many hard-learned lessons from mistakes that have been made. We have found that following these rules results in hig
はじめに こんにちは、計測プラットフォーム部バックエンドチームの高木(@TAKAyuki_atkwsk)です。ZOZOMATシステムではAPIのリバースプロキシとしてEnvoyおよび付随するgRPC-JSON transcoderを導入しています。これらによって依存するサービスにレガシーなサーバーが存在していても部分的にgRPCを採用しモダンなアーキテクチャを広めようとしていることについて紹介します。 なお、本記事は以下記事のシリーズとなっておりますので合わせてご覧いただけるとZOZOSUITやZOZOMATなど計測プラットフォーム部の取り組みについてより深くご理解頂けるかと思います。 techblog.zozo.com ZOZOMATシステムとEnvoyについて ZOZOMATシステム構成におけるEnvoyの役割について簡単に説明しておきます。クライアント(ZOZOTOWNアプリ等)とZ
※この投稿は米国時間 2020 年 4 月 11 日に、Google Cloud blog に投稿されたものの抄訳です。 ほとんどのソフトウェア デベロッパーがご存じだと思いますが、API 設計には RPC と REST の 2 つの主要なモデルがあります。モデルに関係なく、ほとんどのモダン API は、なんらかの方法で同じ HTTP プロトコルにマッピングすることによって実装されます。また、RPC API 設計では、RPC モデルの範囲から外れずに HTTP から 1 つまたは 2 つのアイデアを採用することが一般的になっています。これにより、API 設計者に提示されるオプションの範囲が広がりました。この投稿ではこれらのオプションについて説明し、どれを選ぶか決める際に役立つガイダンスを提供します。 gRPC は RPC API を実装するためのテクノロジーで、HTTP 2.0 をその基盤
はじめに 私の職場では、WebAPIの仕様書をWordで書く習慣があったのですが、2018年頃にSwaggerで書くように切り替わったので、そのように変化した経緯を書きます。 何かの参考になれば幸いです。 ちなみに、こちらの記事と同じ職場です。 Wordな職場にMarkdownを定着させるためにやった4つのこと Swaggerとは? Swaggerとは、REST APIの仕様を定義するためのフォーマットです。その周辺技術も含めて、Swaggerと呼ばれます。以下の記事が非常に参考になりますので、詳細を知りたい方はご参照ください。 Swaggerの概要をまとめてみた。 Swagger 導入失敗 2016年頃のある日、上司から「世の中にはSwaggerというものがあるらしい。調べてもらえる?」と指示されました。 調べてみたところ、Swaggerがあれば、WebAPIのドキュメントサイトも作れる
GCPって Google Cloud Platform。 Googleアカウントがあれば使用でき、世界中に多くのデータセンターを持つGoogleの大規模なインフラをCloudサービスとして提供している。 何のメモ GCPには数多くのサービスがあり、ちょっとまとめてみようと思った。 どんな時に役立つ? GCPのこのサービスって何だっけ?どんなんだっけ?と思った時に。 あくまで自分がどんなサービスだったかを思い出すためのメモ。 サービスの分類 おおまかにはこんな感じ。(一部省略してます) ※2019年8月末時点のもの。 ※α版、β版を含む。 https://cloud.google.com/products/?hl=ja よりいろいろ引用してます。 分類 サービス例
こんにちは、エンジニアリンググループの福林 (@fukubaya) です。 先月から、今年の秋くらいにリリース予定の新サービスの設計、開発を始めました。 せっかく新しく始めるサービスなので、まだ経験したことがない言語やフレームワーク、技術を使わないと楽しくありません。 そこで、バックエンドにGoにして、フロントのAPIまで含めてgRPCの .proto ファイルで定義を一元化し、APIコードは protoc で生成させる計画を立てていたのですが、 フロントでgRPCとなると、 gRPC-web か grpc-gateway になるが、リリースまでに使える期間では認証も含めると検証が間に合わなさそう Goだけでなく、terraform(インフラ設計もやります) も Vue.jsも今回が初めて、というメンバーもおり、さらにRESTではなくgRPCも、となると未経験技術が多すぎてキャッチアップが
Red Hatは、同社が中心となってオープンソースで開発中のコンテナエンジン「Podman」がバージョン1.0に到達したことを発表しました。 Podmanはもともとコンテナエンジンの標準仕様であるOCI対応として開発されていた「cri-o」をベースに開発が始まったとされています。 Podmanはコンテナエンジンの標準仕様である「cri-o」に対応し、現在はDockerとほぼ同じDockerコマンドをサポートし、ベータ版のRed Hat Enterprise Linux 8にも同梱されています。 今回、Podmanが正式版となるバージョン1.0に到達したことで、Red Hat Enterprise Linux 8が正式版となったときにはDockerの代わりにPodmanが標準のコンテナエンジンになるとの指摘もあります。 Podmanのおもな特長は以下です。 Rootless containe
この記事は GraphQL Advent Calendar 2018、JX通信社 Advent Calendar 2018の19日目です。 NewsDigest で API のバックエンドとして GraphQL を本番利用して1年ぐらい経ちました。GraphQL 自体は、「クエリ言語」という位置づけですが、実際には「API のスキーマ」という使われ方(a.k.a. Anti-REST な何か)が多いと思います。 実際、NewsDigest の API としては、もともと RESTful なものを運用してたのですが、GraphQL へ移行しました。つまり、 RESTful の代わりとしての利用 プライベートな API アプリから使う API サーバーサイドエンジニアがメンテするもの(BFFな文脈で、フロント側のエンジニアがメンテするケースも多いと思いますが) といった使い方です。GitHub
GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools. Ask for what you need, get exactly thatSend a GraphQL q
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く