サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
tech.commune.co.jp
こんにちは。2024年6月に中途入社した機械学習エンジニアの深澤(@fukkaa1225)です。新しいエキサイティングな環境を毎日楽しんでます! 本記事では機械学習 API をデプロイする際、コストの観点からどのようなサービスを選ぶべきかについて述べたいと思います。 はじめに デプロイする先の選択肢 コスト面における Cloud Run と Vertex AI Endpoint の違い どちらが安いのか? ケース1: リクエストが来る時間帯が一部だが、流量が大きい場合 ケース2: リクエストが常時来続けるが、流量が小さい場合 ケース3: リクエストが常時来続けていて、かつ流量が大きい場合 まとめ: Cloud Run と Vertex AI Endpoint のどちらを選ぶべきか? Cloud Run を選ぶべきケース Vertex AI Endpoint を選ぶべきケース コミューンでは
[ はじめに こんにちは。コミューンでTechLeadをしているまつむらと申します。 今回は直近で私が取り組んだ取り組んだコミューンの技術的負債「水平スケーリング問題」の解消についてご紹介します。 発生した問題 水平スケーリング問題とは? ひとことで言ってしまうと、単一のボトルネックにより水平スケーリングを行ってもパフォーマンスやスループットが改善しない状況です。 実際に発生していたケースについてもう少し具体的に書くと ある処理において、とても寿命の長いデータベース(RDB)のトランザクションが貼られている その処理の前半において、あるデータベースのテーブル(レコード)をロックしている 別のプロセスが同様の処理をしようとしても、データベースのロック待ちが発生する ということが発生していました。 このような状態では、水平スケーリングしても(すなわちサーバ台数を増やしても)データベースのロック
はじめに こんにちは、コミューンの中でSuccessHubというプロダクトの開発者をしている中野です。 SuccessHubは正式にローンチされてから1年半弱経過しており、開発初期からドメイン駆動設計を基に開発を進めています。この経験を通じて、コードベースのアプローチ以外の部分でも、開発者としての取り組みに関する課題や成功体験が浮かび上がってきました。今回はその一部を振り返りつつお話しできればと思います。(少し抽象的な話になります) はじめに モデル同士の関係性がうまく表現できない モデルが変化している 共通言語が貧しくなってきた 開発者としての姿勢 コミュニケーション 技術だけで解決しようとしない ドキュメントに起こして満足しない まとめ 最後に モデル同士の関係性がうまく表現できない SuccessHubローンチ直後、新規プロダクト開発記 〜どうしたら業務知識をコードに落とし込めるのか
はじめに 初めまして。QAチームの三木と申します。 commmuneモバイルアプリのQAを担当しており、入社して7ヶ月が経ちました。 モバイルアプリチームでは、新機能開発だけでなく既存機能の改修や不具合修正を日々並行して進めています。 特に、「既存機能の改修や不具合修正」は小さい単位で行われるため、その変更起因で意図しない箇所に新しい不具合が発生する可能性があり、リグレッションテストでの確認が必要です。 現状、モバイルアプリのテストはほとんどが手動テストのため、リグレッションテストも手動で実施しています。 今回は、「意図しない不具合」をなるべく減らすために、影響範囲をどのように調べているかについて書きます。 リグレッションテストの定義 まず、リグレッションテストの一般的な意味や目的を定義します。 システムに対する修正や変更によって、意図せずに振る舞いに影響を与えることがある。 そういった意
こんにちは,コミューンで一人目の機械学習(ML)エンジニアとして働いている柏木(@asteriam_fp)です. 入社して5ヶ月ほど経ちましたが,今回漸く最近の取り組みを紹介できそうです.ML エンジニアは僕一人なので,専らの相談相手は ChatGPT 君の今日この頃です笑 はじめに コミューンでは,企業とユーザーが融け合うコミュニティサクセスプラットフォームである commmune を提供しています.今回のブログは先日のプレスリリースでも発表された投稿レコメンド機能を commmune に導入したので,その機能を裏側で支えている機械学習基盤に関する内容を紹介します. エンドユーザーに対して提供される機械学習システムを導入するのは初めての試みになり,まさにゼロからの出発なので,これから徐々に大きく育てて行く予定です! はじめに コミュニティプラットフォームにおける機械学習の可能性 投稿レコ
はじめに コミューン株式会社でプロダクトマネージャーとして働いている岡上と申します。 コミューンでは「あらゆる組織とひとが融け合う未来をつくる」をビジョンとして掲げ、「commmune」と「SuccessHub」のプロダクトを提供しています。 「commmune」はオンラインコミュニティプラットフォームをノーコードで作成できるSaaSです。toB/toC問わず、スタートアップからエンタープライズまで幅広いクライアントにご利用いただいています。 私はこれまでカスタマーサクセスとしてキャリアを歩んできましたが、コミューンに入社してプロダクトマネージャーにジョブチェンジいたしました。 カスタマーサクセスはユーザーの課題に詳しく、課題解決能力も求められる職業です。そのため、プロダクトマネージャーに求められる適性を満たしているケースがあると考えています。 本記事では、プロダクト開発未経験の状態から、
はじめに はじめまして、コミューン開発 SRE チーム の池田です。 今回は「コミューンのインフラにおける課題」を解決するために Cloud Development Kit for Terraform (CDKTF) を導入しましたので、導入の進め方やよかったところについてご紹介したいと思います。 「コミューンのインフラにおける課題」については、 SRE 川岡さんの記事「『Terraform と gcloud CLI を使用した完璧な Google Cloud インフラストラクチャの構築』は本当に完璧なのかやってみた」で紹介していますので、ぜひお読みください。 また、この記事では CDKTF の概要や用語については説明いたしませんので、予めご承知ください。 tech.commmune.jp なぜ、CDKTF にしたのか? commmuneでは、WEB フロント・バックエンドがTypeScr
こんにちは。業務委託としてコミューンのグローバルチームでエンジニアをしているhiro08と申します。 グローバルチームでは主に海外展開に向けた開発や施策を行なっています。もし、グローバルチームに興味のある方は日本のSaaSスタートアップが世界で戦うためのプロダクトを開発するということも一読ください。 今回はグローバルチームでの開発の一部として、TypeScript Compiler APIを活用したi18nの不整合をチェックするツールを作成したお話をしようと思います。 背景 海外展開に向けた開発でまず思いつくのがi18n (多言語化) 対応ではないでしょうか。コミューンのプロダクトではi18nの対応が完了しており、すでに運用フェーズに入っています。 しかし、運用していく中で対訳データのキーやネームスペースの不整合に気づく仕組みがないことが課題点として挙がってきました。 i18nでは、ネーム
はじめに こんにちは、コミューンでプロダクトマネージャー(PdM)を担当している東です。 今回は、コミューンにおけるプロダクト開発サイクルについて、概要をまとめて公開してみたいと思います。 コミューンについて少しでも興味を持ってくださっている方や、他社事例を見てみたい方などにご覧いただけると幸いです。 Communeについて 弊社は、「企業とユーザーが融け合う社会を実現する」をビジョンとして掲げ、現在「commmune」と「SuccessHub」の大きく2プロダクトを提供しています。 「commmune」は、オンラインコミュニティプラットフォームをノーコードで作成できる、いわゆるBtoBSaaSです。SaaS形式でツールをご提供しつつ、カスタマーサクセス(CS)がコミュニティの戦略策定・実行支援を丁寧に行い、コミュニティの成功に向けて伴走しています。toB・toC問わず、スタートアップから
初めに コミューンでQAエンジニアとして働いています金丸です。 唐突なのですが、エンジニアが自分のデスク周りを公開する記事が私は好きです(下のような記事)。 www.itmedia.co.jp link-and-motivation.hatenablog.com デスク周辺に置かれたガジェットや本の配置からそのエンジニアの仕事風景を想像するのが好きですし関わりのない業種の方がどんなデスクで作業しているのかを読むのが好きです。 ということで私が働くコミューンでデスクツアーの記事作成を企画してみました desktour_kikaku 企画段階では任意参加制でしたので"3-4人ほど投稿してくれたら嬉しいなー"と考えていたのですがなんと15人の方が投稿してくれました。 中にはエンジニア職ではないPOやCPOの方も自主的に投稿いただき、自分が当初好きな他業種の人のデスク記事を作成することができました
こんにちは、コミューン株式会社でEMを担っているヤマシタ(@yama_sitter)です。 今日はコミューンのスクラム開発の実情と今後についてお話したいと思います。 これまでと現状 対策 まとめ 最後に これまでと現状 元々コミューンでは、物凄く丁寧にスクラムガイドの内容を遵守していました。 これは「遵守」という意味では、自他共にそうだと言えるものだったと思います。 ただガイドの本質を捉えきれず、幾つかの弊害を招いてしまっていました。 仮説検証を主としていないEpicを扱っている中で、POがどうにか苦心して策定するスプリントゴール 苦心して設定されたスプリントゴールに対してチーム全体であるべきが議論され、延々と続くスプリントプランニング 「どんな内容でもレビューする」という、実施そのものが目的になりつつあるスプリントレビュー フラットな関係を意識しすぎた結果、意思決定に時間がかかるチーム
はじめに こんにちは。コミューンのスクラムチームで開発をしているandoと申します! コミューンの開発チームはスクラム開発を採用しており、2週間スプリントを行っています。 スプリントの終了時には振り返りを通じて改善アクションを出し、日々の業務の中でももっと良くできそうなことがあれば改善するといった形で改善を繰り返しています。 今回はその改善の中から、チームが質とスピードを両立させるために行った改善策を紹介します。 持っていた課題感 私の所属しているチームではそれぞれに対して以下のような課題感を持っていました。 スピード ストーリーをもっと早くリリースできそう バーンダウンチャートを見ると、しばらく横ばいで急に下がるような動きになっている 考えられる障壁はあるが、チームで収まらない課題も多い チーム内で解決できる課題もあるかもしれないが、見つかっていない 質 テストケースを作りリリース時に動
はじめに こんにちは、commmnuneの新プロダクト「SuccessHub」のエンジニアをしている中野です。 今回は、最近取り組んだSlackAPIのレート制限対策についてまとめました。 (念の為前置きですが、サードパーティAPIのレート制限対策の方法は要件や環境次第で無数あると思うので、この記事に書いてあることが必ずしもベストプラクティスにはなりえません。あくまで一例として読んでいただけると幸いです。) はじめに SuccessHubについて 直面した課題 対策検討 実施した対策 レート管理を行いながらコンタクトを更新する コンタクト更新状態のステータスを参照できるようにする フロー図 次なる課題 終わりに 学んだこと コミューンやSuccessHubに興味を持っていただいた方へ SuccessHubについて 本題に入る前にSuccessHubというプロダクトについて紹介します。 Su
はじめに コミューンでQAをしています金丸です。 最近QA界隈でAIを用いたソフトウェア開発が注目を集めています。 www.kzsuzuki.com 多くはChatGPTを用いたものですがちょうど先月にNotion AIがリリースされたので今回Notion AIがソフトウェア開発のテスト部分に対して有用に使うことができるかについて記事を書いていきたいと思います。 結論から言うと、実用としての運用は未だ難しいがQAの補佐的な位置付けとしては十分な働きをしてくれることがわかりました。 はじめに NotionAIとは 機能仕様から同値分割・境界値分析・フローチャートを自動で作成 機能仕様の修正もNotionAIにやっていただいた 終わりに NotionAIとは NotionAIは、Notion Labs, Inc.によって開発された人工知能モデルです。個人や仕事に関するタスクの作成、整理、管理を
はじめに コミューンではこれまでCI/CDのツールにCircleCIを使っていましたが、最近Cloud Buildへ切り替えました。 結論から言うと、切り替えにあたってパイプラインの中身とプロセスを今一度見直したところ、以下のように改善しました。 ビルド回数:2回 -> 1回 本番環境のリリース完了時間:約13分~24分 -> 約3分 今回の記事では切り替えるきっかけとなった出来事やCloud Buildの設定、注意点について書きます。 はじめに タフな仕事始め その場限りの対応ではなくあるべきを考える あるべきを設計する パイプラインのステップ ステップ1 ステップ2 Cloud Buildの設定 構成ファイルの作成 サービスアカウントの設定 トリガーの設定 開発環境用のプロジェクト 本番環境用のプロジェクト 注意点 cloudbuild.yamlの多段構成は避ける 自前のタグをつけたリ
はじめまして。コミューンでサーバーサイドエンジニアとして働いています、あのちっくと申します。 突然ですが皆様は昨年 10 月に開催されたNext.js Conf 2022はご覧になられましたでしょうか。 Next.js Conf は Next.js の開発・メンテナンスを行っている Vercel 社が主催する、Next.js とその周辺技術に関するカンファレンスです。 コミューンでもメインプロダクト commmune の Web フロントフレームワークとして Next.js を採用しており、私個人としてもとても興味深くオンラインから視聴をしていました。 特に話題になったのは、React Server Components をサポートしたルーティング・レイアウトシステム"app directory"などの新機能を新たに追加したNext.js 13と、"Webpack の後継"を謳う Rust
はじめに こんにちは。コミューンでスクラムマスターをしているまつむらと申します。 今回はコミューンで私が取り組んだ技術課題のなかから「メール送信システムのリプレース」について記載させていただこうと思います。 はじめに 背景 IPウォームアップとは? 移行計画のための準備 メールの開封率 ドメイン乖離度合 メール送信数 実装 要件 ソースコード データベース 工夫ポイント その1: データ全件取得 その2: 乱数生成器を外部から注入 その3: キャッシュ有効期限のコントロール 結果 やらかし まとめ 背景 コミューンは、BtoBおよびBtoC向けにコミュニティを作成できるプロダクト「commmune」を提供しています。 commmune ではメール送信のために SendGrid という SaaS を利用しているのですが、 2022年5月頃、事情により SendGrid のアカウントを変更する
はじめに こんにちは。コミューンでソフトウェアエンジニアをしているU2です。 今回は commmune の開発でも使用している typescript-sequelize のモデル定義ファイルからER図を作成していきます。 はじめに 背景 やりたいこと 実装 環境 前準備 実験 ER図の生成 CI化 今後の課題 参考サイト まとめ 背景 commmune は豊富な機能を持ちそれに合わせいくつものデータを保持しているので、永続化のためのテーブルが多く存在します。 また、テーブル定義としてはリレーションを持つが、Sequelizeのロジック上使用しないことが理由でモデルファイルにそのリレーションが記述されていないこともあります。 そのため、新規参入者がテーブル全容を把握するのに苦労しています。(そもそも長く開発に関わっている人でも知らないテーブルがあったりする。) そんな問題を解決するために、S
QAの須賀(@kawabeaver)です。 先日QA Test Talk Vol.2で「自分たちのテスト設計プロセスを作ろう」というタイトルで、テスト設計プロセスを作る思考過程について発表させていただきました。(発表資料はこちら) 外部イベントで発表するのは初だったので緊張して「出社推奨日」がうまく言えませんでしたが、楽しい時間を過ごせました。 さて、本記事では、上記発表で少し紹介したテスト設計プロセスについて説明したいと思います。 テスト設計のやり方に悩んでいる方、他の人のテスト設計を教える立場の方などのお役になれば幸いです。 テスト設計とは何か テスト設計はなぜ必要か テスト設計プロセスをなぜ作ったか テスト設計プロセス作成のゴール テスト設計プロセスの内容 テスト対象を洗い出す テスト対象について、テスト条件に関する情報を洗い出す テストすべきテスト観点を洗い出す 各テスト観点に対し
初めに こんにちは。コミューンプロダクトサポートチームにおいてプロダクトスペシャリストとして活動している栗山と申します。 元々EMとしてコミューン開発に携わっていましたが、紆余曲折を経て現在のポジションに転向しまして、既に半年ほど経ちました(ここら辺の経緯は機会があればどこかで)。 そこで本エントリでは過去のプロダクトスペシャリストとしての活動を振り返りつつ、「そもそもコミューンのプロダクトスペシャリストって何をやってる人なの?」という皆さんの疑問を解消できればと思います。 初めに What is プロダクトスペシャリスト? プロダクトスペシャリストが必要になった背景 どんなことをしているか 問い合わせ対応 SSO導入におけるサポート アプリケーションレイヤ以外の機能に関するフィジビリティ調査 プロダクトへのFB ぶっちゃけプロダクトスペシャリスト楽しい? どういう人にオススメ? まとめ
はじめに こんにちは。2022 年 7 月に入社したエンジニアの浅見(@astatsuya1)です。 今回は 20%ルールで実施した問題の早期発見をして開発体験を上げるために行ったことを紹介します。 はじめに コミューンの 20%ルールとは 何をやるか考えた commmune の開発における問題と課題 問題:問題の発覚が遅くなると多くの人を巻き込んでしまう 課題:出来るだけローカル環境で問題を検知したい 施策 ①:検知する項目を増やす リントでチェックする項目を増やす ローカル開発のみでしか使用しないconsole.logに警告を出す ローカル開発でのみしか使用しないtest.only, test.skipに警告を出す 英語のスペルチェックをする 施策 ②:ローカルでも出来るだけ早く検知出来るようにする コードを書く時のチェック Visual Studio Code の拡張を共有 書いたコ
初めに こんにちは。ソフトウェアエンジニアの近藤です! 2022 年 8 月からコミューンに入社し、当社サービスの commmune の開発チームで、フロントエンドおよびバックエンドの開発に携わっております。 今回は具体的な技術の話ではなく、コミューンの開発チームの取り組みである 20%ルールについてご紹介します。 初めに 20%ルールについて なぜ緊急度の低い課題を解決することが大事なのか 具体的な運用方法 私が実際に 20%ルールを行い感じたメリットと課題 具体的に実施された事例の紹介 私が今後 20%ルールを使って取り組みたいこと まとめ 20%ルールについて Google などのイノベーティブな企業でも導入している 20%ルールですが、当社では下記のような運用ポリシーで行っています。 各自の業務時間の 20%を技術課題の改善に充てる。自分のマネージャーと相談しながら時間の調整などを
初めに(自己紹介) 2022年7月1日に入社したQAの金丸です。前職ではITメーカー系の企業でQAとして勤務していました。 今回は前職の経験を活かした5W(なぜなぜ分析)による障害分析の取り組みと効果について紹介したいと思います。 初めに(自己紹介) 障害分析 再発防止策の基準 未来の障害を防止する 従来の手法 ポストモーテム概要 コミューンにおけるポストモーテムの改良点 5Wの導入 5W導入の背景 5W概要 5Wの例 5Wの注意点(1つ目) 5Wの注意点(2つ目) 5W実施ケースと効果 5Wの改善点と今後の展望 現状の5Wの改良点 後書き 障害分析 QAチームとしてテスト品質の向上を継続していくことはもちろんなのでが、私は障害分析について特に注力しました。 理由は私の前職での経験があります。前職では障害が生じた際に障害分析を必ず実施するルールとなっており、大企業のQAだったこともあって障
はじめに SREチームの磯村です。 去年入社してからフロントエンドエンジニアとして働いていましたが今年6月からはSREチームに転属しました。 SRE見習いとして奮闘中です。 コミューンはアプリケーションの基盤としてGoogle CloudのCloud Runを利用しています。 そしてCloud Runで実行するコンテナイメージをCloud Build上でビルドしています。 この記事ではCloud Build上でのコンテナイメージのビルド速度を改善した事例を紹介します。 今回やったこと コミューンでは動作確認用の環境(develop環境と呼ばれています)や本番環境へのデプロイに20分以上かかってしまうことが頻繁に発生していました。 場合によっては29分もの時間がかかってしまう場合もありました。 このような長いデプロイ時間はメインブランチにマージできるPRの数を減少させ、変更のリードタイムを悪
はじめに こんにちは。コミューン株式会社でソフトウェアエンジニアをしている板倉です。2022 年 5 月にコミューンに入社してから、モバイルアプリチームに所属しており、Flutter を用いたモバイルアプリ開発を担当しております。 Flutter はプライベートでも使用しており、個人でモバイルアプリを開発・リリースしております。 業務開発と個人開発で同じ技術(今回は Dynamic Links)を使うことにより相乗効果が出て、良い手応えを感じられることがあったため、この記事で紹介させていただければと思います。 はじめに 業務開発での Dynamic Links の利用 Dynamic Links 経由の遷移処理の実装 個人開発での Dynamic Links の利用 ショートリンク生成の実装例(REST API 使用) 動作確認を通じて得られた気づき 社内での知見共有 まとめ おわりに 業
はじめに はじめましてこんにちは。2021 年 11 月にコミューンに入社した中野です。現在は SuccessHub というコミューンの新たなプロダクトを開発しています。 この記事では新規プロダクトの開発を通して、筆者が「どうしたら業務をコードに落とし込めるのか」実践したことをお話しします。 はじめに 背景 まずは書いてみた 業務知識をヒアリングする 核となるモデルを作る モデル同士の関係や階層を確認する コードで表現する なぜ業務知識を理解することが必要なのか 終わりに 背景 SuccessHub の開発を始めて数ヶ月経った頃、カスタムフィールドという機能を作ることになりました。 カスタムフィールドとは簡単に言うと、クライアントが保持している顧客データを自由なフォーマットやカラム名にカスタマイズしてテーブルUIに表現できる機能です。 [カスタムフィールド] 日付をYYYY年MM月 や Y
はじめに こんにちは。コミューンでソフトウェアエンジニアをしているU2です。 少し前ですが、Flutter のバージョンアップデートでデスクトップアプリも stable になったという話を聞いたので、メニューバー(タスクトレイ/システムトレイ)に常駐するデスクトップアプリケーションを作成したのでご紹介します。 はじめに 開発の背景 作りたいもの 実装 環境 Jira API の準備 Flutter 1. system_tray の導入 2. Jira API 連携 3. アイコン切り替え 4. 通知 参考サイト まとめ 開発の背景 コミューンの現在のリリースフローは ビッグバンリリースを避ける 本番に近い(≒ローカルではない)環境で動作確認をする という2点からPRを確認する環境があり、またその環境へマージできるPR数(=本番環境との差分)に制限を設ける運用を行なっています。 マージが空い
はじめに こんにちは、コミューン株式会社でソフトウェアエンジニアをしている牛嶋です。 2022 年 4 月にコミューンに入社してから、モバイルアプリチームに所属しており、Flutter を用いてコミューンのモバイルアプリ開発に従事しております。 元々コミューンのモバイルアプリは React Native で開発されていましたが、2022 年の 4 月から Flutter を利用したクロスプラットフォーム開発に取り組んでいます。 具体的には、WebView を利用してコンテンツを表示していた部分を Flutter 側で実装し直すことに取り組んでおり、その結果として、ユーザー体験の向上させることを目的としています。 この記事では、Flutter を利用したリプレイスプロジェクトの概要について書いていきたいと思います。 はじめに リプレイス PJ の背景 段階的リプレイス計画 第一弾リプレイス
先日commmuneの_app.tsxの整理をしました。 そのときに_app.tsxと_document.tsxとページコンポーネントがどんな順序で実行されるのか混乱したので調べてみました。 AppコンポーネントとDocumentコンポーネントとは SSRで実行されるメソッド 検証方法 検証用コード 検証結果 getInitialPropsページにアクセス 直アクセス リンク遷移 getServerSidePropsページにアクセス 直リンクアクセス リンクから遷移 まとめ AppコンポーネントとDocumentコンポーネントとは Appはすべてのページコンポーネントの初期化に使われるコンポーネントです。 全ページに必要な処理はAppコンポーネントに書くことで実装できます。 Appコンポーネントは./page/_app.jsにファイルを作ることでカスタマイズできます。 Documentはh
次のページ
このページを最初にブックマークしてみませんか?
『Commune Engineer Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く