タグ

2020年12月16日のブックマーク (4件)

  • APIに利用制限をかけるとしたらどういうやりかたがあるのか - おもしろwebサービス開発日記

    この記事はSmartHR Advent Calendar 2020 11日目の記事です。 僕のお手伝いしているSmartHRでは、毎週バックエンドエンジニアが集まり、技術的なトピックについて共有、相談しあうミーティングを開催しています。そのミーティングでは僕がTipsなどを共有するコーナーが常設されています*1。 このエントリでは、そのコーナーで共有した内容をひとつ紹介します。 APIに制限をかける方法について APIを外部に提供するとき、一定の制限をかけてユーザがAPIを乱用するのを防ぐことはよくあることではないでしょうか。素直に考えると「1時間に5000回までAPIを実行できる」のようなやり方を思いつきますね。GitHubAPIもそのやり方ですし、SmartHRAPIも同様です。 じゃあそれでいいのでは。となるかもしれませんが少し待ってください。いろんなクライアントがAPIを大量に

    APIに利用制限をかけるとしたらどういうやりかたがあるのか - おもしろwebサービス開発日記
  • ActivitySourceについての概要 - Qiita

    はじめに 以前DiagnosticSourceについての解説記事を書いた。 この記事の中で、Activityに軽く触れているが、今回net5.0よりActivitySourceが登場し、 OpenTelemetryのC#実装もこちらを積極的に使うようにしたらしいので、使い方の記事を書く。 なお、DiagnosticSourceとは兄弟のようなものだが、基的に継承、所有関係等は無く、互いに独立したクラスであることに注意してほしい。 Activityについて Activityについては、アクティビティユーザーガイドという公式文書はあるが、日語が無いのと、DiagnosticSourceでの使い方しか書いてないので、ここでも解説する。 また、多くの概念をW3C Trace Contextから参照しているので、コメントを見てもよくわからない部分があったらそちらを参照するのがいい。 何のためのも

    ActivitySourceについての概要 - Qiita
  • Azure App Service と Regional VNET Integration を使ったセキュアなアプリケーションの実装パターン - しばやん雑記

    2020 年は Azure App Service にとってはネットワーク周りの新機能やアップデートが非常に多い年になりました。そろそろ今年も終わりなので App Service の定石アーキテクチャをアップデートする良い機会です。 まずは今年のネットワーク関連アップデートについておさらいしておきます。Regional VNET Integration はプレビューの時から使ってきたので、最近 GA したという気が個人的にはしていません。 GA Regional VNET Integration (NSG / Route Table) Private Link (Private Endpoint) NAT Gateway Hybrid Connection for Linux App Service Premium V3 / VMSS Worker Preview Azure Functi

    Azure App Service と Regional VNET Integration を使ったセキュアなアプリケーションの実装パターン - しばやん雑記
  • ADOP (Application Domain Others Pattern)

    TL;DR ADOP はヘキサゴナルアーキテクチャの実装パターンとして考えられます。 パターンという名前はそれに由来します。 あえて名付けた理由はこぼれ話をご確認いただけると幸いです。 ADOP の概要 ADOP (Application Domain Others Pattern) は中長期的に運用可能なコードへ誘導するアプリケーションアーキテクチャパターンです。 ADOP は次の特徴があります。 最小限のルールである 指針が明確である 特定の技術スタックに縛られない テスタビリティが確保される これらの特徴は、コードを自然と中長期的に運用可能なコードへ導きます。 まず、簡単にそれぞれがどういった意味を成すのかを確認してきましょう。 最小限のルールである どれほど完璧な作戦であっても、その実行が不可能であれば何の意味もありません。 プログラミングにおいてもそれは同じことで、制約を守るため

    ADOP (Application Domain Others Pattern)