tech.guitarrapc.cóm

Technical updates

2025-11-01から1ヶ月間の記事一覧

KubesharkでKubernetesのトラフィックを見てみる

「ちょっとこのサーバーの通信がおかしそう、通信の中身を見たい」となったときに便利なのがWiresharkです。tcpdumpのようなコマンドラインツールもありますが、GUIでパケットの中身を見られるWiresharkは非常に便利です。 ではKubernetes環境で動いているPo…

.NET 10のファイルベースプログラムをパイプ入力やGitHub Actionsで使う

以前にも軽く紹介する記事を書いているのですが、.NET 10から、C#のファイルベースプログラム実行機能が追加されました。C#にファイルベースプログラムが来ても.csファイルを用意して実行することを考えがちでしたが、そういえばパイプ入力でコードを渡して…

Youtubeアクセスをブロックする

YouTubeへのアクセスをブロックするにはいくつかの方法があります。例えばプロキシサーバーを利用したり、ファイアウォールで制御するといった方法が古くから使われています。今回は、UniFi OSを使える環境においてYouTubeへのアクセスをブロックする方法の…

C# NativeAOTをDockerでビルドする

C#

NativeAOTは、.NETアプリケーションをネイティブコードにコンパイルする技術です。 NativeAOTはJITではなくAOTでコンパイルすることで、いくつかのメリットがあります。スタートアップが速くなり、メモリ使用量も少なくなります。また、動作環境にランタイム…

Devtronを触ったメモ

Kubernetesはいわゆるコンテナオーケストレーターですが、素で使うことはほとんどなく様々なOSSやツールと組み合わせて運用されることが多いです。 私もHelmチャートを使って様々なコントローラーを導入しています。KEDAで水平スケールを管理し、ArgoCDを使…

DevtronにみるDexのサブパス統合がOIDC連携に生む制約

Kubernetesにおいて、Dexを使ってOIDC連携しているアプリケーションは多くあります。 今回はアプリケーションのDex組み込み方法によってOIDC連携に制約が生まれることをDevtronを例に見てみましょう。 Dexとは Dexの組み込み方法 DevtronとOIDC認証 ローカル…

(続) C#でCPUモデルを取得する

C#

以前の記事でC#からCPUモデルを取得する方法を紹介しましたが、ARM64環境に対する手当が不十分でした。今回はARM64環境も含めてC#でCPUモデルを取得する方法を紹介します。 アーキテクチャとOSごとのCPUモデル取得方法 C#での実装例 動作確認 まとめ 参考 ア…

EKSでAWS Load Balancer ControllerでALBを作ろうとしてSubnetのIPが足りなかった話

EKSでAWS Load Balancer Controllerを使ってALB(Application Load Balancer)を作ろうとしたときに、次のようなエラーが出てちょっと戸惑ったのでメモです。 発端 原因 まとめ 発端 AWS Load Balancer ControllerでingressからALBが作成できないため、ingress…

SkiaSharp.QrCodeをフルリファクタしてC#最速のQRコード生成ライブラリにした

C#

SkiaSharp.QrCodeはC#でQRコードを生成するためのライブラリです。コードは大きく「QRコードデータの生成処理」と「SkiaSharpによるレンダリング統合」の2要素で成り立っています。 今回、QRコードデータ生成部分をフルリファクタリングしてC#で最速のQRコー…

PulumiでIgnoreChangesを使う際の注意点

Terraformはリソースの特定のプロパティの変更を無視するのにignore_changes: [array]を用いますが、これと同様のことがPulumiのIgnoreChangesオプションで可能です。 PulumiのIgnoreChangesはドキュメントで解説されているのですが、Pulumiで入れ子のキーを…