EmotionTechテックブログ

https://tech.emotion-tech.co.jp/

株式会社エモーションテックのProduct Teamのメンバーが、日々の取り組みや技術的なことを発信していくブログです。

フィード

記事のアイキャッチ画像
Error Reporting におけるエラーの報告とグループ化について調べてみた
はてなブックマークアイコン 1
EmotionTechテックブログ
はじめに こんにちは、バックエンドエンジニアのおおたわらです。 過去にもこのブログで紹介したことがありますが、弊社ではマイクロサービス(言語は Rust、Node.js、Python など)の実行基盤として Cloud Run を利用しています。 アプリケーションのエラーについては現在 Cloud Monitoring によるログベースの監視を行っていますが、同原因のエラーがまとめられずエラーの対応状況の管理が困難なため、Error Reporting の利用を検討しています。 Error Reporting はログに出力されたスタックトレースに基づいてエラーをグループ化し、発生回数の集計など…
9日前
記事のアイキャッチ画像
Pythonプロジェクトにおけるディレクトリ構成と現状の課題について
EmotionTechテックブログ
はじめに エモーションテックでSREチームに所属しているsugawaraです。 前回書いたブログでは、Pythonプロジェクトで利用しているツールについてご紹介しましたが、 今回はPythonプロジェクトにおけるディレクトリ構成、コンテナのビルドをどのように行なっているか、また現状課題に思っていることについてご紹介します。 ディレクトリ構成について Poetryを利用していることは前回書いたブログでもご紹介しましたが、 社内の一部Pythonプロジェクトのディレクトリ構成については以下のようなmonorepoになっています。 . ├── .github │ ├── dependabot.yml…
1ヶ月前
記事のアイキャッチ画像
Startup Angularのハンズオンに参加した話
EmotionTechテックブログ
こんにちは、フロントエンドエンジニアのねだです。 今回は Startup Angular にオンライン参加し、同イベントの新たな試みとして行われたハンズオンで新たな Angular を体感した話を書いてみたいと思います。 Startup Angular は Angular を採用しているスタートアップによる、Angular 開発の知見などを発信するイベントです。弊社エモーションテックは、前回に引き続きスポンサーとして参加させていただきました。 2 月 16 日に atama plus 株式会社さんのオフィスで開催された第 7 回の Startup Angular では、このイベントでは初めてと…
2ヶ月前
記事のアイキャッチ画像
Angular の新しい制御フローにマイグレーションしてみた
EmotionTechテックブログ
はじめに こんにちは。フロントエンドエンジニアのすずきです。 Angular v17 で developer preview として提供された組み込み制御フロー(built-in control flow)皆さんは試してみましたか? 本記事では、今までの構造ディレクティブ(*ngIf や *ngFor など)から新しい制御構文に書き換えてみようと思います。 さっそく書き換えてみる 組み込み制御フローへのマイグレーションにはコマンドが用意されているので、このコマンドを使っていきます。 ng generate @angular/core:control-flow 実行環境は下記の通りです。 Ang…
3ヶ月前
記事のアイキャッチ画像
Cloud Runのコンテナインスタンスはいつまで起動するのか試してみた
EmotionTechテックブログ
はじめに こんにちは、エモーションテック SREのおかざきです。 今回は弊社プロダクトで利用しているGoogle CloudのCloud Runについて、実際に動かしてみた中で生じた疑問点を検証してみました。 疑問点 リクエストタイムアウトを超えた処理はどうなるのか デプロイ時に旧リビジョンで稼働していた処理はどうなるのか リクエストタイムアウトを超えた処理はどうなるのか Cloud Runのドキュメントには以下のように記述されています。 Setting request timeout (services) | Cloud Run Documentation | Google Cloud If…
3ヶ月前
記事のアイキャッチ画像
プロダクトチームのランチ事情
EmotionTechテックブログ
はじめに こんにちは、QAエンジニアのもときです。 この記事はエモーションテック Advent Calendar 2023の25日目の記事です。 私はプロダクトチームに所属しております。今回はプロダクトチームメンバーのランチ事情について、お伝えしたいと思います。エモーションテックでは、原則週3回の出社日を設けています。オフィスに出社している際、オフィス周辺でランチをする人、弁当持参の人、キッチンカーで購入する人、コンビニで購入する人……皆さんのランチ事情は様々です。 今回の記事では、プロダクトチームのランチ事情についてお伝えします。 開発部ランチ プロダクトチームでは、毎週水曜日に出社している…
5ヶ月前
記事のアイキャッチ画像
Web エンジニアが使いたいギャル流行語2023 〜クリスマスイブ特別バージョン〜
EmotionTechテックブログ
聞こえてくるでしょ?鈴の音がすぐそこに。どうもこんばんは。サンタクロースです。 諸人こぞりて むかえ渋谷 ミニスカ サンタの ギャル来ませり ギャル来ませり みなさんも子供の頃から、こんな歌を歌っていたことでしょう。 そう、クリスマスはギャルの季節。ギャルといえばクリスマスなのです。 クリスマスイブの本日、エモーションテック Advent Calendar 24 日目は当記事「Web エンジニアが使いたいギャル流行語2023 〜クリスマスイブ特別バージョン〜」をお送りします。 言わずとしれた日本の宝、伝説のギャル雑誌 egg が毎年発表している egg 流行語大賞 。 www.youtube.…
5ヶ月前
記事のアイキャッチ画像
エモーションテックの開発体制について(2023年編)
EmotionTechテックブログ
はじめに こんにちは、Product TeamのManagerのよしだです。今年も年末にエモーションテックの体制がどのように変化したかをご紹介します(いわゆる思い出話です)。チームに対する改善施策数が多く全ては書けないので、特に印象に残ったものだけとなります。 エモーションの開発体制について(2021年編) エモーションの開発体制について(2022年編) この記事はエモーションテック Advent Calendar 2023の23日目の記事です。 2023年1月ごろ 2022年から開発しているプロダクトのベータ版がようやくリリースされました(開発のエピソードはまた別の機会に)。この時、新製品開…
5ヶ月前
記事のアイキャッチ画像
Angular Material の mat-paginator にページ指定を追加する
EmotionTechテックブログ
はじめに こんにちは、フロントエンドエンジニアのありまです。皆さんは Angular Material 使っていますか?弊社ではとてもお世話になっています。優秀なUIライブラリなのですが、時々あともう一歩かゆいところに手が届かないことがあります。今回はそんな Angular Material のコンポーネントの一つである mat-paginator にページ指定の UI を追加することにチャレンジした記録をお伝えしていきます。 この記事はエモーションテックアドベントカレンダー 2023の 22日目の記事です。 背景 弊社ではアンケートなどのデータを扱う関係でページ数がとても多いテーブルを表示す…
5ヶ月前
記事のアイキャッチ画像
「フロントエンド開発のためのセキュリティ入門 知らなかったでは済まされない脆弱性対策の必須知識」を読んで
EmotionTechテックブログ
はじめに こんにちは。フロントエンドエンジニアのきぐれです。 今回は今年読んだ本の一冊である「フロントエンド開発のためのセキュリティ入門 知らなかったでは済まされない脆弱性対策の必須知識」について書こうと思います。 この記事はエモーションテックアドベントカレンダー 2023 の 21 日目の記事です。 きっかけ 脆弱性については、エモーションテックアドベントカレンダー 2023 の 9 日目で、 もときさんの記事でも取り上げられています。 上記記事をきっかけに最近のセキュリティ事情をキャッチアップし、脆弱性に関する基本を再確認するために「フロントエンド開発のためのセキュリティ入門」を読んでみま…
5ヶ月前
記事のアイキャッチ画像
エンジニア採用のキーワード 〜仲間、そして自身の職務経歴を豊かにするために〜
EmotionTechテックブログ
はじめに こんにちは。テックリードのかどたみです。 開発チームの採用では、キーワードの1つに「少しでも職務経歴が豊かになるように」という言葉があります。これは弊社で活動するうえで候補者が成長できる環境を用意できるかという意味とともに、採用担当者自身もその候補者と働いて成長できるか、という意味も含まれています。 今回はこのキーワードについて紹介したいと思います。 この記事はエモーションテックアドベントカレンダー 2023の20日目の記事です。 豊かな職務経歴・豊かとは言えない職務経歴 さて、「職務経歴が豊かになるように」と言っても、豊かな職務経歴というものはどのようなものでしょうか? 流行りの言…
5ヶ月前
記事のアイキャッチ画像
tracing::info! の呼び出しのテストに用いる道具立て
EmotionTechテックブログ
はじめに こんにちは、バックエンドエンジニアのよしかわです。 今回の題材は Rust で tracing::info! などを呼び出すコードのテストです。Rust のプログラムで処理の進捗やエラーを出力するのに tracing の tracing::info! や tracing::error! を使うケースは珍しくないと思います。このとき全ての出力をテストする必要はないかもしれません。しかし重要な出力についてテストしたい場合もあるのではないでしょうか。以下ではそのような場合に使えるかもしれない道具立てをいくつかご紹介します。 これはエモーションテック Advent Calendar 2023…
5ヶ月前
記事のアイキャッチ画像
Angular に新しく追加された takeUntilDestroyed API について
EmotionTechテックブログ
こんにちはあるいはこんばんは。フロントエンドエンジニアの id:kasaharu です。 エモーションテックでは Angular を使ったフロントエンド開発をしています。 ちょうど 1 年ほど前に Angular に関する記事を書きました。 NgRx ComponentStore の lifecycle hook を使って Subscription を購読解除する - EmotionTechテックブログ Angular のアップデートに伴い、この記事でやっていたことが Angular の core が提供する API でできるようになったのでその紹介をします。 この記事は エモーションテック …
5ヶ月前
記事のアイキャッチ画像
Amazon RDS Blue/Green Deploymentsを用いてAurora MySQLテーブルのint型カラムをbigint型に切替してみた
EmotionTechテックブログ
はじめに こんにちは、エモーションテック SREのおかざきです。 弊社プロダクト「EmotionTech」で利用しているAWS Aurora MySQLで17億レコード規模のテーブルをAmazon RDS Blue/Green Deploymentsを用いてスキーマ変更を行ないました。 *本記事で触れるプロダクト「EmotionTech」とは、直近でいくつか記事を掲載している「Google CloudでRustおよびNestJSを利用したマイクロサービスアーキテクチャのプロダクト」とは別のプロダクトです。 この記事はエモーションテック Advent Calendar 2023 の17日目の記事…
5ヶ月前
記事のアイキャッチ画像
Dataflowのエラーハンドリング四方山話
EmotionTechテックブログ
はじめに こんにちは!バックエンドエンジニアの谷口(@ravineport)です。 以前、「サンプルコードからざっくり理解するDataflowでストリーム処理」という記事を書きました。今回はDataflowでストリーム処理をする際のエラーハンドリングについて触れたいと思います。 この記事はエモーションテック Advent Calendar 2023 の16日目の記事です。 今回扱うストリームパイプライン 今回は例として以下のようなシンプルなストリームを考えてみます。 今回扱うストリームの流れ ストリームへの入力はPub/Subで、出力先はBigQueryです。Pub/Subにpublishされ…
5ヶ月前
記事のアイキャッチ画像
ただいまQA to AQ中
EmotionTechテックブログ
◯ はじめに エモーションテックに2ヶ月前にjoinしましたQAエンジニアの中島です。 私はウォーターフォール開発(以降、従来型開発)の現場に長くおり、アジャイル開発でのQA活動はエモーションテックが初めての経験となりました。 QAとしてのベース部分は変わりませんが、QA to AQ(Quality Assurance to Agile Quality:品質保証からアジャイル品質へ)という言葉が示す通り、従来型開発とアジャイル開発では品質保証の進め方やマインド部分に大きな違いがあり、アジャイルQAの概念を理解して整理がつくまでは、従来型の考え方に引っ張られてしまい、戸惑うことも多かったです。 …
5ヶ月前
記事のアイキャッチ画像
Productチームがドメイン知識を得るため始めた「biz勉強会」
EmotionTechテックブログ
はじめに この記事は、エモーションテックアドベントカレンダー14日目の記事になります。 こんにちは エモーションテックでPdMをしている “みねいつ” です。 「今年のアドベントカレンダーはなにを書こう?」 とネタについて毎年悩みますよね。 それと同時に年末の忙しい時期に 「いつ書こう?」 となりますが、 「いまでしょ」 となってVimで執筆しているのが、8時ちょうどの「あずさ5号」の車内でございます。 山梨への出張に行く道中でして、トンネルが続くとネットが不安定だし、車内で社内資料をおおっぴらに広げられるわけでもない事を鑑みると、非常に有意義な時間の使い方であると我ながら感心します。 (もち…
5ヶ月前
記事のアイキャッチ画像
エモーションテックのPythonプロジェクトで利用しているツールについて
EmotionTechテックブログ
はじめに エモーションテックでSREチームに所属しているsugawaraです。エモーションテックではPythonを利用しているプロジェクトがいくつかあります。そのプロジェクトで利用しているツールについて、今回はご紹介できればと思います。 この記事は エモーションテック Advent Calendar 2023 の13日目の記事です。 パッケージ管理 仮想環境とパッケージ管理をまとめて扱うことができる Poetry を利用しています。選定理由としては、Python の経験があるエンジニアの中で Poetry の利用経験者が多かったことが大きく、加えて pyproject.toml に各種設定を詰…
5ヶ月前
記事のアイキャッチ画像
最近のフロントエンドチームの雰囲気とフロントエンド相談会について
EmotionTechテックブログ
こんにちは、フロントエンドエンジニアのねだです。 今回は弊社のフロントエンドチーム内で行われているフロントエンド相談会を紹介してみたいと思います。 フロントエンドチームの雰囲気を少しでもお伝え出来れば幸いです。 この記事はエモーションテックアドベントカレンダー 2023の12日目の記事です。 フロントエンドチームについて かつてはワンオペだったこともあるエモーションテックのフロントエンド領域ですが、徐々に 人数や開発規模も増え、昨年には5人での体制にまで増えました。 ↓ 一年前はこんな雰囲気でした 【エンジニア座談会】フロントエンドチームが目指す理想のチーム 現在はここからさらに8人にまで増え…
5ヶ月前
記事のアイキャッチ画像
エンジニアから見た、エモーションテックの開発チームってこんな感じ
EmotionTechテックブログ
はじめに こんにちは、バックエンドエンジニアのおおたわらです。 今回はエンジニア目線で、開発チームの特徴や雰囲気を紹介してみたいと思います。 個人の主観が含まれますが、なるべくそう感じた具体的な出来事も書いています。 開発チームについて気になっている方の参考になれば幸いです。 この記事はエモーションテックアドベントカレンダー 2023の11日目の記事です。 優しい人が多い 「優しい」というと少しありきたりな褒め言葉になってしまうかもしれませんが、大事な要素だと考えています。 仕事をする中で相手を思いやる姿勢が、「優しさ」という形で現れているのかなと思います。 また、この優しさというのは単に相手…
5ヶ月前
記事のアイキャッチ画像
「フロントエンド開発のためのテスト入門」を読んで
EmotionTechテックブログ
はじめに こんにちは。フロントエンドエンジニアのすずきです。 今回は今年読んだ本の一冊である「フロントエンド開発のためのテスト入門 今からでも知っておきたい自動テスト戦略の必須知識」について書こうと思います。 この記事はエモーションテックアドベントカレンダー 2023の10日目の記事です。 きっかけ 私はエモーションテックに入社して、初めて仕事でユニットテストのコードを書きました。 それまではチュートリアルの簡単なものしか書いたことがなかったので、入社後は日々勉強しながら実際のプロジェクトでテストを書いています。 入社してしばらく経ち、もう少しフロントエンドのテスト全体について知りたいと思いチ…
5ヶ月前
記事のアイキャッチ画像
脆弱性診断の動的スキャンを実施してみた
EmotionTechテックブログ
はじめに こんにちは、QAエンジニアのもときです。 エモテクにjoinして、まもなく1年になろうとしています。 今回はこの1年で活動してきたことの中から脆弱性診断について、お伝えしたいと思います。 この記事は エモーションテック Advent Calendar 2023 の12日目の記事です。 過去に取り上げた脆弱性診断 脆弱性診断は、以前別の記事(https://tech.emotion-tech.co.jp/entry/2022/04/26/165408)でも取り上げました。その当時は、OWASP ZAPの自動スキャンを実施した際の手順や結果などをお伝えしました。今回は、OWASP ZAP…
5ヶ月前
記事のアイキャッチ画像
生成AIを使って "売れるサービス" を作るために必要な「5つのC」
EmotionTechテックブログ
こんにちは、CXデータアナリスト&NLPエンジニアのイケガメです。 皆さんはChatGPT、使ってますか? 私が初めてこの技術に出会ったのは、GPT3と呼ばれていた頃。当時は本当に、衝撃を受けました。 我々エモーションテックは、「顧客の声」の重要性を知っているからこそ、「これは君たちが使いこなすべき技術である・・・」と天啓を受けた気分でした。 そしてその天啓に従い、私たちは生成AIを使った新サービスを開始しました。 その名も、テキストAI分析サービス「TopicScan®︎」。ChatGPTのリリースから数ヶ月後の、スピードリリースです。 * なお、TopicScan®︎では、Microsof…
5ヶ月前
記事のアイキャッチ画像
Introducing Angular Material v17
EmotionTechテックブログ
こんにちは!フロントエンドエンジニアの高橋 a.k.a 黄色い人( @fusho_takahashi )です。エモーションテック Advent Calendar 2023 7 日目を担当させていただきます!エモーションテックのAdvent Calendar に書くのは 3 回目なのですが、技術系の記事を書くのははじめてなので少々緊張しています笑 最近 v17 リリースに加えてロゴの変更など、話題に事欠かない Angular 。今回は弊社サービスで使っていて、私も大好きな公式ライブラリー Angular Material に焦点を絞って、v17 のアップデート内容をご紹介します。 公式リリースノ…
5ヶ月前
記事のアイキャッチ画像
FastAPIを使い始めたので、ContextVarsでログ内容をカスタマイズするよ
EmotionTechテックブログ
はじめに こんにちは、エモーションテックのテックリードのかどたみです。 エモーションテックではRustのactix-web、Node.jsのNestJSに続き、マイクロサービスを担う言語としてPython、フレームワークとしてFastAPIを利用しています。 今回はFastAPIを運用に乗せるために設定しているカスタムログについて簡単にまとめてみました。 この記事はエモーションテック Advent Calendar 2023 の6日目の記事です。 採用背景 弊社は顧客や従業員・株主の体験向上をサポートするサービスを提供しています。ソフトウェアのプロダクトだけでなく、対象者それぞれの感情を解析し…
5ヶ月前
記事のアイキャッチ画像
Rustでテストでのみ必要なアトリビュートをプロダクトコードに含めない設定
EmotionTechテックブログ
はじめに こんにちは、バックエンドエンジニアのおおたわらです。 Rustで開発をする中で、以下のようなケースがあります。 テストコードで使いたいアトリビュートがある #[derive] アトリビュートによるトレイト実装(assert! に指定するメッセージに構造体の中身を出力するため、Debug トレイトを実装したい、テストで entity の比較を行うため、PartialEq を実装したい etc.) mockall クレートの automock アトリビュートによるモック実装 プロダクトコードのコンパイルには含めたくない が、定義はプロダクトコード側にする必要がある アトリビュート(特に …
5ヶ月前
記事のアイキャッチ画像
社内勉強会を消滅させてしまったので反省してリニューアル!
EmotionTechテックブログ
はじめに こんにちは、テックリードのかどたみです エモーションテックのプロダクトチームでは、「自分や一緒に働く仲間の職務経歴書を豊かにする」という方針に沿って日々業務を行っていますが、プロダクト開発のタスクをこなす上でだけでなく、様々な取り組みを行っています。 その中の一つとして勉強会を行っているのですが、私は1度勉強会の定着を失敗させてしまいました。現在の形になり1年続いたので、失敗談も含めて振り返りたいと思います。 この記事はエモーションテックアドベントカレンダー 2023の4日目の記事です。 定着しなかった勉強会とその理由 3年ほど前から、レガシーコード改善の活動や、このテックブログも含…
5ヶ月前
記事のアイキャッチ画像
Version-Incompatibility Hazards の検出
EmotionTechテックブログ
はじめに こんにちは、バックエンドエンジニアのよしかわです。 今回の記事は Rust のプログラムで利用する外部パッケージのバージョン管理についてです。Rust で書かれたあるプログラムが外部パッケージ A とB に依存しており、さらに A と B はどちらも別の外部パッケージ C に依存している、といったことはよくあると思います。このとき A が依存する C のバージョンと B が依存する C のバージョンが異なり、さらにはそのバージョンに互換性がない場合もあります。本稿ではそのような状況で起きるエラー例や検出方法を紹介します。 互換性のないバージョンの混在によるエラー Cargo.lock…
5ヶ月前
記事のアイキャッチ画像
テスト自動化に取り組んだ結果
EmotionTechテックブログ
はじめに こんにちは、QAエンジニアのもときです。 エモテクにjoinして、まもなく1年になろうとしています。 「もう1年なのか……」と思えるぐらい、1日1日の経過が早く感じております。 今回はこの1年で活動してきたことをお伝えできたらと思います。 この記事はエモーションテック Advent Calendar 2023 の2日目の記事です。 今までの活動 別の記事(https://tech.emotion-tech.co.jp/entry/2023/07/31/100000)で既にお伝えしていますが、joinした直後にまず始めたのはテスト管理です。テスト管理は、一時的な活動では無く、持続的な活…
5ヶ月前
記事のアイキャッチ画像
パソコン初心者がエンジニアインターンしてみた
EmotionTechテックブログ
はじめに こんにちは。開発チームでインターンをしている沼澤と申します。 本記事では、学部1年の2月下旬から行ってきたエモーションテックでの約9ヶ月間のインターン経験をもとに、今までの振り返りや、今後の展望について書きました。 この記事はエモーションテック Advent Calendar 2023 の1日目の記事です。 インターンに申し込むまで まず大学の受験期に遡ります。大学進学が迫り将来のことを真剣に考え始め、色々と調べていました。そして調べるうちに、パソコンも持っていない中ソフトウェアエンジニアとして活躍したいぞという気持ちが高まり、そのためにはどうやら情報工学を学ぶと良いということなので…
5ヶ月前