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

Go gorm mysql の構成でデッドロックに立ち向かう ~retry処理, retry-go~

Go

Go gorm mysql の構成でデッドロックに立ち向かう ~retry処理, retry-go~

OAuth, OIDC, Auth0, Cognitoを思い出すINDEX

What OAuth, OIDC, Auth0, Cognito など認証認可にまつわるプロトコルやIDaaSを調べ直すことが多い。 毎回同じ記事を検索していたのでインデックスとして残しておく。 要約とインデックス OAuth2.0 OIDC Auth0・Cognito アクセストークンの要求方法とそれに…

Go言語の振り返り

Go

Go言語を使い出してもうすぐ一年が経ちます。 この機会にGo言語の振り返りをしたいと思います。 Go言語のメリット Goを学習して感じたメリット 可読性が高い gofmtが世界標準になっていて、プロジェクト毎に設定する必要がない 標準パッケージが充実している…

Single Source of Truth 信頼できる唯一の情報源 SSOT

今回は SSOTの考え方についての学習録です。 SSOTとは Wikipedia 情報システムの設計と理論においては、すべてのデータが1か所でのみ作成、あるいは編集されるように、情報モデルと関連するデータスキーマとを構造化する方法である。データへのリンクで可能…

GraphQL vs OpenAPI スキーマ駆動開発比較

今回はGraphQLとOpenAPIの開発を比較していきたいと思います。 筆者は本業のプロジェクトでGraphQLを、副業でOpenAPIを使用しています。 アプリケーション開発時にどちらを選定するか迷っている方の参考になれば幸いです。 使用技術概要 GraphQL OpenAPI バ…

DaynamoDB を学習した時の記事、詰まった箇所

2022年の1月から副業業務委託としてtoB SaaSの開発をお手伝いさせて頂いています。 以下の技術スタックで開発してます。 Go DynamoDB OpenAPI3 DynamoDB, OpenAPIは初めて触る技術でした。 新しい技術のキャッチアップはかなり負荷のかかる学習ですが、同時…

goldie でAPIテスト Go Golang goldie その1

今回はgoldieというライブラリを使ったGolden testを実装していきます。 Golden Test Goleden Testとは .golden拡張子のファイルにAPIの結果(jsonなどを)保持しておき、テスト時に出力結果に変更がないかを比較するテスト手法です。 goldie goldieはGo言語用…

Go logLevel設計 logrus echo

今回はGo言語でログ出力を実装します。 Go言語には標準でlog パッケージがありますが、今回はよりリッチな logrus を使ったログ設計を行なっていきます。 レベル設計 ログをレベル単位で分けることでバグの検出を容易にするだけでなく、特定のレベルが出力さ…