テスト戦略概要

はじめに

こんにちは、CommuneのGlobalチームのテックリード、Alekseiです。この記事では、アーキテクチャ変革に続くテスト戦略について説明します。アーキテクチャの決定について詳しく知りたい方は Series #2 を、管理の観点についてはチームリードのyoshifumi.kondoが書いた Series #1 を参照してください。

前回の記事では、レイヤードアーキテクチャをコロケーテッドアーキテクチャに変革し、並行開発を可能にし、Next.jsの規約とベストプラクティスに沿って開発できるようになった経緯を共有しました。しかし、アーキテクチャだけでは成功を保証できません。良いコードには良いテストが必要です。

この記事では、戦略的なテスト概要を紹介します。各テストタイプの詳細については、専用の記事で説明します。また、この記事は自動テスト戦略のみに焦点を当てています。手動テストとQAプロセスは、QAチームが担当しており、この議論の範囲外とさせていただきます。

続きを読む

コロケーテッドアーキテクチャ概要

はじめに

こんにちは。CommuneのGlobalチームのAlekseiです。今回は、私が優秀なチームとafkmさんの貴重な支援を受けて取り組んできた、プロジェクトにおけるアーキテクチャ変革について共有したいと思います。

テックリードとして、特にアーキテクチャ設計の決定といった技術的な側面に焦点を当てます。プロジェクトの管理面や歴史的背景に興味がある方は、チームリードのyoshifumi.kondoによる前回の記事を強くお勧めします。

続きを読む

自律を育てる組織とアーキテクチャ ─ 管理画面リプレイスでの試行錯誤から

Series #1|本稿は概念と枠組みの共有。具体実装は #2・#3 へ。


TL;DR

・6年以上の成長で Next.js の進化に追従するコストが増え、開発速度と知識分散に課題が見え始めた
・管理画面を段階的に刷新し、技術的負債を計画的に解消しながら高速な開発体制を構築(ユーザー影響は最小化)
・初期は AI 活用や新技術の前提を楽観視し、計画をリベース。以降は機能オーナーシップ/コロケーション設計、外部知見、ドキュメント/テスト強化で並行開発できる自律的なチームへ

続きを読む

安全にMySQLのメジャーバージョンのアップグレードを行うために本番環境で実行されたクエリを使って検証を行った話

はじめに

コミューン株式会社 Tech & Platformチームの磯村(@isomura_hiroshi)です。 弊社のサービス Commune では長らくMySQL 5.7を使用していましたが、2025年6月にようやくMySQL 8へのメジャーバージョンのアップグレードを完了しました。 私たちが利用しているGoogle CloudのCloud SQL MySQL 5.7は2025年5月から有償サポート扱いとなり追加料金が発生するようになりました。 この費用を減らすために更新を決断しました。

更新の準備は主にインフラチーム主導で行われましたがアプリケーションエンジニアとしてもアップグレードを安全に行うために 本番環境で実際に実行されたクエリを使って検証を行い、確認できた問題に対して対策を行いました。 この記事ではこの検証を行った理由、結果、感想について共有します。

続きを読む

画像配信における権限制御アーキテクチャの設計

Communeソフトウェアエンジニアのu2です!

今回はビジネスロジックによって制御される画像配信の仕組みについて検討したので、その紹介をします。

はじめに

Webアプリケーションにおいてコンテンツの権限制御を細かく行う場合、テキストデータだけでなくそれに付随する画像やファイルの配信方法も同様の制御下に置かれるよう検討する必要があります。
例えばユーザー間におけるダイレクトメッセージのような機能であれば、ダイレクトメッセージ内のテキストは勿論そこに添付された画像も他者からは見れないよう制御されるべき情報になります。一般的に画像はCDNを活用しユーザーに配信すると思いますが、ダイレクトメッセージであれば、認証が通ったかだけではなくそのダイレクトメッセージにアクセスできるユーザーのみが画像を取得できるような、機能に応じたユーザー個別のビジネスロジックに従って配信制御をするためには自前で画像取得リクエストをプロキシして配信する仕組みが妥当だと判断しました。

続きを読む

【ソースコードあり】TypeScriptデコレータで実現する安全なリファクタリング

はじめに

コードの保守性向上や技術的負債の解消のため、リファクタリングは開発プロセスにおいて欠かせない作業です。しかし、新機能の作成やバグ修正を伴わない一方でデグレや障害の原因になり得るため、非エンジニアからは避けたがられる傾向にあります。
こういった背景から、特に複雑で重要な機能について、リファクタリングがなかなか行われず、しかも長い年月をかけて機能追加が行われ、よりリファクタリングがしづらくなっている、といった悪循環もあるでしょう。
開発初期からあるコアな機能などは、そういった傾向が強いように思います。

このような「秘伝のタレ」になっている機能に果敢に切り込むも、複雑なソースコードを十分に読み取れず、デグレを発生させてしまう、ということを恥ずかしながら何度か行ってしまいました。
この失敗を再発させないために、安全にリファクタリングをする仕組みを考え、TypeScriptのデコレータに着目し、リファクタリングのリスクを簡単に軽減する手法を考案しました。

続きを読む

【イベントレポート】コミュニケーションデータを扱うSaaS企業が切り拓く、新たなビジネス機会

はじめに

コミューンで技術広報を担当しているあらです。 本記事では3月25日(火)に株式会社IVRy(以下、IVRy)のオフィスで開催されたイベント『コミュニケーションデータを扱うSaaS企業が切り拓く、新たなビジネス機会』の様子をレポートします。

続きを読む

言語処理学会2025にスポンサー・発表参加しました



こんにちは! 機械学習エンジニアの深澤です。

先月、長崎にて開催された言語処理学会第31回年次大会 (NLP2025)に樋口と共に参加してきました。 今年もまたまた過去最多の参加者数となり、言語処理研究の注目度の高まりを感じています。今年は2248人の参加者と777件の発表数を記録しておりました。

続きを読む

PRDや画面仕様書に対するレビュー技法のワークショップの内容を大公開!

はじめに

この記事はCommune Advent Calendar 2024シリーズ2の25日目の記事です。

コミューンでQAチームのチームリーダーをしている須賀です。
弊社ではデザイナー、プロダクトマネージャー、エンジニアなどの様々な職種の人が協力してプロダクトを共創する文化を築くために、これらの職種が集まったワークショップを定期的に行っています。 各職種の相互理解のために各職種の方が持ち回りでワークショップを行っていますが、今回は私が行ったレビュー技法のワークショップの内容について紹介します。
レビュー技法について知りたい方、ワークショップをやってみたい方の参考になれば幸いです。

続きを読む

Flutterアプリの性能測定の実施と運用について検討した話

この記事はCommune Advent Calendar 2024シリーズ2、18日目の記事です。QAチームの三木が担当します。

https://qiita.com/advent-calendar/2024/commune

コミューンにはモバイルアプリがあり、Flutterで開発されています。 私は普段モバイルアプリのQAを担当しており、今回はアプリエンジニアの方と協力してモバイルアプリの性能測定に取り組んだので、そのことについて共有します。

続きを読む

RAGで問い合わせ対応をラクにするWebアプリをつくってみた

この記事はCommune Advent Calendar 2024シリーズ1、23日目の記事です。 コミューン株式会社でデータサイエンティストをしているsuk1yak1が担当します。

ある部署に対する社内での問い合わせ対応が増えていたのをきっかけに、RAG(Retrieval-Augmented Generation)を活用して問い合わせ対応をラクにする社内向けWebアプリをつくってみたので、その内容を紹介します。

続きを読む