エムスリーテックブログ

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

フルスクラッチして理解するOpenID Connect (3) JWT編

こんにちは。デジカルチームの末永(asmsuechan)です。この記事は「フルスクラッチして理解するOpenID Connect」の全4記事中の3記事目です。前回はこちら。 www.m3tech.blog

フルスクラッチして理解するOpenID Connect (2) トークンエンドポイント編

こんにちは。デジカルチームの末永(asmsuechan)です。この記事は「フルスクラッチして理解するOpenID Connect」の2記事目です。前回はこちら。 www.m3tech.blog

フルスクラッチして理解するOpenID Connect (1) 認可エンドポイント編

こんにちは。デジカルチームの末永(asmsuechan)です。 この記事では、OpenID Connect の ID Provider を標準ライブラリ縛りでフルスクラッチすることで OpenID Connect の仕様を理解することを目指します。実装言語は TypeScript です。 記事のボリュームを…

間質性肺炎を検出するAIを開発し、その有効性を検証した研究を論文化しました

こんにちは、AI・機械学習チームの浮田です。最近、私が筆頭著者の論文が公開されたので、今回はその紹介をします。 発表した論文はこちらです: www.ncbi.nlm.nih.gov この論文では、 胸部X線 (レントゲン) から間質性肺炎を検出するAIの評価を行いました。…

Goaのlinterを作った: Goalint

Go

永山です。 本記事では筆者の開発した、Go製のWebフレームワーク Goa (v3) 向けのlinterツール goalint を紹介します。 些細な間違いの検知を人間に頼ることはやめたい Goa とは モチベーション 既存のlinter goavl IBM OpenAPI Validator goalint 使用方法 …

PIVOT Growth DriversにVPoE河合とCTO山崎がダブルで出演しました

はじめに 最近アークナイツというゲームにハマっています、VPoEの河合(@vaaaaanquish)です。 皆さんは、PIVOTというYouTubeチャネルをご存知でしょうか。 PIVOT株式会社さんが運営しているビジネスチャンネルで、登録者100万人超え、様々なスペシャリストや…

型を少し工夫して、より安全なコードへ

こんにちは、デジスマチームでエンジニアをやっている堀田です。 これまで、TypeScriptの型で色々試したことがあります。 2年前: TSの型で麻雀の点数計算 最近: 型で足し算 遊ぶことの方が多かったですが、先日M3 TechTalkで実用的かも?と思える話をしまし…

230回続く社内LT大会の忘年会が盛り上がった件について

オフライン用にSlackのTechTalkチャンネルから情報取得して名札を作るスクリプトを書いたところ出来上がってしまったSimple Pollさんの名札。本文とは関係ありません。 新年あけましておめでとうございます。 年末年始は『BURN THE WITCH #0.8』が最高でした…

AI・機械学習チーム最強MR(Merge Request)決定戦2023

AI・機械学習チームの(中村@po3rin)です。 今年もこの季節がやってきました。エムスリーAI・機械学習チームの最強MR決定戦のお時間です。 MRとはMerge Requestの略称です。 GitHubでいうところのPR (Pull Request) にあたります。 この記事ではAI・機械学習…

DMARCの対応って進んでますか?

こんにちは。エムスリーでSREやセキュリティに従事している山本です。 以前に、「Gmailのメール認証規制強化への対応って終わってますか?」という記事を書かせていただいておりますが、そこでちょい出しだけしたDMARCについて書かせていただきたいと思いま…

2023年は3段階でシフトチェンジ!2024年はさらに加速してやっていきます!

皆さんこんにちは、こんばんは。昨年、スノーピークのIGTフレームのノーマル(3ユニットのほう)を2つ買ったにも関わらず、年内途中でVERNEのVST Maestro SYSTEM TABLE Blackを2つ調達し、4ユニットx2になってしまって相変わらずな取締役CTO兼VPoPの山崎です…

ギークでスマートな人達が活躍する組織を支える3つのポイント

長女と2人で水族館に行ったときの写真。帰路のバスで「2人でまた来たいねえ」と言われて泣きました。例のごとく本文とは全く関係がありません。 はじめに こんにちは。最近、ダンダダンのアニメ化が発表され、嬉しい気持ちのエムスリー エンジニアリンググル…

ノーコードツールの高度な処理をコードで実装!iOS・macOSのショートカットアプリで手軽に定形プロンプト

ChatGPTにダジャレを生成してもらうためのプロンプトを作ったので、iOS・macOS向けノーコードツールのショートカットアプリを使って、即座にダジャレを生成できるようにします。

3年間Stripe Connectを運用した経験を共有します

こちらはエムスリー Advent Calendar 2023の22日目の記事です。 こんにちは、エムスリーエンジニアリンググループ、デジスマ診療チームの山本 (id:shunyy) です。 医療機関向けSaaSであるデジスマ診療は、開発開始からちょうど3年が経ち、現在では予約・問診…

無駄な仕事を増やしてませんか? ~ MLの実行パイプラインで重複作業をなくす ~

DALL-Eで作成した「並列でジョブを実行しているときに、重複するタスクを省略している様子」のイラスト。並行して働く2組のwoker達が、重複タスクを見つけて整理しているようです。 こちらはエムスリー Advent Calendar 2023 21日目の記事です。 こんにちは…

メール配信システムを SaaS から新規社内システムへ移行した

この記事はエムスリーAdvent Calendar 2023の20日目の記事です。 エムスリーエンジニアリングG コンシューマチームの松原(@ma2ge)です。 今回はコンシューマチームで利用していたSaaSのメール配信システムを、新規に開発した社内システムに移行した経緯や設…

超一流のプロダクトマネージャーへの道:世界観編

この記事はエムスリーAdvent Calendar 2023の19日目の記事です。 こんにちは。エンジニアリンググループ プロダクト支援チームでプロダクトマネージャーをしている中村です。日々、取締役CTO/VPoPの山崎から学び、超一流のプロダクトマネージャーを目指して…

pandasのSeriesとMagicMockの併用でハマった件

この記事はエムスリーAdvent Calendar 2023の18日目の記事です。 AI・機械学習チームの高田です。 AI・機械学習チームではデータパイプラインを構築する機会が多く、パイプラインの中でpandasを活用しています。 今回はpandasのSeries型を扱う関数の単体テス…

世にも奇妙なQUERY関数 ~冬のスプレッドシート特別編~

この記事はエムスリーAdvent Calendar 2023の17日目の記事です。 こんにちは、エムスリーエンジニアリンググループ/ BIR(Business Intelligence and Research) チーム の遠藤(@en_ken)です。 皆さんGoogleスプレッドシート使っていますか? エンジニアだとあ…

アラート対応に追われる日々にサヨナラ!効率化できる仕組み作りのポイント

アラート対応に追われる日々にサヨナラ!効率化できる仕組み作りのポイント。アラート対応をより効率的に行えるアラート設計のポイントを紹介します。

Idempotency-Keyヘッダによるマイクロサービスの冪等性の担保

こちらはエムスリー Advent Calendar 2023の15日目の記事です。 デジスマチームの田口です。 去年のアドベントカレンダーでイベント駆動アーキテクチャの記事を書きましたが、ありがたいことにデジスマ診療のサービスとしての成長も著しく、開発も一層活発に…

デジカルiOSアプリの歴史

こちらはエムスリー Advent Calendar 2023の14日目の記事です。 こんにちは、デジスマチームの堀田です。普段はデジスマチーム*1でWebフロントとバックエンドの開発を行なっていますが、 サブタスクとしてデジカル*2のiOSアプリの改善も行なっています。 改…

Axon Framework で簡単にEventSourcing+CQRSなアプリケーションを作る

この記事はエムスリーAdvent Calendar 2023の13日目の記事です。 こんにちは、製薬企業向けプラットフォームチームエンジニアの桑原です。 前回のJJUG CCC の登壇についてのブログで Axon Framework について軽く触れました。今回はAxon Frameworkがどのよう…

GKEでMLバッチ運用のコツ

この記事はエムスリーAdvent Calendar 2023とMLOps Advent Calendar 2023の12日目の記事です。 AI・機械学習チームの北川です。 最近は猫のかまってアピールがすごすぎて、よく仕事の邪魔されます。 かまって欲しがる猫 現在AI・機械学習チームではMLのバッ…

機械学習モデルのA/BテストをしやすくするGo言語のAPI設計

こちらはエムスリー Advent Calendar 2023 11日目の記事です。 DALL-Eでサムネ作るの楽勝だぜとなりそうでならない Overview A/Bテストをしまくっている、機械学習エンジニアの農見(@rookzeno)です。皆さんA/Bテストをしてますでしょうか。エムスリーでは色…

Looker APIを活用して確実なデプロイを実現させる

これはエムスリーAdvent Calendar 2023 の10日目の記事です。 こんにちは、エンジニアリンググループの石塚です。最近は年明けに控えている結婚式という大イベントに向けてダイエット中でスポーツジムへ通い、有酸素運動するのと並行して食事制限をして追い…

年末だしRedashのクエリ棚卸しでもしましょう (調査用サンプルクエリ付き)

これはエムスリー Advent Calendar 2023の9日目の記事です。 前日の記事はSREチーム後藤の「共有会をより効果的にするために考えたあれやこれ」でした。 エムスリーエンジニアリンググループ データ基盤チームの木田です。 師走です。12月といえば年末に向け…

共有会をより効果的にするために考えたあれやこれ

この記事は エムスリー Advent Calendar 2023 の 8 日目の記事です。 前日は小栗さんによる kannonを実プロダクトに組み込んで3倍高速化を達成した話 でした こんにちは、SREチームの後藤です。 エムスリーでは各チームのSREが集まって情報共有をする SRE Me…

kannonを実プロダクトに組み込んで3倍高速化を達成した話

こんにちは!エムスリー Advent Calendar 2023 7日目担当の小栗 (@irungo_ic)です。私は東京大学 電子情報工学科で学生(B4)をしており、エムスリーには業務委託で参画しています。 今回はgokartの分散並列化ライブラリkannonをエムスリーの実プロダクトに組…

Enumとてもつらい、でも負けない

列挙型、JavaでいうならEnum型、使っていますか。使わないわけにいきませんよね。 でも、Enumを使っていたせいで辛い目にあったことありませんか。ないですか。それならきっともうすぐに辛い目にあうと思います。 Enumはすべてのプログラマに等しく辛みを与…