Slack API のレート制限対策をした話

はじめに

こんにちは、commmnuneの新プロダクト「SuccessHub」のエンジニアをしている中野です。 今回は、最近取り組んだSlackAPIのレート制限対策についてまとめました。

(念の為前置きですが、サードパーティAPIのレート制限対策の方法は要件や環境次第で無数あると思うので、この記事に書いてあることが必ずしもベストプラクティスにはなりえません。あくまで一例として読んでいただけると幸いです。)

続きを読む

Notion AIを用いて機能仕様書からテストケースを自動で作成した話

はじめに

コミューンでQAをしています金丸です。 最近QA界隈でAIを用いたソフトウェア開発が注目を集めています。

www.kzsuzuki.com

多くはChatGPTを用いたものですがちょうど先月にNotion AIがリリースされたので今回Notion AIがソフトウェア開発のテスト部分に対して有用に使うことができるかについて記事を書いていきたいと思います。

結論から言うと、実用としての運用は未だ難しいがQAの補佐的な位置付けとしては十分な働きをしてくれることがわかりました。

続きを読む

CI/CDをCloud Buildへ乗り換えたついでにリリースを10分以上短縮した話

はじめに

コミューンではこれまでCI/CDのツールにCircleCIを使っていましたが、最近Cloud Buildへ切り替えました。

結論から言うと、切り替えにあたってパイプラインの中身とプロセスを今一度見直したところ、以下のように改善しました。

  • ビルド回数:2回 -> 1回
  • 本番環境のリリース完了時間:約13分~24分 -> 約3分

今回の記事では切り替えるきっかけとなった出来事やCloud Buildの設定、注意点について書きます。

続きを読む

Next.js Conf 2022で最も感動したライブラリ、vercel/satoriについて紹介させてください。

はじめまして。コミューンでサーバーサイドエンジニアとして働いています、あのちっくと申します。

突然ですが皆様は昨年 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 ベースの高速バンドルツールTurbopackなどでしょうか。

その中で私が最も興味を唆られたリリースは、HTML/CSS から SVG 画像を生成する機能、Vercel OG Image Generationでした。

今回は、この"Vercel OG Image Generation"を実現するために Vercel が新たに開発した技術、vercel/satori について紹介したいと思います。

ぜひ最後までお読みいただければ幸いです。 どうぞよろしくお願いします。

続きを読む

月間数百万通のメール送信サービスをIPウォームアップしつつ切り替えたら到達率が向上した話

月間数百万通のメール送信サービスをIPウォームアップしつつ切り替えたら到達率が向上した話

はじめに

こんにちは。コミューンでスクラムマスターをしているまつむらと申します。

今回はコミューンで私が取り組んだ技術課題のなかから「メール送信システムのリプレース」について記載させていただこうと思います。

続きを読む

社内向けテスト設計プロセスを作ってみた

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 の拡張を共有
    • 書いたコードを保存する時のチェック
      • 差分があったファイルに関連するテストを実行
    • コミットをする時のチェック
      • リント、スペルチェックを実行
    • push するときのチェック
      • 型チェック、テストを実行
    • 問題があってもコミットやプッシュしたいときはどうする?
  • 導入後の変化と今後の展望
  • まとめ
  • おわりに
続きを読む

コミューンの20%ルールって何??

初めに

こんにちは。ソフトウェアエンジニアの近藤です! 2022 年 8 月からコミューンに入社し、当社サービスの commmune の開発チームで、フロントエンドおよびバックエンドの開発に携わっております。 今回は具体的な技術の話ではなく、コミューンの開発チームの取り組みである 20%ルールについてご紹介します。

  • 初めに
  • 20%ルールについて
  • なぜ緊急度の低い課題を解決することが大事なのか
  • 具体的な運用方法
  • 私が実際に 20%ルールを行い感じたメリットと課題
  • 具体的に実施された事例の紹介
  • 私が今後 20%ルールを使って取り組みたいこと
  • まとめ
続きを読む

Webアプリの障害分析手法に5W(なぜなぜ分析)を適用してみた話

初めに(自己紹介)

2022年7月1日に入社したQAの金丸です。前職ではITメーカー系の企業でQAとして勤務していました。 今回は前職の経験を活かした5W(なぜなぜ分析)による障害分析の取り組みと効果について紹介したいと思います。

  • 初めに(自己紹介)
  • 障害分析
    • 再発防止策の基準
    • 未来の障害を防止する
  • 従来の手法
    • ポストモーテム概要
    • コミューンにおけるポストモーテムの改良点
  • 5Wの導入
    • 5W導入の背景
    • 5W概要
    • 5Wの例
    • 5Wの注意点(1つ目)
    • 5Wの注意点(2つ目)
    • 5W実施ケースと効果
  • 5Wの改善点と今後の展望
    • 現状の5Wの改良点
  • 後書き
続きを読む

Cloud Build上でNext.jsのコンテナイメージのビルド速度を改善した話

はじめに

SREチームの磯村です。 去年入社してからフロントエンドエンジニアとして働いていましたが今年6月からはSREチームに転属しました。 SRE見習いとして奮闘中です。

コミューンはアプリケーションの基盤としてGoogle CloudのCloud Runを利用しています。 そしてCloud Runで実行するコンテナイメージをCloud Build上でビルドしています。 この記事ではCloud Build上でのコンテナイメージのビルド速度を改善した事例を紹介します。

続きを読む