エムスリーテックブログ
https://www.m3tech.blog/
エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです
フィード

エムスリーの GitHub 移行、SRE の道中記
エムスリーテックブログ
こんにちは。エムスリーで SRE エンジニアをしている伴です。 このブログは SRE チームブログリレー 5日目の記事です。 M3 Tech Blog でも AI を開発に活用した記事が多く出ていますが、弊社では開発への AI 活用が積極的に進められています。 その流れで、GitHub が構築している AI のエコシステムを積極的に活用するため、昨年末からセルフホスティング版の GitLab Server から GitHub Enterprise Cloud への移行を進めています。 SRE チームは、GitLab の運用経験を活かし、GitHub への移行支援と運用サポートを担っています。 …
5時間前

Claude Code SDKでClaude Code Webを作ってみる
24

エムスリーテックブログ
エンジニアリンググループ ゼネラルマネージャーの横本(@yokomotod)です。 このブログはSREチームブログリレー4日目の記事です。 昨日は山本さんによるSRE作業もGemini CLIで効率化する記事でした。 www.m3tech.blog 続けて今日もAIコーディング関連、Claude CodeのSDKが気になって触ってみた知見を紹介します。 言わずもがなClaude Codeは強力なツールで、最近はHooksなども登場し、拡張性もどんどん強化されています。 しかし、まだまだもっと自由に機能強化して「オレの最強のClaude Code」を作ってみたいですよね。 というわけで、Clau…
1日前

個人を活かしてチーム力も最大化する、属人性解消への取り組み方
41

エムスリーテックブログ
こんにちは。SREチームのチームリーダーをしている後藤です。 このブログはSREチームブログリレーの2日目の記事になります。 私がSREチームのチームリーダーに就任してからもうすぐ3年になります。 その間に様々な課題に取り組んできたのですが、中でもチームの属人性について考える機会は多くありました。 本記事ではSREチームが属人性の解消に向けてどう向き合ってきたか振り返りまとめていきたいと思います。 属人性についてディスカッションする動物たち generated by Gemini
4日前

SRE NEXT 2025 に行ってきました #srenext
エムスリーテックブログ
こんにちは! エムスリーエンジニアリンググループ、SREチームの平岡(@uhtter)です。 このブログはSREチームブログリレーの1日目の記事になります。 今年もこの季節がやってまいりました。 2025年7月11日と12日の2日間で開催された、 SRE NEXT 2025 に行ってきました。 今回の記事はその参加レポートです。 イベント公式マスコットの信頼けろぺん君。信頼性は高く、そしてかわいい。
5日前

Pythonのスタブライブラリを生成して、型ヒントのないライブラリも快適で堅牢に利用する
エムスリーテックブログ
AI・機械学習チームブログリレー13日目の記事を三浦 (@mamo3gr) がお送りします。 Pythonで型ヒントを補足するためのサードパーティのスタブライブラリにコントリビュートしました。 それを通して入門したスタブファイルの作り方を紹介します。 便利なPythonの型ヒント 型ヒントを補助するスタブライブラリ スタブファイルの作り方入門 stubgenで下地をつくる pathlib,importlib,inspectを組み合わせたモジュール・クラスの列挙と書き換え __init__ とフィールドの追加 その他、便利そうなツール 実際どれくらい便利になるか Before After まとめ…
17日前

Workload Identity Federationの安全を支える技術
エムスリーテックブログ
エンジニアリンググループ ゼネラルマネージャーの横本(@yokomotod)です。 このブログはAI・機械学習チームブログリレー 12日目の記事です。 ちょうど昨日の大垣さんの記事でも触れられていましたが、エムスリーではWorkload Identity Federation(以下WIF)*1を活用して、秘密情報を持つことなくGitLabのCI/CDからGoogle Cloudへ認証しています。 偶然ですが、昨日の活用方法の話に続き、今日はその裏側寄りの話をしようと思います。 www.m3tech.blog なぜWIFは秘密情報なしに安全にアクセスできるんでしょうか? 攻撃者がなりすまそうとし…
18日前

GCPでVertex AIを使ってAIコーディングエージェントの認証をセキュアでポータブルに管理してみる
エムスリーテックブログ
こんにちは、機械学習エンジニア / CTOの大垣です。 このブログはAI・機械学習チームブログリレー 11日目の記事です。 前日は池嶋さんによる 「先週何したっけ?」をゼロに:Obsidian + Claude Codeを業務アシスタントに - エムスリーテックブログ でした。 後段にAI活用があることで結果的にメモ習慣も改善されるなぁと思いました。 さて、本日もAI活用の記事ですが、社内、特にAIコーディングエージェントから利用するときの認証の話をしようかなと思います。 みなさんの会社ではAIコーディングエージェントの認証管理どうしていますか? エムスリーでは、Gemini、Copilot、…
19日前

「先週何したっけ?」をゼロに:Obsidian + Claude Codeを業務アシスタントに
エムスリーテックブログ
AI・機械学習チームの池嶋 (@mski_iksm)です。 このブログはAI・機械学習チームブログリレー 10日目の記事です。 前日は鴨田さんによる「BigQueryのCronJob向けQAテストを自動化した話」でした。 2025年6月現在、MarkdownエディタのObsidianが注目を集めています。 これはLLM(大規模言語モデル)の活用が普及し、ObsidianとAIを組み合わせることで、単なるメモツールを超えた「知的業務アシスタント」として機能するようになった点が要因の1つと言えるでしょう。 従来のメモツールが「記録」に留まっていたのに対し、AIとの連携により「記録→検索→分析→洞察…
20日前

BigQueryのCronJob向けQAテストを自動化した話
エムスリーテックブログ
AI・機械学習チームの鴨田です。このブログはAI・機械学習チームブログリレー 9日目の記事です。 年末休みに話題の書籍『Tidy First?』を読みました。コード整理の実践的な手法や作業粒度によるトレードオフなどを学び、「最初から完璧な設計なんてできるわけない。コード品質を保つための整理が大切だよなー」と改めて実感しました。 品質を保ちながら開発速度を上げるには、信頼できるテストが欠かせません。これは開発における普遍的な真理ですが、特にQA環境でのテストは地道で骨の折れる作業になりがちです。皆さんの現場でも、似たような課題を抱えているのではないでしょうか? 今回は手動で実施しているQAテスト…
21日前

退屈な分析はAIにやらせよう
エムスリーテックブログ
AI・機械学習チームの氏家 (@mowmow1259)です。 このブログはAI・機械学習チームブログリレー 8日目の記事です。 前日は高田さんによる「BETWEENに気をつけろ! BigQueryの日次集計で罠にハマった話」でした。 最近LLMによるVibe Codingが世間を賑わせています。 エムスリーでも積極的にコーディングエージェントの導入が進んでおり、かくいう私もClaude Code君がいないと生きていけない体にされてしまいました。 コーディングエージェントのおかげで典型的な開発タスクはかなり効率化されてきているものの、面倒なタスクもまだまだ残されています。 分析です。 前日の高田…
22日前

BETWEENに気をつけろ!BigQueryの日次集計で罠にハマった話
エムスリーテックブログ
こんにちは。AI・機械学習チームの高田です。このブログはAI・機械学習チームブログリレー7日目の記事です。 はじめに 私たちAI・機械学習チームでは、機械学習モデルの学習データ準備やデータパイプライン開発のために日次でのデータ集計をしています。これらの集計データは、モデルの精度評価や特徴量エンジニアリングにおいて重要な役割を果たします。 先日、月次レポートを作成する際に、とあるログデータの日次集計の合計値と月次集計の値に差異があることに気づきました。単なるデータ欠損にとどまらない重大なバグの可能性もあるため、原因を徹底的に追求することが必要でした。
23日前

API Key 無しで Gemini をセキュアに Google Apps Script から利用する
エムスリーテックブログ
本文に関係ないドッグランに行ったときの犬たち こんにちは、AI・機械学習チームの山本(@hiro_o918)です。 このブログは AI・機械学習チームブログリレー 5 日目の記事です。 これまでのリレー記事でも出てきたように、弊社でも AI を活用したプロダクト開発が進んでいます。 それに加えてビジネスサイドでも AI 活用が進んでおり、OSS 版 Dify を導入・運用したり、Google Workspace に付帯する Gemini を活用したりしています。 このような状況から、AI 機能の実装に関してビジネスサイドから相談を受ける機会が多いのですが、その際には利便性だけでなくセキュリティ…
25日前

「英語話せない問題」を2時間のVibe Codingで解決してみた
エムスリーテックブログ
AI・機械学習チームの中村伊吹(@inakam00)です。 このブログはAI・機械学習チームブログリレー 4日目の記事です。前日は苅野(@hkford3)さんの結婚式ネタでした。今回は新婚旅行ネタです。 先日新婚旅行でハワイへ行くことになりました。楽しみな反面、1つ大きな不安がありました。 ハワイの夕焼け 英語話せない問題 それが英語話せない問題です。 簡単な英会話ならできるものの、複雑な話を伝えることは難しいです。 そのほかにも、発音がうまくできずに伝わらなかったり、現地の訛りがあったりすると、いよいよ大変になってしまいます。 万が一に備えて、何か対策をしておきたいと出国前から考えていました…
1ヶ月前

自作結婚式受付アプリが当日バグり散らかして現場運用の大切さを噛み締めた話
エムスリーテックブログ
こんにちは、先月結婚式を挙げて一息ついた AI・機械学習チームの苅野(@hkford3)です。 このブログはAI・機械学習チームブログリレー 3日目の記事です。前日は@inakam00が結婚式をLINE BotとAIでエンジニアリングしてみた話でした。今日の記事も結婚式の話です。結婚式はなんぼあってもいいですからね。 結婚式の受付では新郎新婦の知り合いが担当する受付で名前を名乗り参列登録することが多いです。名前を聞き返したり漢字を聞いて名簿と照会したりと意外と受付はやることが多くて大変そうでした。そこで受付の負担を減らそうと思い QR コードで受付登録ができるアプリを作ったところ、期待とは逆に…
1ヶ月前

自分の結婚式をLINE BotとAIでエンジニアリングしてみた話
エムスリーテックブログ
AI・機械学習チームの中村伊吹(@inakam00)です。 このブログはAI・機械学習チームブログリレー2日目の記事です。 記念すべき1日目は北川さん(@kitagry)の「GCPのテレメトリーのMCPサーバーを作ってボトルネックを発見する」でした。 この前結婚式を挙げたんですが、「せっかくだから何かエンジニアらしさを見せたいな」と思い、「結婚式スマイル集める君」というLINE Botを開発して式中に運用しました。 技術で結婚式を盛り上げたい方の参考になれば嬉しいです。 これは記事とは何も関係のない、地元の青森・正立食堂のうに御前です。一生分のうにを食べました。 なぜ作ったのか 「結婚式スマイ…
1ヶ月前

GCPのテレメトリーのMCPサーバーを作ってボトルネックを発見する
エムスリーテックブログ
AI・機械学習チームの北川(@kitagry)です。 このブログはAI・機械学習チームブログリレー1日目の記事です。 最近Claude Codeがとても流行っている気がしますね。 Vimmerである僕としてはCLIで使えるClaude Codeはとてもありがたいです。 NeovimでもDiffを出したり出来るclaudecode.nvimをとても愛用しています。 カメラを見つめる猫 ※本編には関係ありません
1ヶ月前

「AIだけで正規表現ライブラリを作ってみた」というブログ記事もAIだけで書いてみた
エムスリーテックブログ
エムスリーでエンジニアをしている山本です。 先日、FlowRegexという名前の正規表現ライブラリをAIで作成したという記事を投稿させていただきました。 www.m3tech.blog 生成AIへの最後の指示 AIとの議論 AIによる実装 まとめ We are hiring!
1ヶ月前

AIだけで新アルゴリズムによる正規表現ライブラリを作ってみた
エムスリーテックブログ
こんにちは。今回は、GeminiとClaude 4という2つのAIアシスタントだけを使って、正規表現ライブラリを一から作成した体験をお話しします。 きっかけ:古い理論への興味 驚異的な開発速度:正味数時間で完成 AIアシスタントによる開発プロセス 役割分担の自然な発生 AIによるコード生成の質 学術論文レベルの理論整備 Abstract(概要)の自動生成 先行研究との詳細比較 理論的基盤の文献調査 完成したライブラリの機能 基本機能 高度な機能 AIアシストの革新的側面 1. 理論の現代的解釈 2. 包括的なテスト設計 3. ドキュメント作成の自動化 4. 段階的な機能拡張 開発体験から見えた…
1ヶ月前

サクッとできる、型安全なスタブデータでの BigQuery テスト
エムスリーテックブログ
はじめに はじめまして。基盤開発チーム/Unit3を兼務している林です。 エムスリーではデータ基盤として BigQuery を全社的に使っていますが、 BigQuery を使ったアプリケーションやバッチを実装するときに、テストをどうするべきかは難しい問題です。*1 本記事では、BigQuery で記述されたロジックのテストの難しさを解決できるひとつの手法として、簡単に導入できるスタブデータを使うクエリの書き方を紹介します。*2 詳細は後述しますが、以下のようなメリットがある手法です。 BigQuery 以外のツールを使わず、実際の BigQuery での文法や挙動を確かめられる 何もリソースを…
1ヶ月前

WITH句てんこもりのSQLをデバッグする
エムスリーテックブログ
巨大なSQLの出力が意図と違っていたり違っているかもしれないとき、どこから確認しようか頭を抱えてしまうことってありますよね。せめて多段階で作られているたくさんのCTE (WITH句)、これらが一つずつどんな表を出力しているのか簡単にのぞけたら手がかりもあるのだけれど⋯ 今回はそれをわりと現実的な手間でできるようにする小技です。エムスリーエンジニアリングループUnit1(製薬プロモーション)/Unit9(治験臨床研究支援)エンジニアの三浦[記事一覧 ]です。
1ヶ月前

Geminiに伴走してもらう仕様理解
エムスリーテックブログ
【QAチームブログリレー5日目】 こんにちは! エムスリーエンジニアリンググループ QAチームの城本(@yuki_shiro_823)です。 先日から新しく電子カルテを開発しているデジカルチームとの兼任を始めました。初めて触るプロダクトで効率的に知識を吸収するための「伴走者」として、Geminiを使ってみたのでやったことをご紹介します。 伴走してもらってるイメージ こちらもAIに仕様理解を助けてもらっている記事です。よろしければ合わせてどうぞ。 www.m3tech.blog 仕様理解へのAI導入背景 Geminiとの伴走で進めるオンボーディング Geminiに助けられている部分 チームメンバ…
1ヶ月前

技術書典18に参加してきました!
エムスリーテックブログ
エムスリー データ基盤チームの橋口 (@matsudo840) です。 エムスリーエンジニアリンググループの有志で6/1に開催された技術書典18オフライン開催にサークル参加しました。興味を持っていただいた方、ブースにお越しいただいた方、お買い上げいただいた方、本当にありがとうございました。 techbookfest.org この記事では参加記として、技術書典18オフライン開催を写真とともに振り返ります。
1ヶ月前

Cline x MCP サーバーで入社後のシステム理解を効率化
エムスリーテックブログ
【QAチーム ブログリレー4日目】 AIを使ってサービスを理解しようとする人(今回の記事のイメージ) はじめに はじめまして、QAチームの草場です。 5月に中途入社して1ヶ月が経ちました。 以前の会社には新卒以来長く勤めていて、今回が初めての転職なので日々新鮮に感じることが多いですが、優秀なエンジニア陣の力を借りながら奮闘しているところです。 この記事では、既存サービスの開発チームに途中から入ることになったQAが、既存サービス理解のために工夫したことを共有します。
1ヶ月前

あちらを立てればこちらが立たぬ...リファクタリングQA戦略
エムスリーテックブログ
ソフトウェアテストで悩んでいる人をAI画像生成してもらいました。イメージとピッタリ。すごい。 【QAチーム ブログリレー3日目】 エンジニアリンググループ QAチームの末吉です。前回の記事ではいつか英雄ポロネーズを弾いてみたい...なんて書いていたようですが、なんと私の今の課題曲が英雄ポロネーズです。2年前の私がびっくりするでしょうね。
1ヶ月前

Firebase App Test Agent 自然言語のE2Eテストを試してみた
エムスリーテックブログ
【QAチーム ブログリレー2日目】 こんにちは。逝去から1年経っての俄かポール・オースター2巡目通読、追憶がちなマルチデバイスチームQA前川です。 チームで開発する複数アプリとサーバサイドのQAでAI活用による効率化が求められる中、Firebase App DistributionのApp Test Agent機能がAndroidでプレビューリリースされた、ということで試してみました。 自然言語テストなので厳密な記述は不要で与しやすいかと思いきや、自然言語ゆえに意外なところでやや手間どった初動という感触でした。 App Test Agentとは 有効化 テストケース記述&実行 所感 We ar…
1ヶ月前

m3.com における全員 QA への取り組み
エムスリーテックブログ
【QA チーム ブログリレー1日目】 こんにちは。エンジニアリンググループ QA (Quality Assurance) チームの津向です。 健康診断前は気を付けていましたが、すっかり生活習慣が戻ってしまいました。 さよなら、ワカメ、納豆、フィットボクシング。 こんにちは、ラーメン、餃子、ピザ、ポテト。 おいしいつけ麺。ソウルフード。 私が所属するUnit4(医療系ポータルサイトm3.comの開発・運営を担当するチーム)では、「全員QA」の考え方のもと、エンジニアも品質保証に積極的に関わる取り組みを進めています。 www.m3tech.blog エムスリーにおけるQAは、単に不具合を見つけるだ…
1ヶ月前

6年10ヶ月続けた技術顧問を卒業しました & 入社しました
エムスリーテックブログ
はじめに はじめまして。2025年5月1日にエムスリーに入社した藤原聖です。 好きな日本酒は十水と福小町、注目している再開発は高輪ゲートウェイシティ、週末は有明ガーデンかららぽーと横浜にいます。 この度、6年と10ヶ月続けた技術顧問を辞め、ゼネラルマネージャーの一人としてエムスリーに入社しました。合わせて、2024年4月1日に設立されたエムスリーテクノロジーズのVPoEに就任することになりました(6月にはVPoE兼取締役に就任の予定です)。 入社日にCPO兼CAIO山崎さん、VPoE河合さん、CTO大垣さんと。山崎さんはGWの休暇中に駆けつけてくれました。 本記事は入社エントリとなります。
2ヶ月前

m3.com 電子書籍アプリ Androidで持続可能な開発を行うための式年遷宮(リファクタリング)
エムスリーテックブログ
【マルチデバイスチーム ブログリレー5日目】 エンジニアリンググループ マルチデバイスチームの渡辺です。 m3.com 電子書籍アプリはエムスリーで開発しているスマホアプリの中で最も歴史のあるアプリです。 アプリの機能やデザインのリニューアルをしたい、しかし長年積み続けてきた技術的負債がそれを妨げ、簡単そうに見える改修でさえ難しいという状態でした。継続的な開発を可能とするためにどのように式年遷宮(リファクタリング)をしているか紹介します。 iOSは先行してリファクタリングが完了しており、今回はそれに追従するかたちで進めているAndroid側の内容です。
2ヶ月前