コドモン Product Team Blog

https://tech.codmon.com/

株式会社コドモンの開発チームで運営しているブログです。エンジニアやPdMメンバーが、プロダクトや技術やチームについて発信します!

フィード

記事のアイキャッチ画像
汎用テーブルがもたらす副作用とその対処
コドモン Product Team Blog
弊社には「汎用テーブル」、「汎用API」と呼ばれる設計の型が存在していました。 このような設計によって弊社のサービスにもたらされた負の副作用と、それに対してどのように対処しているかを実例を交えて説明します。 汎用テーブルとは 汎用テーブルによって生じた問題 認知負荷が高い 制約が適切に設定できない JSONカラムの乱用 カーディナリティの異なる関連情報がスロークエリーの原因になる レコード数の増加と書き込み負荷の増加 汎用APIの誕生 対処 汎用APIを分割する ドメイン駆動設計とクリーンアーキテクチャを導入する 中間テーブルの作成 最後に 汎用テーブルとは 汎用テーブルとは、さまざまなデータ…
9日前
記事のアイキャッチ画像
PHP Conference Japan 2024に協賛しました!
コドモン Product Team Blog
こんにちは!プロダクト開発部の村松です! 今回は「PHP Conference Japan 2024」にゴールドスポンサーとして協賛したので、当日の様子をレポートします! phpcon.php.gr.jp 協賛の背景 スポンサーブースの様子 セッションの様子 イベントを終えた感想 協賛の背景 PHP Conference Japan は、日本PHPユーザ会(Japan PHP Users Group)が主催する、国内最大規模のカンファレンスです。 コドモンのメインプロダクトはPHPで開発されており、コドモンでもPHPコミュニティの盛り上げにお力添えをしたく協賛いたしました! スポンサーブースの…
10日前
記事のアイキャッチ画像
コドモンがXPを取り入れている理由
コドモン Product Team Blog
この記事は、コドモンAdvent Calendar 2024 25日目の記事です。🎅🎄 プロダクト開発部の岡村です! コドモン開発部では、「ユーザに価値を素早く届け続ける」アジャイルな組織になるために、2021年からXP(エクストリームプログラミング)を取り入れ始めました。 なぜXPを取り入れているのか?と聞かれることも多くなってきたので、ブログにまとめようと思います。 前提 XPは価値基準・原則・プラクティスの3つから成り立っています。 XPでは、原則を意識しながらプラクティスを実行することで、価値基準を体現していくことを目指します。 XPを取り入れた理由 不確実性が高い現代において、変化の…
11日前
記事のアイキャッチ画像
設定画面のリニューアルで関心の分離と疎結合を意識した試行錯誤
コドモン Product Team Blog
エンジニアの藤村です。 私の所属するチームでは先日、写真共有・販売という機能の設定画面をリニューアルしました。 リニューアルは機能の利用開始に至るまでの体験について改善を目指したものでした。実装の土台にある画面の情報構造から変更する内容だったことに加え、元々技術的負債からの脱却に取り組んでいる背景もあり既存の基盤の上で改修を行うのではなくこの機会に新基盤でReactに書き直す方針を取りました。 個人的にプロダクトの保守性を高めることへの興味が強いこともあり、新基盤の保守性は自分の守備範囲にするんだという気持ちで取り組みました🔥 本記事では、リニューアルに取り組む中で保守性を高めるため試行錯誤し…
13日前
記事のアイキャッチ画像
実装してみて理解できたハッシュテーブル
コドモン Product Team Blog
こちらはコドモン Advent Calendar 2024の22日目の記事です🎅 こんにちは!コドモンプロダクト開発部の加藤です。 最近エンジニアとしての基礎を伸ばすために色々と勉強の幅を広げたいな~と思っていて、特に今年はいままであまりできていなかったコンピュータサイエンスの基礎まわりを勉強する一年でした。 今回は学んだことの中から、実装してみて理解できたハッシュテーブル、というテーマで記事にしました! ハッシュテーブルとは 実装してみる お題 実装 ハッシュテーブルを作成 ハッシュテーブルから取り出し 感想 参考資料 ハッシュテーブルとは データ構造の一つで、キーと対応する値のペアを単位と…
14日前
記事のアイキャッチ画像
PHPUnit のテストダブルと仲良くなりたい(スタブ編)
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2024」の21日目の記事です。 qiita.com こんにちは、プロダクト開発部のふくいです。 私は業務の中で主に PHP と向き合っている毎日なのですが、先日所属しているチームで普段通り会話しながらペアでテストコードを書いていたところで、ふと気がついてしまいました。 「あれ、PHPUnit で引数に応じて返却値を変えるスタブってどう書けばいいんだっけか..」 「いや、そもそも PHPUnit でスタブやモックをどう書けば使える様になるのか自分全然わかってない..」 自分がなにもわからないことを思い知らされるペアプロのプラクティスと同僚に感…
15日前
記事のアイキャッチ画像
CordovaからCapacitorへの移行の道のり
コドモン Product Team Blog
こんにちは。コドモンプロダクト開発部の関です。 こちらの記事にもありますが、コドモンの保護者向けモバイルアプリはCordovaからCapacitorに移行しました。 この記事では移行作業を振り返ってみたいと思います。 移行方針 移行要件 Cordovaプラグインの扱い 移行対象のCapacitorバージョン 移行タイミング 移行計画立案 事前調査 移行の流れ 当初計画 非互換調査 Web Storage移行 移行用ブランチ上で修正 CI/CDパイプライン修正 サポート調整 アップデート促進 各チームテスト&バグ対応 リリース準備 振り返り 当初計画とのギャップ テストの結果 Capacitor…
16日前
記事のアイキャッチ画像
オライリー学習プラットフォームの活用レポートから見るコドモン開発部の学び
コドモン Product Team Blog
こちらはコドモン Advent Calendar 2024の20日目の記事です🎅🎄 qiita.com こんにちは!エンジニアのせきねこです。園児/職員募集支援サービス「ホイシル」の開発チームに所属しています。 コドモン開発部は2024年6月に「オライリー学習プラットフォーム」のサブスクリプション契約を開始しました。 電子書籍読み放題やクラウドサービスのsandbox利用など、エンジニアの成長を支援するコンテンツが多数取り揃えられています。 コドモンでの導入背景や利用開始時の感想などをこちらの記事で紹介していますので、興味があれば是非ご覧ください! tech.codmon.com 導入から約半…
16日前
記事のアイキャッチ画像
「Be agile」でいるためにしていること:Codmon Tech Talk #1 登壇レポート
コドモン Product Team Blog
こちらの記事は「コドモン Advent Calendar 2024」の 19日目の記事です🎅🎄 qiita.com こんにちは!プロダクト開発部の宮平です。 先日、Codmon Tech Talkに登壇しましたので、登壇の経緯や登壇内容、振り返りまでをお伝えしていきます。 イベント概要 Codmon Tech Talk #1は、2024年11月29日にコドモン主催で開催したテックイベントです。このイベントでは、コドモンでのアジャイル開発の取り組みに関する知見の共有が行われました。私は「Be agile」でいるためにしていること、というテーマで発表させていただきました。 codmon.connp…
17日前
記事のアイキャッチ画像
2024年の技術広報ふりかえり〜発信の強化とロードマップ作成〜
コドモン Product Team Blog
こんにちは!Engineering Officeのおかぱる(@okapall)です。この記事は技術広報 Advent Calendar 2024の8日目、そしてコドモン Advent Calendar 2024の24日目の記事です🎄 今回はコドモン開発チームでの、2024年の技術広報活動をふりかえっていこうと思います🚀 MISSIONと担う領域の整理 MISSION 担う領域 採用マーケティング 成長支援 コミュニティへの貢献 2024年の活動内容 昨年との数字の比較 カンファレンススポンサー 他社共催イベント 開発チームブログ 自社主催イベント 個人登壇 ロードマップ作成 技術広報によって表…
18日前
記事のアイキャッチ画像
意思決定の透明性を高め、全社で共有するプロダクトロードマップへ
コドモン Product Team Blog
この記事は、コドモンAdvent Calendar 2024 18日目の記事です。 こんにちは!コドモンでプロダクトマネージャー(以降PdM)をやっている重山です。 2024年4月にコドモンに入社し、あっという間に8ヶ月が経とうとしています。 今回はアドベントカレンダーに参加ということで、直近のプロダクト開発部としての取り組みについてまとめてみたいと思います。 こんな人に向けて書きました SaaS企業にて開発組織拡大に伴う課題を感じている方 プロダクト開発部と他部署とのコミュニケーションで悩んでいる方 コドモンのプロダクト開発に興味がある方 はじめに 皆さんの開発組織においてプロダクトロードマ…
18日前
記事のアイキャッチ画像
コドモンにおける決済基盤のテストの紹介
コドモン Product Team Blog
こんにちは。QAエンジニアの砂川です。 こちらの記事は、コドモンAdvent Calendar 16日目 および ソフトウェアテスト Advent Calendar 2024 19日目の記事です。 本日は、コドモンの決済機能のテストを行うにあたり、どのようなテスト戦略で品質保証をしてきたのかを紹介します。 決済基盤の紹介 コドモンのさまざまな機能のうち、用品販売やいつでも請求*1のように、施設の集金業務を支援する機能があります。 決済基盤は、集金業務を支援するそれらのサービスからクレジットカードやコンビニ決済のリクエストを受けつけ、決済代行業者に連携するサービスとして稼働しています。 決済機能…
20日前
記事のアイキャッチ画像
CordovaからCapacitorへの移行時の非互換調査
コドモン Product Team Blog
こんにちは。コドモンプロダクト開発部の関です。 こちらの記事は コドモン Advent Calendar 2024 の15日目の記事です🎅 こちらの記事にもありますが、コドモンの保護者向けモバイルアプリはCordovaからCapacitorにアプリ基盤を移行しました。 この記事では、移行作業の中で行った非互換調査について紹介します。CordovaからCapacitorに移行しようとしているプロジェクトがどの程度あるかはわかりませんが、非互換調査で参考になる情報はいくつかあるのではないかと思い、ブログを執筆することにしました。 CordovaからCapacitorへの移行の道のりについてはまた別…
21日前
記事のアイキャッチ画像
コドモンのデータ分析基盤アーキテクチャの現在地
コドモン Product Team Blog
こちらの記事は「コドモンAdvent Calendar 2024」と「TROCCO® Advent Calendar 2024」の14日目の記事です🎅🎄 こんにちは、Analyticsグループの若鶴です! Analyticsグループは開発部ではなく社長室に所属していますが、開発部の皆様のご好意により、コドモンのAdvent Calendarに参加させてもらってます🎉 コドモンのAnalyticsグループは、データ分析基盤の整備・データパイプラインの作成・ダッシュボード作成の3つをメインで実施しています。 外部の方から「コドモンのデータ分析基盤、今どんな感じになってます??」という質問をもらった…
22日前
記事のアイキャッチ画像
KotlinでIntelliJ IDEAのプラグインを作ってみよう!
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2024」の 13日目の記事です qiita.com こんにちは! プロダクト開発部の村松です! みなさんはどのようなエディタを使っていますでしょうか? 弊社ではIntelliJ IDEAを使うメンバーが多く、日々IntelliJ IDEAの便利な機能を活用しながらコーディングを行っています。 プラグインも充実していますが、自分が欲しいプラグインが既存で存在しないこともあります。 そこで今回、自分が欲しかったIntelliJ IDEAのプラグイン開発にチャレンジしました。 本記事ではプラグイン開発の始め方と作ってみた感想についてご紹介します。…
23日前
記事のアイキャッチ画像
コドモンにおけるエンジニアリングマネージャーの役割
コドモン Product Team Blog
この記事は「コドモンAdvent Calendar 2024」の12日目ならびに、Engineering Manager Advent Calendar 2024の12日目の記事です。 はじめに こんにちは、コドモンのtakaoです。僕は4ヶ月ほど前にコドモンに入社し、現在はエンジニアリングマネージャー(EM)として開発組織に関わっています。 EMは会社によって求められる役割や定義が異なることが多いと思いますが、この記事でコドモンにおけるEMの役割を一つの事例としてお伝えし、開発組織のマネジメントやEMをされている方の参考になれば幸いです。 ちなみに・・・先日入社エントリを公開しました。EMと…
24日前
記事のアイキャッチ画像
部署を横断した優先度判断の合意形成のつまづきと学び
コドモン Product Team Blog
こちらはコドモン Advent Calendar 2024の11日目の記事です🎅🎄 qiita.com コドモンで写真販売・共有領域のプロダクトマネージャーをしている木村です。 壊れていた家のお風呂が直り、お気に入りの入浴剤を入れて毎日長風呂をしてしまう今日この頃です。 コドモンのAdvent Calender 11日目の担当として「部署横断の開発優先度を合意形成する、つまづきと学び」についてお話しします! こんな方に読んでいただけたら幸いです! チームを横断した案件の優先順位に悩んでいる方 施策の優先順位のコストが大きいと感じている方 コドモンのPdMに興味がある方 目次 目次 様々なユース…
25日前
記事のアイキャッチ画像
lefthook を導入してみた話
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2024」の 10日目の記事です。 qiita.com こんにちは。プロダクト開発部の河野です。 今回は、最近チームに導入した lefthook の使い勝手が良かったので、紹介したいと思います。 lefthook とは Git フックの管理ツールで、Git のコミットやプッシュ操作時に任意の処理を走らせることができるツールです。 Fast. It is written in Go. Can run commands in parallel. Powerful. It allows to control execution and files …
1ヶ月前
記事のアイキャッチ画像
PHPで魔法(DIコンテナ)を作って理解した話
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2024」の 8日目の記事です qiita.com こんにちは! プロダクト開発部の岡村 亮太です! コドモンに入ってからPHPについて考える機会が増え、日に日にPHPへの愛着が深まっています。 そこで、PHPについて何か書いてみたいと思っています! 今回は、開発でよく使われる便利な仕組み「DIコンテナ」について、PHPで 「作ってみた」話を書きます! まずは下記のコードを見てください。 <?php class TestRepository { public function __construct() {} } class TestServ…
1ヶ月前
記事のアイキャッチ画像
プログラムと音楽って似てる気がする、を言語化してみた
コドモン Product Team Blog
こちらの記事は「コドモンAdvent Calendar 2024」の 7日目の記事です🎅 こんにちは!コドモンの諸星です。 プログラムと音楽 突然ですが、プログラム*1と音楽が似ていると感じたことはありませんか? 私は似ていると感じているのですが、人に説明できるくらい言語化できたことがありませんでした。 今回は「プログラムと音楽の共通性」についての言語化にチャレンジします! 共通点1:あらかじめ動作を記述する まず最初の共通点は、「動作が事前に記述されている」ということです。 ソフトウェアのコードはいわずもがな、音楽においても楽譜という形で、事前に音の高さ・リズム・楽器の種類などが事前に記述さ…
1ヶ月前
記事のアイキャッチ画像
Cloud SigningでiOSアプリ開発の面倒な作業から解放された話🎉
コドモン Product Team Blog
はじめに こちらは「コドモン Adevent Calendar 2024」の6日目の記事です。 qiita.com こんにちは、エンジニアの重田です。2024年はモバイルアプリの基盤をCapacitorに移行しました。ビルド周りにも手を入れてiOSアプリのCloud Signingを導入したところ、地味に面倒な作業から解放されました! 🎉年に1回の証明書やProvisioning Profileの更新作業がゼロに🎉 🎉検証用のデバイスを追加するたびにProvisioning Profileを更新する作業がゼロに🎉 🎉CIマシンにProvisioning Profileなど必要なファイルを設置す…
1ヶ月前
記事のアイキャッチ画像
React hook formで動的なフォームをサクッと実現
コドモン Product Team Blog
背景 開発部のチャブです。 最近所属しているチームでとあるウェブページのリニューアルをすることになりました。 現在のページが動いているスタックでは一定の技術的負債が溜まっていることもあり、せっかくの機会なのでReactで新規に開発する方針になりました。 今回のリニューアルの意図は入力項目を減らすことで設定を容易にすることです。対象となる元のページはフォームで15個ほどの入力項目があります。 すでにある設定項目はなくさず、必要な時にだけ入力できるように、項目を動的に増やすことができる必要があります。 そのようなフォームを実現するには、入力項目の追加と削除、そして表示されている項目一覧管理の実装が…
1ヶ月前
記事のアイキャッチ画像
ビジネスルールを型で表現するリファクタリング手法
コドモン Product Team Blog
こちらは「コドモン Advent Calendar 2024」の 3日目の記事です qiita.com エンジニアの上代です。 今回ご紹介するのは、請求に関連するシステムで実施したリファクタリングについてです。このプロジェクトでは、サーバーサイドをKotlinで開発しており、請求の生成、支払い処理、キャンセル対応といったビジネスロジックを扱っています。具体的には、ドメインロジックやAPI設計をKotlinで実装し、型安全性や開発効率を活かしながらビジネス要件を実現しています。 プロジェクトが進むにつれて、さまざまな状態や処理が一つのクラスに集約され、ビジネスロジックが複雑化していました。これに…
1ヶ月前
記事のアイキャッチ画像
保育ドメインならではの前例が無い機能をどうやって作る?
コドモン Product Team Blog
こちらはコドモン Advent Calendar 2024の2日目の記事です🎅🎄 qiita.com こんにちは! コドモンプロダクト開発部のPdM天川です⛄️ 今回は「所在確認アラート」機能の開発において、保育の文脈が強い、かつ前例のない機能の仕様をどのように決めたかを紹介します! こんな人に向けて書きました Vertical SaaSで働くPdM ドメイン特化ゆえ前例がない機能を作っている ユーザーによって微妙に違う業務をどのように仕様へ落とし込もうか迷っている 所在確認アラートってなに? 子どもの登園予定時刻までに打刻がなかった場合に、施設と保護者の両方へアラートを出す機能です。 登園予…
1ヶ月前
記事のアイキャッチ画像
O'Reillyのon demand coursesでリスキリングしてみた
コドモン Product Team Blog
O'Reillyのサブスクでオンライン講座を受講し、どんなものかをレポートしました
1ヶ月前
記事のアイキャッチ画像
コドモンにエンジニアリングマネージャーとして入社しました
コドモン Product Team Blog
はじめまして。コドモンでメモリーチームのエンジニアリングマネージャーをしている@takaoh717です。 2024年8月に株式会社コドモンにエンジニアリングマネージャーとして入社し、3ヶ月ほどが経ちました。この記事では、コドモンを選んだ理由や入社後に具体的にどんなことをやっているのかをご紹介します。この内容を読んで、少しでもコドモンに興味をもっていただけると嬉しいです。 自己紹介 前職のdely株式会社にはiOSエンジニアとして入社し、約6年半の在籍期間の中でiOSエンジニアからPdMやEMなど様々なロールを経験しました。その後、2024年8月にコドモンに入社しました。プライベートでは4歳の息…
1ヶ月前
記事のアイキャッチ画像
イベント連携基盤の技術選定をした話 〜比較・結論編〜
コドモン Product Team Blog
こんにちは、プロダクト開発部の中田です。 今回は、イベント連携基盤の技術選定におけるサービス比較結果のまとめと結論をお伝えします。 イベント連携基盤の技術選定をした話 〜背景・課題編〜 イベント連携基盤の技術選定をした話 〜EventBridgeさわってみた編〜 イベント連携基盤の技術選定をした話 〜Axon + MSKさわってみた編〜 イベント連携基盤の技術選定をした話 〜比較・結論編〜 ←今回はこの話 技術選定の検討自体にも長くかかりましたが、ブログ記事の執筆も大変でした。最後までお付き合いいただけると幸いです。 本記事の概要 これまでの記事では、イベント連携基盤の検討にいたった背景をはじ…
1ヶ月前
記事のアイキャッチ画像
イベント連携基盤の技術選定をした話 〜Axon + MSKさわってみた編〜
コドモン Product Team Blog
こんにちは、プロダクト開発部の中田です。 今回は、イベント連携基盤の技術選定において、前回のEventBridge編に引き続き、MessageBrokerの候補として挙げたAmazon Managed Streaming for Apache Kafka(以降、MSKと記述)およびAxon Framework(以降、Axonと記述)について、実際にさわってみて気づいた点をご紹介します。 イベント連携基盤の技術選定をした話 〜背景・課題編〜 イベント連携基盤の技術選定をした話 〜EventBridgeさわってみた編〜 イベント連携基盤の技術選定をした話 〜Axon + MSKさわってみた編〜 ←…
2ヶ月前
記事のアイキャッチ画像
イベント連携基盤の技術選定をした話 〜EventBridgeさわってみた編〜
コドモン Product Team Blog
こんにちは、プロダクト開発部の中田です。 今回は、イベント連携基盤の技術選定の記事の続きです。 MessageBrokerの候補として挙げたAmazon EventBridge(以降、EventBridgeと記述)について、実際にさわってみて気づいた点をご紹介します。 イベント連携基盤の技術選定をした話 〜背景・課題編〜 イベント連携基盤の技術選定をした話 〜EventBridgeさわってみた編〜 ←今回はこの話 イベント連携基盤の技術選定をした話 〜Axon + MSKさわってみた編〜 イベント連携基盤の技術選定をした話 〜比較・結論編〜 本記事の概要 まず、イベント連携基盤のMessage…
2ヶ月前
記事のアイキャッチ画像
イベント連携基盤の技術選定をした話 〜背景・課題編〜
コドモン Product Team Blog
こんにちは、プロダクト開発部の中田です。 今回は、イベント連携基盤の技術選定を行なった話をご紹介します。 思った以上にボリュームが多くなってしまったので、以下のように複数回に分けて投稿します。 それぞれ投稿でき次第、記事のリンクを追加予定です。 イベント連携基盤の技術選定をした話 〜背景・課題編〜 ←今回はこの話 イベント連携基盤の技術選定をした話 〜EventBridgeさわってみた編〜 イベント連携基盤の技術選定をした話 〜Axon + MSKさわってみた編〜 イベント連携基盤の技術選定をした話 〜比較・結論編〜 最初は、「背景・課題編」ということで、イベント連携基盤を導入しようと考えた背…
2ヶ月前