エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

Spannerのノード数を時間帯ごとに変更する

エムスリーエンジニアリングGの遠藤(@en_ken)です。 BIRというチームでアンケートシステム周りの開発を担当しています。 この記事はエムスリー Advent Calendar 2021 20日目です。

BIRは特性ごとに異なる複数のアンケートシステムを抱えていますが、アンケートの配信処理自体はDolphinという1システムに集約しています。(このあたりのアーキテクチャの話はこちらの記事にまとめられています。)

DolphinのDBには、マネージドサービスでスケールが容易なことや、SQLを利用できることからCloud Spannerを採用しています。 このSpannerのDBに対し、時間帯に応じてノード数を変更する対応を行ったので紹介します。

続きを読む

Springで快適なDB疎通ユニットテストライフを送りたい

こんにちは、エムスリー 製薬企業向けプラットフォームチームでエンジニアをやっている桑原です。Spring Frameworkが好きです。よろしくお願いします。
エムスリー Advent Calendar 2021 の19日目の記事になります。 今日はSpring Boot でDB疎通をするユニットテストについてです。

  • 伝えたいこと
  • この記事を書いた背景
    • 環境
      • DBインスタンスをどうするのか
      • プロダクション環境への追従の難しさ
    • データ整合
      • 事前登録データを変更したら関係ないテストが失敗
  • やったこと
    • テスト対象となるサンプルコード
    • 今回ご紹介する方法で使用するテスト関係のフレームワーク・ライブラリ
    • Flyway
    • Testcontainers
      • サンプルコード
    • Database Rider
      • テストコード
  • 内部的にはどのような挙動をするか?
  • まとめ
  • We are Hiring
続きを読む

ユーザー投稿型ドキュメントのタイトル多様性を考慮した検索リランキングを試す

エムスリーエンジニアリンググループ AI・機械学習チームでソフトウェアエンジニアをしている中村(po3rin) です。好きな言語はGo。情報検索系の話が好物です。今回は多様性を考慮したリランキング手法と実際にPythonで実装を試した話をします。

続きを読む

M1 Mac に古い ruby をインストールしてみたけど業務利用を諦めた話

こんにちは、エムスリーエンジニアリンググループの園田です。本記事は エムスリー Advent Calendar 2021 の 18 日目の記事です。

最近、業務 PC の Mac が壊れたので、M1 (Apple Silicon) Mac に乗り換えました。
自分が担当している一部システムでは EOL の古い ruby を利用しているシステムがまだ残っており、この記事はその際に M1 Mac に ruby 2.3.8 をインストールしたときの備忘録です。

続きを読む

1つのキーだけのキーボードを作る

エムスリー エンジニアリングGの岩本です。

会社ではiOS開発やサーバサイドの開発を担当していますが、家でDIY・IoT・スマホアプリなどを作るパパエンジニアやっています。

最近Kindleでコミックを読んでいます。コミックって結構頻繁にページめくりをする必要があるんですよね。だからキーボードとか、トラックパッドに手をずーっと置いておくのですが、そのうちこうなります。

f:id:cpw:20211215160413p:plain:medium

手を前にして固定している状態が長時間続くので辛くなるんですよね。

これをITの力で改善します。

なお、エムスリーテックブログのものづくり系の記事が増えてきたのでこちらもよろしければ参照ください。

続きを読む

数量を機械学習で当てる モデル作成時の工夫と性能説明手法

こんにちは。エムスリーエンジニアリンググループAI・機械学習チームの池嶋です。これは エムスリー Advent Calendar 2021 の16日目の記事です。

AIチームでは機械学習を使ったプロダクトを開発し、自社サービスの改善や医療の臨床領域における研究開発など、社内外で多くのビジネス課題解決を目指しています。 このブログでは、機械学習で数量を当てるという問題に対して、AIチームにおける「予測モデル作成時の工夫」と「モデル性能説明手法」について紹介します。

  • 予測モデル作成時の工夫編
    • 回帰ではなく分類モデルを使用
    • 複数のモデルをアンサンブル
    • 特徴抽出からモデル学習・推論までパイプライン化
  • モデル性能説明手法編
    • PR曲線やROC-AUC:直感的でない
    • ローレンツ曲線:ユースケースが限定される
    • パーセンタイルごとの実ラベル割合グラフ:セグメントが多いとわかりにくい
    • 混同行列を多クラスに拡張:直感的理解が容易というメリットで採用
  • まとめ
  • We are Hiring
続きを読む

Elastic Cloudのインフラのスペックを忘れずに元に戻す

エムスリーエンジニアリンググループ AI・機械学習チームの丸尾 (@snowhork) です。この記事は、エムスリー Advent Calendar 2021 の15日目の記事です。

エムスリーではAI・機械学習チームをはじめとして、ElasticsearchのマネージドサービスであるElastic Cloudを活用しています。Elastic Cloudを含め、クラウドサービスはスケールアップ・スケールアウトが簡単にできるのは便利ですが、一時的に手動で作ったリソースを消し忘れてしまうということをついやってしまいます。この記事では、Elastic Cloudのリソースの設定がずれていることを通知するツールを紹介したいと思います。

続きを読む