エムスリーテックブログ

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

AdventCalendar

Digdag + Embulkをクラウド転生させてデータ基盤運用を圧倒的に楽にした話

こんにちは、エムスリー エンジニアリンググループ / 製薬企業向けプラットフォームチームの鳥山 (@to_lz1)です。 これは エムスリー Advent Calendar 2020 の19日目の記事です。 エムスリーでは現在、各システムのオンプレ環境からクラウドへの移行を急ピッ…

BigQueryのINFORMATION_SCHEMAを利用してクエリコストを集計する

これはエムスリー Advent Calendar 2020の18日目の記事です。 社ではBigQueryを中心としたデータ基盤を活用しています。BigQueryの利用コスト管理の一環で、BigQueryのベータ版機能であるINFORMATION_SCHEMAを利用したクエリコストの集計を試みましたので、…

CloudTraceの導入を通して学んだTIPS集

この記事は エムスリーAdvent Calendar 2020の16日目の記事です。 エムスリーエンジニアリンググループの関根(@sekikatsu36)です。 2020年4月よりエムスリーへ参加し、主にSRE業務を担当しています。 エムスリーでは数百のマイクロサービスを開発・運用し…

ポストモーテムと今年起こしてしまった障害の振り返り

この記事は エムスリー Advent Calendar 2020 の11日目の記事です。 こんにちは、エンジニアリンググループ マルチデバイスチームの大和です。 気づけば12月も半ばで2020年の終わりをそろそろ感じる時期になってきました。 今年一年間で様々なプロダクトをリ…

クラウド電子カルテサービスのSLO監視を再検討してみた話

本記事は エムスリー Advent Calendar 2020 の4日目の記事です。 こんにちは、エンジニアリンググループの高橋(@tshohe1)です。 これまでは全チームを横断的に見る SRE チームで主に働いていたのですが、数ヶ月前からサービス側のチーム(電子カルテチーム)…

Rails の認証機能を JWT を使ったマイクロサービスに切り出したった

この記事はエムスリー Advent Calendar 2020 3日目の記事です。まだまだ面白い記事が続々投稿されるので、ぜひぜひ読んでみてください! エムスリーエンジニアリンググループの青木(@blue_1617)です。 日々「エムスリーデジカル」を作ったり YouTube 見た…

コードリーディング: Go 標準ライブラリ net/http/httputil ReverseProxy での WebSocket の取り扱い

エンジニアリンググループの山口 (@no_clock) です。 クラウド電子カルテ「エムスリーデジカル」のシステム水平分割(参考)を実施するにあたり、 HTTP リクエストを分割システム群にルーティングするリバースプロキシを実装しました。実装規模は Go 言語で …

VPoEとしてこの2年間を振り返って

こんにちは。エムスリーエンジニアリンググループ執行役員*1兼VPoE兼プロダクトマネージャーの山崎です。 本ブログはエムスリー Advent Calendar 2019の25日目の記事です。 エムスリー Advent Calendar 2019の締めとして何を書こうか色々と迷ったのですが、…

3Dアバター化しながらプレゼンするWebアプリを作った話

(デモ用の3Dモデルは「ニコニ立体ちゃん」をお借りしています) 概説 技術スタック three-js/three-vrm clmtrackr-js 実装 工夫をつける まばたき リップシンク パラメータのバリデート まとめ 余談 We are hiring! 概説 この記事は エムスリー Advent Calend…

登壇経験無しの私がなぜ2週間連続で登壇できたのか

この記事は エムスリー Advent Calendar 2019 の18日目の記事です。 こんにちは、エンジニアリンググループ マルチデバイスチームの大和です。 先月の半ばから末にかけて、JJUG CCC 2019 FallとDevelopers Boost 2019の2つのカンファレンスで登壇しました。 …

新規アプリでGraphQLを全面採用した話

この記事は エムスリー Advent Calendar 2019 の17日目の記事です。 こんにちは、エムスリーエンジニアリンググループ マルチデバイスチームの金丸 (@maru333) です。 アナと雪の女王2 は最高でしたね。ただ、劇中の波のシーンが実写か3DCGかを考えだすと気…

BIRの技術スタックとアーキテクチャ

この記事はエムスリー Advent Calendar 2019の12日目の記事です。 エムスリーエンジニアリンググループの滝安(@juntaki)です。BIRというチームでエンジニアやらプロダクトマネージャー的なことをしています。 BIRはビジネスインテリジェンス&リサーチの略…

プロダクトを"自分ごと化"する重要性

熱海の朝焼け こんにちは。エムスリーエンジニアリングG、プロダクトマネージャーの岩田です。 Product Manager Advent Calendar 2019の10日目の記事です。 今回はPdMとして引き継いだプロダクトをいかに自分ごと化するかというテーマで書かせて頂きます。な…

行動ログデータからのユーザーアンケート予測モデルを作り、ユーザーの嗜好分類をする

データエンジニアの皆さんが戦われているであろうログデータの活用の話題です。 もちろんエムスリーでもレコメンドやコンテンツの出し分けなどログデータを活用したシステムが開発されています。 今回は、そのログに加えて、アンケートを用いることで、ユー…

Amazon SQSに置き換えてパフォーマンスとスケーラビリティを得た話

エムスリー Advent Calendar 2019 5日目の記事です。 やがて君になる、完結しましたね… エンジニアリンググループの山口 (@no_clock) です。 今日は、クラウド電子カルテ「エムスリーデジカル」で、SQSを使ってパフォーマンスとスケーラビリティを得た話です…

クリックだけでなく表示の情報も活用したレコメンド論文の紹介と実装・実験

この記事はエムスリーAdvent Calendar 2019 2日目の記事です。 エンジニアリンググループ AIチームの金山 (@tkanayama_)です。普段の業務では、医療従事者向けWebサイト m3.com のための推薦システムの開発・運用を担当しています。 今回は、 "Sampler Desig…

エムスリー Advent Calendar 2018 まとめ!

エンジニアリンググループの松原@ma2geです。 2018 年の Advent Calendar を無事に完走したのでまとめます。 qiita.com 今年のエムスリー Advent Calendar は以下の Qiita 記事でまとめられている内容を見る限りはてブ数ランキングでなんと7位だそうです!*1 …

JJUG CCC 2018 Fallで登壇しました

この記事はエムスリー Advent Calendar 2018 の21日目の記事です。 こんにちは。エンジニアリンググループの滝安(@juntaki)です。 先日のJJUG CCC 2018 Fallで「エムスリーでのKotlinへの取り組み」と題して、スポンサーセッションで星川(@oboenikui)と2名…

How to contribute to Nuxt.js

この記事はエムスリー Advent Calendar 2018 の20日目の記事です。 エンジニアリンググループの@suusan2goです。現在はAIチームで、機械学習以外のことを色々やっています。 エムスリーではVue.jsを様々なプロジェクトで活用しており、今年開催されたVue Fes…

JJUG CCC 2018 Fallにゴールド&ブーススポンサーとして参加しました

この記事はエムスリー Advent Calendar 2018 の19日目の記事です。 こんにちは。エンジニアリンググループの池田(@progrhyme)です。 去る12/15(土)、ベルサール新宿グランドにて、日本最大のJavaコミュニティイベントであるJJUG CCC 2018 Fallが開催され…

ScalaのコンパイラにFizzBuzzを解いてもらう

この記事はエムスリー Advent Calendar 2018 かつ Scala Advent Calendar 2018の18日目の記事です。 エンジニアリンググループの冨岡です。 今回はどうしても自力では解けなかったFizzBuzz問題を、Scalaコンパイラの力を借りて解いた話をします。 FizzBuzzと…

新ストレージ管理システム Stratis について調べてみた

この記事は エムスリー Advent Calendar 2018 17日目の記事です。 皆さんはじめまして!11月にエンジニアリンググループに入りました、SREの平岡です。今回はSRE・・・というよりインフラ技術に携わるエンジニアとして、OSプラットフォーム周辺での新しい技…

EmacsでWebサービスを開発して8ヶ月が経ちました

この記事はエムスリー Advent Calendar 2018 の16日目の記事です。 こんにちは、エンジニアリンググループ新卒1年目の青木です。クラウド電子カルテ「M3 DigiKar」の開発に携わっています。We are hiring!! 今回は私のチームが開発しているWebサービス「M3 D…

Vue Reactivity: Present and Future

Hello again, faithful readers. I'm Nick from the Engineering Group, here to bring you another special English edition of the M3 Tech Blog! This article is Day 15 of the 2018 M3 Advent Calendar. Continuing with the theme of my last entry, I…

クリスマスに『ビジュアル』プログラミングを始めよう

この記事は エムスリー Advent Calendar 2018 14日目の記事です。 こんにちは、エムスリーエンジニアリングGでエンジニアをしてます、新卒一年目の三角です。 クリスマスまで毎日更新され続けるであろう弊社アドベントカレンダーは、内部の私から見ても大変…

コードレビューを支える『褒め文化』

コードレビュー、好きですか? エンジニアリンググループの山口です。 クラウド電子カルテ「エムスリーデジカル」を開発しています。 今回は、チームに根ざしている『褒め文化』についてお話しします。 ※この記事は、エムスリー Advent Calendar 2018 13日目…

18分59秒をめぐって日本標準時の歴史をひもとくことに

この記事は エムスリー Advent Calendar 2018 12日目の記事です。 こんにちは。エムスリー エンジニアリンググループの三浦(@yuba)です。基盤開発チームというところで各サービスチーム共用のシステムの開発保守に携わっており、そこで見つけた面白い動作を…

Rubyistも読めない? 超難読Rubyコードの読み方

この記事は エムスリー Advent Calendar 2018 11日目の記事です。 エンジニアリンググループのowlです。好きなマスコットはGopherくん、好きな言語はRuby! なので今回もRubyについてお話します。 ところでRubyistのみなさんはRubyKaigi 2018に行きましたよ…

Sansan× M3 Tech Night ~レガシーシステムに立ち向かえ!~ を開催しました

エンジニアリングGでAskDoctorsやゲノム関連サービスの担当をしている愛宕(あたぎ)です。 エンジニアとして働き始めて以来、レガシーシステムと関わることの多い人生を送ってきました。レガシーシステムの難解なコードを読み解こうとした末「こういう意味だ…

社内輪読会でScala関数型デザイン&プログラミング第14章の練習問題を解いたので解説します

エンジニアリンググループの松原です。 社内で4月から続いているScala関数型デザイン&プログラミング輪読会で、14章を担当したので復習も兼ねてその練習問題について解説記事としてまとめます。 ちなみにこの輪読会ですが、14章に到達した現在も誰一人として…