起きたこと 任意のrenovate差分をmain mergeしてCloud BuildでCloud Run Servicesをデプロイしていた際、任意のService deployで「Cannot merge resource due to conflicting Schema URL」というエラーが出てデプロイに失敗した。 原因 go.opentelemetry.io/…
概要 graphql-schema-linterをGitHub Actionsで実行し、特定の配下に存在する.graphqlファイルの静的解析を行う。 PR差分を静的解析の対象とするためにreviewdogを利用する。 動機 RESTを採用していた前職の現場と異なり、現職の現場ではGraphQLがクエリ言語…
はじめに FASHIONSNAP.COMが毎年12月に公開しているベストバイ企画が大好きなので自分でもやってみる。 余談だが、先日取材を受けた際に繊研新聞の記者さんにも「ベストバイ企画お好きですよね」とバレていて恥ずかしかった。 衣料品・ルームアイテム Carol …
はじめに PostgreSQLデータベースのスキーマ変更やインデックス追加を行う際は、ALTER文実行によるテーブルロックとその影響について事前考慮しておく必要があります。 2022年7月現在、MySQL 5.6以降では後述するオンラインDDLによってALTER文実行時でも多く…
はじめに gRPCをゼロから学びたい人向けのドキュメント、ブックリストを備忘録的に記載しました。 適宜更新するかもしれません。 紹介一覧 公式 https://grpc.io/ 基本。 スターティングgRPC www.amazon.co.jp もともと同人誌として発行されていた書籍の商業…
概要 TerraformでGCP IAM設定をする際、google_project_iam_bindingの利用には注意が必要だ。 bindingリソースの挙動を把握していないと、新規にロールを有効化した際に既存のbindingリソースから意図せずロールを剥奪してしまう可能性があるからだ。 では、…
はじめに 2022-01-08、オープンソースのnpmパッケージであるcolors.jsとfaker.jsの作者が、不具合を引き起こす実装を意図的に含めたこれらの最新バージョンを公開した。 それらを利用しているプロジェクトは影響を被り、問題のコードが含まれないバージョン…
はじめに 顧客影響を伴う事象が本番環境において発生した場合、エンジニアは下記のような計画外の火消し業務に追われる。 インフラ系 SLO違反などを原因としたPager発報などに端を発するインフラ周りの復旧改善対応。 サービス系 サービスのユーザー、あるい…
はじめに ソフトウェアエンジニアであるOz Novaさんは2017年、自身のblogに”You Are Not Google”というタイトルの記事を投稿した。 彼はこの記事でエンジニアリングにおける「カーゴ・カルト」、つまりGAFAMに代表される成功したBig Techが採用しているよう…
はじめに ある日、符号なし整数型で宣言した値に関わるエラー処理部において、ロギングのためにその値を出力させたかった。 値は後述のような構造体内で保持していたので、書式指定子%#vを用いたのだが、ログに吐かれた値は期待した10進数でなく、16進数にな…
はじめに M1 Mac上でDockerコンテナにdelveやAirをインストールしたところ、$GOPATH/bin下に実行バイナリが作成されなかった。 結論 $GOPATH/ └── bin/ └── $GOOS_$GOARCH/ └── dlv クロスコンパイルされていたことで、$GOPATH/binでなく$GOPATH/bin/$GOOS_$…