2025-01-01から1年間の記事一覧

Go Conference 2025 Capture The Flag 模範解答

バックエンドチームの近松です。 カンムでは、Go Conference 2025 開催前に Capture The Flag (CTF) を公開していました。皆さん、お楽しみいただけたでしょうか? 本記事では、CTF の模範解答および作問にまつわる裏話を紹介します。 作問担当者 想定ターゲ…

Go Conference 2025 Capture The Flag 公開

バックエンドチームの近松です。 株式会社カンムは、Go Conference 2025 に Silver スポンサーとして参加します! gocon.jp カンムは例年、プログラミングクイズや Capture The Flag(CTF) を Go Conference 前に公開しています。直近では① 脆弱性を利用し…

【CTF出題予定!】カンムは Go Conference 2025 にシルバースポンサーとして参加します

こんにちは、サクっと資金調達 開発チーム ソフトウェアエンジニアの hata です。 カンムは、2025年9月に開催される Go Conference 2025 にシルバースポンサーとして参加します。 Go Conference には例年関わってきましたが、今年も引き続き、スポンサーとい…

jackc/pgxのErrBadConnリトライ・target_session_attrs

プラットフォームチームの菅原です。 GolangのPostgreSQLドライバ jackc/pgxについて最近まで知らなかった機能があったので紹介します。 driver.ErrBadConnでのリトライ データベースの再起動などで切断されたコネクションをコネクションプールから引き当て…

Go 1.24 で map が30%以上高速化!Swiss Tableとは?

Go1.24 がついに公開されましたね。その中でとても興味深い改善内容がありました。 1/14 Go's new map implementation in 1.24 is powered by Swiss Tables, a cutting-edge hash table design that significantly boosts performance. Let's break down why…

Goのコネクションプーリングまわりのメトリクス収集

プラットフォームチームの菅原です。 Goでデータベースを使う場合には、以下のメソッドでコネクションプーリングまわりの設定を調整することが多いと思います。 SetConnMaxIdleTime() SetConnMaxLifetime() SetMaxIdleConns() SetMaxOpenConns() MaxOpenConn…

データベースの固定パスワードをなくす

プラットフォームチームの菅原です。 カンムのサービスで使われている各種アプリケーション(Goアプリ・管理アプリ・Redash等)では、データベースに接続する場合に一般的なパスワード認証を使っていることが多いです。 しかし、パスワード認証はパスワード…

SAML Group Mappingを使ったEntra ID+Datadogのロール自動割り当て

プラットフォームチームの菅原です。 カンムではサービスのモニタリングにDatadogを利用しており、その管理はプラットフォームチームが担っています。 DatadogへのログインはMicrosoft Entra ID(旧AzureAD)を使ったシングルサインオンで行うため、Datadog…

Poolにおける残高管理の設計

こんにちは、エンジニアのpongzuです。 今日は、カンムが提供するプロダクト「Pool」の残高管理設計について書きます。 本記事では、まずPoolがどのような仕組みで動いているのか、投資やウォレットといったサービス仕様を簡単にご説明します。その後、それ…