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

「英語話せない問題」を2時間のVibe Codingで解決してみた
9

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

自作結婚式受付アプリが当日バグり散らかして現場運用の大切さを噛み締めた話
296

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

自分の結婚式をLINE BotとAIでエンジニアリングしてみた話
24

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

GCPのテレメトリーのMCPサーバーを作ってボトルネックを発見する
45

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

「AIだけで正規表現ライブラリを作ってみた」というブログ記事もAIだけで書いてみた
22

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

AIだけで新アルゴリズムによる正規表現ライブラリを作ってみた
35

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

サクッとできる、型安全なスタブデータでの BigQuery テスト
38

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

WITH句てんこもりのSQLをデバッグする
262

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

Geminiに伴走してもらう仕様理解
3

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

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

Cline x MCP サーバーで入社後のシステム理解を効率化
39

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

あちらを立てればこちらが立たぬ...リファクタリングQA戦略
2

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

Firebase App Test Agent 自然言語のE2Eテストを試してみた
19

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

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

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

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

エムスリーが技術書典18で新刊を出します!
エムスリーテックブログ
エムスリーエンジニアリンググループ データ基盤チームでソフトウェアエンジニアをしている橋口 (@matsudo840) です。 技術書典18が2025/06/01に開催されます(オンライン開催は5/31-6/15)。 今回もエムスリーでは有志が集まり、新刊「エムスリーテックブック8」を携えて参戦します。 回を追うごとに着実にページ数が増えておりますが、ついに今回は268ページとなりました。 エムスリーのギークで技術を楽しむカルチャーがふんだんに詰まった一冊となっております。 オンラインでは5/31以降、こちらから購入いただけます! techbookfest.org この記事では皆さんに新刊を手…
24日前

Swift6対応で見えた課題とswift-dependenciesへのDI移行戦略
エムスリーテックブログ
【マルチデバイスチーム ブログリレー4日目】 こんにちは、マルチデバイスチームの藤原です。 私たちのチームでは、複数のSwift製のアプリを開発しており、Swift 6への対応を少しずつ進めています。 その過程で、依存性注入(DI: Dependency Injection)ライブラリとして利用してきた Needle が生成するコードと、将来的にSwiftで必須となる existential any *1 *2 との相性問題が顕在化してきました。 コード生成に依存するライブラリは言語仕様に大きな変更があると互換性の問題に悩まされることがよくあると思います。 今後のSwiftの進化に柔軟に対応し…
24日前

IntelliJ IDEA AIツール比較: Copilot vs AI Assistant
エムスリーテックブログ
【マルチデバイスチーム ブログリレー3日目】 マルチデバイスチーム(以下、マルデバ)の田根です。 主にサーバーサイドとインフラを担当していますが、必要とあればスマホアプリの開発も行うことがあります。 エムスリーではAIの活用を推進しています。 サーバーサイドおよびインフラ開発には IntelliJ IDEA を利用しています。 そこで IntelliJ IDEA上で手軽に導入できる代表的 AI ツールとして「JetBrains AI Assistant」と「GitHub Copilot」をピックアップし、実際に試用したうえで比較します。
25日前

Kotlin Multiplatform (KMP) でプラットフォーム固有の実装をcommonMainで扱う2つのアプローチ
エムスリーテックブログ
【マルチデバイスチーム ブログリレー2日目】マルチデバイスチームでモバイルアプリエンジニアをやっている小林 ([@bakobox](https://x.com/bakobox))です。マルチデバイスチームでは複数のアプリを開発していますが、一部のアプリではKotlin Multiplatform (以下KMP)を使ってロジックの共通化を行っています。KMPを使ってアプリの開発を行っていると、プラットフォーム固有のコードを扱わなければならない場面が必ず出てきます。プラットフォーム固有の実装をcommonMainからどのように扱えるようにするかは、KMPプロジェクトにおける重要な設計課題の一つです。本記事では、この課題に対処するための主要なアプローチである、1. `expect/actual`を使った方法2. DIフレームワークの管理に乗せる方法についてご紹介いたします。また2つ目の方法では、iOS側の実装をSwiftで行う方法もご紹介いたします。
1ヶ月前

過去の技術書典で頒布したイカしたナンバーを紹介するぜ!
エムスリーテックブログ
はじめに 皆さんこんにちは、こんばんは。最近『映画大好きポンポさん』を見て気分の良いVPoEの河合(@vaaaaanquish)です。 Amazonプライムで見られるのでオススメです。 さて、開催も迫ってきた技術書典18。エムスリーはスポンサーとして応援しています。そして、弊社からも有志で8冊目の新刊を頒布予定です。 本記事は、エムスリーテックブックの過去作を振り返りながら、エムスリーと技術書典の昔話をしていくものです。 はじめに 技術書典とエムスリー エムスリーテックブック 1~4 エムスリーテックブック 5 エムスリーテックブック 6 エムスリーテックブック 7 おわりに
1ヶ月前

マルチデバイスチームの8つのスマホアプリ、その技術選定を公開!
エムスリーテックブログ
【マルチデバイスチーム ブログリレー1日目】 エンジニアリンググループ・マルチデバイスチーム(以下、マルデバ)の星野です。 2年ほど前にスマホアプリ開発で採用している技術というブログを書きましたが、時間が経ち、採用している技術に更新があったり、新しいアプリもリリースされましたので、改めてマルデバで開発しているアプリとその技術選定について紹介します! アプリの数が多いため、各アプリの深掘りは行わず、アプリの概要 + 選定技術の紹介にとどめています。より詳しく知りたい方は方は、ぜひカジュアル面談・面接などでご質問ください!
1ヶ月前

『フルスクラッチして理解するSSL/TLS』の裏側
エムスリーテックブログ
【デジカルチーム ブログリレー6日目】デジカルチームの末永です。5月31日から開催される技術書典18で頒布するエムスリーテックブック8の、フルスクラッチして理解するSSL/TLSという章を担当しました。この章では、標準ライブラリ縛りでTLS 1.3のサーバーサイドを実装していきます。 techbookfest.org ここでは執筆の流れや小話などの裏側を書いていきます。
1ヶ月前

ECSのTask数がいつの間にか0に?Task消失事件の顛末
エムスリーテックブログ
【デジカルチーム ブログリレー5日目】 デジカルチームの井上 渉 (@wtr_in) です。米がなければということで、餅をよく食べています。実は餅はお正月以外も食べて良いんですよ皆さん。 さて、2024 年 7 月と結構前の話になりますが、AWS で以下のようなアップデートがありました。 aws.amazon.com このアップデートにより ECS が Task を起動する際にイメージを特定する挙動が変わったのですが、デジカルではその影響で、テスト環境の ECS Service の Task 数がいつの間に 0 になる というトラブルを経験しました。割とエッジケースなので、多くの方が遭遇するこ…
1ヶ月前

ジョブ実行基盤をリアーキテクチャし、コストを60%以上削減した話
エムスリーテックブログ
AIに生成してもらったイメージ画像 【デジカルチーム ブログリレー4日目】 こんにちは。デジカルチームでエンジニアをしている武井です。 デジカルチームでは、クラウド型電子カルテ、エムスリーデジカルを開発しています。 digikar.m3.com 今回は、非同期処理基盤のリアーキテクチャを実施し、性能も向上しつつインフラコストを60%以上削減できた話をご紹介します。
1ヶ月前

開発を止めない段階的フロントエンドリプレイスの実践 (3) 組織編
エムスリーテックブログ
フロントエンドリプレイスにおいて、プロジェクトを推進する上でのチーム体制や、円滑なコミュニケーション、そして品質を維持するための取り組みなど、組織的な工夫について紹介します。
1ヶ月前

社内で機械学習コンペ開催!ワイワイ楽しんだ1日をレポート
エムスリーテックブログ
こんにちは、AI・機械学習チームの氏家と農見です。 エムスリーでは、東京のみならず福岡・関西など全国各地にメンバーがおり、開発を進めています。 ただ、チーム全員での交流も大事ということで、AI・機械学習チームでは四半期に一度のペースでチーム全員で集まって様々なイベントを開催しています。 今回は、そのイベントの最新版として機械学習コンペを開いたので、その様子をご紹介します! 当日の様子 ちなみに、前回はGameDayと称して、開発環境で人為的に発生させた障害に対して、その対応のシミュレーションをしました。 こちらの記事で当日のワイワイした雰囲気を感じていただけるので、ぜひこちらもご覧ください! …
1ヶ月前

SQLでQuine書いたから見て見て
エムスリーテックブログ
このテックブログを「quine」で検索していただくとわかるんですが、エムスリーのエンジニアはわりとQuine好きです。Quine(クワイン)とは、文字列を打ち出すだけのプログラムであってその打ち出した文字列というのが自身のコードそのものになっているようなもののことです。 Perl, Python, Rubyなど、手続き型言語で書かれることの多いQuineなのですが、日頃業務でSQLを扱うことの多い私は思うわけです。SQLだって文字列を出力できる言語だぞ、Quine書けるんじゃと。エムスリーエンジニアリンググループUnit1(製薬プロモーション)/Unit9(治験臨床研究支援)エンジニアの三浦[…
2ヶ月前