この記事はZOZO Advent Calendar 2023 シリーズ9の7日目の記事です。
私たちの管理するWebシステムではリバースプロキシとしてEnvoyを利用しています。以前はAlpineベースのイメージを利用していましたが、こちらが廃止となったためEnvoyのバージョンアップと同時にDistrolessベースのイメージに切り替えました。この際の失敗についてアドベントカレンダーの記事として供養しておきます。
続きを読むこの記事はZOZO Advent Calendar 2023 シリーズ9の7日目の記事です。
私たちの管理するWebシステムではリバースプロキシとしてEnvoyを利用しています。以前はAlpineベースのイメージを利用していましたが、こちらが廃止となったためEnvoyのバージョンアップと同時にDistrolessベースのイメージに切り替えました。この際の失敗についてアドベントカレンダーの記事として供養しておきます。
続きを読むこの記事はZOZO Advent Calendar 2023 シリーズ6の6日目の記事です。
以前ZOZOのテックブログでこちらの記事を書きました。
今回はその後の話の一つとしてRenovateの自動マージを試してみたことについて書いていきます。
Renovateをチームが管理する複数のリポジトリに導入したものの、バージョン更新のプルリクエストの滞留が次第に増えていき課題に感じていました。そこで、自動マージを導入することでプルリクエストの滞留を解消したいと考えました。
続きを読む
2023-11-18に開催されたJAWS-UG金沢 #94 & Kanazawa.rb 『Ruby on Rails on App Runner ハンズオン』に参加しました。久しぶりの参加記というかメモみたいなものを書き残しておきます。
フルマネージド型のコンテナアプリケーションサービスであるApp RunnerでRuby on Rails製のWebアプリケーションを動かすという内容です。App Runnerについては以下のリンクでどのようなものかが説明されています。
内容を掻い摘むとこんなところでしょうか。
続きを読む『Scala関数型デザイン&プログラミング』(初版)の第6章を読んで初見ではいまいち理解できなかった部分について自分なりに理解を試みたメモです。第6章の中でも特に最後の自動販売機の問題(EXERCISE 6.11)については解答を見ても何をやっているか、どのような意図があるのか理解できませんでした。他にこんな考え方や解釈もあるというご意見があればコメントで教えていただきたいです。
第6章では State
データ型が紹介されています。このデータ型は S => (A, S)
という関数が本質で、ある状態(S)を元に何かを行いその結果(A)および新しい状態(S)を返すことを表現しています。書籍では乱数の例で説明されていますが、このような関数を連結したり値を変換したりして最終的な結果や状態を取得するような用途に向いていると理解しました。その際に状態を次の関数に引き渡すことが煩わしくなります。 State
はこの煩わしさを閉じこめているので利用者にとって扱いやすいコードが書けるようになっています。
これは ZOZO Advent Calendar 2022 カレンダー Vol.2 の 17 日目の記事です。昨日の投稿は @YasuhiroKimesawa さんの「リファクタリングにおける「マクベス症候群」を予防する」でした。
今回はお仕事での話になりますが、私たちのチームではScalaで実装されたアプリケーションサーバーにて各処理や外部API呼び出しなどの実行時間・パフォーマンスを計測するために、Kamonというライブラリを使いDatadog APMでそれらを可視化し運用しています。このKamonとDatadog APMの連携で困ったことがあったのでメモ代わりに残しておこうと思います。
続きを読むこの記事は ZOZO Advent Calendar 2021 の13日目の記事です。
AWSのCloudWatch Alarmを利用していて、欠落データが含まれるときのアラーム状態の評価について知らなかったので実際に試しながら学びました。