コドモン Product Team Blog
https://tech.codmon.com/
株式会社コドモンの開発チームで運営しているブログです。エンジニアやPdMメンバーが、プロダクトや技術やチームについて発信します!
フィード

なぜ秘密情報の比較に===ではなくhash_equalsを使うのか ─ 内部実装と実践ガイド
コドモン Product Team Blog
【追記 2026/2/26】 本記事の内容をもとに、第184回PHP勉強会@東京で発表しました。Q&Aや補足情報も含めたスライドはこちらからご覧いただけます。 speakerdeck.com こんにちは。プロダクト開発部の塚原です。 業務でセキュリティに関する実装をする機会があり、その参考としてLaravelの内部実装を読むことがあります。今回は、そのコードリーディングの中で見つけた気づきをきっかけに調べたことをまとめてみました。 きっかけ:===ではダメなのか? LaravelのCSRFトークン検証の実装を読んでいたとき、こんなコードが目に留まりました。 // Laravel の Verif…
20日前

「レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み」というタイトルでSRE Kaigi 2026に登壇しました!
コドモン Product Team Blog
こんにちは!プロダクト開発部の小西です! 先日、SRE Kaigi 2026 にスポンサー枠で登壇させていただきました。 登壇資料は以下になります。 speakerdeck.com 今回は登壇の舞台裏について、発表者目線でご紹介させていただければと思います。 登壇時の様子 登壇に至ったキッカケ 発表テーマ選定 登壇準備 苦労したこと 工夫したこと 登壇当日 登壇の感想 まとめ 登壇に至ったキッカケ これまで、技術系のカンファレンスやイベントに参加したことはありましたが、登壇者として壇上に立った経験はありませんでした。 一方、そうしたイベントに参加するたび「自分もいつかは大きなイベントで登壇をし…
21日前

モバイルアプリのE2EテストにMaestroを導入 - 新規事業での理想と現実のトレードオフ
コドモン Product Team Blog
こんにちは、新規事業のプロダクト開発を担当している杉山です。 弊社では、これまでWebなどのE2EテストにGaugeを使用してきましたが、今回の新規事業のモバイルアプリの開発では、Maestroを採用しました。 本記事は、モバイルアプリのE2Eテスト導入を検討しており、理想と現実のバランスに悩むエンジニアの方を中心にお役に立てればと思い書いた記事です。Maestroを選定した理由、現在の構成、導入前の懸念点と実際の体験について詳しく紹介します。 Maestroの選定理由 弊社ではGaugeを広く使っていたということもあり、選択肢としてはAppiumとGaugeの組み合わせも検討しましたが、シン…
24日前

【イベントレポート】SRE Kaigi 2026にプラチナスポンサーとして協賛しました!
コドモン Product Team Blog
こんにちは!プロダクト開発部の塚原です。 2026年1月31日(土)に中野セントラルパークカンファレンスで開催されたSRE Kaigi 2026に、コドモンはプラチナスポンサーとして協賛しました! この記事では、協賛の背景から当日のスポンサーブースの様子をレポートします。 SREKaigi入口 協賛の背景 スポンサーブースの様子 イベントを終えて 協賛の背景 コドモンのSREチームは、以下のミッションを掲げて活動しています。 開発チームが、自律的に、プロダクトを安全に素早くリリースし、運用するためのプラットフォームの提供と、導入の支援を行い、ユーザーにより早く、より安全に価値を届けられるように…
25日前

BigQueryのタイムトラベル機能を使って、脳に優しくリカバリしたい
コドモン Product Team Blog
こんにちは、アナリティクスグループの若鶴です! アナリティクスグループは開発本部ではなくコーポレート本部に所属していますが、記事を書きたくなってしまったため、コドモン Product Team Blog に記事を書いています。 アナリティクスグループは、データでコドモンをドライブさせていくことを目標に、「データ分析基盤の整備」と「データ活用の伴走」をメインで行なっています。 早朝6時にデータパイプラインで障害が発生したとします。寝ぼけ眼で本番環境を触るリスクは計り知れません。 本記事では、BigQuery(以下、BQ)のタイムトラベル機能を利用した場合の、「脳に優しい」リカバリ手順を解説します…
25日前

mise で .node-version と Makefile をひとつに
コドモン Product Team Blog
はじめに コドモンでエンジニアをしている羽馬です。 プロジェクトごとに、使用するツールや設定ファイルがバラバラな状態はよくあります。 「Node.jsはxx系、Javaはxx系。環境変数は .envrc で、タスク実行は Makefile で」といった具合です。 日頃から開発しているレポジトリであればまだしも、初見のプロジェクトでは異なります。nodenv などでバージョンを合わせて、.envrc を許可し、Makefile の内容を確認してタスクを実行するといった手順は、非常に手間がかかります。 こうした開発環境の「断片化」によるコストを解消するため、mise(ミーズ)を導入し、ツールのバー…
1ヶ月前

JJUG CCC 2025 Fallに3名登壇しました!
コドモン Product Team Blog
こんにちは。エンジニアのnrs、上代、JUNです。 国内最大級のJavaカンファレンス「JJUG CCC 2025 Fall」にコドモンから3名が登壇しました!本記事では、各セッションの内容と登壇者の振り返りをお届けします! JJUG CCC 2025 Fallとは 登壇セッション [nrs] イベントストーミングのはじめかた なぜこのテーマにしたのか 登壇してみて [上代] エラー処理の選択肢を増やす ~try-catchから始めて段階的に型安全へ~ なぜこのテーマにしたのか? 登壇してみて [JUN]小さくはじめる Property Based Testing なぜこのテーマにしたのか? …
2ヶ月前

コードより行動、ちょうど良い協働
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2025🎄」の25日目、つまり最終日の記事になります。 こんにちは、昭和61年生まれ、エンジニアリングマネージャーの松浦です。 今年は昭和100年のアニバーサリーイヤーです。記念すべきこの年のアドカレの最後を担当できることになり、大変誇らしい気持ちです。 さて、アドカレが終わりということは、西暦2025年もあと少しで終わりということですね。 昭和101年となる西暦2026年は、娘が小学生になります。入学おめでとう。 小学校入学、イベントとしての「おめでたさ」はあるものの、親の率直な気持ちとしては 「嬉しいけど、嬉しいだけじゃない」 です。 日…
2ヶ月前

KotlinにおけるエラーハンドリングとArrow-ktのEither型
コドモン Product Team Blog
この記事は、コドモンAdvent Calendar 2025 24日目の記事です。 こんにちは!プロダクト開発部のjunです。12月は子どもの誕生日が2回とサンタ業務と正月休みがあり、山積みの謎の段ボールやポチ袋たちと仕事をする日々です。 これらのビッグイベントを滞りなく段取りするマネジメント力が求められています。 さて、昨月コドモンではKotlin Festのスポンサーをさせていただきました。その際にスポンサーブースに置かせていただいたアンケートボードで「エラーハンドリングをどのようにしているか?」という内容のアンケートを用意していました。このアンケートに関するお話のなかで、コドモンとしては…
2ヶ月前

テストがあれば、無限に挑戦できる🔥
コドモン Product Team Blog
この記事は、コドモンAdvent Calendar 2025 23日目の記事です。 こんにちは! コドモンでエンジニアをしている浦中です。 昨年産休に入り、今年の9月に復帰しました。外で車を見つける度に「ぶぶ!」と指差す子どもを見ては、サンタさんに大量の車のおもちゃをお願いしてしまいそうになる日々を過ごしています。 さて、2025年の12月といえば他でもない、AWS Lambda でPython 3.9のサポートが終了する月ですね。 私たちのチームでもバージョンアップを行いました。今回、ちょっとした振り返りをアドカレとして残すことにしました。シュトーレンをつまむおともとして気軽に読んでください…
2ヶ月前

PHPUnit のテストダブルと仲良くなりたい(モック編)
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2025」の22日目の記事です。 tech.codmon.com こんにちは、プロダクト開発部のふくいです。 昨年の「コドモン Advent Calendar 2024」で以下の記事を書いたのですが、 tech.codmon.com 一年越しに続編として PHPUnit でモックを使ったテストコードについて、自分なりにサンプルコードを交えてまとめてみました。(他に書くネタが思い浮かばなかったとも言います、、💦 なお、記事中のサンプルコードは以下にまとめています。 また、記載したコードは PHP 8.2-8.5 と PHPUnit 11.5 の…
2ヶ月前

エンジニアの成長を後押しする「テックチャレンジ補助制度」をスタートしました!
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2025」21日目の記事です🎄 こんにちは!プロダクト開発部のせきねこです。最近携帯電話を水没させてしまい、サンタさんからのプレゼントを待たずに4年ぶりに新機種へ買い替えました…最新機種は画面が大きくてキレイですね📱✨️ プロダクト開発部では、今期からエンジニア向けの新たな学習支援制度の運用をスタートしました! 今回は、新制度の内容や活用状況を紹介したいと思います♪ 新制度導入の背景 テックチャレンジ補助制度の概要 制度の目的 補助対象 制度利用のフローとイメージ 導入後のふり返り 実際に購入された書籍など メンバーからの声 喜びの声 改善・…
2ヶ月前

コドモンにおけるSLI/SLO策定の道のり
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2025」20日目の記事です🎄 こんにちは、SREの三口です!私は今年の初めより、コドモンの各サービスにおけるSLI/SLOの策定に取り組んできました。PdMや開発チームの皆さんと連携しながら、この取り組みを進める中で気づいたこと、学んだことを今回まとめてみようと思います。 ちなみに、1歳5ヶ月になる娘はイヤイヤ期に突入し、エラーバジェットは常に消費、機嫌のSLOは永遠に満たせていません😭 SLIの指標選定と測定箇所 指標の選定 測定箇所の選定 開発チームへのヒアリング PdMとの連携でCUJを特定する 開発チームとSLI/SLOを策定する …
2ヶ月前

問いが切り取る世界 —— pmconf2025で気づいたこと
コドモン Product Team Blog
この記事は、[コドモンAdvent Calendar 2025](https://tech.codmon.com/entry/2025/11/20/183357) 19日目の記事です。 こんにちは!コドモンでプロダクト企画部の部長を務めている重山です。 あっという間に2025年も終わりに差し掛かっていますね。娘からクリスマスプレゼントは「ピンクの松葉杖」がいいとリクエストをもらっており母は大変焦っております。 それはさておき、今年はありがたいことに1年の締めくくりとしてpmconf2025に登壇する機会をいただきました。 慌ただしく過ぎた一年の中で、自分の思考を一度立ち止まって見つめ直す、とて…
2ヶ月前

AWS Signerによるイメージ署名を用いてコンテナビルドパイプラインの妥当性を検証する
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2025」18日目の記事です。 18日目は、SREチームの小西が執筆いたします。 概要 情報整理 イメージ署名とは AWS Signer とは AWS Signer を用いたイメージ署名の仕組み AWS Signer を用いた署名検証の仕組み 実現方法 1:イメージ署名部分 2:署名検証・不正検知部分 実装手順(イメージ署名部分) 1:AWS Signer Notation署名プロファイルを作成する 2:コンテナイメージへの署名を行う権限を付与する 3:コンテナビルドパイプラインにイメージ署名プロセスを追加する 実装手順(署名検証・不正検知部…
2ヶ月前

モノリスプロダクトのためのAgent Skills入門:3つの分類で知識を整理する
コドモン Product Team Blog
この記事は「コドモンAdvent Calendar 2025」16日目の記事です🎅 こんにちは。プロダクト開発部の友野です。 記事公開のこの日、誕生日を迎えました*1。身体の成長(老化かもしれない)だけでなく、開発者としてのスキルも磨いていきたいところです。 そんな "スキル" つながりで、今回はClaudeの新機能「Agent Skills」を取り上げます。本記事では、Agent Skillsを活用したコンテキスト管理をテーマに、複数チームで開発しているモノリスプロダクトでの知識管理について考えていきます。Claude Codeを使い始めた方、特に複数チームで開発しているプロダクトに携わって…
3ヶ月前

「正しい」アジャイルに苦しんでいた過去の私へ、「チーム」のアジャイルは楽しいよ
コドモン Product Team Blog
「アジャイルの正解」に縛られていた過去。そこからコドモンにジョインしてチームの文化に触れる中で「自分たちなりのアジャイル」を見つけるまでの軌跡。
3ヶ月前

「ペアプロだと自分のペースで仕事ができない?」 中途入社4ヶ月の私が感じたこと
コドモン Product Team Blog
この記事は、コドモンに中途入社して4ヶ月のエンジニアが、同社が実践するペアプロの文化について、自身の経験を交えながら解説する内容。多くのエンジニアが抱く「ペアプロだと自分のペースで働けないのでは?」という疑問に対し、筆者は過去の師弟関係的なペアプロとの違いを踏まえつつ、コドモンでの「伴走型ペアプロ」はむしろ自分のペースを“合意形成のもとで調整しながら”進められる点が特徴であると語る。チームでの知識共有や属人化防止、柔軟な働き方との両立、心理的安全性の高さなど、転職先として気になるポイントに触れながら、実際の現場の雰囲気をリアルに伝える記事。
3ヶ月前

みんなでワイワイやる探索的テスト
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2025🎄」および「ソフトウェアテスト・QAの小ネタ Advent Calendar 2025」の13日目の記事になります。 はじめに みなさん、こんにちは。QAエンジニアの砂川です。 今回は、「いつでも請求」*1の下書き機能をリリースする直前に行った探索的テストの様子を紹介します。 探索的テストに関して 以前は、探索的テストは他のテストケースを作成しない "モンキーテスト" や "アドホックテスト" と同様のものと言われることが多かったですが、近年これらのテストとは異なる活動であると言われ始めました。 実際に、JSTQB Foudation…
3ヶ月前

スピード戦略立案:入社2週間でたどり着いた“保護者の幸せ時間”という答え
コドモン Product Team Blog
こんにちは!あるいはこんばんわ! 2025年7月に株式会社コドモンへ入社し、メモリー事業でPdMを担当している鮫島です。 踏切好きだった息子が10歳になってまさかの電車好きになり、サンタさんに希望したプレゼントは廃盤のプラレールです。サンタさんメルカリ頑張って! メモリー事業が展開している写真販売サービスでは、保育施設での子どもたちの日常を切り取った大切な思い出を保護者に届ける重要な役割を担っています。施設側の業務効率化と並行して、保護者のみなさまにより良い体験を提供することは、重要なミッションとなります。 この記事では、入社して2週間で戦略立案を進める中で「コドモンらしいユーザーペルソナ」に…
3ヶ月前

献立エージェントの構築を通して学ぶ Strands Agents の使い方
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2025」の11日目の記事です。 こんにちは!コドモンでSREをしている江口です! 今回はずっと試してみたかったAWS製のAIエージェントフレームワーク「Strands Agents」を使って、ローカルに自分用の献立エージェントを作ってみました! はじめに Strands Agentsとは エージェントを実装する 最小構成のエージェント 実装 実行結果 補足 システムプロンプトを使う システムプロンプトとは 実装 実行結果 ツールを使う ツールとは ツール使用の簡単な流れ 実装 実行結果 補足 プロンプトの調整 ツールの自作 MCPサーバーか…
3ヶ月前

ESLint と oxlint の併用構成への移行を行いました
コドモン Product Team Blog
この記事は「コドモン Advent Calendar 2025🎄」の10日目の記事になります。 コドモンでエンジニアをしている羽馬です。 今回は、コドモンの一部フロントエンド開発において、ESLint と oxlint の併用構成への移行を行った話をします。 背景 フロントエンド開発において、コードの品質を保つためにリンターは欠かせないツールです。このプロジェクトでも ESLint を使用してコードチェックを行っていました。 そんな中、別のプロジェクトで Biome から oxlint への移行を経験する機会がありました。 oxlint は Oxc project が開発する Rust 製の高…
3ヶ月前

保育領域でもゴリゴリアジャイル開発 ──保護者の想いに寄り添い主要KPIを260%改善
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2025🎄」の9日目の記事になります。 コドモンでメモリー事業(写真共有・販売事業)のプロダクトマネージャーをしている中村です。 担当している写真販売機能は、保護者向けコドモンアプリの中に組み込まれています。保護者の方にとっては、毎日使う連絡帳や出欠連絡と同じ場所で、我が子の写真も見られる体験ができる機能です。 私たちが「メモリー事業」と呼ぶのは、扱っているのが単なる写真ではなく、保育園での思い出そのものだからです。お迎え時の親子の会話のきっかけになり、成長の記録として残っていく——そんな価値を大切にしています。 今回は、保護者向けアプリの写…
3ヶ月前

Spring × KotlinのAPIで、起動直後に負荷が高騰する理由を調べてみました
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2025」の7日目の記事です。 こんにちは!コドモンでエンジニアをしている藤村です! 今回は実務で遭遇したSpring × KotlinのAPIをデプロイする際のメトリクス悪化について、何が起きているのか深掘りして調べてみました! 課題:タスク起動時のメトリクス悪化 まず試してみたこと 何が起きているかを調べるため、ローカルで再現してみる アプリケーション起動時 リクエスト処理時 気付き アプリケーション起動時のコンパイルが活発 リクエストを受けた時に走るコンパイルが思ったより活発じゃなかった ヘルスチェックについて調べる まとめ 起動時に起…
3ヶ月前

複雑な公開条件を伴うロールアウトをDBで制御した話 〜 AWS AppConfigとの比較検討 〜
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2025🎄」の 6 日目の記事になります。 はじめに こんにちは。プロダクト開発部の河野です。 普段はコドモンの写真販売・共有機能を担当しているチームで、プロダクトの改善や新機能の開発を行っています。 先日、私たちのチームでは写真販売の新機能として「せんせいフォト連携機能」をリリースしました。 本記事では、このリリースで直面したロールアウトの課題と、その解決策についてお話しします。 www.codmon.co.jp 背景 今回のリリースにあたっては、以下の要件がありました。 公開日を厳守したい ステークホルダーが多く、プレスリリースでの周知も…
3ヶ月前

やりゃ良いだけのことがやれない私へ
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2025🎄」の5日目の記事になります。 この記事は2025年の私から2026年の私に向けて書いています ですが、以下のことを日々ぼんやり感じている人にも届くといいなと思っています。 1日の終わりを勝ちで終えたい人 準備段階から完璧を目指しすぎて実行動に移せない人 昨日の自分を超えたい人 みなさん、ストレス、楽しめてますか?🌀 こんにちは!コドモンでエンジニアをしている郡司です。 師も走り回るような忙しい月、師走!クリスマス!アドカレ!🎅 仕事に勉強、家事、育児、日本のみなさんお疲れさまです! 年末に向けてなおさら忙しい毎日の中、多種多様なスト…
3ヶ月前

ブラウザの仕様とともに考えるCSRF対策
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2025🎄」の4日目の記事になります。 こんにちは! プロダクト開発部の村松です! 昨今、有名OSSのサプライチェーン攻撃や、大手企業へのサイバー攻撃が相次いで報じられています。 今年の4月からプロダクトセキュリティチームにJOINしたこともあり、セキュリティについて学んできました。 今回は、そのなかでもCSRF攻撃とその対策について、学んだことをこの記事では紹介します。 ※ Cookieを用いたセッション管理を行っているものを対象にしています。 CSRF攻撃について CSRFによる攻撃手法は下記のとおりです。 引用: 安全なウェブサイトの作…
3ヶ月前

コドモンのエンジニアリングマネージャーが最近やっていること
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2025🎄」の3日目の記事になります。 こんにちは、コドモンでエンジニアリングマネージャーをしている堀口です。 今年も早いもので、もうアドベントカレンダーの季節になりました。 我が家には5歳と3歳の子どもがいるのですが、今年のクリスマスはもうサンタが通用しなくなりそうです🎅 さて、昨年のアドベントカレンダーではコドモンにおけるエンジニアリングマネージャー(以下EM)の役割について整理した記事を書きました。 tech.codmon.com ただ、実際にEMが日々取り組む業務は、組織・個人の状況やプロダクトのフェーズによってさまざまです。自分の場…
3ヶ月前

CSSやJSのファイル名に付いているなぞの文字列って何だろう?
コドモン Product Team Blog
はじめに この記事は「コドモンAdvent Calendar 2025」1日目の記事です🎅 こんにちは!コドモンの岡村亮太です! 最近めっきり寒くなってきましたね。 朝の布団から出るスピードが、だんだん "冬仕様" になってきました。 そして気づけば今年もアドベントカレンダーの季節!!🎄✨ コドモンのアドベントカレンダー初日を担当させていただきます。初日はやっぱり特別感がありますね。というわけで、気合いを入れてスタートダッシュしていきたいと思います!💨 さて、本題です。 開発中、ずっと気になっていたことがありました。 <!-- なにこれ? --> <link rel="stylesheet" …
3ヶ月前

【イベントレポート】PHPカンファレンス福岡に登壇しました!
コドモン Product Team Blog
こんにちは!プロダクト開発部のせきねこです。11/8(土)に開催されたPHPカンファレンス福岡に登壇してきたので、参加レポートをお届けしたいと思います! phpcon.fukuoka.jp カンファレンス参加のきっかけ 登壇内容 カンファレンスの様子 前日準備 当日のセッション スポンサーブースめぐり 懇親会 さいごに カンファレンス参加のきっかけ コドモンは5月に開催されたPHPカンファレンス新潟、6月に開催されたPHP Conference Japanそれぞれでスポンサーブースを出展し、私もスタッフおよび参加者としてカンファレンスに顔を出していました。 今回、会社としてのブース出展はなかっ…
3ヶ月前