エムスリーテックブログ

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

2025-01-01から1年間の記事一覧

AI・機械学習チーム Best Pull Request決定戦 2025

こんにちは。AI・機械学習チームの氏家(@mowmow1259)です。 この記事はエムスリーアドベントカレンダー2025を勝手に延長して26日目の記事として書いています。 みなさんは今年1年を振り返って、最も印象に残ったPull Requestはありますか? 大きな機能追加…

紅白vsプログラミング!?年末年始はプログラミングクイズで過ごしませんか

今期は『SANDA』を推して観ていました、エムスリー株式会社 VPoEの河合(@vaaaaanquish)です。 サンタクロースをテーマにしているだけに「信じる」について改めて考えさせられる良いストーリーでした。最終回グッと来ましたね。 年末年始は、アニメも多くがお…

pmconf 2025 大阪登壇、東京参加と参考になったセッションを振り返るなど。

皆さんこんにちは、こんばんは。今週月曜日に、3年ちょい使った会社のM1 MacBook Proの日本語キーボードからM4 MacBook Proのいまさら英語キーボードに乗り換えたら、指がつりそうなエムスリー取締役CPO/CAIOの山崎です。でも39年使い続けたJIS配列からANSI…

正規表現すぐ忘れるのでビジュアルプログラミングツールを作った ~ Blocklyで簡単にビジュアルDSL作ろう ~

皆さん、DSLを作ることってありますか? 複雑な設定が可能な社内ツールを作るとき、 「DSLを許容したら自由度が上がって素敵では?」 と思うこと、ありますよね。 私個人としては、エンジニア向けのインタフェースとして、DSLで社内ツールを作ると、作る当時…

NVFP4: 4ビットの浮動小数点でLLMを学習する仕組み

こんにちは、AI・機械学習チームの髙橋です。 この記事はエムスリー Advent Calendar 2025 22日目の記事です。前日は同じAI・機械学習チームの鴨田さんによる LLMによって非定形の会話ログを価値あるFAQデータにする話 - エムスリーテックブログでした。 迎…

LLMによって非定形の会話ログを価値あるFAQデータにする話

AI・機械学習チームの鴨田です。 この記事はエムスリー Advent Calendar 2025の21日目の記事です。 20日目は星川さんのSlackワークフロー使いこなせてる?進化したトリガーとリストで実現するハックでした。 サムネ TL;DR 問い合わせログからFAQ記事を自動生…

Slackワークフロー使いこなせてる?進化したトリガーとリストで実現するハック

はじめに 本記事は、M3 Advent Calendar 2025 20日目の記事です。 Unit3の星川 (@oboenikui) です。 Unit3では、主に医学書の電子書籍サービスや、医師の開業サポート、会員優待などのサービスを担当しています。 弊社ではチャットツールとしてSlackを使用し…

プロダクトマネージャーに商売センスが必要な理由と磨き方

こんにちは。エンジニアリンググループ プロダクト支援チームでPdMをしている中村です。この記事はエムスリー Advent Calendar 2025の19日目の記事です。 18日目は山本さんの「Google Cloud コンテナイメージの脆弱性スキャンを自作 OSS で運用する」でした…

Google Cloud コンテナイメージの脆弱性スキャンを自作 OSS で運用する

こんにちは、AI・機械学習チームの山本(@hiro_o918)です。 この記事はエムスリー Advent Calendar 2025 18 日目の記事になります。 17 日目は北川さんの「わたしの Language Server にはパーサーが2種類あんねん」でした。 はじめに 皆さんは脆弱性の検知…

わたしのLanguage Serverにはパーサーが2種類あんねん

AI・機械学習チームの北川です。 この記事はエムスリー Advent Calendar 2025の17日目の記事です。 16日目は須藤さんのAIに正しく分析してもらうためのテーブル設計戦略でした。 猫も2種類に増えました。猫もそれぞれ性格が違ってそれぞれの良さがあります…

AIに正しく分析してもらうためのテーブル設計戦略

この記事はエムスリー Advent Calendar 2025 16日目の記事です。 こんにちは、AI・機械学習チームの須藤です。 現在は、BigQuery上のデータを自然言語で分析できる社内向けプロダクトを開発しています。本記事では、AIに正しくデータを分析してもらうために…

実用 Algebraic Effects and Handlers ~本番環境で OCaml を利用するために~

記事のイメージ画像を gemini に生成させたもの 本記事はエムスリー Advent Calendar 2025 15 日目の記事です。 OCaml が好きです。 元々好きでしたが、バージョン 5 からはマルチコア対応が入り、更に好きな要素が増えました。 それは前回も紹介した Algebr…

「継続」は力なり - 継続を知り、Promiseの限界を超え、Effect Systemへ

本記事は、M3 Advent Calendar 2025 14日目の記事です。 はじめまして。エンジニアグループ、コンシューマーチームの松本と申します。 今回は、「継続 - Continuation」の本質を理解し、Promiseやasync/awaitでは解決できない課題を明らかにした上で、それを…

アジャイル開発で準備した五目並べAI対戦イベントが盛り上がった話

こんにちは。エムスリーのAI・機械学習チームの高田です。 このブログはエムスリー Advent Calendar 2025 13 日目の記事です。 AI・機械学習チームはメンバーが福岡から北海道まで、様々な地域のメンバーから構成されています。そこで、チームビルディングデ…

新しい環境から私のこれまでの蓄積を振り返ってみる

この記事はエムスリー Advent Calendar 2025 12日目の記事です。 医療従事者向けポータルサイト「m3.com」のサイトプロモーションを行うチームに所属している岸田と申します。 実は今年、妻ともアドベントカレンダーをやっており、毎日プレゼントを送り合っ…

Goでgo fmtしたくないコードを書いた(Go版Quine)

この記事はエムスリー Advent Calendar 2025 11日目の記事です。 AI・機械学習チームの中村伊吹(@inakam00)です。 早速ですが、こちらをご覧ください。 package main;import(b"encoding/base64";f"fmt";s"strings");func main() {r:=s.ReplaceAll(s.Replac…

gitの履歴を維持したまま、リポジトリを1つに統合する

こんにちは。AI・機械学習チームの苅野です。 このブログはエムスリー Advent Calendar 2025 10 日目の記事です。API と Batch でリポジトリが分かれているプロダクトを 1 つのリポジトリに統合しようと考えて検証を行い、 「既存リポジトリで git mv してか…

TSKaigi Hokuriku後日談 ~どのようにHTMLを型で表現しているか~

この記事はエムスリー Advent Calendar 2025 9日目の記事です。 デジスマチームの小島(@jiko_21)です。 TSKaigiの次の日に行った近江町市場での新鮮な牡蠣とのどぐろ。おいしかったです。 今回は自分が趣味で実装しているhtml-typeというプロジェクトにて行…

Rails アプリケーションへの型導入検討

この記事はエムスリー Advent Calendar 2025 5日目の記事です。 エムスリーエンジニアリングG コンシューマーチームの松原です。 Rails アプリケーション開発で型が欲しいと思ったことありますか? 正直なところ、筆者はそれほど必要ないと考えていました。…

GuardDutyの通知を仕分けたい。特にサンプル大量通知問題をなんとかしたい。

こんにちは。SREチームのチームリーダーをしている後藤です。 このブログはエムスリー Advent Calendar 2025 7日目の記事になります。 我が家の子供達は今年は初めて(本物の)アドベントカレンダーを手に入れて毎日楽しそうに開封しています。 そんな様子を微…

gokartで実現する、ステートレスで低コストなLLMタグ付けバッチ

この記事はエムスリー Advent Calendar 2025 6日目の記事です。 AI・機械学習チームの池嶋(@mski_iksm)です。 gokartは、AI・機械学習チームのメンバーを中心にOSSとして開発されているパイプラインツールであり、チーム内のほとんどのPythonプロダクトで…

セキュリティアセスメントシートに高度精密な回答をもたらす生成AI

お疲れ様です。エムスリーの山本です。 各種の業務を担当させていただいておりますが、今回はセキュリティについて書かせていただきたいと思います。このブログはエムスリー Advent Calendar 2025 5日目の記事になります。 今回のお題は「生成AI x セキュリ…

GitHub のマージ方式を人間に毎回選ばせるのは、もうやめよう(やめた)

エムスリー Advent Calendar 2025 4 日目の記事です。 クラウド型電子カルテのデジカル開発チームで色々なことをやっている井上 (@wtr_in) です。一年を通して伊藤園の天然ミネラル麦茶を愛飲していますが、最近どうも味が変わった気がしています。(しませ…

引数でアスキーアートが変化するSwift Quineの仕組みをフローチャートで解説

この記事はエムスリー Advent Calendar 2025 3日目の記事です。 こんにちは、エンジニアリンググループ マルチデバイスチームの藤原です。 皆さんはQuine(クワイン)をご存知でしょうか。 Quineとは、「自身のソースコードと完全に同じ文字列を出力するプロ…

アーキテクチャカンファレンス2025に参加してきました!

Unit7 リサーチプロダクトチームの佐藤(@riku929hr)です。 ブログにするのが少し遅くなってしまいましたが、Findy Toolsさん主催のアーキテクチャカンファレンス2025に参加してきました。 弊社VPoEの河合が登壇するセッションもありました! https://archi…

goroutineを作ってみる。Rustで

この記事はエムスリー Advent Calendar 2025 2日目 兼 マネジメントチームブログリレー9日目の記事です。 こんにちは、エンジニアリンググループ General Manager 兼 基盤チームリーダーの横本(@yokomotod)です。 今回はgoroutineについての自由研究です。 …

PHPのセッション管理入門

こんにちは。エンジニアリンググループGMの高島です。 マネジメントチームブログリレー8日目の記事を担当します。7日目は河合さんの『今年もエムスリーアドベントカレンダー開幕します!』でした。 そう、これは エムスリー Advent Calendar 2025 1日目の記…

今年もエムスリーアドベントカレンダー開幕します!

最近、娘と一緒にはじめたポケモンGoにハマり過ぎて無限に散歩をしている、エムスリーVPoEの河合(@vaaaaanquish)です。 本記事は、エンジニアリンググループマネジメントチームのブログリレー7日目の記事です。6日目は木田さんの『テーブルとテーブルをざっ…

テーブルとテーブルをざっくりと比較する

こんにちは。エンジニアリンググループGMで、データ基盤チームリーダーの木田です。この記事はマネジメントチームブログリレー6日目の記事です。 前回は藤原さんの Claude Codeを手懐けてAndroidアプリ高速リファクタリング でした。 はじめに 今年、エンジ…

Claude Codeを手懐けてAndroidアプリ高速リファクタリング

こんにちは。エンジニアリンググループ GMの藤原聖です。このブログはマネジメントチームブログリレー 5日目の記事です。前回は窪田さんの、ローコードツールから Playwright 移行への道 2025 でした。 私はマルデバ・デジカル・デジスマという3つのチームの…