はじめに こんにちは、retail HUBで Software Engineer をしているほんだです。 今回は私が現在着手している事業譲渡されたアプリを社内で持続的なプロダクト開発を行える状態にするリプレイスプロジェクトをどのように行っているか紹介しようと思います。 この記事ではリプレイスを行うにあたってどのようなことを課題に感じてその課題に対してどのような解決策をとったか主にサーバーの実装について説明しています。 ネットスーパーアプリとは 現在弊社ではネットスーパーアプリとして Web アプリとスマホアプリの二つのシステムを提供しています。 Web アプリは販促コンテンツの設定や売り上げの管理・集計を行うことが可能な管理システムと受け取り方法に応じた価格変更や送料変更にも対応し、消費者の柔軟な買い物を実現するお客様向けアプリを 17 の小売り様に、スマホアプリでは Web アプリのお客
GithHubは、今後はAPI仕様を記述する業界標準であるOpenAPIに対応した生成ツールで生成したAPIクライアントをSDKとして提供することを明らかにしました。 現在まで同社は「Octokit」と呼ばれるSDKを提供しています。これはGitHubの開発者が、外部のアプリケーション開発者のために、さまざまな言語でGitHub APIを呼び出しやすいように開発したライブラリと言えます。 それに対して今後は、GitHubのAPIがどのような仕様であるかを業界標準であるOpenAPIに従って記述したドキュメントを基に、そこからAPIクライアントを生成するツール「Microsoft Kiota」によって生成したAPIクライアントをSDKとして提供することになると説明されています。 GitHubはこれを同社にとって大きな転換点だと、ブログ「Our move to generated SDKs」(
REST is an acronym for REpresentational State Transfer and an architectural style for distributed hypermedia systems. Roy Fielding first presented it in 2000 in his famous dissertation. Since then it has become one of the most widely used approaches for building web-based APIs (Application Programming Interfaces). REST is not a protocol or a … REST is an acronym for REpresentational State Transfer
ほとんどの最新の Web アプリケーションでは、クライアントがアプリケーションと対話する際に使用できる API を公開しています。 適切に設計された Web API には、次をサポートする目的があります。 プラットフォームの独立。 API の内部的な実装方法に関係なく、すべてのクライアントが API を呼び出すことができる必要があります。 そのためには、標準プロトコルを使用し、クライアントと Web サービスが交換するデータの形式に同意できるメカニズムを備えている必要があります。 サービスの進化。 Web API はクライアント アプリケーションから独立して進化し、機能を追加できる必要があります。 API の進化に伴い、既存のクライアント アプリケーションが変更なしに引き続き機能する必要があります。 クライアント アプリケーションが機能を十分に使用できるように、すべての機能が検出可能である
こんにちは、Wantedly People アプリの開発をしている竹野(Altech)です。今回は、Protocol Buffers についての記事になります。 Wantedly People では、2018年に Protocol Buffers (以下、Protobuf と呼ぶ)がとあるマイクロサービスに入って以降、何度か大規模に Protobuf を使った開発をしてきました。またその経験を通じて、Protobuf には単に「型がついて嬉しい」というだけではないパラダイム的な変化があることが分かってきました。 その知見を全社に展開するため、去年「Protobuf によるプロダクト開発速習会」という会を行いました。この記事の内容は、そこで話したことの前半「Protobuf を使うと開発がどう変わるのか?」になります。 なお、Protobuf にはバイナリフォーマットとしての役割とインターフ
皆さんはREST APIの開発にどのようなフレームワークをお使いでしょうか? これまで、個人的には Flask 等の軽量なWebフレームワークを使って開発することが多く、REST API開発に特化したWebフレームワーク(以下、APIフレームワークと呼ぶ)を使った経験はありませんでした。 しかし先日、業務で Django REST Framework に触れる機会があり、REST APIの実装に必要な機能の多くが提供されていて、圧倒的に少ないコーディング量で開発が完了することを実感できました。例えば、フィルタリング(URLクエリストリングで検索条件等を指定し、取得する値を絞り込む)機能は、一から実装するとなると文字列をパースして、バリデーションして、クエリに渡して……、と結構面倒ですが、Django REST Frameworkではビルトイン機能として提供されているので、最小限のコードで実
くっ、名前だけ知ってたけどこんなの便利だとは…!! marketplace.visualstudio.com Azure API Management の Visual Studio Code 拡張機能で API のテスト呼び出しに REST Client が使われてるので使い始めてみたのですが「あっ、ハイ。便利っすね…」という感想しか出てこないくらい便利でした。 普通に HTTP のリクエストをテキストで用意しておくと Send Request 押すだけでレスポンスを出してくれる…。 先人の方々が沢山紹介してくれてる記事があるので詳しい使い方とか推しのポイントはそちらを見るとわかりやすいと思います! qiita.com 私の推しポイント 上記記事にも書いてありますが、1ファイルで複数のリクエストを書いておいて、個別に実行できるので特定の API をテストで叩くためのファイルを 1 つ用意
"RESTはxだからyを使おう"といった論調で,GraphQLやgRPC,非同期通信,あるいはそれらほど有名ではない選択肢を推奨する記事もあります。その主張は次のようなものです。 GraphQLはRESTより優れている。コンシューマが受信するデータをコントロール可能であり,APIプロバイダがリソースをサーバ側に集約できるからだ。 gRPC(とプロトコルバッファ)はRESTより優れている。タイプセーフで、バイナリシリアライゼーシfielding/pubs/dissertation/top.htm">Architectural Styles and the Design of Network-based Software Architectures"で定義されました。この論文の本当の目的は、"ソフトウェアアーキテクチャを理解するためのフレームワークの定義して ... ネットワークベースのアプリ
grpc-gatewayの開発に学ぶ、ソフトウェアの設計手法~Yuguiが定めた、2つの基本設計方針 良いソフトウェアとはどのような方針のもとに設計されているのでしょうか。広く使われているOSSであるgrpc-gatewayの開発過程を作者のYuguiさんが振り返り、その設計手法を解説してもらいました。 こんにちは。 Yuguiと言います。 本記事では読者がより良いソフトウェア設計を行うための参考として、筆者が経験してきた設計上の決定をご紹介します。 筆者はこれまでRuby 1.9のリリースマネジメントを担当したり、Google Mapsの日本向け地理データ処理やgrpc-gatewayの開発などをしてきました。そしてこれらを通じて、広く長く使われて拡張されていくソフトウェアを設計するための方針決定に携わったり、方針に関わる良い議論を目にしたりする機会に恵まれてきました。中でも本記事では、
本記事の流れ はじめに 読者の想定 この記事に書いてあること Codespot とは Codespot 全体のアーキテクチャ Django を使う理由 Django REST framework ( DRF ) も使う理由 具体的な Django + DRF の魅力 DRF のシリアライザに一工夫したこと DRF のシリアライザでデータを加工して保存や更新をする時の設計 DRF のパーミッションにクセがある me API のような REST でないものでも DRF に乗っかりたい時 モノリシックでない Web サービスでの OAuth と認証 django-allauth のクセ Twitter OAuth でメールアドレスの取得 元々いたページにリダイレクト あとがき はじめに こんにちは株式会社ピケのサーバサイド & インフラを主に担当している古内です。 私は主に Python を使っ
Announcing Insomnia 10.1 GA with a new Collection Runner CLI, in-app invites, and more Design, debug, test, and mock APIs locally, on Git, or cloudBuild better APIs collaboratively for the most popular protocols with a dev‑friendly UI, built-in automation, and an extensible plugin ecosystem. Get Started for Free
REST API仕様からAPIクライアントやスタブサーバを自動生成する「OpenAPI Generator」オープンソースで公開。Swagger Codegenからのフォーク RESTful APIの仕様を基に、APIクライアント用SDK、APIクライアントのテスト用にAPIサーバのように振る舞ってくれるスタブサーバ、Webサーバのコンフィグレーション、ドキュメントなどを自動生成してくれる「OpenAPI Generator」がオープンソースとして公開されました。 RESTful API仕様の記述フォーマットは、2015年にマイクロソフトやGoogle、IBMらが立ち上げた「Open API Initiative」が提唱する「OpenAPI Specification」が事実上の業界標準となっており、OpenAPI GeneratorもこのOpenAPI Specificationを基に開
今から10年ほど前に、RESTとSOAPベースのシステムを中心とした活動の盛り上がりがあった。何人かの著者がそれぞれの長所と短所を書き上げたり、導入を検討すべきなのはどちらなのかを論じたりしていた。しかしながら、多くの注目がSOAPベースのWebサービスからRESTとHTTPに移行するにつれて、意見や議論は下火になり、多くのSOA実践者が分散システムの基盤としてREST(あるいはプレーンなHTTP)を採用するようになっている。そのような中でPakal De Bonchamp氏は先頃、“REST is the new SOAP”と題した記事を著して、RESTの適用を“狂気の沙汰(testimony to insanity)”だと断じた。 氏の記事は長く、内容も詳細にわたるが、その要点となっているのは、RPC機構ならば“数時間”でできる単純なAPIの提供が、RESTを使うことによって複雑で時間
今年GitHubがGraphQL APIを正式公開したあたりから、GraphQLが去年とかに比べちょっと流行り始めたように感じる。idobataがGraphQL APIを公開したり、Kibelaも公開APIをGraphQLで作ることを宣言している。 利用者側からすると使えるインターフェースの中から必要なものを調べて使うだけなのであまり考えることはないのだが、自分がAPIを提供する立場になると話は変わってくる。REST APIとGraphQL APIはどちらかがもう一方のスーパーセットという風にはなっておらず、どちらかを選択すると何かを捨てることになるので、要件に応じてどちらを選ぶのが総合的に幸せなのか考える必要がある。 以前趣味でGitHub連携のあるサービスを作っており、それを最近GraphQL API v4を使うように移行し、そこでついでにそのサービスのGraphQL APIを書いてみ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く