第1回 AWSコスト削減 天下一武道会 に行ってきた #costdown_2024

第1回 AWSコスト削減 天下一武道会 に参加しました。オンライン参加。簡単に所感をまとめます。 no1.connpass.com 所感 コスト削減は、分析からボトルネックの調査、改善まで地道な活動が必要。その分、やりがいもありそうでよさそう。刺激になる話が聴けて…

プロダクトマネジメントのすべて著者 及川さんに聞く 技術から価値を生み出すエンジニアになるには に行ってきた #Offers_プロダクトマネジメントのすべて

プロダクトマネジメントのすべて著者 及川さんに聞く 技術から価値を生み出すエンジニアになるには に参加しました。オンライン参加。簡単に所感をまとめます。 offers.connpass.com 所感 ソフトウェア開発からプロダクト開発にマインドチェンジすることが重…

spanner-cli: command not found

Homebrew で Go はインストール済みだったので、spanner-cli の README を参考にインストール。 github.com $ go version go version go1.21.6 darwin/arm64 $ go install github.com/cloudspannerecosystem/spanner-cli@latest ... しかし、spanner-cli: co…

2023年のふりかえりと2024年に向けて

年末年始は帰省先で過ごしています。 2023年早々に中学時代からのヒーローが逝ってしまった。2023年はずっとこの喪失感を引きずってしまった。R.I.P. On behalf of his family, it is with deep and profound sadness that we share the news of Jeff Beck’s…

耐障害性向上・パフォーマンス改善・運用負荷軽減をどう実現する?事業を支えるSREのノウハウを共有 に行ってきた #SREノウハウ

耐障害性向上・パフォーマンス改善・運用負荷軽減をどう実現する?事業を支えるSREのノウハウを共有 に参加しました。オンライン参加。簡単に所感をまとめます。 enechange-meetup.connpass.com 所感 「コスト最適化」「安定稼働」「アジリティ向上」 のため…

cloudfront functions でクエリパラメータを追加したい

微妙にハマったのでメモ。 docs.aws.amazon.com 関数の中ではクエリパラメータなどはオブジェクトとして扱うことになる。例えば、クエリパラメータに foo=bar を追加する場合は次のようにする。 function handler(event) { var request = event.request; req…

Container probes と Spring Boot event listeners

備忘録。Kubernetes にデプロイしている Spring Boot アプリケーションにおいて、とある初期化処理を Spring の起動プロセスの中で実行したい。どのタイミングで実行するのがいいかを調べたときのドキュメントリンク集。 2.9. Kubernetes プローブ 1.6. アプ…

Terraform活用大全 - IaCの今。Lunch LT に行ってきた #Terraform_findy

Terraform活用大全 - IaCの今。Lunch LT に参加しました。オンライン参加。簡単に所感をまとめます。 findy.connpass.com 所感 terraform test は気になるところだけど、Terraform の理解というか経験がまだまだ浅くて、宣言的に定義できるコードにテストを…

データベース移行のウラガワ − 円滑なリリースのために取り組んだLT に行ってきた #データベース_findy

データベース移行のウラガワ − 円滑なリリースのために取り組んだLT に参加しました。オンライン参加。簡単に所感をまとめます。 findy.connpass.com 所感 やはり、まずはサービス停止が必要かどうかを最初に検討するのが重要そう。あとは、移行前後のデータ…

Cloud Spanner で ROW_NUMBER の代わりに連番を出力したい

SQL

Cloud Spanner でクエリの結果に連番を振ろうと思ったら ROW_NUMBER 関数がなかったので代わりの方法を探しました。(似たような関数も見つからなかった) cloud.google.com サンプルデータ ChatGPT に作ってもらったサンプルデータ。 -- DDL CREATE TABLE Sin…

count や dynamic + for_each で resource や要素の生成を切り替えたい

備忘録。環境などの条件によって Terraform の resource 生成を切り替えたい。たまに使う。 例) cloudfront functions の resource 生成 & ビヘイビアへの関連付け resource 自体の生成は count で切り替える。variables にフラグを用意して呼び出し元で切り…

正規表現で UpperCamel を lowerCamel にしたい

備忘録。正規表現で UpperCamel を lowerCamel にしたい。 検索文字列 (^[A-Z]) 置換文字列 \L$1 現場からは以上です。

document.querySelectorAll の結果を map や reduce したい

document.querySelectorAll の結果は NodeList で、forEach はできるが map や reduce はできない。 例えば、いくつかのテキストボックスに入力された数字を合計したい場合、document.querySelectorAll の結果をスプレッド構文で配列にするとよさそう。 cons…

任意の文字列の登場回数をカウントしたい

備忘録。任意の文字列の登場回数をカウントしたい。grep に -r を付けてディレクトリ配下を再帰的に検索する。 -o は条件に合致する行を出力する。これを wc でカウントする。 $ grep -or "hogehoge" . | wc -l -o の代わりに -c を使うとカウントした結果を…

名前に任意の文字列を含むファイルを検索したい + ファイル数をカウントしたい

備忘録。名前に任意の文字列を含むファイルを検索したい。 OR 検索する場合は \| のようにバックスラッシュを入れる。 $ find . -type f | grep -e "foo*\|bar*" ファイル数をカウントしたい。 $ find . -type f | grep -e "foo*\|bar*" | wc -l

モジュラモノリス徹底解剖 〜実践者から学ぶ Lunch LT〜 に行ってきた #モジュラモノリス_findy

モジュラモノリス徹底解剖 〜実践者から学ぶ Lunch LT〜 に参加しました。オンライン参加。簡単に所感をまとめます。 findy.connpass.com 所感 モジュラーモノリス検討中ですっていうひとが思ってたより多かった気がする。Go の Workspace mode はモジュラー…

Argo Workflows ドキュメントリンク集

Argo Workflows を使うときによく参考にするドキュメント。備忘録。 やや古い資料ですが、全体的に分かりやすく解説されておりいつも参考にしています。 speakerdeck.com 細かい内容は公式ドキュメントの Field Reference とか。(あまり見やすくはない) argo…

JSUG勉強会2023その2 クレディセゾンでのSpring・AWS活用事例に行ってきた #jsug

JSUG勉強会2023その2 クレディセゾンでのSpring・AWS活用事例 に参加しました。オンライン参加。簡単に所感をまとめます。 jsug.doorkeeper.jp 所感 こういう移行プロジェクトっていろんな前提や制約があってなかなか思ったようには進まないもので、トレード…

Google AIPs 02

API

前回の続き。 Google AIPs 01 - kntmr-blog 気になるところを読んでみる。メモ。 google.aip.dev AIP-131: Standard methods: Get URI にはリソース名を含む (name) (google.api.field_behavior) = REQUIRED それ以外のパラメータはクエリパラメータとする g…

Google AIPs 01

API

気になるところを読んでみる。メモ。 google.aip.dev AIP-121: Resource-oriented design リソース指向 API ではリソースに対する実行される操作を重視する 標準メソッド Create, Get, Update, Delete, List カスタムメソッド POST URI にカスタム動詞を定義…

Google API 設計ドキュメントリンク集

API

Google の API 設計に関するドキュメントのリンクをまとめる。備忘録。 API 設計ガイド まずはこのあたりを見る。標準的な API 設計のガイドライン。 cloud.google.com API Improvement Proposals (AIPs) より詳細な内容を調べたいときはこのあたりを見る。(…

CloudFront Functions で特定の Cookie の値を HTTP ヘッダーに付け替えたい

CloudFront Functions で特定の Cookie の値を HTTP ヘッダーに付け替えるコード。備忘録。 function handler(event) { var request = event.request; if (request.cookies['foo'] && request.cookies['foo'].value) { request.headers['foo'] = {value: req…

やる気にさせるリーダーシップ

最近、「ペンギンが空を飛んだ日」という本を読んでるんですが、第4章の「部下をやる気にさせるリーダーシップ」の内容がちょっと気になったのでメモ。 ペンギンが空を飛んだ日 (交通新聞社新書) ここではざっくり次のようなことが書かれています。 リーダー…

安易に NOT NULL を外さない

DB

テーブル設計において「これは任意項目だから」といって安易にカラムの NOT NULL 制約を外すのはイマイチかなと思った次第です。自戒を込めて。 例えば、こんなテーブルがあるとして、商品の説明文 (description) は任意項目だから NOT NULL は外そう、とい…

JJUGナイトセミナー「Java 20 リリース記念イベント」に行ってきた #jjug

JJUGナイトセミナー「Java 20 リリース記念イベント」に参加しました。オンライン参加。簡単に所感をまとめます。 jjug.doorkeeper.jp 所感 最近、Java の新しい機能があまり追えてないけど、以前よりずっと簡潔に書けるようになってる印象があります。大き…

Liveness Probe, Readiness Probe

備忘録。いつもどっちがどっちか分からなくなるので ChatGPT に聞いてみる。 「Liveness Probe と Readiness Probe の違いを教えて」 Liveness Probe と Readiness Probe は、コンテナ内のアプリケーションが正常に動作しているかどうかを監視するために使用…

強いて言えば「集約どう実装するのかなを考える」会 に行ってきた #アーキ部

強いて言えば「集約どう実装するのかなを考える」会 に参加しました。オンライン開催。簡単に所感をまとめます。 architect-club.connpass.com 所感 ドメインモデルのトリレンマは初めて知りました。基本的には性能を保ちつつ完全性と純粋性のバランスを取る…

特定の文字列が含まれていない行を削除したい

備忘録。特定の文字列が含まれていない行を削除したい。 ^(?!.*hogehoge).*\n 参考 ginneko-atelier.com その他 tac というコマンドの存在を初めて知った...。 $ cat example.txt aaa bbb ccc $ tac example.txt ccc bbb aaa

git で変更したファイルの一覧を抽出したい

Git

備忘録。あるコミット以降に変更したファイルの一覧を抽出したい。 $ git diff --name-only <COMMIT_HASH></commit_hash>

セキュア・バイ・デザイン (01)

セキュア・バイ・デザインの第1部を流し読み。 https://www.amazon.co.jp/dp/B09F697K2Vwww.amazon.co.jp 設計の精度を上げることで自然とセキュリティ対策にもなる。なるほど、この本のタイトルの意味がよく分かった。 メモから抜粋。 セキュリティそのもの…