RevComm Tech Blog

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

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

フィード

記事のアイキャッチ画像
openapi-typescriptとRedocly CLIを活用してOpenAPIドキュメントと型定義の同期を効率化する
はてなブックマークアイコン 1
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…
4日前
記事のアイキャッチ画像
エンジニア評価制度を改定しました
RevComm Tech Blog
はじめに RevComm でエンジニアリングマネージャーをしている服部 (@keigohtr) です。RevComm のエンジニア評価制度は2023年1月に改定しました。新制度を運用して既に1年が経過しました。この記事では、現在のエンジニア評価制度を紹介するとともに、評価制度の改定をどのようなプロセスで行ったのかについて紹介したいと思います。 タイムライン 2022年10月 - 評価制度改定 WG (Working Group) を発足。 2023年1月 - 新評価制度の導入。半期(1月~6月)のスタート。 2023年7月 - 半期(7月~12月)のスタート。 2023年9月 - 先期に寄せら…
24日前
記事のアイキャッチ画像
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",…
1ヶ月前
記事のアイキャッチ画像
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…
1ヶ月前
記事のアイキャッチ画像
GILを無効化したPythonを早速試してみた
RevComm Tech Blog
Pythonの次期バージョン3.13でGILの解消が予定されています。この記事では、3.13の開発バージョンでGILを無効化する手順とベンチマークの検証結果について記載します。
1ヶ月前
記事のアイキャッチ画像
「2月7日(水)19:00〜オンライン」ソフトウェアエンジニアリングの枠を超えて:テックブログ運営で見つけた自分の役割
RevComm Tech Blog
2月7日(水)19:00よりオンラインにて開催されるイベント「DevRel/Tokyo #89 〜テックブログ運営〜」に、RevComm シニアリサーチエンジニアの加藤集平が登壇します。 DevRelとは Amazon、Google、Facebook、Evernote、GitHub…多数の企業が実践しているマーケティング手法がDevRel(Developer Relations)です。外部の開発者とのつながりを形成し、製品やサービスを知ってもらうこと、さらに彼らの声を聞くことでサービスの改善や機能追加に活かしていく活動になります。 日本でもエバンジェリストやデベロッパーアドボケイトと呼ばれる方…
3ヶ月前
記事のアイキャッチ画像
RevCommのMiiTel開発チームの2023年を振り返る
RevComm Tech Blog
この記事はRevComm Advent Calendar 2023 25日目の記事です。 RevCommでCTOを務めています平村健勝です。 この記事では、2023年のMiiTel開発チームの変化や印象に残った出来事について振り返りたいと思います。 組織構成とNon-Japanese Speakerの採用開始 2023年12月1日時点で全従業員256名中、エンジニア、デザイナー、リサーチエンジニアをあわせたメンバー数は114名でエンジニア比率は約45%の構成になっています。 ビジネスの成長に合わせてエンジニアの採用活動を続けていますが、優秀なエンジニアの採用には各社苦労していると思います。そこ…
4ヶ月前
記事のアイキャッチ画像
Playwrightを活用した本番稼働を支えるE2Eテスト実践のコツ
RevComm Tech Blog
はじめに RevCommのフロントエンドエンジニアの上川康太です。MiiTel Call Centerというプロダクトの開発を担当しています。 私たちは2023年の6月にMiiTel Call Centerを正式リリースしてから、スピード感を持って新機能の開発を進めてきました。 開発スピードを維持するためにも自動テストを増やして、デグレを防ぐことが重要だと考えています。そのため、PlaywrightによるE2Eテストを充実させてきました。 その中で得られたPlaywrightのコツについて共有したいと思います。 想定読者 Playwrightを使用したE2Eテストの作成に興味がある開発者 実践…
4ヶ月前
記事のアイキャッチ画像
本番リリースを週一から随時に変えるためにやったこと
RevComm Tech Blog
はじめに RevCommの宇佐美です。最近スタンディングデスクを買って、立ったり座ったりしながら仕事をしています。 RevCommでは、音声解析AI電話「MiiTel(ミーテル)」やAI搭載オンライン会議解析ツール「MiiTel Meetings」などを開発・提供しています。私は今年10月までMiiTelの認証基盤 (MiiTel Account) 開発プロジェクトで、Project Manager兼Sortware Engineerとして活動していました。 直近では希望によりプロジェクト異動をして、コールセンター機能とリアルタイム通信基盤を開発するチームに参加しています。今まで扱っていたもの…
4ヶ月前
記事のアイキャッチ画像
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 を使用したクラスコンポーネントを採…
4ヶ月前
記事のアイキャッチ画像
【供養】DynamoDBでも部分一致検索したかった
RevComm Tech Blog
はじめに この記事は RevComm Advent Calendar 2023 の 19 日目の記事です。 こんにちは @sara_ohtani_mt2です。 バックエンド開発をしています。 最近は、いわゆる電話帳のような連絡先を管理する機能のリニューアルに取り組んでいます。 これは現在、処理速度やシステムの拡張性の向上が求められている機能で、その改善を図るためのリニューアルプロジェクトです。 大きなモノリスだったところから機能を切り出して、新しい基盤構築から行っています。 今後他機能にも知見を展開できるよう、様々な選択肢を検討しながら技術の選定を進めています。 改善にあたり、ポイントの1つと…
4ヶ月前
記事のアイキャッチ画像
React-Virtualを活用したフロントエンドパフォーマンスチューニングの話
RevComm Tech Blog
こんにちは! RevCommのフロントエンドエンジニアの楽桑です。 フロントエンドパフォーマンスチューニングを経験した方ならご存じのとおり、レンダリング効率は常に重要です。データをスピーディかつ効率的に画面に表示することは、フロントエンド最適化の核心です。 本記事では、すでにリリースされているプロジェクトにおいて、コードの変更を最小限に抑えつつ、効果的なテーブルパフォーマンスチューニングをどのように実施するかをご紹介します。 背景 僕が担当しているプロジェクトでは、システム内に配置された2つのインタラクティブなテーブルがあります。 これらのテーブルは、ユーザーが操作するディバイダーによって高さ…
4ヶ月前
記事のアイキャッチ画像
GraphQLならライブラリがキャッシュを正規化して扱える
RevComm Tech Blog
この記事は RevComm Advent Calendar 2023 18 日目の記事です。 はじめに フロントエンドでの正規化のメリット GraphQL クライアントでの正規化 RESTful API での正規化 おわりに 参考 はじめに 2023 年 12 月現在、フロントエンド GraphQL クライアントの多くはデータを正規化してキャッシュをする機能を持っています。参考に GraphQL 利用成熟度モデルでは GraphQL のクエリ結果を正規化して活用することは 6 番目に取り上げられていました。 キャッシュと聞くと必ずしも必要な要素ではないように思われるかもしれませんが、もしあなた…
4ヶ月前
記事のアイキャッチ画像
Vertex AIとChatGPTで社内ナレッジを検索できるチャットボットを作ってみた
RevComm Tech Blog
はじめに こんにちは。 RevCommでCorporate EngineeringチームおよびFull Stackチームで活動している川添です。 社内の情報管理、うまくできているでしょうか?ルールやナレッジを共有しあっているけれども、過去に話した内容を何度も確認しあっている、過去の情報をうまく検索できない、などの問題が起きてないでしょうか? どの会社でもこのような問題は起きているかと思いますが、RevCommでもやはり起きています。 今回は、そのような問題に対する一つのソリューションとして、 RAG (Retrieval-Augmented Generation) を用いたナレッジチャットボッ…
4ヶ月前
記事のアイキャッチ画像
AWS Inf2の導入による音声感情認識の爆速化とコスト削減
RevComm Tech Blog
こんにちは、 RevComm Research Dept. Development Groupのid:tmotegiです。趣味は積読と日本酒を嗜んでおります。昨日は仙禽の雪だるまを飲みました。現世で2度目のアドベントカレンダーなので緊張します。 この記事は RevComm Advent Calendar 2023 、15日目の記事です。昨日の記事は豊崎さんによる「CodemagicでFlutterアプリをビルドする」でした。 私達のチームは、チームトポロジーのイネイブリングチームに相当するチームとして組織されており、他のチームに対してサポート・ツール・サービスを提供し、効果的かつ効率的に業務を…
4ヶ月前
記事のアイキャッチ画像
CodemagicでFlutterアプリをビルドする
RevComm Tech Blog
この記事はRevComm Advent Calendar 2023 14 日目の記事です。 RevComm でフロントエンド開発をしている豊崎 朗です。MiiTel Analytics、MiiTel Mobile Phone、MiiTel RecPod というプロダクトに携わっています。フロントエンドチームに籍を置いていますが、バックエンド、モバイルアプリ開発もやっています。 (フルスタックチームは、別であります。) MiiTel Mobile Phone、MiiTel RecPod はモバイルアプリであり、Flutter を用いて開発を行っています。この記事では、これらのプロダクトで利用して…
4ヶ月前
記事のアイキャッチ画像
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…
4ヶ月前
記事のアイキャッチ画像
Day.jsのタイムゾーンを扱う関数 tz のドキュメントにない注意点を整理
RevComm Tech Blog
こんにちは! RevComm のフロントエンドエンジニアの小山功二です。 私が RevComm に入社する前に担当した開発案件は、どれも国内のユーザーにしか使われていないものばかりでした。一方で、RevComm の提供する MiiTel は、日本はもちろんインドネシアやアメリカでも使われています。 私の担当する MiiTel CallCenter というプロダクトは今年リリースしたのですが、こちらもリリース当初から海外で利用できることが求められていました。 開発時からタイムゾーンを扱うのは大変そうだよねというのは感じていたのですが、想定よりも大変でした。 そこで今回はタイムゾーン周りの理解を深…
5ヶ月前
記事のアイキャッチ画像
MiiTelのOutgoingWebhookを使ってGoogleCalendarに応対履歴を残す
RevComm Tech Blog
概要 想定読者 MiiTelのOutgoingWebhook 機能について 本記事で紹介しているGoogleCalendar連携について 利用想定 開発者向け情報 概要 全体の処理シーケンス GoogleCalendarAPI利用時に認証tokenを保存するための処理 通話完了からGoogleCalendarへイベントを登録する処理 事前準備 GoogleCalendarAPIの利用設定 OutgoingWebhookの利用設定 連携サーバの構築 構成情報 GCPでサーバ構築 PHPのインストール Nginxの設定 OAuth用の処理 カレンダー登録処理 おわりに 概要 株式会社RevComm…
5ヶ月前
記事のアイキャッチ画像
Pythonによるバイナリプロトコルの実装 〜STUNにパターンマッチを添えて〜
RevComm Tech Blog
こんにちは。PBXチームの山崎です。 振り返ると前回のブログからちょうど1年経ってしまいました。来年はブログのアウトプットも増やしていきたいですね。 さて早速ですが、今回のブログの概要です。 死活監視の一環で、STUNというバイナリベースのプロトコルのクライアントを実装してみた Python3.10で入ったパターンマッチングがバイナリプロトコルの解析に便利だった 前半でSTUNを軽く触って動作を確認し、後半でPythonを使って実装してみます。 目次 目次 STUNについて STUN のパケット構造 やってみよう Pythonのパターンマッチングについて バイナリデータに対するパターンマッチン…
5ヶ月前
記事のアイキャッチ画像
フェイク音声(偽音声)検出技術の現在
RevComm Tech Blog
本記事では、フェイク音声を検出する技術の現在について紹介します。
5ヶ月前
記事のアイキャッチ画像
ISUCON 13 に社内でメンバーを組んで参加しました
RevComm Tech Blog
この記事はRevComm Advent Calendar 2023 6日目の記事です。 はじめに RevCommのバックエンドエンジニアの中島です。 前回はPyCon APAC 2023への参加レポートを寄稿しました。今回もイベント参加のレポートになります。 今回は 2023年11月25日(土) に開催された ISUCON13 に、弊社内でフロントエンドエンジニア1名+バックエンドエンジニア2名、計3名のチームで参加しました。 isucon.net 私はISUCONには過去数回参加したことがありますが他の2名は参加なしという経験値で、結果としては最終スコア 7,749点、参加チーム数 694組…
5ヶ月前
記事のアイキャッチ画像
初めて英語を使って仕事をした感想
RevComm Tech Blog
こんにちは、小島です。この記事はRevComm Advent Calendar 2023 12/5 分の記事です。 qiita.com 2023年のRevCommに起きた大きな変化のひとつは、英語話者(日本語の読み書きや会話を前提としない)のエンジニア採用を始めたことです。 昨年までは日本語能力の採用要件がありましたが、今年からその要件なしで採用するようになりました。そのため、日本語を母語とする僕もチームメンバーに英語話者が増えていくにつれて適応することになりました。 僕自身は今までまったく英語学習に興味がなく、英語で仕事をすることになるなどとは思ってもみなかったです。そんな人が実際に業務をや…
5ヶ月前
記事のアイキャッチ画像
Mermaid flowchart を Notion で使うとアルファベット小文字がズレる問題の対処
RevComm Tech Blog
この記事はRevComm Advent Calendar 2023 4日目の記事です。 弊社は Notion を使っています。 Notion は Mermaid が使えて最高なのですが、 flowchart の theme がアルファベットに若干弱い*1です。というわけで theme をいじって解決します。 これを書くだけです。 %%{init:{'themeCSS':'line-height:1.1rem;'}}%% *1:この問題はいつか直るでしょう
5ヶ月前
記事のアイキャッチ画像
MiiTel SSOログインの初期セットアップ運用における工夫
RevComm Tech Blog
バックエンドエンジニアの小門より、MiiTelのお客様がSSOログインを利用開始するための運用フローとその工夫点を紹介します。
5ヶ月前
記事のアイキャッチ画像
Introducing YoloV8: Operation and comparison to previous versions of the object detection model
RevComm Tech Blog
This article is the English version of Yuta Takase's blog post. Table of contents Table of contents 1. Introduction 2. What is YOLO? 3. YOLOv8 4. YOLOv8 model size 5. Changes with YOLOv5 6. YOLOv8's building and inference execution Inference on images Inference on videos Supplement Supported video f…
5ヶ月前
記事のアイキャッチ画像
音声処理系国際会議INTERSPEECH・SSW出張レポート
RevComm Tech Blog
RevComm Researchの加藤集平です。8月下旬に音声処理のトップカンファレンスであるINTERSPEECHで発表するため、また引き続いて行われたISCA Speech Synthesis Workshop (SSW) に参加するためにヨーロッパに出張をしてきました。今回の記事では、INTERSPEECH, SSWおよび私の発表について紹介いたします。 INTERSPEECH 会議の概要 International Speech Communication Association (ISCA) が主催する国際会議で、音声処理分野を専門に扱う国際会議としては最大級の規模です。2004年に…
5ヶ月前
記事のアイキャッチ画像
Evaluating Summarization Evaluation
RevComm Tech Blog
This blog post is the work of Hongkai Li, edited by Tolmachev Arseny. The authors belong to Works Applications and are working for RevComm. TL;DR Background Evaluation Metrics Experiments Datasets and Systems Results Correlation Among the Metrics Micro Analysis: Relevance-Based Metrics Micro Analysi…
6ヶ月前
記事のアイキャッチ画像
A Hitchhiker's Guide to your first Pycon APAC - PyCon APAC 2023 Report
RevComm Tech Blog
Participated report at PyCon APAC 2023 held from 10/26/2023 to 10/28. Authored by Jose, Software engineer.
6ヶ月前
記事のアイキャッチ画像
PyCon APAC 2023 参加レポート(RevCommのエンジニア 3名が登壇しました)
RevComm Tech Blog
2023年10月26日(木)から29日(日)に開催されたPyCon APAC 2023でRevCommのエンジニア陶山、松土、小門の3名が登壇しました。
6ヶ月前