エムスリーテックブログ

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

m3.com iOSアプリにホーム画面とロック画面のウィジェットを導入しました

こんにちは、マルチデバイスチームでモバイルアプリエンジニアをしている小林 (@bakobox) です。

先日、m3.com iOSアプリにホーム画面とロック画面用のウィジェットを実装しました。 エムスリーのiOSアプリでは初の導入ということもあり、ウィジェット実装に関する知見が得られたので共有いたします!

続きを読む

7年間放置されたRuboCopをチームワークと自動化の二刀流で改善した話

こんにちは。デジカルチームでソフトウェアエンジニアをしている武井です。

デジカルチームでは、クラウド型電子カルテ「エムスリーデジカル」を開発しており、メインのAPIサーバーとしてRuby on Railsを採用しています。

digikar.m3.com

今回、長年放置されてきたRuboCopの設定の見直し、運用の改善をチームで協力して行いました。この記事では改善の過程の一部始終をご紹介できればと思います。

この記事でも触れる「リファクタリングデー」の後に打ち上げで行った焼肉を楽しむ様子

続きを読む

読み取り専用 DB を Aurora から SQLite に移行してコストを 1/8 に削減した話

こんにちは。クラウド型電子カルテであるエムスリーデジカルのソフトウェアエンジニア兼 Team SRE をしている井上 渉(@wtr_in)です。キャベツ相場が落ち着いてきて一安心しています。

今回は、デジカルを構成するサービスの DB(基本的に読み取りのみ)を Aurora MySQL から Fargate 上の SQLite に移行し、性能も向上しつつ当該サービス全体のインフラコストを約 1/8 まで大幅に削減できた話をご紹介します。

続きを読む

MCPサーバーが切り拓く!自社サービス運用の新次元

こんにちは、エムスリーエンジニアリンググループ、コンシューマチームの園田です。本記事では、外部サービスとAIエージェントの連携を可能にするMCPプロトコルについて、技術検証の実装例を交えてお話しします。

1. MCPとは(ざっくり)

MCP(Model Context Protocol)とは、Anthropic社によって策定されたAIエージェントが外部サービスから情報を参照したり連携することを目的としたプロトコルです。 「MCPサーバー」は、GitHubやPostgreSQLといったリソースをMCPで喋れるように変換してあげるプロキシのようなサーバーです。 Claude DesktopやCursorなどはMCPクライアントの機能があり、GitHubなどのMCPサーバーを利用してナレッジとして利用したり、プルリクエストの作成なども行えます。

Introduction - Model Context Protocol

続きを読む

複雑なドメイン知識を身につける7つの方法

エンジニアリングチームの末永です。クラウド型電子カルテ・レセコンのエムスリーデジカルを開発しています。

  • はじめに
  • (1) コードレビュー
  • (2) 実装
  • (3) 分からないことをまとめる
  • (4) プロダクトのユーザー向けマニュアルを読む
  • (5) ユーザーからいただいた全てのお問い合わせに目を通す
  • (6) チーム外の人も分かるように説明する
  • (7) 資格を取る
  • ドメイン知識を身につけて役立ったこと
  • まとめ
  • We're hiring!

この記事では私がドメイン知識を身につけるために行っている取り組みを紹介します。

続きを読む

refresh tokenを使ってSalesforceのデータ連携をPythonでやる

こんにちは、Salesforceのデータを使って推薦システムを作ることになったAI・機械学習チームの農見(@rookzeno)です。Salesforceのデータを扱うエンジニアは、Salesforceのオブジェクトからデータをダウンロードして、Pythonでデータを加工して、他システムにアップロードしたくなる時があると思います。今回はその流れを書いていきます。

  • refresh tokenを取得する
  • refresh tokenを使ってデータをダウンロードする
    • Simple Salesforce
    • refresh tokenを使ってSimple Salesforceの認証をする
    • Simple Salesforceでデータをダウンロードする
  • 感想
  • 参考にしたブログ
  • we are hiring!
    • エンジニア採用ページはこちら
    • カジュアル面談もお気軽にどうぞ
    • インターンも常時募集しています
続きを読む

Rust で作る Step Functions が何でこけたかわかる君

こんにちは、AI・機械学習チームの苅野です。エムスリーに転職してそろそろ一ヶ月、今日も楽しくコードを書いています。

この記事では仕事の合間に作った Rust 製の CLI を紹介します。AWS Step Functions のステートマシンが途中で実行に失敗した時に何が原因で何回失敗したかを数えることができます。

続きを読む