Best Practices for Managing and Storing Secrets Including API Keys and Other Credentials [cheat sheet included]
こんにちは、エンジニアの村田です。今回はシンプルさとパフォーマンスを両立した API を作るためにはどうすればよいのかについて述べていきます。 背景 いままで API サーバーを作ってきて、シンプルな API にすればパフォーマンスが犠牲に、パフォーマンスを優先すれば実装が複雑になって保守が大変になるということを経験してきました。具体的には、 関連リソースの Entity が何重にもネストしていたり、同じリソースに一覧用、詳細用などの Entity があり実装、保守が大変 1. の問題を解消するためにシンプルな API にする 2. では N+1 の問題がありパフォーマンスが悪い 1. 2. の問題を解消するためにリソースの Entity はシンプルにしつつ、パラメーターで関連リソースを指定すると関連リソースの Entity を埋め込んで返すようにする 4. だと関連リソースの権限管理やペ
2020-06-11 ZOZOMATのクロスプラットフォーム3D Android Objective-C Xcode iOS macOS 設計 C++ 3D ZOZOMATとは何でしょうか?オンラインで靴を購入する際に、サイズが合わないという問題を解決する仕組みです。1台のスマートフォンと紙製のZOZOMATだけで、正確に足のサイズを測れます。足をスキャンすると、高精度の3Dモデルが生成されます。最適なサイズの… ZOZOMATのクロスプラットフォーム3D 2020-06-11 近似最近傍探索Indexを作るワークフロー 機械学習 自動化 設計 マイクロサービス バックエンド インフラ Kubernetes Airflow はじめに こんにちは。ZOZO研究所のshikajiroです。主に研究所のバックエンド全般を担当しています。ZOZOでは2019年夏にAI技術を活用した「類似アイテム検
by Shishir Kakaraddi, Srinivas Raghunathan, Adam Gross and Ryan Johnston We are pleased to announce the open source release of the Fast JSON API gem geared towards Ruby on Rails applications. Introduction Fast JSONAPI is aimed at providing all the major functionality that Active Model Serializer (AMS) provides, along with an emphasis on speed and performance by meeting a benchmark requirement of b
This how-to guide aims to give you the best start to building your Rails API. Thanks to the new rails-api gem that has shipped as part of the Rails core since version 5, Rails is an ideal candidate for building streamlined APIs quickly and easily. Before the advent of Rails 5, the best option for building APIs in Ruby was arguably Grape. Grape is still a great option, especially if you like to DIY
色々なパフォーマンス指標のこと 何かを評価するときには何らかの指標(メトリクス)を定めますが、何を指標として設定してどのように測るかというのは重要です。 いわゆる KPI もそうですが、扱っている商材やビジネスのステージ(フェーズ)によっても適切な指標は変わるかもしれません。色々な指標をよく理解して引き出しを広げておくことは、状況に合わせて適切な指標を選んで改善していく過程で役立ちます。 これまでのパフォーマンス指標 過去の Web パフォーマンス界隈はバックエンドから HTML ドキュメントを返却する際の所要時間や、Web ページロード時の各イベントの発火時間を計測する方法が多く見られました。 Backend Time Browser Event Based DOMContentLoaded Page load ( onload ) 近年は特に後者の、既定のイベント発火に依存していたクラ
Payment Request APIという仕様の策定が進んでいるという話を聞きまして、ちょっと触ってみました。 あまりコードは書いてないですが、ここに置いてあります。 github.com https://joe-noh.github.io/payment_request_api/でも試せるようにしてあります。108円取られそうになりますが、途中で失敗して中断するようになってます。 できること ECサイトなんかで買い物をするとき、フォームにクレカ番号とか届け先とかを入力すると思いますが、あの辺の情報の入力をブラウザに丸投げできちゃいます。言葉で書くより、以下のページのスクショを眺めたほうが速いと思いますので貼っておきます。 developers.google.com ここではブラウザの画面で説明されていますが、今後はPCはもちろんもっと多様なデバイスで使えるようになって、夢が広がるねとい
概念としてとしてのRESTは、 Roy Fielding が博士論文「 Architectural Styles and the Design of Network-based Software Architectures 」で導入したものです。その16年後、アーキテクチャとしてのRESTは、APIを設計・構築するための最も広く受け入れられた方法となっています。RESTについては私たちはみんな聞いたことがありますし、自分たちが実際にRESTfulなAPIを構築しているとほぼ皆が思っています。しかし、それは本当でしょうか? 「RESTとは何か?」ということを自分たちにもう一度思い出させたうえで、さらにRESTを補う別の方法、「HATEOAS」と呼ばれるものの話に続けていきましょう。 RESTとは何か?をもう一度 私はこれを説明するための良い方法について考えていたのですが、Ryan Tomak
Secured API Acceleration with Engineers from Amazon CloudFront and Slack The document discusses how Slack uses Amazon CloudFront to accelerate its API delivery. Some key points: - Slack saw performance and latency improvements by migrating its API from Elastic Load Balancers to CloudFront. This included average latency dropping from 90ms to 15ms worldwide. - CloudFront provides automatic DDoS prot
追記 (4/15) 現在は Let's Encrypt の証明書が利用できるようになっているようです。なので「https で Callback が受け取れない」と言う理由のためだけに Amazon API Gateway を使う必要も無くなりました。 LINE Bot API は Callback URL が https のみで、しかも Let's Encrypt や StartSSL と言った無料の証明書が使えない。どうにか安価で Bot を動かしたいとなると Heroku のようなドメインを指定しなければ Wildcard 証明書が割り当てられている PaaS を使うのが一般的でしょう。 しかし Heroku は外に抜ける IP アドレスがどんどん変わっていくので、 Bot API の IP Whitelist に登録することが出来ない。仕方無いので Heroku に rack-rev
Yahoo! Open Local Platform(YOLP)は、Yahoo!マップがデベロッパー向けに提供する地図・地域情報のAPI・SDKです。ウェブページの制作はもちろん、スマートフォン向けアプリケーションの開発においても、多彩な地図表示、店舗・施設検索、ジオコーディング、ルート検索、標高データ取得などの豊富な機能をご活用いただけます。 お知らせ 地図・地域情報の検索 Yahoo!ローカルサーチAPI 全国の店舗、イベント、クチコミ情報などの地域・拠点情報を検索できます。 Yahoo!ジオコーダAPI 住所をキーワードとして検索し、その位置情報を提供します。 Yahoo!リバースジオコーダAPI 指定の地点の住所情報を取得する機能を提供します。 その他の便利ツール 気象情報API 指定した緯度経度の降水強度実測値と予測値を取得できます。 郵便番号検索API 郵便番号を指定して、位置
概要 instagramにアップされ、popular入りした写真から顔写真だけをピックアップして紹介するtumblr「instagram faces」を作りました。 http://instagramfaces.tumblr.com/ 目的 かわいい女のコの写真見たくないですか?僕は見たいです。 スクリーンショット 猫とか混じってて泣きそうです。たまにフツーの風景画も混じっていたりします。 処理概要 バックエンドはGoogle App Engine(Python)です。 cron処理で数分おきにinstagramにアクセスし、popularの写真一覧を取得。取得した画像URLを次の顔認識queueに渡します。 顔認識queueでは、detectFace();という顔認識APIを使用し、画像内に顔があるかどうかをチェック。APIで取得できる「信頼度」というパラメータをしきい値として、ある値を超
前々から書こう書こうと思っていた、FacebookのJavaScriptSDKの解説エントリーです。 APIや規格、HipHopやliftといったオープンソースなどの陰に隠れがちですが、このJavaScriptSDKもなかなか面白いです。 3行で解るJavaScript SDK 投稿・認証・署名を含めた全APIアクセスをサポート 公式なUIもついてくる Facebookアプリも、外部のマッシュアップサイトもこれ一つでOK つまり、これ一つで簡単なクライアント機能をもったサイトまたはFacebookアプリが作れちゃいます。 情報を取ってきてなにか書いてもらって投稿するのはもちろん、ちょっとしたクローリングをおまけにつけたアプリまでJavaScriptの範囲内で完結しますので、サーバー側で凝った処理を実装するのではなく、JavaScript側で可能な限り完結させるのがベストプラクティスといえま
最近発表されて、一部で話題を呼んでいるTwitterの新しいStreaming API「ChirpUserStreams」。 まだdeveloperへのpreviewリリースということでプロダクトに使うようなことはできないけど。 http://apiwiki.twitter.com/ChirpUserStreams 今までのStreaming APIでは基本的に public timelineから、指定したキーワードを含む発言を拾う 指定したユーザーの発言を拾う というものだった(はず)。検索系としては便利だけど、home_timelineのように自分がフォローしているユーザーの発言をStreamingで得ようとすると全idを繋げたものをリクエストパラメータとして送らないといけなかったりで、あまりカッコよくない形になってしまっていた。 ところが今回使えるようになった「ChirpUserSt
2010/01/06 Twitterが2009年4月からアルファテストを行ってきた「Streaming API」が1月6日、正式版としてリリースされた。Streaming APIは、パブリック・タイムラインや特定の検索語彙、ユーザーID、位置情報によるフィルタリングで流れてくるリアルタイムな情報を取得するためのAPI。パブリックタイムラインの取得は一般ユーザーの権限(BASIC認証を使う)では、サンプリング済みのサブセットだけとなるが、より多くのサンプルを取得するAPIや、フルセットのパブリックタイムラインを取得する“Firehose”(非常に大量のデータが流れ出てくることから、水圧の高い消防ホースになぞらえている)と呼ばれるAPIもある。 “ストリーム”は小さなデータの更新情報の流れを表す一般的語句としても用いられているが、FacebookやTwitterが提供するStreaming A
AJAX News Bar The News Bar is a Google AJAX Search API application that lets you easily add application and page-controled news search results to your web pages or blog. This control, which provides search-driven bars of news results, is highly customizable: you can specify the news bar's orientation, the number of results it displays, the list of search expressions that drive it, etc. You can con
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く