Commune Engineer Blog
https://tech.commune.co.jp/
コミューン株式会社のエンジニアブログです。フロントエンド、サーバサイド、SREなどすべてのエンジニアに見て欲しいブログです。
フィード

テスト戦略概要
Commune Engineer Blog
はじめに こんにちは、CommuneのGlobalチームのテックリード、Alekseiです。この記事では、アーキテクチャ変革に続くテスト戦略について説明します。アーキテクチャの決定について詳しく知りたい方は Series #2 を、管理の観点についてはチームリードのyoshifumi.kondoが書いた Series #1 を参照してください。 前回の記事では、レイヤードアーキテクチャをコロケーテッドアーキテクチャに変革し、並行開発を可能にし、Next.jsの規約とベストプラクティスに沿って開発できるようになった経緯を共有しました。しかし、アーキテクチャだけでは成功を保証できません。良いコード…
22日前

コロケーテッドアーキテクチャ概要
Commune Engineer Blog
はじめに こんにちは。CommuneのGlobalチームのAlekseiです。今回は、私が優秀なチームとafkmさんの貴重な支援を受けて取り組んできた、プロジェクトにおけるアーキテクチャ変革について共有したいと思います。 テックリードとして、特にアーキテクチャ設計の決定といった技術的な側面に焦点を当てます。プロジェクトの管理面や歴史的背景に興味がある方は、チームリードのyoshifumi.kondoによる前回の記事を強くお勧めします。
23日前

自律を育てる組織とアーキテクチャ ─ 管理画面リプレイスでの試行錯誤から
Commune Engineer Blog
Series #1|本稿は概念と枠組みの共有。具体実装は #2・#3 へ。 TL;DR ・6年以上の成長で Next.js の進化に追従するコストが増え、開発速度と知識分散に課題が見え始めた ・管理画面を段階的に刷新し、技術的負債を計画的に解消しながら高速な開発体制を構築(ユーザー影響は最小化) ・初期は AI 活用や新技術の前提を楽観視し、計画をリベース。以降は機能オーナーシップ/コロケーション設計、外部知見、ドキュメント/テスト強化で並行開発できる自律的なチームへ
24日前

安全にMySQLのメジャーバージョンのアップグレードを行うために本番環境で実行されたクエリを使って検証を行った話
Commune Engineer Blog
はじめに コミューン株式会社 Tech & Platformチームの磯村(@isomura_hiroshi)です。 弊社のサービス Commune では長らくMySQL 5.7を使用していましたが、2025年6月にようやくMySQL 8へのメジャーバージョンのアップグレードを完了しました。 私たちが利用しているGoogle CloudのCloud SQL MySQL 5.7は2025年5月から有償サポート扱いとなり追加料金が発生するようになりました。 この費用を減らすために更新を決断しました。 更新の準備は主にインフラチーム主導で行われましたがアプリケーションエンジニアとしてもアップグレードを…
3ヶ月前

GitHub Actions 経由で Vertex AI Agent Engine に ADK エージェントをデプロイする際ハマったこと
Commune Engineer Blog
こんにちは!機械学習エンジニアをしている深澤です。 Google Agent Development Kit(ADK) を用いてエージェント開発をしており、Vertex AI Agent Engine を活用しています。 その際に悩み抜いたことがあり、ようやく解決できたので学びを共有します。
3ヶ月前

画像配信における権限制御アーキテクチャの設計
Commune Engineer Blog
Communeソフトウェアエンジニアのu2です! 今回はビジネスロジックによって制御される画像配信の仕組みについて検討したので、その紹介をします。 はじめに Webアプリケーションにおいてコンテンツの権限制御を細かく行う場合、テキストデータだけでなくそれに付随する画像やファイルの配信方法も同様の制御下に置かれるよう検討する必要があります。 例えばユーザー間におけるダイレクトメッセージのような機能であれば、ダイレクトメッセージ内のテキストは勿論そこに添付された画像も他者からは見れないよう制御されるべき情報になります。一般的に画像はCDNを活用しユーザーに配信すると思いますが、ダイレクトメッセージ…
5ヶ月前

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

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

言語処理学会2025にスポンサー・発表参加しました
Commune Engineer Blog
こんにちは! 機械学習エンジニアの深澤です。 先月、長崎にて開催された言語処理学会第31回年次大会 (NLP2025)に樋口と共に参加してきました。 今年もまたまた過去最多の参加者数となり、言語処理研究の注目度の高まりを感じています。今年は2248人の参加者と777件の発表数を記録しておりました。
8ヶ月前

PRDや画面仕様書に対するレビュー技法のワークショップの内容を大公開!
Commune Engineer Blog
はじめに この記事はCommune Advent Calendar 2024シリーズ2の25日目の記事です。 コミューンでQAチームのチームリーダーをしている須賀です。 弊社ではデザイナー、プロダクトマネージャー、エンジニアなどの様々な職種の人が協力してプロダクトを共創する文化を築くために、これらの職種が集まったワークショップを定期的に行っています。 各職種の相互理解のために各職種の方が持ち回りでワークショップを行っていますが、今回は私が行ったレビュー技法のワークショップの内容について紹介します。 レビュー技法について知りたい方、ワークショップをやってみたい方の参考になれば幸いです。
1年前

Flutterアプリの性能測定の実施と運用について検討した話
Commune Engineer Blog
この記事はCommune Advent Calendar 2024シリーズ2、18日目の記事です。QAチームの三木が担当します。 https://qiita.com/advent-calendar/2024/commune コミューンにはモバイルアプリがあり、Flutterで開発されています。 私は普段モバイルアプリのQAを担当しており、今回はアプリエンジニアの方と協力してモバイルアプリの性能測定に取り組んだので、そのことについて共有します。
1年前

RAGで問い合わせ対応をラクにするWebアプリをつくってみた
Commune Engineer Blog
この記事はCommune Advent Calendar 2024シリーズ1、23日目の記事です。 コミューン株式会社でデータサイエンティストをしているsuk1yak1が担当します。 ある部署に対する社内での問い合わせ対応が増えていたのをきっかけに、RAG(Retrieval-Augmented Generation)を活用して問い合わせ対応をラクにする社内向けWebアプリをつくってみたので、その内容を紹介します。
1年前

サービス×環境毎に用意していた GitHub Actions をサービス毎で1つに整理しました
Commune Engineer Blog
こんにちは,コミューンで機械学習エンジニアとして働いている柏木(@asteriam_fp)です. 最近久しぶりに手帳を購入したので,手書きでその日の思ったことや考えなどを書き出しています.アナログに紙とペンで文字を書くのは,やっぱり味わいがあって良いですね.
1年前

大規模リファクタリングを加速するためにAPIスナップショットテストを作りました
Commune Engineer Blog
コミューン株式会社の土佐(@whale9490)です。 私たちは現在、溜まった技術負債を一掃するため、大規模リファクタリングプロジェクトを進行しています。 大規模リファクタリングを安全かつ高速に行うには、できるだけ網羅的な自動テストがあることが望まれます。私たちのバックエンドコードは、E2Eテスト・APIテスト・ユニットテストなど様々なレイヤのテストを持ってはいましたが、それらいずれも網羅的ではありませんでした。 そこで、APIテストを網羅的に書こう、ということに決まったのですが、すべてのAPI(数百エンドポイントあります)に対して手でテストを書いていると、私たちの望む短期間では到底終わらない…
1年前

単純な実装でみんなの負担を減らした話 〜サイトカスタマイズ機能の開発物語〜
Commune Engineer Blog
こんにちは、Webエンジニアの野川(@chan_naru_way)です。趣味は、Perplexity AIを触ってなんでも知った気持ちになることです。(最近はGensparkも面白い!)とはいっても、回答を鵜呑みにせずに自分の頭で考え続けたい、まだまだAIに使われたくない所存です。 徐々にパソコンのファンの風が心地よく感じる季節になってきました。季節の変わり目なので、みなさん体調に気をつけてくださいね〜。 今回は、Communeで提供している機能のひとつ「カスタムブロック」が、どんな課題を解決するために、どんな判断や開発を経て作られたのかを紹介します。ひとつの事例ですが、私たちの開発の雰囲気が…
1年前

Google Cloud に機械学習 API をデプロイするとき、Cloud Run と Vertex AI Endpoint のどちらを選ぶべきか?
Commune Engineer Blog
こんにちは。2024年6月に中途入社した機械学習エンジニアの深澤(@fukkaa1225)です。新しいエキサイティングな環境を毎日楽しんでます! 本記事では機械学習 API をデプロイする際、コストの観点からどのようなサービスを選ぶべきかについて述べたいと思います。
1年前

Vertex AI Pipelines で利用している Kubeflow Pipelines を v2 へ移行しました
Commune Engineer Blog
こんにちは,コミューンで機械学習エンジニアとして働いている柏木(@asteriam_fp)です. 最近は,鬼滅の刃の柱稽古編が毎週日曜日に放送されていて,それを見て楽しんだ勢いで月曜日からの仕事も勤しんでいます!(無限城編も楽しみです)
1年前

Communeの社内コミュニティのデータを使ってネットワーク分析の基礎を学ぶ
Commune Engineer Blog
こんにちは、Communeのデータサイエンティストの樋口です! Communeでは、"あらゆる組織とひとが融け合う未来をつくる"のミッションのもと、組織とひととのつながりを支えるコミュニティサクセスプラットフォーム「Commune」を開発しています。 Communeでは人のつながりを科学し、プロダクトを利用するお客さんが再現性を持って活発なコミュニティを作れるように尽力しています。 本ブログではその取り組みの一環として、表形式よりも人のつながりを柔軟に表現できるネットワークを用いて、オンラインにおけるコミュニケーションパターンの分析を実施したので、記事にしてみました! Communeのデータを…
1年前

【イベントレポート】TypeScript Developers Meetup 〜フロントからバックまでTypeScript〜
Commune Engineer Blog
はじめに こんにちは。コミューンDevHRのあらです。 この記事では2024年5月8日(水)、コミューンのオフィスで開催された4社合同イベント「TypeScript Developers Meetup〜フロントからバックまでTypeScript〜」の様子を紹介します。 はじめに イベント概要 会場の様子 Lightning Talk発表 コミューン 角田 武蔵さん「Compiler APIを利用してTypeScriptのAPI型定義からOpenAPI.jsonを作成する」 他社登壇者のみなさんのLT発表 ケップル 芹田 悠一郎さん「nullとoptionalとundefind TypeScri…
2年前

1人目のQAがQAチームの活動を振り返ってみた(2022年7月〜12月編)
Commune Engineer Blog
はじめに コミューン株式会社でQAチームのマネージャーをやっている須賀(@kawabeaver)です。 今回の記事は前回の記事の続編で2022年後半の振り返りです。本記事は前回の記事が前提となっていますので、ぜひ前回の記事も読んでみて下さい。 QAエンジニアの方やQAチーム立ち上げを考えている方の参考になれば幸いです。 はじめに 今までのおさらい 7月〜9月(オンボーディング体制構築、共通認識作りなど) オンボーディング体制の構築 QAチームの方向性の決定 開発者向けにテスト技法の学習資料・試験問題を作成 テストの十分性に関する共通認識作り テストの7原則を用いて説明 コードカバレッジや機能カ…
2年前

コミューン流技術的負債との立ち向かい方
Commune Engineer Blog
はじめに こんにちは。コミューンでTechLeadをしているまつむらと申します。 今回は直近で私が取り組んだ取り組んだコミューンの技術的負債「水平スケーリング問題」の解消についてご紹介します。
2年前

1人目のQAがQAチームの活動を振り返ってみた(2022年1月〜6月編)
Commune Engineer Blog
コミューン株式会社でQAチームのマネージャーをやっている須賀(@kawabeaver)です。 私が2022年1月に1人目の社員QAエンジニアとして入社してから2年経過し、今ではQAチームのメンバーは私含めて3名になりました。本記事ではQAチームの今までの活動を振り返ってみたいと思います。今回の記事は2022年前半の振り返りです。後日2022年後半や2023年の活動内容も公開する予定です。 QAエンジニアの方やQAチーム立ち上げを考えている方の参考になれば幸いです。 1月〜3月(開発組織に溶け込む) QAエンジニアという職種の紹介 現状の分析、WebチームにおけるQAエンジニアの関わり方の決定 …
2年前

ドメイン駆動設計に触れてから2年経ったので、開発者の取り組み方について振り返ってみる
Commune Engineer Blog
はじめに こんにちは、コミューンの中でSuccessHubというプロダクトの開発者をしている中野です。 SuccessHubは正式にローンチされてから1年半弱経過しており、開発初期からドメイン駆動設計を基に開発を進めています。この経験を通じて、コードベースのアプローチ以外の部分でも、開発者としての取り組みに関する課題や成功体験が浮かび上がってきました。今回はその一部を振り返りつつお話しできればと思います。(少し抽象的な話になります)
2年前

ニアリアルタイムで投稿レコメンドをユーザーに届ける
Commune Engineer Blog
こんにちは,コミューンで一人機械学習(ML)チームで機械学習エンジニアとして働いている柏木(@asteriam_fp)です. 今年ももうあと少しですね,やり残したことは今年のうちにしたいものですが,僕は最近やっとジムに入会して適度に運動を始めることにしました!運動はメンタルヘルスにも影響があり,心が落ち着いたり,前向きな気持ちになる効果があるそうで,まだそこまでの実感はないですが継続していきたいと思います! はじめに 本ブログでは,前回のテックブログで紹介した投稿レコメンド機能の初回リリース時の課題であった新着投稿に対しても,ニアリアルタイムでレコメンドを提供できるようにした取り組みの紹介にな…
2年前

CTOのポエム新項「徳治主義」
Commune Engineer Blog
エンジニアである前に人として素晴らしくあれ わたしは社内のエンジニアメンバーに対して、技術者である前にひとりの人間として素晴らしくあってほしいと切に願っている。社内外問わずたとえスキルが高くても、人を傷つけたり、自己中心であったり、うまくいかないことを他人のせいにしたり、あるいは神経がすり減るようなコミュニケーションを常に要したり、そんな人間と一緒に働きたくないのである。「自分はできているから問題ない」と思うあなたにこそ最後まで読んでほしいのだ。
2年前

コミューンエンジニア的最強CLI環境を作ってみた
Commune Engineer Blog
コミューンに今年の8月にエンジニアとして入社した角田です。 入社して3ヶ月、業務には慣れてきましたがシェルの設定は空っぽ、ターミナルも初期設定のままです。 また、ブログのネタにも困っていました。 これを機に先輩エンジニアたちのCLI環境についてインタビューを行い、それを参考に自分なりの最強CLI環境を作成したいと思います。
2年前

QAがPull Requestから影響範囲を調べてリグレッションテストを実施している話
Commune Engineer Blog
はじめに 初めまして。QAチームの三木と申します。 commmuneモバイルアプリのQAを担当しており、入社して7ヶ月が経ちました。 モバイルアプリチームでは、新機能開発だけでなく既存機能の改修や不具合修正を日々並行して進めています。 特に、「既存機能の改修や不具合修正」は小さい単位で行われるため、その変更起因で意図しない箇所に新しい不具合が発生する可能性があり、リグレッションテストでの確認が必要です。 現状、モバイルアプリのテストはほとんどが手動テストのため、リグレッションテストも手動で実施しています。 今回は、「意図しない不具合」をなるべく減らすために、影響範囲をどのように調べているかにつ…
2年前

SaaSスタートアップにおけるデータ基盤の作り方 〜属人化からオペレーショナルエクセレンスへ向けて〜
Commune Engineer Blog
コミューン株式会社でデータチームのアクティングマネージャーをしている前側(まえかわ)と申します。2023年6月よりコミューンにJOINしました。X(旧Twitter)ではウィルという名前で活動しております。 はじめに コミューンはオンラインコミュニティの企画・構築・運用を一気通貫でサポートするコミュニティプラットフォームのcommmuneというSaaSツールを提供しております。 SaaSスタートアップのデータ組織運営は泥臭く、データ基盤の整備に着手するのに時間がかかったり、高度な分析に着手できないまま進んでいく企業も少なくありません。 コミュニティというビジネスドメインは比較的新しい領域で、解…
2年前

コミュニティプラットフォームの投稿レコメンド機能を支える機械学習基盤
Commune Engineer Blog
こんにちは,コミューンで一人目の機械学習(ML)エンジニアとして働いている柏木(@asteriam_fp)です. 入社して5ヶ月ほど経ちましたが,今回漸く最近の取り組みを紹介できそうです.ML エンジニアは僕一人なので,専らの相談相手は ChatGPT 君の今日この頃です笑 はじめに コミューンでは,企業とユーザーが融け合うコミュニティサクセスプラットフォームである commmune を提供しています.今回のブログは先日のプレスリリースでも発表された投稿レコメンド機能を commmune に導入したので,その機能を裏側で支えている機械学習基盤に関する内容を紹介します. エンドユーザーに対して提…
2年前

プロダクト開発未経験なプロダクトマネージャーがモバイルアプリのリプレイスを成功させた話
Commune Engineer Blog
はじめに コミューン株式会社でプロダクトマネージャーとして働いている岡上と申します。 コミューンでは「あらゆる組織とひとが融け合う未来をつくる」をビジョンとして掲げ、「commmune」と「SuccessHub」のプロダクトを提供しています。 「commmune」はオンラインコミュニティプラットフォームをノーコードで作成できるSaaSです。toB/toC問わず、スタートアップからエンタープライズまで幅広いクライアントにご利用いただいています。 私はこれまでカスタマーサクセスとしてキャリアを歩んできましたが、コミューンに入社してプロダクトマネージャーにジョブチェンジいたしました。 カスタマーサク…
2年前