エムスリーテックブログ

https://www.m3tech.blog/

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

フィード

記事のアイキャッチ画像
エムスリー初代CPOに山崎が就任、4代目CTOに大垣が就任しました
はてなブックマークアイコン 12
エムスリーテックブログ
はじめに 皆様こんにちは。4月といえば『四月は君の嘘』。心のままにエンジニアリングを楽しんで行きたいエムスリーVPoEの河合(@vaaaaanquish)です。 この度2025年4月1日より、エムスリーエンジニアリンググループで長らくCTOを努めた山崎(@yamamuteking)が、大垣(@Hi_king)にCTOを引き継ぎ新CTOとなります。 そしてCTOを退任した山崎は、CPOに就任する運びとなりました。 CPO&CTO&VPoEでやっていき! 本記事は、少しばかりの裏話と2人からの所信表明です。 はじめに エムスリーのCTOとCPO 新CTO大垣より一言 主人公になろう 変なこだわり、…
2日前
記事のアイキャッチ画像
エムスリーBIRチーム大解剖!プロダクト開発の舞台裏と、チームを支える文化
はてなブックマークアイコン 2
エムスリーテックブログ
はじめに こんにちは。エムスリーエンジニアリンググループ、BIR(Business Intelligence and Research)チームに最近入った丸山です。 この記事では、成長著しいリサーチプロダクトを開発している私たちが、新メンバーのオンボーディングを円滑に進めるために行っている取り組みについてご紹介します。
3日前
記事のアイキャッチ画像
有志で開発合宿@箱根にいってきました♨️
はてなブックマークアイコン 14
エムスリーテックブログ
こんにちは、エンジニアリンググループの横本(@yokomotod)です。エムスリーではしばしば開発合宿が開催されており、今回は一泊二日で箱根に行ってきました! またワイワイ楽しく開発してきてしまったので、その様子をお届けしたいと思います。 今回のベストショット
3日前
記事のアイキャッチ画像
結局、ビジョン
はてなブックマークアイコン 39
エムスリーテックブログ
こんにちは!2024年9月に入社しました、エムスリーエンジニアリングGプロダクトマネージャーの松尾です。 入社後の半年間、経験豊富な先輩プロダクトマネージャーたちと共に働き、多くの貴重な学びを得ることができました。 今話題のChatGPTに「先輩たちの背中から学ぶプロダクトマネージャー」のイラストを描いてもらいました。なお、弊社ではリモートワークがメインのため、実際の背中はあまり見たことはありません笑 このブログでは、学びの一部を皆さんに共有したいと思います。 プロダクトマネージャーの業務とビジョン 「ビジュアルシンカー」という思考タイプとの出会い 課題発見のための「ビジョン」 他の業務での「…
4日前
記事のアイキャッチ画像
マルチテナントなWebサービスでデータベースをBigQueryからPostgreSQLに移行してRow Level Securityを導入した
はてなブックマークアイコン 127
エムスリーテックブログ
こんにちは。AI・機械学習チームの高田です。 マルチテナント構成のWebサービスでは、データの分離とセキュリティを確保することが非常に重要です。マルチテナント構成とは、1つのシステムやアプリケーションを複数の顧客(テナント)で共有する設計アプローチを指します。 今回は、当社のあるプロダクトで行った2つの改善施策について紹介します。 BigQueryからPostgreSQLへの移行: より効率的なデータアクセスとコスト削減 Row Level Security(RLS)の導入: データベースレベルでのセキュリティ強化 これらの施策により、セキュリティ向上とコスト削減の両方を実現できた事例を解説し…
7日前
記事のアイキャッチ画像
m3.com iOSアプリにホーム画面とロック画面のウィジェットを導入しました
エムスリーテックブログ
こんにちは、マルチデバイスチームでモバイルアプリエンジニアをしている小林 (@bakobox) です。 先日、m3.com iOSアプリにホーム画面とロック画面用のウィジェットを実装しました。 エムスリーのiOSアプリでは初の導入ということもあり、ウィジェット実装に関する知見が得られたので共有いたします!
9日前
記事のアイキャッチ画像
7年間放置されたRuboCopをチームワークと自動化の二刀流で改善した話
エムスリーテックブログ
こんにちは。デジカルチームでソフトウェアエンジニアをしている武井です。 デジカルチームでは、クラウド型電子カルテ「エムスリーデジカル」を開発しており、メインのAPIサーバーとしてRuby on Railsを採用しています。 digikar.m3.com 今回、長年放置されてきたRuboCopの設定の見直し、運用の改善をチームで協力して行いました。この記事では改善の過程の一部始終をご紹介できればと思います。 この記事でも触れる「リファクタリングデー」の後に打ち上げで行った焼肉を楽しむ様子
10日前
記事のアイキャッチ画像
読み取り専用 DB を Aurora から SQLite に移行してコストを 1/8 に削減した話
エムスリーテックブログ
デジカルを構成するサービスの DB(基本的に読み取りのみ)を Aurora MySQL から Fargate 上の SQLite に移行し、性能も向上しつつ当該サービス全体のインフラコストを約 1/8 まで大幅に削減できた話をご紹介します。
16日前
記事のアイキャッチ画像
MCPサーバーが切り拓く!自社サービス運用の新次元
エムスリーテックブログ
こんにちは、エムスリーエンジニアリンググループ、コンシューマチームの園田です。本記事では、外部サービスとAIエージェントの連携を可能にするMCPプロトコルについて、技術検証の実装例を交えてお話しします。 1. MCPとは(ざっくり) MCP(Model Context Protocol)とは、Anthropic社によって策定されたAIエージェントが外部サービスから情報を参照したり連携することを目的としたプロトコルです。 「MCPサーバー」は、GitHubやPostgreSQLといったリソースをMCPで喋れるように変換してあげるプロキシのようなサーバーです。 Claude DesktopやCur…
21日前
記事のアイキャッチ画像
複雑なドメイン知識を身につける7つの方法
エムスリーテックブログ
エンジニアリングチームの末永です。クラウド型電子カルテ・レセコンのエムスリーデジカルを開発しています。 はじめに (1) コードレビュー (2) 実装 (3) 分からないことをまとめる (4) プロダクトのユーザー向けマニュアルを読む (5) ユーザーからいただいた全てのお問い合わせに目を通す (6) チーム外の人も分かるように説明する (7) 資格を取る ドメイン知識を身につけて役立ったこと まとめ We're hiring! この記事では私がドメイン知識を身につけるために行っている取り組みを紹介します。
1ヶ月前
記事のアイキャッチ画像
refresh tokenを使ってSalesforceのデータ連携をPythonでやる
エムスリーテックブログ
こんにちは、Salesforceのデータを使って推薦システムを作ることになったAI・機械学習チームの農見(@rookzeno)です。Salesforceのデータを扱うエンジニアは、Salesforceのオブジェクトからデータをダウンロードして、Pythonでデータを加工して、他システムにアップロードしたくなる時があると思います。今回はその流れを書いていきます。 refresh tokenを取得する refresh tokenを使ってデータをダウンロードする Simple Salesforce refresh tokenを使ってSimple Salesforceの認証をする Simple Sal…
1ヶ月前
記事のアイキャッチ画像
Rust で作る Step Functions が何でこけたかわかる君
エムスリーテックブログ
こんにちは、AI・機械学習チームの苅野です。エムスリーに転職してそろそろ一ヶ月、今日も楽しくコードを書いています。 この記事では仕事の合間に作った Rust 製の CLI を紹介します。AWS Step Functions のステートマシンが途中で実行に失敗した時に何が原因で何回失敗したかを数えることができます。
1ヶ月前
記事のアイキャッチ画像
【ソフトウェアエンジニアインターン参戦記】クラウド型電子カルテのリクエスト数を13%削減した話
エムスリーテックブログ
はじめまして!エムスリーのデジカルチームでソフトウェアエンジニアとしてインターンシップに参加した藤原です。 この記事ではインターン中に行なったタスク内容とエムスリーでのインターンシップの感想や学びをお伝えします! エムスリーでの働き方などをお伝えして、インターンや就職を考えている他の学生の参考になることを願っています!
1ヶ月前
記事のアイキャッチ画像
プロダクトマネージャーが売ったことのないプロダクトは(爆発的には)売れない
エムスリーテックブログ
こんにちは、エンジニアリンググループプロダクトマネージャーの阪口です。 私は医師向けのアンケート調査やそのデータ分析を手掛けるリサーチプロダクトチームに所属し、チームのビジョン「データとテクノロジーを活用し、医療に関する意思決定とアクションを、無駄なく、正しく、最速にする」を実現するため、日々奮闘しています。 この記事では、あるプロダクトのリニューアルにて自らがセールス活動に奔走することで得ることができた学びを共有したいと思います。 プロダクトリニューアルの背景 クライアントからの評価と課題 俺は最強のセールスになる! 1.顧客の解像度が上がり、売れるためのメッセージが見つかった 2.プロダク…
2ヶ月前
記事のアイキャッチ画像
簡易生命表を読んでみる
エムスリーテックブログ
AI・機械学習チームの髙橋です。今年の健康診断結果をみてからランニングを始めました。健康大事。 さて、今回は簡易生命表という厚生労働省が毎年発表している統計資料を読んでいきたいと思います。 簡易生命表は、「ある1年において各性別/年齢の人がその年に死亡する確率」を集計して統計処理をしたものです。 表を読むと例えば、「2023年において30歳男性がその1年に死ぬ確率は0.055%」といったことが分かります。 生命表は保険数理などでの基礎統計となっていて、みなさんにとって身近なところでいうと、平均寿命はこの生命表から計算される統計量になります。
2ヶ月前
記事のアイキャッチ画像
プログラミングクイズ この演算結果が得られる元のコードは?
エムスリーテックブログ
こんにちは。エムスリーエンジニアリンググループの藤原です。 今回の記事ではパズルのようなプログラミングクイズを出題してみます。 自分で考えたい方は問題部分から記事を読み進めずに考えてみてください。問題の後にヒント、答えと続いています。 問題 では、問題です。 巳年(Python) '25年 なクイズということで作成してみました。 (元日あたりに作ったので [1:-1] 部分も実は"かかって"います!) 難読クイズとは少し違った趣向のクイズで、エンジニアリングとしては何の役にも立たないかもしれないですが、たまにはこういうのも面白いのではないかと思います。
2ヶ月前
記事のアイキャッチ画像
poetryのバージョンを2.0.0に上げたらinstallできなくなった
エムスリーテックブログ
AI・機械学習チームの池嶋(@mski_iksm)です。AI・機械学習チームではPythonで開発しているプロダクトのパッケージ管理にpoetryを使用していますが、年明け早々こんなメッセージが出てpoetry installができなくなるトラブルが頻発しました。 Warning: The current project could not be installed: No file/folder found for package XXXXXXXXXX 2025年1月5日にリリースされたpoetry 2.0.0では、自パッケージのインストールに関する挙動が変更されました。その影響で、poet…
3ヶ月前
記事のアイキャッチ画像
2024年の技術動画からオススメをまとめるぜ
エムスリーテックブログ
年末にこんにちは、こんばんは。VPoEの河合(@vaaaaanquish)です。 声優の小林裕介さん、内山夕実さんが、ご結婚されたとの事で、最近リゼロ最新話まで追いついた私も喜びを隠せません。嬉しい! さて、本記事では2024年も終わるこの日に年末年始を楽しく過ごせる技術LT動画をいくつか紹介して、皆様によい年末を提供出来ればと思い筆を取っています。 年の暮まで技術技術でやっていきましょう! エムスリーテックトークとは TEX嫌い大学生の闘い Firebase De Akka Actor版人狼アプリリメイク フラクタル図形をうろ覚えの式から描いてみた PlaywrightでVRT環境を整備…
3ヶ月前
記事のアイキャッチ画像
エムスリーのAI・機械学習チームって何やってるの?2024年1年間で作ってきた28個のプロダクトを大公開
エムスリーテックブログ
こんにちは。エンジニアリンググループゼネラルマネジャー & 機械学習エンジニアの大垣です。 さて、私が機械学習エンジニアとして仕事をしているAI・機械学習チームでは、今年一年で28個のプロダクトをリリースしました。月に2つくらいは新規プロダクトが出てる計算ですね。なかなか高速にリリースできているのではないでしょうか。 なお、この1年で5名のメンバーが新規に加わり、チームが12人から17人になったので、来年は更に加速していきたいです!*1 これらのプロダクトを簡単にお見せしつつ、エムスリーという医療xWebの企業でMLのチームはどういう仕事をしているのか、というのをお届けできればと思います! 多…
3ヶ月前
記事のアイキャッチ画像
AIチームGoogle Kubernetes Engineオンボーディングチュートリアル
エムスリーテックブログ
こんにちは。AI・機械学習チーム(以下AIチーム)チームリーダー、兼、エンジニアリンググループゼネラルマネージャーの横本(@yokomotod)です。 AIチームでは開発したMLプロダクトの実行基盤としてGoogle Kubernetes Engine(以下GKE)を採用しています。デプロイ関連コードのテンプレートも整備され、新しいプロダクトをスタートさせるときはGKE初心者でも簡単にデプロイまで持っていけるようになっています。 しかし自動生成は一方で、なにがどうなってデプロイされているのかブラックボックスのままになってしまいがちという問題もあります。 そこで今回は、チームメンバーへのオンボー…
3ヶ月前
記事のアイキャッチ画像
半年間の運用で学んだDatastream導入の勘所
エムスリーテックブログ
こんにちは、エンジニアリンググループデータ基盤チームの木田です。先日公開されたCTO兼VPoP山崎の記事にある通りゼネラルマネージャーを拝命しまして、データ活用の観点だけではなくそれ以外の側面でも組織全体を支える立場となりました。クリスマスが過ぎ、すっかり街は年末モードになりましたね。毎年この変わり身の速さに驚くとともに、新年の足音を感じる時期でもあります。 門松とクリスマス飾りが同居する年末らしい光景。エムスリー赤坂オフィスから徒歩15分の距離にある麻布台ヒルズマーケットの一角にて エムスリーのデータ基盤利用者は今年も順調に増えまして、システム (サービスアカウント)も含めると倍々で増加して…
3ヶ月前
記事のアイキャッチ画像
エムスリーの全員 QA 作戦
エムスリーテックブログ
皆さんこんにちは。エンジニアリンググループゼネラルマネージャー兼 QA チームリーダーの窪田です。 1年が経つのは非常に早く、やりたかったことをやれたのかと振り返る年末になりました。 本日は私が GM になる前から力を入れてきた活動「全員QA体制への移行*1」についてお話をします。 本内容は、12/24 に取締役CTO兼VPoPの山崎がブログで話題に挙げていた「組織的ステップチェンジ」の1つでもあり、組織的なインパクトも大きな活動です。 www.m3tech.blog はじめに 現状の開発フロー 全員 QA 体制への移行 決起集会(エンジニアリンググループミーティング) 方針・目標設定と周知 …
3ヶ月前
記事のアイキャッチ画像
エムスリー学生エンジニア向け情報まとめ
エムスリーテックブログ
こんにちは、最近Re:ゼロを人生で初めて見ましたVPoEの河合(@vaaaaanquish)です。もっと早く知りたかったです。 さて、エムスリーエンジニアリンググループでは、長らく新卒エンジニア採用を小さい規模で進めておりました。 2024年からは、その規模を少し拡大し、様々なイベントに出たりインターンを受け入れるなどしています。 本記事は、学生エンジニアの皆様から聞かれる事も多い内容をまとめ、エムスリーのエンジニア組織を知って頂く事を目的とするものです。 エムスリーのエンジニアインターン Rust/Go/k8sを全て触ってBatchをリリースした事例 実プロダクトのKotlinバックエンドを…
3ヶ月前
記事のアイキャッチ画像
2024年にエンジニアリンググループミーティングで紹介した書籍の紹介
エムスリーテックブログ
年末にこんにちは、こんばんは。12月に長女の音楽発表会があり、長女の成長に涙したVPoEの河合(@vaaaaanquish)です。 本文とは関係ない娘と私 本記事では、エンジニアリンググループで毎月行っている全体会、Group Meetingで実施している『おまけコンテンツ』を紹介します。 オススメの書籍紹介になりますので、年末のお供に是非。 Engineering Group Meetingとは 書籍紹介 仕事に必要なことはすべて映画で学べる 熟達論 - 人はいつまでも学び、成長できる RANGE(レンジ)知識の「幅」が最強の武器になる データセキュリティ法の迷走 テクノロジーの世界経済史 …
3ヶ月前
記事のアイキャッチ画像
DBテーブルのカラムを削除するときにやること・考えること
エムスリーテックブログ
突然ですが皆様は、稼働済みサービスのDBからテーブルカラムを削除されたりすること、ありますでしょうか? 基本的に削除はまずやらないのではと思います。えっやらないの? と思われた方もいらっしゃるかもしれませんが、きっとこの記事を読めばなぜ多くの方がカラム削除を避けるのかわかることでしょう。 とはいえ、そうして使わないカラムがテーブルに溜まっていくとやがて新規加入メンバーがコードにキャッチアップする妨げとなるレベルにまで溜まってきたりします。いつかは大掃除のときがくるわけです。DBは寿命長いですからね。そうしたときに実際どのような手順でカラムを削除するのか見ていきましょう。エムスリーエンジニアリン…
3ヶ月前
記事のアイキャッチ画像
機械学習エンジニアやデータサイエンティストにもウケるノベルティが作りたい
エムスリーテックブログ
ギークな技術者の皆様、こんにちは。メリークリスマス。 リモートワークで運動不足を感じているため、VTuberのリングフィットアドベンチャーのプレイ動画を見て気を紛らわしています、VPoEの河合(@vaaaaanquish)です。 本記事はエムスリーアドベントカレンダー2024の最終日の記事にあたります。 エムスリーアドベントカレンダーには今年もギークな記事が揃っていますので、年末年始の技術研鑽のお供に是非どうぞ。 qiita.com はじめに ノベルティの下準備 digits plot wordcloud おわりに We are hiring !! エンジニア採用ページはこちら カジュアル面談…
3ヶ月前
記事のアイキャッチ画像
M3におけるGitHub Copilot活用状況
エムスリーテックブログ
北海道ツーリングにて訪れた野付半島 はじめに あっあっあー こんぺこ!こんぺこ!こんぺこー! 時期感的になんとなくこんな挨拶をしてみた @bloody_snow です。 M3エンジニアリンググループの2代目VPoEをつとめ、 @vaaaaanquish に交代してからは、 M3 Technologies にてM3のグループ会社をメインで担当しています。M3に関しては個別のサービス開発というよりかはGitHub Copilot、ChatGPT Team、GitHub Enterprise、比較的高性能なMacBookProの導入、AWSの教育受講など全体の生産性への取り組みが多くなっています。 …
3ヶ月前
記事のアイキャッチ画像
2024年、エムスリーエンジニアリンググループで行った組織的ステップチェンジ5選。
エムスリーテックブログ
皆さんこんにちは、こんばんは。スノーピークのノクターン*1をすでに持っているにもかかわらず、SOTOのヒノト*2を買ってしまった取締役CTO兼VPoPの山崎です。 せっかくなので違いをレビューしておくと、SOTOのヒノトはガスを充填して持ち歩ける専用タンクがあるのは便利なのですが、意外と容量が小さく、マニュアル通り連続燃焼時間は1〜2時間と意外と短いです。もちろん、ヒノトもスノーピークのノクターン同様、OD缶に直接接続すれば一晩以上連続燃焼できると思うので、ランプ側に問題はありません。そういえば、こういうときのためにキャンピングムーンのBKTC-28というOD缶互換ガスタンクを買っておいたな、…
3ヶ月前
記事のアイキャッチ画像
AI・機械学習チームベストMR(Merge Request)決定戦 2024
エムスリーテックブログ
この記事はエムスリー Advent Calendar 2024 23日目の記事です。 AI・機械学習チームの中村伊吹(@inakam00)です。 ソフトウェア開発において、優れたコードの変更は時としてアート作品のような美しさや、抜群の機能改善をもたらすことがあります。GitHubでPull Request(PR)を使ったことがある人なら、感動するようなコード修正に出会った経験があるのではないでしょうか。 エムスリーAI・機械学習チームでは、この感動を共有し称え合うために、年に一度「ベストMerge Request(MR)決定戦」を開催しています。MRとはGitLabのMerge Request…
3ヶ月前
記事のアイキャッチ画像
はじめてのOSSコントリビュート
エムスリーテックブログ
こちらはエムスリー Advent Calendar 2024 22日目の記事です。 こんにちは。2024/10 から AI・機械学習チームにジョインした鴨田です。 私が所属するAIチームには、機械学習やソフトウェア開発に深い知見を持つエンジニアが集まっています。日々のコードレビューや技術議論を通じて、「こんな考え方があったのか」「この実装方法は勉強になる」と新しい発見の連続です。今回のOSSコントリビュートは、チームメンバーがspotify/luigiの問題を特定し、コントリビュートの機会として共有してくれたことがきっかけでした。 本ブログでは私がエンジニア人生で初めてOSSコントリビュートし…
3ヶ月前