Twitterを見ていたらたまたまこんなイベントがあることを知って、wtnabeさんの話が久しぶりに聞けるしそういえばアジャイルってよく分からないから理解するきっかけになりそうだなということで参加してきました。
イベント開催から1週間近く経ってしまいその時の温度感は残念ながら表現できませんが、私が得た気づきをカジュアルに書いていこうと思います。
続きを読むこの記事は ZOZO Advent Calendar 2021 の13日目の記事です。
AWSのCloudWatch Alarmを利用していて、欠落データが含まれるときのアラーム状態の評価について知らなかったので実際に試しながら学びました。
Envoy の gRPC-JSON transcoder を使っているときにアクセスログでハマったのでメモっておきます。
gRPC-JSON transcoder というのは、簡単にいうとRESTful な JSON API としてリクエストすると gRPC の形式に変換した上で upstream のサーバーにプロキシしてくれて、レスポンスについても gRPC の形式から JSON に戻してくれるという機能です。
例えばこのような protobuf を定義して Envoy に取り込むと GET /shoes/{item_id}
という JSON API のエンドポイントが有効になりリクエストを送れるようになります。
syntax = "proto3"; package shoes; import "google/api/annotations.proto"; service Shoes { rpc GetShoeInfo(GetShoeInfoRequest) returns (ShoeInfo) { option (google.api.http) = { get : "/shoes/{item_id}" }; } } message GetShoeInfoRequest { string item_id = 1; } message ShoeInfo { string item_id = 1; string name = 2; string type = 3; repeated string size_labels = 4; }
で、実際にリクエストを送ってみると以下のようなアクセスログが出力されました。パスが正しいので見落としていたのですがよく見ると GET でリクエストしたにも関わらず POST と出力されているのに気付き、調べてみることにしました。
$ curl -v http://localhost:8080/shoes/123456 > GET /shoes/123456 HTTP/1.1 --- [2021-02-20T06:56:41.536Z] "POST /shoes/123456 HTTP/1.1" 200 - 0 120 19 15 "-" "curl/7.64.1" "7f86f233-e658-400d-bb8f-999dea810924" "localhost:8080" "172.19.0.2:50051"続きを読む
先日、Application Load Balancer (ALB)が HTTP/2 および gRPC に対応するようになったという発表がありました。これをEKS上で稼働するアプリケーションにも適用できるかを試してみました。
Supports gRPC workloads with end to end HTTP/2 for ALB
AWS の EKS 上で ExternalDNS を利用する際に policy という概念が分からなかったので、動かしながら簡単に調べてみたメモです。
https://github.com/kubernetes-sigs/external-dns/blob/master/pkg/apis/externaldns/types.go#L410
Modify how DNS records are synchronized between sources and providers
こんにちは。Webシステム開発や各種ソフトウェア開発において GitHub を利用する場面は多いかと思いますが、私が最近知った便利な機能をメモがてらいくつか紹介しようと思います。
ある issue に対して Pull Request(以下PR)を作るというのは良くあることですが、PRを作る際に特定のキーワード(close, fix, resolve など詳しくはドキュメント参照)と対象のissue番号を書いておくと issue と PR が関連付けられます(画像1枚目, 2枚目)。右側のメニューに Linked issues という項目がありここに関連付けた issue が表示されます。
この状態でPRがマージされると関連付けた issue が自動的にクローズされます!(画像3枚目, 4枚目) issue にはどのPRによってクローズされたかが明記され、また Linked pull requests という項目でも記録されます。
これまではマージして自分で(もしくは他の誰かが) issue をクローズするという一手間がありましたが、自動化されるので楽できますね。あとは明示的に issue と特定のPRが関連しているというのが示されるのも後々振り返るときに便利だと思います。
続きを読む