RevComm Tech Blog

https://tech.revcomm.co.jp/

コミュニケーションを再発明し 人が人を想う社会を創る

フィード

記事のアイキャッチ画像
PyCon APAC 2024 参加レポート
RevComm Tech Blog
2024年10月25日(金)~27日(日)にインドネシアで開催された PyCon APAC 2024 にバックエンドエンジニアの 松土 慎太郎、陶山 嶺、小門 照太の3名が登壇しました。 tech.revcomm.co.jp 今回はイベントの振り返りとして登壇資料と登壇者の感想を紹介します。 登壇振り返り Empowering your real life with Raspberry Pi 概要: 音声認識及び音声合成を活用して、その日のスケジュールを教えてくれる音声ボットをRaspberry Piによって作ります。初学者の方を対象に、ハンズオン形式でRaspberry Piのパワーを日常生…
3日前
記事のアイキャッチ画像
PyCon APAC 2024でRevCommのエンジニア3名が登壇します
RevComm Tech Blog
MiiTel Platform チームの小門です。 2024年10月25日(金)~27日(日)に開催される PyCon APAC 2024 に RevComm のエンジニア陶山 嶺と松土 慎太郎、わたし小門 照太の3名が登壇します イベント概要 https://2024-apac.pycon.id/ 日程: 2024年10月25日(金)~27日(日) 会場 Universitas Nahdlatul Ulama Yogyakarta チケット ※オンラインチケットもあります 登壇情報 発表一覧とスケジュールは以下に公開されています https://pretalx.com/pycon-apac-…
1ヶ月前
記事のアイキャッチ画像
Rules of ReactをベースにReactとは一体なんなのかを改めて考えてみる
RevComm Tech Blog
はじめに Rules of Reactという安全で効果的なReactアプリケーションを記述するためのルールがReact公式から公開されました。 Writing idiomatic React code can help you write well organized, safe, and composable applications. These properties make your app more resilient to changes and makes it easier to work with other developers, libraries, and tools.…
2ヶ月前
記事のアイキャッチ画像
PyCon JP 2024でRevCommのエンジニア2名が登壇します
RevComm Tech Blog
2024年9月27日(金)~28日(土)に開催される PyCon JP 2024 に RevComm のエンジニア陶山 嶺と小門 照太の2名が登壇します
2ヶ月前
記事のアイキャッチ画像
TechBlog: AWS Startup GenAI GameDayで日本国内で入賞しました!
RevComm Tech Blog
概要 こんにちは、RevCommのエンジニア、加藤(涼)です。今回は、私たちが参加した最高のイベントについてお話しします! 2024年08月26日(月)に弊社から4人1チームがAWS Startup GenAI GameDayに挑戦してきました。 普段はそれぞれ異なるプロジェクトに携わっている私たちですが、この日は一丸となってAWSの最新技術に挑戦しました。 この記事ではその参加レポートを共有します! AWS GameDayとは そもそもAWS GameDayとは何かをご紹介します。 AWSのサイトから引用します。 AWS GameDay は、チームベースの環境で、AWS ソリューションを利用…
2ヶ月前
記事のアイキャッチ画像
E-BranchformerとMask CTCで高精度かつ高速な音声認識モデルを構築する
RevComm Tech Blog
概要 こんにちは、RevCommでMiiTelの音声解析機能に関する研究開発を担当している石塚です。前回のRevComm Tech Blogにて、2023年時点でSOTAの精度であったE-Branchformer[1]を利用して日本語の音声認識モデルを構築する記事について書きました。 前回の実験において、E-Branchformerで構築したモデルは、精度ではConformerで構築したモデルより優れていましたが、スピードはConformerで構築したモデルよりも少し遅いものとなっていました。音声認識システムの実運用を考えると、音声認識のスピードは非常に重要です。 そこで今回は、高速な非自己回…
4ヶ月前
記事のアイキャッチ画像
React v19に関する周辺ライブラリへの影響と対応状況について
RevComm Tech Blog
はじめに こんにちは。ここ最近、React v19が注目を集めているように感じます。 最近ではついにReact v19のRCバージョンもリリースされました。 Just published React 19.0.0-rc.0. This is the exact build we'll release as 19.0, unless an issue is reported that requires a breaking change. Thank you to everyone who helped us get the release into shape!— Andrew Clark (…
5ヶ月前
記事のアイキャッチ画像
EKSのアップグレード方式をin-placeからBlue/Greenへ変更した話
RevComm Tech Blog
Analytics Teamの山内健二です。RevCommの解析基盤に導入されているAmazon EKSクラスタでBlue/Greenアップグレードを導入し、合わせて今後の工数削減のために自動化を行ったので、その内容をご紹介します。 RevCommの解析基盤の概要 アップグレードの内容の前に、簡単にRevCommの解析基盤を簡単に紹介します。RevCommはMiiTel、MiiTel Meetingsなど、複数のプロダクトを提供しておりますが、文字起こしなどの解析を実施する基盤は共通して単一のものとなっています。 この解析基盤は単一のアプリケーションから動いているのではなく、音声認識など解析機…
5ヶ月前
記事のアイキャッチ画像
GILを無効化したPythonを早速試してみた (2024/06 更新)
RevComm Tech Blog
Pythonの次期バージョン3.13でGILの解消が予定されています。この記事では、3.13の開発バージョンでGILを無効化する手順とベンチマークの検証結果について記載します。
5ヶ月前
記事のアイキャッチ画像
Amazon S3 のコスト削減の計画から実施、効果測定まで
RevComm Tech Blog
はじめに RevComm CTO Office 高田です。 今回は RevComm が提供するクラウドIP電話サービス「MiiTel」の基盤となっている AWS のコストに関するお話です。 MiiTel は多くの音声データ・映像データを保持しているサービスになります。リリースされてから数年が経ち、またユーザも増加しサービス維持費が無視できないものとなってきました。そこでコスト削減の対象として S3 に保管されている音声データに白羽の矢が立ちました。 作業計画 最初にざっくりと作業計画を立てましょう。以下のような流れを想定しました。 データの削除&低コストへの移動対象ピックアップ アプリケーショ…
7ヶ月前
記事のアイキャッチ画像
openapi-typescriptとRedocly CLIを活用してOpenAPIドキュメントと型定義の同期を効率化する
RevComm Tech Blog
はじめに こんにちは!RevCommでフロントエンドエンジニアをしている田中です。 最近、MiiTel Phone Webというプロダクトにopenapi-typescriptとRedoclyというツールを使用してOpenAPIドキュメントからTypeScriptの型定義の管理を効率化する仕組みを導入しました。それらのツールの導入背景や使い方などについて説明します。 この記事は以下のバージョンを想定して記述されています。 ツール バージョン Node.js 20.11.0 openapi-typescript 6.7.5 @redocly/cli 1.10.4 導入の経緯について MiiTel…
7ヶ月前
記事のアイキャッチ画像
新しいエンジニア評価制度と継続的な改善の仕組みについて
RevComm Tech Blog
はじめに RevComm でエンジニアリングマネージャーをしている服部 (@keigohtr) です。RevComm のエンジニア評価制度は2023年1月に改定しました。新制度を運用して既に1年が経過しました。この記事では、現在のエンジニア評価制度を紹介するとともに、評価制度の改定をどのようなプロセスで行ったのかについて紹介したいと思います。 タイムライン 2022年10月 - 評価制度改定 WG (Working Group) を発足。 2023年1月 - 新評価制度の導入。半期(1月~6月)のスタート。 2023年7月 - 半期(7月~12月)のスタート。 2023年9月 - 先期に寄せら…
8ヶ月前
記事のアイキャッチ画像
Pydanticを活用してCSVファイルを型安全に扱う
RevComm Tech Blog
RevCommでバックエンド開発をしている小門です。 最近、CSVファイルのアップロードを受け付けて処理するバックエンドAPIの機能開発を担いました。 CSVファイルのパース、バリデーションにPydanticが便利でしたので紹介したいと思います。 なお開発言語はPython、コードの動作バージョンは以下です。 Python 3.12 Pydantic: 2.6.0 PythonでCSVファイルの取り扱い Pythonでは組み込みモジュールcsvを使うことで基本的なCSVファイルの読み取り・書き込みができます。 # persons.csv の例 """ "name","age" "alice",…
8ヶ月前
記事のアイキャッチ画像
Ya8 2024 - ヤパチー 令和六年最新版(仮) 参加レポート
RevComm Tech Blog
2024年3月15日(金)に開催されたYa8 2024 - ヤパチー 令和六年最新版(仮)にバックエンドエンジニアの大谷が登壇しました。 今回はイベントの振り返りとして登壇資料と登壇者の感想を紹介します。 登壇振り返り 【供養】DynamoDBでも部分一致検索したかった DynamoDBのパフォーマンスを活かしつつ、どこまで柔軟な検索が可能なのか検証しました。 設計例と合わせてします。 登壇者: @sara_ohtani_mt2 資料: https://speakerdeck.com/smatsu/gong-yang-dynamodbdemobu-fen-zhi-jian-suo-sitaka…
8ヶ月前
記事のアイキャッチ画像
「2月7日(水)19:00〜オンライン」ソフトウェアエンジニアリングの枠を超えて:テックブログ運営で見つけた自分の役割
RevComm Tech Blog
2月7日(水)19:00よりオンラインにて開催されるイベント「DevRel/Tokyo #89 〜テックブログ運営〜」に、RevComm シニアリサーチエンジニアの加藤集平が登壇します。 DevRelとは Amazon、Google、Facebook、Evernote、GitHub…多数の企業が実践しているマーケティング手法がDevRel(Developer Relations)です。外部の開発者とのつながりを形成し、製品やサービスを知ってもらうこと、さらに彼らの声を聞くことでサービスの改善や機能追加に活かしていく活動になります。 日本でもエバンジェリストやデベロッパーアドボケイトと呼ばれる方…
10ヶ月前
記事のアイキャッチ画像
RevCommのMiiTel開発チームの2023年を振り返る
RevComm Tech Blog
この記事はRevComm Advent Calendar 2023 25日目の記事です。 RevCommでCTOを務めています平村健勝です。 この記事では、2023年のMiiTel開発チームの変化や印象に残った出来事について振り返りたいと思います。 組織構成とNon-Japanese Speakerの採用開始 2023年12月1日時点で全従業員256名中、エンジニア、デザイナー、リサーチエンジニアをあわせたメンバー数は114名でエンジニア比率は約45%の構成になっています。 ビジネスの成長に合わせてエンジニアの採用活動を続けていますが、優秀なエンジニアの採用には各社苦労していると思います。そこ…
1年前
記事のアイキャッチ画像
Playwrightを活用した本番稼働を支えるE2Eテスト実践のコツ
RevComm Tech Blog
はじめに RevCommのフロントエンドエンジニアの上川康太です。MiiTel Call Centerというプロダクトの開発を担当しています。 私たちは2023年の6月にMiiTel Call Centerを正式リリースしてから、スピード感を持って新機能の開発を進めてきました。 開発スピードを維持するためにも自動テストを増やして、デグレを防ぐことが重要だと考えています。そのため、PlaywrightによるE2Eテストを充実させてきました。 その中で得られたPlaywrightのコツについて共有したいと思います。 想定読者 Playwrightを使用したE2Eテストの作成に興味がある開発者 実践…
1年前
記事のアイキャッチ画像
本番リリースを週一から随時に変えるためにやったこと
RevComm Tech Blog
はじめに RevCommの宇佐美です。最近スタンディングデスクを買って、立ったり座ったりしながら仕事をしています。 RevCommでは、音声解析AI電話「MiiTel(ミーテル)」やAI搭載オンライン会議解析ツール「MiiTel Meetings」などを開発・提供しています。私は今年10月までMiiTelの認証基盤 (MiiTel Account) 開発プロジェクトで、Project Manager兼Sortware Engineerとして活動していました。 直近では希望によりプロジェクト異動をして、コールセンター機能とリアルタイム通信基盤を開発するチームに参加しています。今まで扱っていたもの…
1年前
記事のアイキャッチ画像
Vue3へのアップデートにvue-facing-decoratorを利用した話
RevComm Tech Blog
はじめに RevComm, Front-end team の熊谷です。今回は vue-facing-decorator を使って Vue2/Nuxt2 のクラスコンポーネントを Vue3/Nuxt3 に移行した話をします。 各コンポーネントでは既存のソースコードを活かせるところも多かったですが、個別に書き換えが必要なところもありましたのでまとめたいと思います。 なぜ vue-facing-decorator を使用したか 弊社の Vue2/Nuxt2 環境では、 nuxt-property-decorator と、vue-property-decorator を使用したクラスコンポーネントを採…
1年前
記事のアイキャッチ画像
【供養】DynamoDBでも部分一致検索したかった
RevComm Tech Blog
はじめに この記事は RevComm Advent Calendar 2023 の 19 日目の記事です。 こんにちは @sara_ohtani_mt2です。 バックエンド開発をしています。 最近は、いわゆる電話帳のような連絡先を管理する機能のリニューアルに取り組んでいます。 これは現在、処理速度やシステムの拡張性の向上が求められている機能で、その改善を図るためのリニューアルプロジェクトです。 大きなモノリスだったところから機能を切り出して、新しい基盤構築から行っています。 今後他機能にも知見を展開できるよう、様々な選択肢を検討しながら技術の選定を進めています。 改善にあたり、ポイントの1つと…
1年前
記事のアイキャッチ画像
React-Virtualを活用したフロントエンドパフォーマンスチューニングの話
RevComm Tech Blog
こんにちは! RevCommのフロントエンドエンジニアの楽桑です。 フロントエンドパフォーマンスチューニングを経験した方ならご存じのとおり、レンダリング効率は常に重要です。データをスピーディかつ効率的に画面に表示することは、フロントエンド最適化の核心です。 本記事では、すでにリリースされているプロジェクトにおいて、コードの変更を最小限に抑えつつ、効果的なテーブルパフォーマンスチューニングをどのように実施するかをご紹介します。 背景 僕が担当しているプロジェクトでは、システム内に配置された2つのインタラクティブなテーブルがあります。 これらのテーブルは、ユーザーが操作するディバイダーによって高さ…
1年前
記事のアイキャッチ画像
GraphQLならライブラリがキャッシュを正規化して扱える
RevComm Tech Blog
この記事は RevComm Advent Calendar 2023 18 日目の記事です。 はじめに フロントエンドでの正規化のメリット GraphQL クライアントでの正規化 RESTful API での正規化 おわりに 参考 はじめに 2023 年 12 月現在、フロントエンド GraphQL クライアントの多くはデータを正規化してキャッシュをする機能を持っています。参考に GraphQL 利用成熟度モデルでは GraphQL のクエリ結果を正規化して活用することは 6 番目に取り上げられていました。 キャッシュと聞くと必ずしも必要な要素ではないように思われるかもしれませんが、もしあなた…
1年前
記事のアイキャッチ画像
Vertex AIとChatGPTで社内ナレッジを検索できるチャットボットを作ってみた
RevComm Tech Blog
はじめに こんにちは。 RevCommでCorporate EngineeringチームおよびFull Stackチームで活動している川添です。 社内の情報管理、うまくできているでしょうか?ルールやナレッジを共有しあっているけれども、過去に話した内容を何度も確認しあっている、過去の情報をうまく検索できない、などの問題が起きてないでしょうか? どの会社でもこのような問題は起きているかと思いますが、RevCommでもやはり起きています。 今回は、そのような問題に対する一つのソリューションとして、 RAG (Retrieval-Augmented Generation) を用いたナレッジチャットボッ…
1年前
記事のアイキャッチ画像
AWS Inf2の導入による音声感情認識の爆速化とコスト削減
RevComm Tech Blog
こんにちは、 RevComm Research Dept. Development Groupのid:tmotegiです。趣味は積読と日本酒を嗜んでおります。昨日は仙禽の雪だるまを飲みました。現世で2度目のアドベントカレンダーなので緊張します。 この記事は RevComm Advent Calendar 2023 、15日目の記事です。昨日の記事は豊崎さんによる「CodemagicでFlutterアプリをビルドする」でした。 私達のチームは、チームトポロジーのイネイブリングチームに相当するチームとして組織されており、他のチームに対してサポート・ツール・サービスを提供し、効果的かつ効率的に業務を…
1年前
記事のアイキャッチ画像
CodemagicでFlutterアプリをビルドする
RevComm Tech Blog
この記事はRevComm Advent Calendar 2023 14 日目の記事です。 RevComm でフロントエンド開発をしている豊崎 朗です。MiiTel Analytics、MiiTel Mobile Phone、MiiTel RecPod というプロダクトに携わっています。フロントエンドチームに籍を置いていますが、バックエンド、モバイルアプリ開発もやっています。 (フルスタックチームは、別であります。) MiiTel Mobile Phone、MiiTel RecPod はモバイルアプリであり、Flutter を用いて開発を行っています。この記事では、これらのプロダクトで利用して…
1年前
記事のアイキャッチ画像
Practical lessons on keeping a knowledge portfolio
RevComm Tech Blog
Introduction As a professional developer, you encounter something new every day: new coding techniques, new ways of organizing projects, new bugs, new tools, etc. The amount of knowledge the world has to offer is too much, so we write it down as a note in a Jira ticket or as a comment in a PR. We re…
1年前
記事のアイキャッチ画像
Day.jsのタイムゾーンを扱う関数 tz のドキュメントにない注意点を整理
RevComm Tech Blog
こんにちは! RevComm のフロントエンドエンジニアの小山功二です。 私が RevComm に入社する前に担当した開発案件は、どれも国内のユーザーにしか使われていないものばかりでした。一方で、RevComm の提供する MiiTel は、日本はもちろんインドネシアやアメリカでも使われています。 私の担当する MiiTel CallCenter というプロダクトは今年リリースしたのですが、こちらもリリース当初から海外で利用できることが求められていました。 開発時からタイムゾーンを扱うのは大変そうだよねというのは感じていたのですが、想定よりも大変でした。 そこで今回はタイムゾーン周りの理解を深…
1年前
記事のアイキャッチ画像
MiiTelのOutgoingWebhookを使ってGoogleCalendarに応対履歴を残す
RevComm Tech Blog
概要 想定読者 MiiTelのOutgoingWebhook 機能について 本記事で紹介しているGoogleCalendar連携について 利用想定 開発者向け情報 概要 全体の処理シーケンス GoogleCalendarAPI利用時に認証tokenを保存するための処理 通話完了からGoogleCalendarへイベントを登録する処理 事前準備 GoogleCalendarAPIの利用設定 OutgoingWebhookの利用設定 連携サーバの構築 構成情報 GCPでサーバ構築 PHPのインストール Nginxの設定 OAuth用の処理 カレンダー登録処理 おわりに 概要 株式会社RevComm…
1年前
記事のアイキャッチ画像
Pythonによるバイナリプロトコルの実装 〜STUNにパターンマッチを添えて〜
RevComm Tech Blog
こんにちは。PBXチームの山崎です。 振り返ると前回のブログからちょうど1年経ってしまいました。来年はブログのアウトプットも増やしていきたいですね。 さて早速ですが、今回のブログの概要です。 死活監視の一環で、STUNというバイナリベースのプロトコルのクライアントを実装してみた Python3.10で入ったパターンマッチングがバイナリプロトコルの解析に便利だった 前半でSTUNを軽く触って動作を確認し、後半でPythonを使って実装してみます。 目次 目次 STUNについて STUN のパケット構造 やってみよう Pythonのパターンマッチングについて バイナリデータに対するパターンマッチン…
1年前
記事のアイキャッチ画像
フェイク音声(偽音声)検出技術の現在
RevComm Tech Blog
本記事では、フェイク音声を検出する技術の現在について紹介します。
1年前