Carpe Diem

備忘録

2023-06-01から1ヶ月間の記事一覧

macOSでiptablesのように特定の通信をブロックする

概要 iptablesで特定のポートへのパケットをドロップしたい場合は次のようなコマンドを実行します。 $ sudo iptables -A INPUT -p tcp -d 127.0.0.1 --dport 8080 -j DROP しかしmacOSではiptablesは無いためこれができません。 なのでiptablesではなくpfを…

Go + Alpine でtzdataはapk addしなくていい

背景 Alpine Linuxはデフォルトではtzdataが含まれていないため、以下のような package main import ( "log" "time" ) func main() { loc, err := time.LoadLocation("Asia/Tokyo") if err != nil { log.Fatal("%w", err) } log.Printf("%v", loc) } time.Lo…

GoでYAMLファイルを読み込んだ時にデフォルト値を設定したい

背景 christina04.hatenablog.com のように設定ファイルをYAMLで管理するパターンは良くありますが、設定項目が増えるほど運用つらくなるので、あまり弄らない項目に対してはデフォルトを用意し、値がなければそれを設定したいケースがあります。 イメージと…

OpenTelemetry Collectorでデータを一元的に管理する

概要 OpenTelemetryでは直接ExportせずにCollectorと呼ばれるProxyを挟むことで以下のことが可能になります。 アプリケーションコードでExport先を意識しなくて済み、ベンダーロックインを避けることができる データを一元的に管理できる アプリケーションや…