kubell Creator's Note

ビジネスチャット「Chatwork」のエンジニアのブログです。

ビジネスチャット「Chatwork」のエンジニアのブログです。

読者になる

Chatwork フリープランのメッセージ閲覧制限の計算を Scala のバッチアプリケーションでおこなっている話

サーバーサイド開発部で Scala アプリケーションの開発運用をおこなっている hayasshi (@hayasshi_) です。

昨年 2022 年 10 月 6 日に、Chatwork ではフリープランの制限の変更をおこないました。*1*2

「参加できるグループチャットの累計数」から、「閲覧できるメッセージの期間と数」へと制限が変更になったのですが、 この 閲覧できるメッセージの数 の計算を、Scala のバッチアプリケーションでおこなっています。

今回はそのアプリケーションについて、設計や構成をご紹介したいと思います。

続きを読む

Datadog RUMを使ってクライアントからの過剰リクエストを監視する

こんにちは!フロントエンド開発部の澁谷(@shibe23)です。
この記事は Chatwork Advent Calendar 2022 22日目の記事です

ChatworkはDAUが101.7万人 (2022年3Q中の中央値)、かつユーザーの滞在時間も非常に長いサービスとなっています。
そのため、クライアントサイドの不具合によって過剰にAPIリクエストが行われた場合、通信負荷(とインフラ費用)が膨大になってしまいます。

APIのリクエストが過剰に行われていることを検知したいのですが、以下のような要件から、クライアント側でエラーを検知できるようにしたいと考えました。

  • どのリリースで問題が起きたかを判断するため、フロントエンド側のリリース情報を含めて検知したい
  • 社内検証の時点で検知できることが望ましいため、社内環境をフィルタリングしてアラートの閾値をコントロールしたい
  • 通常のユースケースでも特定のAPIが大量に叩かれるため、サーバーサイドからは一時的にリクエストが増えた程度では問題かどうかを検知しづらい

調査の結果、DatadogRUM(Datadog Realtime User Monitoring)を導入することにしました。 その他の候補としてはNewRelicが挙がりましたが、検知対象となるイベントの仕組みがChatworkの特性とマッチしなかったため、今回はDatadogRUMを利用することになりました。

導入にあたってハマった点がいくつかありましたので、以降でご紹介したいと思います。

続きを読む

BigQuery & Crashlytics & Zapier - 毎日アプリのクラッシュ数をチャットに流れるようにする

こんにちは、モバイルアプリケーション開発部のAndroidエンジニアのジェローム(@yujiro45)です。 最近寒いですね。寒くても、まだタンクトップを着ています〜

ChatworkのAdvent Calendar 2022の22日目の記事です。

どんなに気をつけていても、予期せずアプリがクラッシュしてしまうことはあるんじゃないですか? 発生したクラッシュが初の場合チャットへ通知したり、メールが送ったりすることがよくあると思いますが、クラッシュ数がどれくらいあるのかは、Firebase consoleでしか見れません。エンジニアでないと把握しづらいですね。この記事では毎日モバイルアプリのクラッシュ数をチャットに流れるようにする方法についてを記載したいと思います。

続きを読む

2022年に試した「ふりかえり手法」をふりかえる

こんにちは!モバイルアプリケーション開発部でスクラムマスターをしている折田 (@orimomo)です。 この記事は Chatwork Advent Calendar 2022 20日目の記事です🎄

みなさん、ふりかえり(レトロスペクティブ)やっていますか??

以前の記事でも書いた通り、私たちのチームでは毎週ふりかえりをおこなっており、改善サイクルや心理的安全性を生み出すイベントとして、特に大事にしています。

creators-note.chatwork.com

チームメンバーが飽きずに楽しめるように、また違った角度で物事を考えられるように、2022年も様々なふりかえりの手法に挑戦しました!

今回はその一部をご紹介しようと思います(備忘録も兼ねて)。もし良さそうなものがあれば取り入れてみていただけると嬉しいです。

続きを読む

QRコードを読み取ってChatworkのメッセージを送る方法

こんにちは、あらいです。出来たてホヤホヤの自作キーボード(8台目)でこれを書いています。

昨日、お客様のご意見ご要望を読んでいたところ、このようなご要望を拝見しました。

  • 備品発注を依頼するグループチャットがある
  • 毎回同じ人に「〜〜の発注をお願いします」という定型文を送っている
  • 備品棚にQRコードを貼り付けておき、これを読み取って自動で定型文を送れないだろうか

なるほど、これはできたら便利そう!

アイディアを思いつきまして試してみたところ、iPhoneを使って簡単に実現できました🙌

www.youtube.com

この記事でやり方をご紹介します。

続きを読む

チームトポロジーを活用したチーム分割を行った話

どうも、とっても寒くなりましたね。冬ですね〜。

モバイルアプリケーション開発部の福井(@tinpay)です。

こちらの記事はChatworkプロダクト本部のAdventCalendar、16日目の記事となります。

早速ですが本題。

Chatworkのモバイルアプリケーション開発部は来年からチームを再編成する予定です。再編成においてチームトポロジーを参考に設計したので、経緯や期待するところをブログに書いていきたいと思います。

続きを読む