エムスリーテックブログ

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

AdventCalendar

年末だしRedashのクエリ棚卸しでもしましょう (調査用サンプルクエリ付き)

これはエムスリー Advent Calendar 2023の9日目の記事です。 前日の記事はSREチーム後藤の「共有会をより効果的にするために考えたあれやこれ」でした。 エムスリーエンジニアリンググループ データ基盤チームの木田です。 師走です。12月といえば年末に向け…

9時間足すんだっけ引くんだっけ問題~あるいは、諸プログラミング言語はいかにタイムゾーンと向き合っているか

私は日付時刻の処理が大好きです。 タイムゾーンの問題でデータ抽出が9時間分漏れていたとか、朝9時の始業前のログが昨日付けになってしまっていたなんていう問題が起こると喜んじゃうタイプ。 そんな私にとって、各プログラミング言語が標準で持っている日…

臨床現場で使われるAIを作る: 胸部X線診断AIの事例と医療画像分類の特徴

こんにちは、AI・機械学習チームの浮田 (id:uKita) です。この記事は エムスリー Advent Calendar 2022 の16日目の記事です。 私達のチームでは、推薦システムなどWebサービスの他に、臨床現場で使われるAIの開発にも取り組んでいます。ちょうど最近、この領…

長期運用に寄り添うインシデント対応を考える

こんにちは! エムスリーエンジニアリンググループ、 SRE チームの平岡(@uhtter)です。 こちらは エムスリー Advent Calendar 2022 の15日目の記事になります。 SRE が担当するの重要なタスクの1つに、インシデント対応があります。 インシデント対応では、…

Renovate をゆるく運用しはじめて半年が経ちました

エムスリー Advent Calendar 2022 7 日目の記事です。前日は @fukubaya による認証があるSPAのリソースはどうしたらいいのか、わからんでした。 エンジニアリンググループ・デジカルチームの山口 (@no_clock) です。 依存ライブラリの更新を支援してくれる R…

令和最新版エンジニアのリーダーシップ論

フラットな組織のエムスリーで人々はどう組織として一緒に働いている? それは、「相互にリーダーシップを及ぼしあっている」のだと言えます。相互に及ぼしあうとはどういうことか、実例を紹介することで説明を試みます。

自作 Terraform Registry

Terraform Provider Registryを自作する方法を紹介します。

15年間続いているサービスをクラウドに移行しています

この記事はエムスリー Advent Calendar 2021 の24日目の記事です。 エムスリーエンジニアリングG コンシューマチームの松原(@ma2ge)です。 2021年4月にチーム異動をして、入社当時に所属していたチームにまた戻ってきました。 コンシューマチームでは AskDoc…

GitLab上でよしなに自動実行してくれるTerraformのCIを目指して

こんにちは、エムスリー エンジニアリンググループ の鳥山 (@to_lz1)です。製薬企業向けプラットフォームチームでチームSREとして活動しています。 この記事はエムスリー Advent Calendar 2021 22日目の記事です。 Googleの実践から生まれたSREという職種は…

WireMock と Locust を使った、手軽で再現性の高い *リバースプロキシの* 性能試験

エンジニアリンググループの山口 (@no_clock) です。 性能試験、していますか。 非常にニッチですが、バックエンドをモック化してリバースプロキシの性能試験をお手軽にやったので、その知見を記録しておきます。 なぜやったのか なぜ「モック」を選んだのか…

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が開催され…