2023-01-01から1年間の記事一覧

冪等性リフレッシュトークンについて

冪等性リフレッシュトークンとは アプリ側で使用しているアクセストークンの有効期限が切れた際、リフレッシュトークンを使ってアクセストークンを再度取得することがある。 このときトークンリフレッシュAPIを叩くが、ネットワーク遅延でリトライ処理された…

「検索範囲ではなく値範囲を使うチューニング手法がB-Treeインデックスを採用しているDBにおいてなんら無効である」について

元ネタは以下のtwitterの投稿である。 https://twitter.com/kenta_feels_ayu/status/1721553272220373238 どういうことなのか理解しておきたいと思ったので記事にします。 「範囲検索ではなく値検索を使うチューニング手法がB-Treeインデックスを採用してい…

全銀ネットのシステム構成を図解・障害の原因についても解説

モチベーション 全銀システムで障害が2023/10/10~12にかけて発生している。 この機会に全銀システムの全体像を図解して理解してみようと思う。 全銀システムの全体図 現在 ・処理能力 3,000万件/1日 ・現在代7世代 ・中継コンピュータは中央のデータセンター…

#phpcon2023の振り返り

readonly classで作る堅牢なアプリケーション Immutableである点が良い。 よくよく考えるとCarbonの仕様って意味わからない。 ORMとの相性が悪いのでImmutableなドメインクラスに変換して使うようにするといい。 スケーラブルサービスーー疎結合に成長するシ…

「DNS浸透言うな」について整理

「DNS浸透言うな」を知った経緯 レジストラ&ホスティングサービスのDNSサーバからAWSのRoute53にDNSサーバを置き換える仕事があった。 その時DNSサーバ移行に際して気をつけることを調べていた時にちょうどGMOクラウドサポートのtwitterが炎上しており自分…

ドメイン移管作業から学んだこと

ドメイン移管とは? ドメイン移管という言葉は曖昧で、最初この作業を始めるときに知識がない状態の自分が使っていた言葉だが、きちんと意味わけすると2つの意味があった。 ネームサーバの変更 レジストラの変更 今回は結論から言うとレジストラの変更作業を…

go1.20で追加されたCancelとWaitDelayを理解する

なぜこの記事を書くのか? ただGoでDaggerを使いたかっただけなのだが、daggerを実行しようとするとversion1.20を必要とされた。 その際に以下のようなエラーが出たのでCancelとWaitDelayとはなんなのか気になり調べることにした。 ...dagger.io/dagger@v0.7…

InnnoDBのトランザクションの扱いについてまとめた

トランザクション分離レベル ファントムリード 3度SELECTを行い件数を取得するTx1クエリがあるとする。 Tx1クエリのCommit前に、1行別のTx2クエリトランザクションによってCommitされたとする。 Tx1クエリトランザクションでは、このトランザクション内で他…

DNS周りの理解を深める

ネームサーバとDNSサーバーの違いは? 同じ。ドメインとIPアドレスを変換して紐づけるためのもの。 権威DNSサーバとDNSコンテンツサーバの違いは? 同じ。フルサービスリゾルバやキャッシュサーバのように名前解決先を探す役割ではなく、自分の知っているゾ…

monologの仕組みを調べてみた

LaravelやSynfonyなどPHP系のフレームワークに組み込まれているmonologの仕組みを理解しようとしたら思っていた以上にHandlerというlogの出力先の設定などをするためのものが元々用意されているのがいいなとおもた。 抑えるべき概念 - Handler - Formatter -…

AWSアクセスキーの管理方法のベストプラクティスの勉強とGo SDK実装のコードリーディング

結論 アプリ実行用サーバにアクセスキーを持たせて、各AWSリソースにアクセスするやり方はできるだけ避ける。 代わりにIAM RoleやSTSを使って一時的な認証を行うことができるのでそちらでできるだけ代替する。 具体的には、以下の順に推奨されていた。 EC2か…

Nmap tryHackMeで入門

nmap 攻撃先のランドスケープ、つまりサーバーの構成や開いているポートが何かというのを調べるためにnmapはよく使われる。 TryHackMe | Nmap タイミングテンプレート paranoid(0)、sneaky(1)、polite(2)、normal(3)、aggressive(4)、insane(5) …

DB設計をしてみての振り返り

新卒2年目ですががっつりDB設計をすることがあり、その際に思ったことなどをまとめておく。 3層スキーマを意識しておけばよかった 特に設計の内容が変わるわけではないのだが、どこまでやればDB設計を完了とみなしていいかがあまりわかっていなかった。今ま…