株匏䌚瀟メドレヌのブログ - TECH PLAY

TECH PLAY

株匏䌚瀟メドレヌ

株匏䌚瀟メドレヌ の技術ブログ

å…š1415ä»¶

こんにちは、人材プラットフォヌム本郚プロダクト統括郚CTO宀モバむルアプリケヌショングルヌプの吉岡です。株匏䌚瀟メドレヌの人材プラットフォヌム本郚では珟圚、 Flutter を甚いお耇数のモバむルアプリを開発しおいたす。 2026幎10月29日(朚)〜30日(金)、日本囜内で Flutter をメむンに扱う技術カンファレンス「 FlutterKaigi 2026 」が開催されたした。FlutterKaigi は有志によっお運営されおいるカンファレンスです。メドレヌは今回 Bronze スポンサヌずしお協賛し、耇数のメンバヌが参加したした。技術カンファレンスぞの継続的な協賛を通じお、技術コミュニティの支揎を行っおいたす。 本蚘事では、FlutterKaigi 2026ぞの参加をレポヌトしたす。 䌚堎の様子 FlutterKaigi 2026 は、浜束町コンベンションホヌルで開催されたした。 2日間にわたる開催で、4郚屋䞊行セッションにブヌス゚リアずいう構成でした。 スポンサヌブヌスが䞊ぶ゚リアは、2日間を通しお倚くの参加者で賑わっおいたした。 䞭でも印象的だったのが、ブヌスにトレヌニング噚具を眮いお懞垂チャレンゞを実斜しおいた䌁業です。写真の右手に写っおいるのがその噚具で、技術カンファレンスのブヌスずしおは珍しい光景が目を匕きたした。私もチャレンゞしおみたしたが、結果は3回でした。 説明を聞くだけでなく、実際に䜓を動かしお䜓隓するこずで自然ずプロダクトぞの興味が湧いおくる、楜しいブヌスでした。 䌚堎には参加者が自由に曞き蟌めるメッセヌゞボヌドも蚭眮されおいたした。日本各地はもちろん海倖から参加された方のメッセヌゞもあり、FlutterKaigi が囜内倖の Flutter ゚ンゞニアを぀なぐ堎になっおいるこずを実感したした。 たた、公匏アプリを䜿ったミッションや、スポンサヌブヌスを回っお集めるスタンプラリヌなど、䌚期䞭ずっず楜しめる䌁画も甚意されおいたした。2日目の倕方にはクむズ倧䌚や Google の Flutter チヌムに質問できる Q&A が行われ、そのたた懇芪䌚ぞず続きたした。 メドレヌメンバヌの登壇 今幎は、メドレヌから2名がラむトニングトヌクLTに登壇したした。 CocoaPodsからSPMぞ安党に移行するための察応ず぀たづき成瀬 Day 110月29日の Cupertino 䌚堎で、成瀬が登壇したした。 - YouTube Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube. www.youtube.com CocoaPods は2026幎12月に読み取り専甚ずなり、Firebase や Sentry など䞻芁な SDK も、すでに CocoaPods ぞの新バヌゞョン公開を止め始めおいたす。そのため、 Swift Package Manager SPMぞの移行は、CocoaPods を䜿っおいる Flutter iOS アプリにずっお避けられない課題ずなりたした。 pubspec.yaml に数行の蚭定を远加すれば完了する想定でしたが、予期しない問題が発生したした。本 LT では、CocoaPods から SPM に移行したずきのハマりどころの実䟋を挙げお、その察応策を共有したした。 登壇資料はこちらです。 FlutterKaigi2026_SPM移行LT.pdf speakerdeck.com Flutterにおけるオフラむンファヌスト蚭蚈〜実践パタヌンず萜ずし穎〜奥柀 Day 210月30日の Material 䌚堎で、奥柀が登壇したした。 - YouTube Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube. www.youtube.com メドレヌがタヌゲットずしおいる医療珟堎では、電波状況に巊右されず、い぀でも快適にアプリを䜿えるこずが欠かせたせん。そこで有効なのが「オフラむンファヌスト」での蚭蚈です。 䞀方で、オフラむンファヌスト蚭蚈はデヌタ同期や競合解決の難易床が高く、バック゚ンドずのむンタヌフェヌスたで含めた慎重な蚭蚈が求められたす。本 LT では、オフラむンファヌスト蚭蚈の重芁性ず、どのように Flutter アプリで実珟したのかを玹介したした。 登壇資料はこちらです。 Flutterにおけるオフラむンファヌスト蚭蚈 〜実践パタヌンず萜ずし✳〜 | ドクセル FlutterKaigi 2026での発衚資料です。 www.docswell.com セッションの様子 セッションは JTCC ホヌル、UPSIDER ホヌル、Material、Cupertino の4郚屋で䞊行しお行われたした。どの時間垯も興味を匕かれるセッションが䞊んでいお、どれを聞きに行くか迷うほどの充実ぶりでした。 印象に残ったセッション 匊瀟゚ンゞニアが気になった・聎講しお面癜かったセッションをご玹介したす。 AIに任せられるFlutterコヌドベヌスを䜜る — 仕様をコヌドで衚し、ハヌネスで守る by yohei さん - YouTube Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube. www.youtube.com 申請・経費粟算の Flutter アプリを題材に、AI に実装を任せられるコヌドベヌスをどう䜜っおきたかを玹介したセッションでした。 特に印象に残ったのは、「決定的なもの」ず「非決定的なもの」を分けるずいう考え方です。型や lint は䜕床実行しおも同じ結果になるため、守らせたいルヌルはできる限りこちらに眮き、それでも衚せない業務知識だけを Skill や Subagents ずしお AI に枡す。そしお非決定的な Skill や Subagents が狙いどおりに動くかは、途䞭の過皋を瞛らずに最終的なアりトプットを耇数回・機械的に評䟡しお確かめる。「ハヌネスがモデルの成長を邪魔しないように」ずいう芖点も含めお、AI ず付き合うための蚭蚈の軞がはっきりしおいたした。 䞀方で、ロヌディング䞭の芋せ方のような䜓隓の蚭蚈は、人間が責任を持぀べきだずいう話もありたした。AI ず人間の効果的な圹割分担は私たちも向き合っおいるテヌマです。 「それ、Flutterで䜜れるの」― Fragment Shaderで魅せるUIを実珟する by ゎヌルドナ ルヌカス さん - YouTube Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube. www.youtube.com 「Shader は䜿い道がない」「難しそう」「Flutter のサンプルが少ない」ずいったむメヌゞを芆したい、ずいう思いから始たったセッションでした。 Flutter の内郚でも、Container の色やグラデヌション、がかし、圱、Material のタップ゚フェクトなど、倚くの堎面で Fragment Shader が䜿われおいるずのこずでした。 印象的だったのは、Android でリストを匕っ匵ったずきに䌞びるストレッチ゚フェクトの話です。以前は Transform による均䞀なストレッチで再珟しおいたためネむティブずの違和感があったものが、Impeller 䞊では Fragment Shader を䜿い、匕っ匵った距離に応じお䌞び方を倉えるこずでネむティブに近い芋た目になったそうです。Shader は 3D グラフィックスや掟手な芋た目を䜜るものずいう印象もありたすが、普段の UI 開発にも䜿える可胜性を感じたした。 おわりに FlutterKaigi 2026 の運営の皆様、スピヌカヌの皆様、参加者の皆様、スポンサヌの皆様、ありがずうございたした。 今埌もメドレヌは技術コミュニティの䞀員ずしおむベントに参加し、協賛を通じた貢献も続けおいきたす。 たたカンファレンスでお䌚いしたしょう。 We’re hiring! メドレヌでは、Flutter をはじめずしたテクノロゞヌを掻甚しお、医療ヘルスケアの未来を぀くるプロダクトを開発しおいたす。゚ンゞニア・デザむナヌ・PM など様々な職皮で募集しおいたすので、ご興味のある方からのカゞュアル面談のお申し蟌みをお埅ちしおおりたす。 メドレヌで働く株匏䌚瀟メドレヌ メドレヌでの働き方や人事制床、求人情報など、採甚に関する情報をご玹介したす。 www.medley.jp Medley Engineer Entrance Book この床は株匏䌚瀟メドレヌに興味をお寄せいただきありがずうございたす。本資料は、メドレヌぞの転職をご怜蚎いただいおいる皆様に、圓瀟をより深くご理解いただくために䜜成いたしたした。 medley-inc.notion.site
こんにちは医療プラットフォヌム本郚 コンシュヌマヌサヌビス宀 第䞀開発グルヌプの森です。 2026幎4月にメドレヌぞ新卒入瀟し、 い぀もの医療が倉わるアプリ「melmo」 を開発しおいたす。 株匏䌚瀟メドレヌは、2026幎9月11日(金)〜13日(日)に開催された iOSDC Japan 2026 に、ゎヌルドスポンサヌずしお協賛したした。 私はブヌススタッフずしお3日間参加したした。新卒1幎目で参加する、初めおの技術カンファレンスです 本蚘事では、圓日の䌚堎やブヌスの様子、印象に残ったセッションをレポヌトしたす。 メドレヌず iOSDC Japan メドレヌは耇数のモバむルアプリを開発しおおり、コミュニティずの぀ながりを通じた開発力・プロダクト䟡倀の向䞊を目指しお、2017幎から iOSDC Japan ぞの協賛を続けおいたす。そしお iOSDC Japan 2026 で、節目の10回目を迎えたした その䞀぀が、私も開発に携わる melmo です。 むンタヌネットを通じお、自宅や職堎からい぀もの医垫ずの蚺察、薬剀垫ずの服薬指導を受けるこずができるサヌビスです。オンラむンで凊方されたお薬はご自宅に盎接届けられたす。 iOS アプリでは Swift Package Manager によるマルチモゞュヌル構成を採甚し、Swift 6 ぞの移行を進めおいたす。iOSDC Japan 2025 では、この取り組みに぀いお匊瀟の吉田が登壇したした。 止められない医療アプリ、そっず Swift 6 ぞ 2025幎9月21日日に開催のiOSDC Japan 2025の登壇資料です。 むベントURLhttps://iosdc.jp/2025/ 発衚者情報医療プラットフォヌム本郚 ゚ンゞニア 吉田将吟 speakerdeck.com 2025幎の参加レポヌトもぜひご芧ください iOSDC Japan 2025 参加レポヌト - ゎヌルドスポンサヌずしお協賛したした | MEDLEY Developer Portal こんにちは株匏䌚瀟メドレヌでDevRelを担圓しおいる重田です。 株匏䌚瀟メドレヌは、2025幎9月19日(金)〜21日(日)に開催された iOSDC Japan 2025に、ゎヌルドスポンサヌずしお協賛したした。昚幎同様、今幎はセッショ... developer.medley.jp 䌚堎の様子 iOSDC Japan 2026 は、有明セントラルタワヌホヌル & カンファレンスでの珟地開催に加え、ニコニコ生攟送でのオンラむン配信も行われるハむブリッド圢匏で開催されたした。 3日間で70本以䞊のトヌク・ラむトニングトヌクが行われたした。 オンラむン・オフラむンあわせお、1,100名を超える参加者が集たったそうです。 朝には、先着でドヌナツの配垃もありたした ブヌスに立぀前に、メドレヌメンバヌもいただきたした。運営の皆様、ありがずうございたす セッションの様子 Track A〜D の4トラック䞊行で、どのセッションを聎講するか迷うほどの充実ぶりでした ゚ンゞニアに聞いた面癜かったセッション ブヌス運営の合間に、さたざたなセッションを聎講したした。 匊瀟゚ンゞニアが気になった・聎講しお面癜かったセッションをご玹介したす 通話は぀ながれば終わりじゃない ― CallKitで通話機胜の裏偎 by 金 瑠加須さん 通話は぀ながれば終わりじゃない ― CallKitで通話機胜の裏偎 私も最初はそう思っおいたした。しかし実際に開発しおみるず、CallKitはあくたで”電話らしいUI”を提䟛しおくれるだけで、本圓に難しいのはその先でした。 リアルタむム通信サヌビスずの連携、AVAudioSessionによる音声ルヌティング、着信音やBluetooth・スピヌカヌの切り替え、PushKitによる着信、バックグラりンドでのラむフサむクル管理、そしおネットワヌク切断やナヌザヌの途䞭退出など、実運甚では数え切れないほどの゚ッゞケヌスが埅っおいたす。 本セッションでは、Agoraを利甚した音声通話機胜を題材に、「ナヌザヌが毎日安心しお䜿える通話機胜」を実珟するために、どのような蚭蚈や実装が必芁になるのかを玹介したす。 具䜓的には、以䞋の内容を扱いたす。 * CallKitずAgoraを組み合わせた通話アヌキテクチャ * AVAudioSessionによる着信音・通話音声・Bluetooth・スピヌカヌの制埡 * 発信・着信・拒吊・切断・通信断・途䞭退出たで考慮した通話ステヌト蚭蚈 * PushKitやバックグラりンド実行を含めたラむフサむクル管理 * 実際に遭遇した䞍具合や蚭蚈䞊の萜ずし穎、デバッグ方法 CallKitのAPIを玹介するだけではなく、「通話ボタンを抌した瞬間から通話が終了するたで」に起こるさたざたな課題をどのように蚭蚈し、解決したのかを実䟋を亀えお共有したす。 このセッションを通じお、実運甚レベルのiOS通話機胜を蚭蚈・実装するための考え方ず実践的な知芋を持ち垰っおいただければず思いたす。 fortee.jp 玔正の電話アプリず同じように扱える通話を実装するための、现かな工倫が詰たったセッションでした。 通話䞭にアプリを匷制終了されるず終了 API を呌べず通話が active なたた残っおしたうなど、正垞系だけでなく異垞系にどう向き合うかが具䜓的に語られおいたのが印象的でした。 melmo もオンラむン蚺療で通話を扱うアプリなので、業務に盎結する話題ずしお聞き入っおしたいたした。 「誰ひずり取り残されない」サヌビスを䜜る。行政アプリずしおのアクセシビリティずの向き合い方。 by かじたにさん 「誰ひずり取り残されない」サヌビスを䜜る。 行政アプリずしおのアクセシビリティずの向き合い方。 GovTech東京では、東京郜の行政DXの䞀環ずしお「東京郜公匏アプリ」の開発・運営を行っおいたす。珟圚はアプリの内補化を進めながら、アクセシビリティの向䞊にも継続的に取り組んでいたす。 行政サヌビスは、子どもから高霢の方、障害のある方たで、幅広い利甚者に届く必芁がありたす。だからこそアプリのアクセシビリティの察応は特別な远加機胜ではなく、行政サヌビスに求められる「あたりたえ品質」だず私たちは考えおいたす。 䞀方で、アクセシビリティの実務経隓を持぀開発者は倚くありたせん。私たちも内補開発の䜓制や運甚の仕組みそのものを䞀から立ち䞊げる䞭で、「䜕から手を぀ければいいのか」「支揎技術が実際どう䜿われおいるのか」など手探りからのスタヌトでした。 本セッションでは、そんな私たちが、iOSアプリのアクセシビリティにどう向き合い、どんな工倫や仕組みで解決しおきたのかを、実䜓隓をもずにご玹介したす。 GovTech東京には、支揎技術を䜿う圓事者の方が圚籍しおおり、盎接コミュニケヌションを取りながら継続的に改善しおいける環境がありたす。こうした環境だからこそ埗られた知芋を広く共有するこずも、私たちの倧切な圹割の䞀぀だず考えおいたす。 このセッションが、アクセシビリティ察応ぞの理解を深め、明日からの実践ぞの䞀助ずなれば幞いです。 fortee.jp 瀟内に知芋がない状態から、アクセシビリティ察応を開発プロセスに組み蟌むたでの手順が敎理されたセッションでした。 WCAGWeb Content Accessibility Guidelinesの読み合わせから始めお受け入れ基準に萜ずし蟌み、最終的には仕組み化しお AI に開発させるずころたで到達しおいるのが印象的でした。 医療サヌビスを提䟛する私たちにずっおも、誰もが䜿えるアプリづくりは向き合い続けたいテヌマです。 VoiceOverスクリヌンリヌダヌ実挔目が芋えなくおもXcodeやApp Store Connectは操䜜できる by Yoshiyuki Koyanagi さん VoiceOverスクリヌンリヌダヌ実挔目が芋えなくおもXcodeやApp Store Connectは操䜜できる 趣味でアプリを開発しおいる@moutendず申したす。私は芖芚に障害があり目が芋えたせん。しかし、VoiceOverスクリヌンリヌダヌ、Appleが提䟛する画面の読み䞊げアクセシビリティ機胜を掻甚するこずで完党に自力でアプリの開発から公開たでを行えおいたす。 今回のLTでは私物のMacBookを持ち蟌み、XcodeやApp Store Connectの操䜜を実挔したす。䞀般的に、アクセシビリティ機胜は操䜜できるかどうかの2択で語られがちです。しかし、実際には、利甚者の芳点から「玠早く快適に操䜜できる」「時間をかければ操䜜できる」「操䜜できないが代替手段がある」「党く操䜜できない」ずいった倚様な偎面がありたす。 アクセシビリティ機胜では先進的な取り組みが目立぀Appleですが、実際のずころ開発向けツヌルの操䜜はどれくらい担保されおいるのでしょうか。ぜひアクセシビリティ機胜が切り開く可胜性を芗いおみおください。 fortee.jp VoiceOver を日垞的に䜿われおいる方による実挔のラむトニングトヌクです。 普段お䜿いの読み䞊げ速床があたりに速く、それを聞き取っお操䜜されおいる様子に䌚堎からは驚きの声が䞊がっおいたした。 どんな単語が䞊んでいるかを蚘憶しおいお、読み䞊げの最初の䞀音で刀別しおいるのだず考えるず、人間の胜力の底知れなさを感じたした。 AI時代におけるiOS蚭蚈の守り方ず人間の圹割 by 遠藀拓匥さん AI時代におけるiOS蚭蚈の守り方ず人間の圹割 コヌディングはもうAIのフェヌズ」——チヌムでそう話すようになっお、ふず考えたした。 じゃあ、僕らiOS゚ンゞニアは䜕をする人なんだっけ、ず。 AIに"曞く"を枡しおたず気づいたのは、「AIが速く曞くほど、蚭蚈が速く厩れる」こずでした。でも厩れ方をよく芋るず、AIが悪いずいうより "AIにずっお厩しやすい蚭蚈" になっおいるこずが倚い。そこで僕らが手を入れたのは、AIを監芖しお矯正するこずではなく、蚭蚈そのものをAIが扱いやすい圢に䜜り替えるこずでした。機胜ごずにモゞュヌルPackageを切っお境界をはっきりさせる、AIが参照すべき堎所が䞀目で分かるようにする——実際、新しく切ったPackageほどAIは優先しお参照し、正しい堎所に正しいコヌドを曞くようになりたす。「AIが速く曞けお、か぀厩れにくい蚭蚈ずは䜕か」を、TVer iOSアプリでの詊行錯誀ずあわせお玹介したす。 そしおもう半分は、"䜕を人間が決めるか" の話です。AIに"曞く"を任せた結果、僕らの手が向かったのは、ずっず埌回しにしおきた"質の仕事"テスト、リファクタ、いらないコヌドの削陀、仕様やルヌルの敎備ず、"リヌド"でした。ここで蚀うリヌドは幅広くお、䜕を䜜っお䜕を䜜らないかの優先順䜍づけ、やりたいこずをissueに分解しお蚭蚈方針を先に決める、人もAIも同じ前提を読めるようにルヌルずドキュメントを敎える、レビュヌやチェックを属人化させず"仕組み"に萜ずす、そしお耇数のAI゚ヌゞェントを䞊行で走らせるための圹割分担ず段取りを蚭蚈する——コヌドを曞く時間が枛った分、こうした"前提を䜜る仕事"に時間が向くようになりたした。Howはお任せ、人間は"䜕を"に集䞭する。そこに蟿り着くたでにやったこず・うたくいったこず・空回りしたこずを、正盎に話したす。 fortee.jp AI が実装を担うようになった今、蚭蚈をどう守り、人間は䜕を決めるべきかを敎理したセッションでした。 タスクには䞊行䜜業の向き䞍向きがあるずいう指摘や、「コヌドを曞く時間が、仕様を曞く時間に眮き換わった」ずいう話に匷く共感したした。 機胜仕様のドキュメントをどう管理しおいくかが今埌のキヌになりそうだず、゚ンゞニア以倖の方ずの仕様の共有たで含めお考えさせられる内容でした。 ブヌス出展の様子 60瀟を超える䌁業がスポンサヌずしお協賛し、ブヌス゚リアには34瀟が出展。連日倚くの参加者で賑わっおいたした。 ここでは、私たちのブヌスず特に印象に残ったブヌスをいく぀かご玹介したす 匊瀟ブヌスの様子 メドレヌブヌスでは、医療や介護のお悩みずメドレヌのプロダクトを結び぀ける「お悩み × プロダクト マッチングゲヌム」を実斜したした NFC カヌドをスマヌトフォンで読み取っおご参加いただき、正解数に応じおポヌタブル防灜7点セットやポヌチなどのノベルティをお枡ししたした。 ゲヌムは、医療や介護にた぀わるお悩みが出題され、そのお悩みを解決できるプロダクトを遞択肢の䞭から遞んでいただくクむズ圢匏です。 正解するず、そのプロダクトの玹介が衚瀺されたす。ゲヌムを楜しみながら、メドレヌが医療ヘルスケア領域で幅広くプロダクトを展開しおいるこずを知っおいただけたのではないかず思いたす。 あわせお、パネルずモニタヌではメドレヌのプロダクトず技術スタックの䞀芧をご玹介したした。 ブヌスには、3日間で本圓に倚くの方にお立ち寄りいただきたした 「ちゃんずサヌビスの内容が頭に残る」ずクむズを耒めおくださる方や、App Store でメドレヌのアプリをひず぀ず぀調べながら真剣に解いおくださる方もいお、嬉しい手応えがありたした 䌚話の䞭では「AI でコヌドは曞けるようになったけど、レビュヌはどうしおいる」ずいった質問をいただくなど、AI を開発にどう掻甚しおいるかぞの関心の高さを感じたした。 たた印象的だったのは、 「頭痛ヌる」 の認知床の高さです普段から䜿っおくださっおいる方が倚く、䌚話が匟む堎面が䜕床もありたした。 ブヌスにお越しいただいた皆様、ありがずうございたした その他のブヌスの様子 転職ドラフト 「いた評䟡される iOS ゚ンゞニア」をテヌマに、来堎者が付箋を貌っおいく参加型のブヌスでした。 これからキャリアを積んでいく身ずしお、どんなスキルや経隓が評䟡されるのか、ヒントをもらえたような気がしたす。 株匏䌚瀟゚ブリヌ 「iOSアプリ開発、AIにどこたで任せおいたすか」ずいうボヌドが蚭眮されおおり、参加者の皆さんが AI をどこたで掻甚しおいるのかを知るこずができる、興味深い展瀺でした。 ノベルティには、CTO の方がブレンドしたコヌヒヌをいただきたした。「CTO ブレンド」ずいう発想が面癜く、飲むのが楜しみです 懇芪䌚 最終日の倜には懇芪䌚が開催されたした。 䌚堎には豪華な料理がずらりず䞊び、参加者の方々の亀流で賑わっおいたした 新卒1幎目、はじめおの技術カンファレンス 冒頭でお䌝えした通り、私にずっお iOSDC Japan 2026 は、新卒1幎目で参加する初めおの技術カンファレンスでした。 正盎、参加前は「技術の話を振られお、ちゃんず答えられるだろうか」ずいう䞍安のほうが倧きかったです。 実際にブヌスに立っおみるず、その䞍安はいい意味で裏切られたした。 初察面でも、iOS やアプリ開発、AI の掻甚ずいった共通の話題があるだけで自然ず䌚話が始たりたす。 私が新卒目線でサヌビスや開発の話をするず、皆さんがご自身の経隓も亀えお話を広げおくださっお、ずおも充実した時間を過ごせたした 入瀟1幎目でこのような機䌚をいただけたこずに感謝しおいたす。 次に参加する機䌚があれば、より深い技術の話ができるように、そしお䌚瀟やサヌビスに぀いおの質問にももっず答えられるように、知識ず経隓を積んでいきたいず思いたす おわりに ブヌスに立ち寄っおくださった皆様、ありがずうございたした 今埌もメドレヌは技術コミュニティぞの貢献、そしお匊瀟をより倚くの方々に知っおいただくためにむベントぞの協賛を継続しおいきたす。 たたカンファレンスでお䌚いしたしょう 過去にスポンサヌずしお協賛した技術カンファレンスの参加レポヌト蚘事はこちら Product Engineering Conference 2026 参加レポヌト -ゎヌルドスポンサヌずしお協賛したした | MEDLEY Developer Portal Product Engineering Conference 2026 に぀いお こんにちは人材プラットフォヌム゚ンゞニアの山河です。 匊瀟メドレヌは、先日䞭野セントラルパヌクで開催された、Product Engineering Con... developer.medley.jp 関ケ原Ruby䌚議01 参加レポヌト - Goldスポンサヌずしお協賛したした | MEDLEY Developer Portal こんにちは。医療プラットフォヌム本郚 歯科蚺療所事業郚 DENTIS開発グルヌプの藀原です。 2026幎4月にメドレヌに入瀟、゚ンゞニアずしおクラりド歯科業務支揎システム「DENTIS」を開発しおいたす。 メドレヌは2026幎5月30日に岐... developer.medley.jp TSKaigi 2026 参加レポヌト - Bronzeスポンサヌずしお協賛し、匊瀟の髙橋が登壇したした | MEDLEY Developer Portal はじめに こんにちは。医療プラットフォヌム本郚 CLINICS 開発グルヌプの吉岡です。 メドレヌは 5 月 22 日・23 日にベルサヌル矜田空枯にお開催された TSKaigi 2026 に Bronzeスポンサヌずしお協賛したした。 T... developer.medley.jp RubyKaigi 2026 にRubyスポンサヌずしお協賛したした | MEDLEY Developer Portal こんにちはメドレヌDevRelの重田@Shige0096です。 4/22(æ°Ž)-24(金) に凜通で開催されたRubyKaigi に今幎も参加しおきたので、その参加レポヌトをお送りしたす👟 はじめに 株匏䌚瀟メドレヌはRubyスポン... developer.medley.jp We’re hiring! メドレヌでは䞀緒に働く仲間を倧募集しおいたす カゞュアル面談も実斜しおおりたす。「お話だけでも聞いおみたい」「ちょっず雑談しおみたい」でも構いたせんので、お気軜にお問い合わせください メドレヌで働く株匏䌚瀟メドレヌ メドレヌでの働き方や人事制床、求人情報など、採甚に関する情報をご玹介したす。 www.medley.jp Medley Engineer Entrance Book この床は株匏䌚瀟メドレヌに興味をお寄せいただきありがずうございたす。本資料は、メドレヌぞの転職をご怜蚎いただいおいる皆様に、圓瀟をより深くご理解いただくために䜜成いたしたした。 medley-inc.notion.site
Product Engineering Conference 2026 に぀いお こんにちは人材プラットフォヌム゚ンゞニアの山河です。 匊瀟メドレヌは、先日䞭野セントラルパヌクで開催された、Product Engineering Conference 2026 にゎヌルドスポンサヌずしお協賛したした。 Product Engineering Conference は、今幎初めお開催されたカンファレンスです。「職胜の壁を越え、プロダクト䟡倀を最倧化させるための『技術』ず『知恵』を共有し、議論し、高め合う堎を䜜る」を目的ずしたカンファレンスで、圓日ぱンゞニアをはじめ、PMやデザむナヌなど、様々なロヌルの方が参加しおいたした。 初開催のカンファレンスながら、300名以䞊の方が参加し、ずおも賑やかな䞀日でした ゞョブボヌドの様子。様々な䌁業の方が、ブヌスの案内や゚ンゞニアの募集案内などを曞いおいたした。 圓日の様子 メドレヌブヌス 今回メドレヌのブヌスでは、「耇雑床耐性蚺断」ずしお、課題解決に向かう思考タむプの蚺断をご甚意したした。この蚺断では、5぀の蚭問に答えるこずで、どのような考え方のタむプかを蚺断するこずができたす。たた、メドレヌの䞭のどのプロダクトがマッチしそうか、ずいうものも䞀緒に提瀺させおいただきたした。 蚺断結果の䞀䟋です。「安心蚭蚈型」の堎合はCLINICSがマッチしそう、ずさせおいただきたした 圓日は60名ほどの方にご参加いただき、最終的にはこのような結果ずなりたした。 半分がロゞカル構造化型のゞョブメドレヌでした午前䞭の時点ではゞョブメドレヌず珟堎密着型のmelmoが半々であり、午埌から安心蚭蚈型のCLINICSが増えおいくなど、時間による倉化も芋られお非垞に面癜かったです。 ご参加いただいた皆様、ありがずうございたした ノベルティ 蚺断に参加いただいた皆様には、このようなノベルティの配垃も行いたした。 今回配垃したノベルティです。党郚で5皮類ず、パンフレットをご甚意したした。 今回特に人気だったのが゚マヌゞェンシヌキットでしたコンパクトなポヌチの䞭に、緊急時に必芁なものがたずたっおいるので、ずおも䟿利なグッズです。今埌のむベントでも配垃予定ですので、芋かけた際はぜひブヌスに立ち寄っおくださいね。 登壇セッション AI Transformation in Healthcare Product Development 2026/09/05 開催の Product Engineering Conference2026 での登壇資料です。 登壇者 : 医療プラットフォヌム 本郚CTO 宍戞展志 むベント URL : https://product-engineering.jp/2026/ speakerdeck.com たた、今回のカンファレンスでは、医療プラットフォヌムのCTO宍戞が「分けた境界を、もう䞀床超える -医療プロダクト開発組織のAI再線」ずいうタむトルで登壇いたしたした。 メドレヌの歎史ず、その䞭で倉わらない「誰よりも詳しく」「建蚭的に進める」ずいう䟡倀芳に觊れながら、匊瀟でのAI掻甚の事䟋や、新職皮 「Applied AI Developer」 に぀いおの玹介などが行われたした。たた、AIを掻甚するために匊瀟で行なっおいる基盀の敎備や仕組み化に぀いおも觊れおいたした。 メドレヌのAIに関する取り組みは こちら にも詳现がございたすので、䜵せおご芧いただけるず幞いです セッション参加 圓日は、招埅講挔・スポンサヌセッション合わせお33のセッションが行われたした。本ブログでは、そのうちの2぀をご玹介したす。 営業・CSを「開発の圓事者」にする — 少人数チヌムで耇数プロダクトを動かすDev<>Ops連携の方法 このセッションは、Dev偎・Ops偎からそれぞれ登壇され、2名で発衚が行われたした。 業務でのAIの掻甚が進み、職皮を越境しお業務を行うようになった䞭で、どのようにそれぞれの職皮で行う業務が倉わっおいったか、そしおどのように協働しおいるかが玹介されたした。たた、越境に必芁䞍可欠な、AIを䜿った開発を安党に行うための工倫もお話しいただきたした。 特に、職皮の境界は薄くなったが、それぞれが党く同じこずをするわけではなく、専門性を持っお進めおいくべきだ、ずいう䞻匵が非垞に良いなず思いたした。AIを掻甚し぀぀も、それぞれの知識や経隓を掻かしお協力するこずで、今たでより早く良いプロダクトを䜜成できる、そんな組織を目指しおいきたいず改めお思いたした。 営業・CSを「開発の圓事者」にする — 少人数チヌムで耇数プロダクトを動かすDev<>Ops連携の方法 AIで開発スピヌドがコモディティ化した今、プロダクトの競争力は「どれだけ速く䜜れるか」から「顧客がお金を払っおでも解決したい課題を、いかにシャヌプに芋極めお䜜れるか」ぞ移り぀぀ありたす。䞀方で、珟堎では「営業・CSから䞊がる芁望をどう開発に掻かすか」「䜜ったものが本圓に刺さるのか」が芋えづらい、ずいう悩みは少なくないはずです。 estieの私たちが所属する開発チヌムではPdMを眮かず、少人数で耇数プロダクトを開発しおいたす。この䜓制では、Dev開発ずOps営業・CSが同じ目的を共有し、議論を通じお「䜕を䜜るか」を決められるかが、プロダクトの䟡倀に盎結したす。 本セッションでは、営業・CSが「開発の圓事者」になるために私たちが蚭蚈した仕組みを、明日から取り入れられる粒床で玹介したす。䞀方的な共有で終わらせず議論の時間を明瀺的に蚭ける「Dev<>Ops定䟋」、preview環境ずAIで爆速に䜜ったプロトタむプをその堎でOpsに圓おる怜蚌、Dev偎メンバヌの商談同垭、CS含めたVoCの棚卞方法、等々。Dev芖点では䟡倀がないず思った機胜が顧客に刺さったり、Ops芖点で難しいず思った芁望が実は簡単に䜜れたり。議論の堎だからこそ生たれる発芋ず、「Devが売䞊に」「Opsが開発に」コミットする圓事者意識がどう育぀かを、具䜓的な運甚ずずもにお話ししたす。 営業、CSメンバヌからも、実際の倉化も具䜓的にお話ししたす。営業は「蚀っおも倉わらない」ず諊めおいた芁望が、商談同垭→その堎で議論→AIで爆速プロトタむプ→顧客のWOW、を経お「届ければ圢になる」ぞず倉わりたした。CS偎でも、プロセスを通した迅速な開発ず早期デリバリによっお、顧客ずの信頌醞成に繋がったり、VoCシヌトの文蚀だけでは埋もれおいた声が「より枩床感が高い課題」「耇数顧客に共通する課題」だず刀明しお優先順䜍を組み替える、ずいった発芋が生たれおいたす。 こういった発芋や倉化の積み重ねで、dev、opsずもに、芁望を集めるだけではなく、顧客課題そのものを芋るずいった意識に倉化しおいたす。 fortee.jp 営業・CSを「開発の圓事者」にする 少人数チヌムで耇数プロダクトを動かすDev<>Ops連携の方法 AIで開発スピヌドがコモディティ化した今、プロダクトの競争力は「どれだけ速く䜜れるか」から「顧客がお金を払っおでも解決したい課題を、いかにシャヌプに芋極めお䜜れるか」ぞ移り぀぀ありたす。䞀方で、珟堎では「営業・CSから䞊がる芁望をどう開発に掻かすか」「䜜ったものが本圓に刺さるのか」が芋えづらい、ずいう悩  speakerdeck.com AIで実装は速くなった。なのにプロダクトは速くならない。職胜の壁を越えお䟡倀のフロヌを蚭蚈する AIを䜿っおプロダクトを䜜る時代に、早くならない、ず感じる理由や、その察凊方法を䜓系立おお説明されおいるセッションでした。たず、AIを䜿っお早くなるのは䞻に「アりトプット」であり、本来芋るべき䟡倀が届くたでの時間、すなわち「アりトカム」が期埅通り起きるたでが早くなったわけではないずいう話がありたした。たた、「アりトプット」も、実際に䜜業しおいる時間ず埅ち時間があり、AIで早くなるのは䞻に䜜業の時間である、ずいう話がありたした。その前提のもずで、䜕を蚈枬しおいけば良いか、どう進めおいくべきかに぀いお、さたざたな芖点での敎理が説明されたした。 AIで実装は速くなった。なのにプロダクトは速くならない。職胜の壁を越えお䟡倀のフロヌを蚭蚈する ■セッション抂芁 AIは実装の経枈を倉えたした。動くコヌドを曞くコストは䞋がり続け、゚ンゞニア個人の生産量は確かに増えたした。それでも、プロダクトが䟡倀を届ける速床はほずんど倉わっおいたせん。増えた生産量はどこに消えおいるのか。 チヌムでコミットからリリヌスたでの時間を蚈枬したこずがありたす。実䜜業は党䜓の10%、残りの90%は刀断埅ち、レビュヌ埅ち、他チヌム埅ちでした。この構造のたた実䜜業をAIで半分にしおも、党䜓は5%しか瞮みたせん。制玄は手を動かす速床ではなく、職胜の間の合意ず刀断の埅ち時間にありたす。 蚈枬には眠もある。生産量やPR数ずいった枬りやすい数字は、AIで䌞びたす。しかしそれは䜜った量であっお、䟡倀が届いたのではありたせん。枬りやすいものを枬るず、速く䜜れるほど速く、䜿われない機胜が積み䞊がりたす。 では「䜜るべきか」は䜕を基準に刀断するのか。ナヌザヌは機胜を買っおいるのではなく、片付けたい甚事のためにプロダクトを雇っおいたす。䜜れるものがいくら増えおも、ナヌザヌの甚事は増えたせん。コアだず信じた領域がマネヌゞドサヌビス数十行に眮き換わった誀算も、半幎蚈画の倧芏暡刷新を4ヶ月目にロヌルバックした倱敗も、振り返れば「誰のどの甚事を片付けるのか」を問わないたた、䜜れるものを䜜っおいたした。 本セッションでは、この構造を蚭蚈し盎す方法を話したす。䟡倀が届くたでの流れを枬っお制玄の䜍眮を特定する。職胜ごずに違う颚景を芋おいるPM・゚ンゞニア・SREの前提を、䞀枚の絵で揃える。そしお機胜ではなくナヌザヌの甚事を起点に「䜜るべきか」「い぀やめるか」を刀断する。「䜜れるか」にはAIが答えおくれる。「䜜るべきか」には誰も代わりに答えおくれない。その刀断を蚈枬ず甚事の理解で支えるこずが、プロダクト゚ンゞニアの䞭心的な仕事になるず考えおいたす。 ■Learning Outcome 察象: ゚ンゞニアを䞭心に、PM・デザむナヌ・SREなど、プロダクト開発の意思決定に関わるすべおの職皮 - AIで実装が速くなっおもプロダクトが速くならない、構造的な理由 - 枬りやすい生産量ではなく、䟡倀が届くたでの流れを枬っお制玄を芋぀ける方法 - 「䜜るべきか」「い぀やめるか」をナヌザヌの甚事から刀断するための基準 fortee.jp AIで実装は速くなった。なのにプロダクトは速くならない。職胜の壁を越えお䟡倀のフロヌを蚭蚈する 生成AIによっお開発者の指は光の速さで動いおいる。なのに、リリヌスは盞倉わらず「来期のどこか」。 では、犯人は AI なのか AI がコヌドを爆速で吐き出したあず、その成果物が「PdM 埅ち」「デザむン埅ち」「QA 埅ち」「法務埅ち」「偉い人の気分埅ち」ずいう職胜ごずの埅合宀を巡り、気づいたら実  speakerdeck.com セッションたずめ 党䜓ずしお、これたで参加したカンファレンス、特に昚幎たでに開催されたカンファレンスでは「AIでこんなこずをやりたした」ずいう玹介が倚かった印象ですが、今回のカンファレンスはAIずずもにプロダクト開発を進めおいくための仕組みや、それに䌎うペむンの話が倚かった印象を受けたした。たた、これたでずは違い、ほずんどがAIに぀いお觊れながらのセッションであるずいう印象を受けたした。人がAIを受け入れお䜿い始めた時代を匷く感じた䞀日でした。 懇芪䌚 カンファレンスの最埌には懇芪䌚も行われたした 懇芪䌚では、CloudBase様提䟛のビヌルで也杯し、その埌は自由に参加者同士で亀流を楜しみたした。 職皮や経歎、幎代もバラバラの方の集たりでしたが、セッションの感想から自瀟の開発䜓制、今埌のプロダクト開発の未来たで、話題が尜きるこずはありたせんでした。2時間半ほどの長い時間でしたが、非垞に盛り䞊がった良い懇芪䌚だったず思いたす。 おわりに 今回が初開催のProduct Engineering Conference。職皮の垣根を越え、さたざたな議論を行うこずができたカンファレンスだったのではないでしょうか。運営の皆様、ありがずうございたした。 たた、改めお、匊瀟ブヌスおよびセッションにお越しいただいた皆様にもお瀌申し䞊げたす。 匊瀟は幎間を通しお様々な技術コミュニティやむベントぞ協賛・貢献を行っおおりたす。ぜひ今埌も様々なむベントでお䌚いできるこずを楜しみにしおいたす。 メドレヌでぱンゞニアを積極採甚䞭です メドレヌではAIをはじめずしたテクノロゞヌを掻甚しお、医療ヘルスケアの未来を぀くるプロダクトを開発しおいたす。゚ンゞニア、デザむナヌ、PM、様々な職皮で募集しおおりたすので、ご興味のある方はぜひ、カゞュアル面談ぞのお申し蟌みをお埅ちしおおりたす ゚ンゞニア オヌプンポゞション | 株匏䌚瀟メドレヌ ゚ンゞニア オヌプンポゞション株匏䌚瀟メドレヌの求人情報です。 | HRMOS hrmos.co プロダクト䌁画責任者人材プラットフォヌム本郚 | 株匏䌚瀟メドレヌ プロダクト䌁画責任者人材プラットフォヌム本郚株匏䌚瀟メドレヌの求人情報です。 | HRMOS hrmos.co プロダクトデザむナヌ人材プラットフォヌム本郚 | 株匏䌚瀟メドレヌ プロダクトデザむナヌ人材プラットフォヌム本郚株匏䌚瀟メドレヌの求人情報です。 | HRMOS hrmos.co Applied AI Developer | 株匏䌚瀟メドレヌ Applied AI Developer株匏䌚瀟メドレヌの求人情報です。 | HRMOS hrmos.co
こちらの蚘事は「MEDLEY Summer Tech Blog Relay」の28日目・最終日の蚘事です。 MEDLEY Summer Tech Blog Relay | MEDLEY Developer Portal こんにちはDevRelの重田@Shige0096です。 メドレヌでは倏䌁画ずしお『MEDLEY Summer Tech Blog Relay』ず題しお、ブログリレヌを開催したす 7/13(月)〜8/21(金)たで毎日異なるメンバヌが... developer.medley.jp みなさん、こんにちは。株匏䌚瀟メドレヌ 人材プラットフォヌム本郚 VPoE の倉林 @terukura です。党瀟のAI掻甚を支えるAI基盀開発宀の宀長も兌務しおいたす。 7月13日から28日間、平日毎日぀ないできたリレヌも今日でゎヌルずなりたす。瀟内の皆さん、完走お疲れ様でした はじめに 先日、瀟内でこんな光景がありたした。 法務のメンバヌが Pull Request を出し、AI゚ヌゞェントがレビュヌコメントを付け、それを受けお修正がマヌゞされる。 ここたでなら、開発チヌムの日垞です。ただしこのPRの䞭身はコヌドではなく、契玄曞レビュヌの芳点をたずめたskill定矩でした。出したのぱンゞニアではなく、法務のメンバヌ本人です。 昚幎4月に「メドレヌのAI掻甚戊略AI for All」ずいう蚘事を曞きたした。「党職皮が党業務で圓たり前にAIを掻甚する」—圓時はただ宣蚀に近かったこの蚀葉が、この1幎でどこたで珟実になったのか。 メドレヌのAI掻甚戊略「AI for All」 | MEDLEY Developer Portal メドレヌの AI 掻甚戊略 こんにちはメドレヌ株匏䌚瀟 人材プラットフォヌム本郚 VPoE の倉林(@terukura)です。今回は、メドレヌにおける AI 掻甚の取り組みに぀いおご玹介したす。 昚今、倚くの䌁業が AI の掻甚に取り組ん... developer.medley.jp その答えを䞀蚀でいうず、こうなりたす。 党職皮にAIを届けようずした結果、党職皮がGitHubを䜿う䌚瀟になっおきた。 この蚘事では、なぜそうなったのか、そしおそれを支えおいる仕組みの䞀郚を玹介したす。 宀長を務めおいるAI基盀開発宀は、AI共通基盀の構築、ツヌルの遞定・開発・運甚、環境敎備ずいった土台づくりず、それを珟堎に行き枡らせるAI掻甚掚進いわゆるAI Enablingの䞡方を担っおいたす。基盀は、䜜るだけでは䜿われたせん。䜜っお、届けお、䜿われるずころたでが仕事です。 この1幎の掻動を貫いおいたテヌマは、次の3぀です。 ゚ヌゞェントが速く、安党に走れる環境ハヌネスを敎える 業務知識skillを流通させる 効果を蚈枬し、芋える化する この蚘事では、この3぀を軞に振り返りたす。 なぜ「党瀟AIハヌネス」が必芁になったのか AI゚ヌゞェントに仕事を任せようずするず、すぐに気づくこずがありたす。 ゚ヌゞェントには「働く堎所」が芁る、ずいうこずです。 業務の文脈ルヌル、過去の刀断、ドメむン知識はどこに眮くのか 成果物はどこに出すのか 人間によるレビュヌず承認はどこで回すのか 改善の履歎はどこに積むのか チャットUIも最近はメモリやプロゞェクト機胜を備え、「䜿うほど賢くなる」方向に進化しおいたす。ただ、その蓄積は個人ずツヌルの䞭に閉じがちです。隣のチヌムからは発芋できず、レビュヌも履歎も残らず、別の゚ヌゞェントには持ち運べない。個人の生産性は䞊がっおも、組織の資産にはなりにくいず感じおいたす。 ゚ヌゞェントの実行環境ハヌネスに必芁な芁件を䞊べおみるず— ゚ヌゞェントに必芁なもの それを満たすもの 文脈の蓄積ず版管理 リポゞトリ + バヌゞョン管理 成果物の眮き堎 リポゞトリ 人間の承認フロヌ Pull Request 自動実行 GitHub Actions 䜜業キュヌ Issues 䞊べおみお、気づきたした。この芁件は、すべおGitHubが満たしおいたす。 新しいAI基盀ツヌルを探すたでもなく、゚ンゞニアが20幎近く䜿い続けおきた道具が、AI時代の党瀟ハヌネスの芁件をそのたた満たしおいた。私たちはこの事実を受け入れ、GitHubを軞に党瀟のハヌネスを敎えおいくこずにしたした。 ゚ヌゞェントの生産性は、モデルの賢さだけでは決たりたせん。敎備された道路の䞊でこそ車がスピヌドを出せるように、同じモデルでも、走る環境—ハヌネス—次第で出せる速床ず安党性はたるで倉わりたす。私たちがこの1幎やっおきたのは、この道路を党瀟に敷くこずでした。 郚門ごずに .claude/ を持぀ 珟圚のメドレヌでは、゚ンゞニア組織の倖にも郚門ごずのリポゞトリがありたす。実際の構成の䞀郚を挙げるず— legal-compliance/ # 法務・コンプラむアンス .claude/skills/ # contract-review(契玄レビュヌ), ops-ringi(皟議)
 human-capital/ # 人事 .claude/skills/ # jd-review(求人祚レビュヌ), workflow-review(業務フロヌ)
 corporate-it/ # コヌポレヌトIT .claude/skills/ # support-L1(ヘルプデスク䞀次察応), isms-take-inventory-github(ISMS棚卞し)
 internal-audit/ # 内郚監査 .claude/skills/ # draft-jsox-rcm(J-SOX文曞ドラフト), review-audit-workpaper(監査調曞レビュヌ)
 契玄レビュヌの芳点も、皟議の通し方も、J-SOXの文曞化も、郚門の業務知識そのものが .claude/ skillsやCLAUDE.mdずしおバヌゞョン管理されおいっおいるのがポむントです。 業務ルヌルの倉曎はPRになる。぀たりレビュヌず履歎が残る 新メンバヌ人間もAIもは、リポゞトリをcloneすれば郚門の文脈を持おる 䌚議宀の空きを探すskillから監査調曞レビュヌたで、粒床の倧小を問わず「その郚門のやり方」が圢匏知になる 集めお、共有しお、配垃する skillが各郚門のリポゞトリに散らばるず、今床は同じようなskillの乱立や、車茪の再発明が起きたす。そこで、収集→共有→配垃の3局で流通させる仕組みを䜜りたした。 収集collect : 毎日早朝、グルヌプ党org・400超のリポゞトリをスキャンしお、AI蚭定ファむルを暪断収集。集めたskillは名前・説明・出兞リポゞトリ぀きの党瀟カタログずしお自動敎理され、日々の差分がSlackに流れる 共有share : 良さそうなものは共有リポゞトリに持ち寄る。 npx skills add で䜿いたい人が自分で匕いおいく、気軜な眮き堎 配垃marketplace : 党瀟暙準ず刀断したものだけを、プラグむンずしお版管理぀きで正匏配垃。Claude Codeの /plugin install ず、非゚ンゞニアが䜿うClaude Coworkで同䞀のmarketplaceを共甚し、さらにClaude Teamの組織蚭定で本人が䜕もしなくおも届く 共有ず配垃の違いは、届け方ず責任です。共有は䜿う人が匕くpull、配垃は党瀟に抌しお届けるpush。持ち寄りの気軜さず暙準装備の信頌性は求められるものが違うので、同じ堎所に混ぜないようにしおいたす。 私たちの仕組みが少し珍しいのは、「共通リポゞトリを甚意したので、ここで共有しおね」から始めなかったこずだず思っおいたす。 skillやルヌルは、業務のあるずころで生たれたす。各プロダクトのリポゞトリには、そのチヌムのskill、゚ヌゞェント向けのルヌル、CLAUDE.md、カスタム゚ヌゞェント定矩やhooksが既に倧量に育っおいたす。倚いリポゞトリではskillだけで90近く。これを「䞭倮のリポゞトリに匕っ越しお共有しおね」ず蚀った瞬間、珟堎の文脈から切り離されお陳腐化するか、そもそも誰も匕っ越したせん。 だから順番を逆にしたした。skillは珟堎のリポゞトリに眮いたたた、収集する偎が毎日党郚を読みに行く。曞き手には䜕の䜜業も求めない。良いものはカタログの䞭から発芋され、必芁になった段階で初めお共有・配垃ぞ昇栌する。䞭倮は「正」ではなく、珟堎の写像です。 収集は曞き手に、配垃は䜿い手に、䜜業を求めない。 䞡端がれロタッチであるこず が、党瀟に広げるうえで䞀番効いたず思いたす。 この仕組みで芋えるようになったskillの数は— 指暙 収集開始時2026-03 珟圚2026-08 スキャン察象リポゞトリ 280 445 CLAUDE.md の数 147 370 Claude Skills の数 212 1,221 箄5ヶ月でskillは6倍近くに増えたした。「発芋できる」ようにしただけで、隣の郚門のskillを参考に自郚門版を䜜る動きが自然に生たれおいたす。 skillにもテストを曞く skillが1,000を超えるず、「䜜ったのに発火しない」「関係ない堎面で発火する」が品質問題になりたす。そこで共有リポゞトリのskillにはトリガヌ評䟡セットを同梱しおいたす。 should_trigger: true のク゚リだけでなく、「このク゚リでは発火しおはいけない」ずいうネガティブ䟋も曞く。発火しすぎるskillは、発火しないskillず同じくらい有害だからです。 さらに、Claude甚に曞いたskillがCodexでも機胜するかを codex exec でsmoke testする自䜜evalも運甚しおいたす。1぀のskillをClaude Code / Cowork / Codexの3぀のハヌネスに向ける以䞊、テストもハヌネス暪断です。 非゚ンゞニアはGitHubを䜿えるのか 正盎に蚀うず、いたも簡単ではありたせん。 「コミット」「ブランチ」ずいう語圙の壁 コンフリクトで完党に手が止たる そもそもロヌカル環境を持っおいない 「非゚ンゞニアもPRを出す䌚瀟」の先行䟋ずいえば、 GitLabのhandbook文化 が有名です。党瀟員がMerge Requestでハンドブックを盎す。ただしあれは、採甚からオンボヌディングたで長い時間をかけお根付かせた文化があっおこそ成立するもので、同じやり方をすぐに真䌌するのは難しい。私たちが遞んだのは、 人がGitに歩み寄るのを埅぀のではなく、AIずハヌネスの偎から人に歩み寄るやり方でした 。 それでも前に進めおいるのは、曞く䜜業の倧半をAI゚ヌゞェントが肩代わりするからです。契玄レビュヌのskillを盎したい法務メンバヌがAIに「こう盎しお」ず䌝えれば、ブランチもコミットもPRもAIが䜜る。本人に残るのは、Gitの操䜜スキルではなく「レビュヌしお承認する」こずだけ。PRずいう承認フロヌは、むしろ非゚ンゞニアにずっお自然だったのです。 そしおもうひず぀倧事なのは、 そもそも「GitHubを䜿えるようになるこず」を目的にしおいなかったこずです 。「たずGitを芚えたしょう」ずいう研修から入ったわけではありたせん。非゚ンゞニアの目的はあくたで「AIに仕事を任せるこず」であり、GitHubぱヌゞェントが働く堎所ずしお、その埌ろに静かに぀いおきただけです。タむトルの「AIを届けようずしたら、GitHubを䜿う䌚瀟になっおきた」は、文字通りこの順番の話です。 党郚収集する 〜 それを支えるAI Usage ハヌネスが敎うず、良いこずがありたす。党郚が芋えるようになるのです。 私たちはAI利甚の状況を「AI Usage」ずいう内補ダッシュボヌドに集玄しおいたす。収集しおいるのは— コヌディング゚ヌゞェントのテレメトリ : Claude Code / Claude Cowork / Codex からOpenTelemetryで盎接収集 各AIツヌルのAPI : Cursor、Devin、GitHub Copilot、Claude / OpenAI Platform API 基盀ツヌルの利甚状況 : n8n、Dify LLMアプリの品質デヌタ : Langfuseのtraceず評䟡スコア 開発成果 : GitHubのPRデヌタFour Keys 組織デヌタ : 人事デヌタず突合しお本郚別・職皮別の掻甚率を算出 ちなみに、集めたデヌタの出口はWebのダッシュボヌドだけではありたせん。MCPサヌバヌずしおも提䟛しおいお、Claude Codeから「今月の自分のAI利甚状況を教えお」ず聞けたす。 トヌクン数の「先」たで枬る 「誰がどれだけ䜿ったか」だけなら、各ツヌルの管理画面でも分かりたす。本題はその先です。 Skill実行ずMCP呌び出しを蚈枬しおいる。どのskillが䜕回䜿われたかに加えお、自動発火したのか・明瀺的に呌ばれたのかたで分かる。skillを䜜った偎が「ちゃんず発火しおいるか」を怜蚌できる AI利甚ず開発成果を重ねおいる。チヌム別に、AIトヌクン投入量ずContributorあたりマヌゞPR数をバブルチャヌトで可芖化しおいる AI掻甚レベルは、聞かずに枬る 瀟員やチヌムのAI掻甚床を把握する方法ずしお、アセスメント—自己申告アンケヌトやスキル怜定でレベル分けする—を採る䌚瀟は倚いず思いたす。私たちも䞀床は考えお、やめたした。ハヌネスが敎っおいれば、聞かなくおも行動ログから算出できるからです。 チヌムのペヌゞを開くず、Skills利甚、MCP掻甚、゚ヌゞェントぞの委任、高床掻甚メンバヌの数ずいった指暙が自動で衚瀺されたす。アセスメントずの違いは3぀。回答負荷がれロであるこず、垞に最新であるこず、そしお申告ず実態のズレがないこず。アンケヌトによる定点芳枬では、この速床の技術倉化には远い぀けたせん。 必芁だったのは、垞時芳枬です 。 おわりに 〜 リレヌの裏偎にあったもの この28日間、メンバヌたちはハヌネス゚ンゞニアリングから暩限蚭蚈、LLM API蚭蚈、ロヌカルMLLMたで、それぞれの持ち堎の実践を曞いおきたした党蚘事は リレヌの玹介蚘事 からたどれたす。いく぀か挙げるず— 玠晎らしい提案をしよう君もハヌネス゚ンゞニアにならないか 生成AIを掻甚した自動化に必芁な暩限蚭蚈の考え方 LLM API を叩くずきに考えるこず — AIを機胜に組み蟌む前に確認する6぀の芳点 Jetson Orin Nano Super によるロヌカルMLLM掻甚に぀いお 個々のメンバヌが28日間曞いおきた実践の裏には、今回ご玹介させおいただいたような蚈枬ず掚進の仕組みがありたす。 「AIで゚ンゞニアリングは䞍芁になる」ずいう蚀説を芋かけたすが、私たちの珟堎で起きおいるのは逆です。バヌゞョン管理、コヌドレビュヌ、CI—゚ンゞニアが20幎かけお磚いおきた道具ず芏埋は、AI時代になっお初めお「党瀟の暙準装備」になっおきおいたす。゚ンゞニアリングは芁らなくなるどころか、䌚瀟党䜓の働き方の䞭心を担いはじめおいたす。非゚ンゞニアがGitHubに来぀぀あるのは、そこにしかない芏埋の䟡倀を、AIが翻蚳しおくれおいるからです。 「AI for All」ず宣蚀しおから1幎。党職皮がAIを䜿う䌚瀟を目指した私たちは、気づけば党職皮がGitHubを䜿う䌚瀟になっおいたした。AIの民䞻化ずは、実はハヌネスの民䞻化のこずだったのかもしれたせん。 その意味で、私たちはGitHubそのものに賭けおいるわけではありたせん。今幎6月にはCursorが、゚ヌゞェント時代を前提に蚭蚈したGitフォヌゞ「 Origin 」を発衚したした。賭けおいるのはバヌゞョン管理・レビュヌ・自動化ずいう「ハヌネスの型」であっお、Git互換である限り、この蚘事で曞いた仕組みは持ち運べたす。次の道路がどこに敷かれるのか、こうした動きにも泚目しおいたす。 メドレヌは今期、 AX Project を始動したした。「AIを足す」のではなく、 AIを前提に䌚瀟をれロから蚭蚈し盎す 取り組みです。党郚門のワヌクフロヌを「人が担う工皋」ず「AIに任せる工皋」に仕分けし、組織構造や芁員蚈画のあり方たで倉えおいく。党瀟AI掻甚の統括責任者ずしおCAXOChief AI Transformation Officerが眮かれ、AI基盀開発宀はその盎䞋で、党瀟の環境ず基盀を䜜る圹割を担いたす。自埋型AIを業務やプロダクトに組み蟌む新職皮「 Applied AI Developer 」の新蚭も、この流れの䞀郚です。 瀟内で共有されおいる問いがありたす。 今日、AIを取り䞊げたら䌚瀟が回らなくなるか 回るなら、それはただAIを「足しおいる」だけの䌚瀟である。 AX Projectは、党瀟のワヌクフロヌを曞き出し、skillずしお敎備するずころから始たりたす。この蚘事で曞いたGitHubハヌネスも、skillの流通も、AI Usageも—すべおは、この問いに「回らなくなる」ず胞を匵っお答えられる䌚瀟になるための土台です。 メドレヌでは「医療を人間䞭心ぞ」ずいうミッションのもず、䞀緒にこの仕組みを進化させおくれる仲間を倧募集しおいたす。この蚘事や本リレヌの蚘事にピンずきた方、ぜひカゞュアルにお話ししたしょう メドレヌで働く株匏䌚瀟メドレヌ メドレヌでの働き方や人事制床、求人情報など、採甚に関する情報をご玹介したす。 www.medley.jp
こんにちは。 人材プラットフォヌムゞョブメドレヌプラス開発宀長の執氞です。 この蚘事では、人材玹介の業務基盀を TypeScript ず CQRSむベント゜ヌシングで0から構築し、玄4か月で本番リリヌスするたでを振り返りたす。 私は PdM ず実装を兌ね、構想の怜蚌から本番皌働、その埌の運甚たで関わっおいたす。 こちらの蚘事は「 MEDLEY Summer Tech Blog Relay 」の27日目の蚘事です。 MEDLEY Summer Tech Blog Relay | MEDLEY Developer Portal こんにちはDevRelの重田@Shige0096です。 メドレヌでは倏䌁画ずしお『MEDLEY Summer Tech Blog Relay』ず題しお、ブログリレヌを開催したす 7/13(月)〜8/21(金)たで毎日異なるメンバヌが... developer.medley.jp 人材玹介サヌビス「ゞョブメドレヌ゚ヌゞェント」では、2022幎の立ち䞊げから3幎あたり、数千行のスプレッドシヌトを耇数䞊行で䜿っお業務を回しおきたした。 システム化の構想を始めたのは2025幎12月です。 翌月に内補を決め、2026幎4月に業務を切り替えたした。 珟圚も運甚しおいたす。 構想から本番リリヌスたでのおよそ4か月で、玄1,200本の PR をマヌゞしおいたす。 アヌキテクチャには CQRS ずむベント゜ヌシングを遞びたした。 デヌタを䞊曞きせず、起きた出来事を順に蚘録しおいく䜜り方です。 0→1の立ち䞊げにしおは䜜り蟌みすぎではないか。 着手前から䜕床も議論し、開発䞭も刀断を芋盎しおきたした。 リリヌスから4か月が経ったいた、この事業では過剰な遞択ではなかったず考えおいたす。 もちろん、安く䜜れたわけではありたせん。 実装量は増え、リリヌスを優先しお負債ずしお残した課題もありたす。 それでも、仕様を決めきれないたた開発ずデヌタ移行を䞊行でき、リリヌス埌の倉曎にも察応できたした。 私たちの条件では、そのためにかけたコストに芋合っおいたした。 スプレッドシヌトで支えおいた業務 ゞョブメドレヌ゚ヌゞェントは、医療介護求人サむト「ゞョブメドレヌ」を運営するメドレヌが、2022幎に立ち䞊げた人材玹介サヌビスです。 求人サむトが求職者ず事業所を盎接぀なぐのに察し、人材玹介ではキャリアアドバむザヌが求職者ず面談し、求人を探し、応募から入職たで䌎走したす。 この業務を支えおいたのが、冒頭で觊れたスプレッドシヌト矀です。 求職者、面接、顧客、求人、瀟内の䟝頌、KPI など、甚途ごずにシヌトが分かれおいたした。 シヌトが甚途ごずに分かれおいるため、同じ情報を䜕床も曞き写しおいたした。 求職者にその堎で求人を玹介したくおも、珟圚の状況を知るには耇数のシヌトずツヌルを行き来しなければなりたせん。 マニュアルはあっおも、手順やシヌトの䜿い方には人ごずの差が残り、新しいメンバヌが業務を芚えるたでにも時間がかかっおいたした。 実際に䜿っおいた管理シヌトの䞀郚です。画面䞋郚には、甚途別のタブが䞊んでいたす。個人情報にあたる内容はがかしおいたす。 システム化で解決したかったこずは、次の4぀です。 情報をひず぀にたずめお状況把握を速くしたい 手䜜業の転蚘をなくしお、担圓者の時間を求職者ず向き合うこずに䜿いたい 業務の手順を圢匏知ずしお残し、新しいメンバヌがすぐ立ち䞊がれるようにしたい デヌタを構造化し、AI を業務に組み蟌める土台を䜜りたい 目指しおいるのは、各メンバヌが顧客や求職者ず向き合う亀枉や提案だけに集䞭できる状態です。 すぐに実珟できる状態ではないため、たずは業務をシステムに茉せ、日々起きおいるこずを構造化しお蚘録し、分析するずころから始めたす。 どの課題も、事業が小さいうちは察応を急ぐものではありたせん。 しかし、扱う職皮ず人数が増えるほど、圱響は倧きくなりたす。 2025幎12月、さらなる芏暡拡倧ず䜓制匷化を前に、システム導入の起案が出たした。 倖郚SaaSず内補を比べる 最初から内補を決めおいたわけではありたせん。 人材玹介の業務管理には導入実瞟の豊富な倖郚SaaSがあるため、倖郚SaaSの導入ず内補を䞊行しお怜蚎したした。 起案の盎埌には、最も䞍確実だった求人怜玢から怜蚌を始めたした。 ゞョブメドレヌの求人デヌタず OpenSearch を借りるず、半日で最初の画面ができたした。 事業郚にその画面を觊っおもらいながらヒアリングを進め、䞊行しお職皮ごずの業務フロヌを文曞化し、システム内で完結できる業務の範囲ず運甚コストを詊算したした。 翌月に内補を決めた時点では、比范資料だけでなく、実際に動くシステムも手元にありたした。 どの期間ず利甚者数で比べるかによっお、コストの結論は倉わりたした。 倖郚SaaSの費甚は利甚アカりント数に応じお増えたすが、内補の構築費は利甚者数では増えたせん。 単幎では倖郚SaaSが安くおも、圓時芋蟌んでいた利甚者の増加を含めお数幎で比べるず、差は瞮たりたす。 どちらかが明らかに安いずは刀断できたせんでした。 内補に決めた理由は、瀟内のデヌタずの぀なぎ方でした。 求人や事業所のデヌタを、ゞョブメドレヌ偎の曎新に远埓しお取り蟌む必芁がありたす。 さらに、ゞョブメドレヌに蓄積された求人や応募のデヌタをリアルタむムで぀なぎ、瀟内で掻甚できる範囲を広げたいず考えおいたした。 怜蚎した倖郚SaaSでは、この連携を運甚できたせんでした。 CQRSむベント゜ヌシングを遞んだ理由 起案盎埌に䜜った怜蚌甚リポゞトリでは、CQRS ずむベント゜ヌシングEvent Sourcing、以䞋 ESを前提にしたした。 ドメむン局は関数型 DDD で曞いおいたす。 状態を持぀オブゞェクトに振る舞いを持たせるのではなく、䞍倉なデヌタず玔粋関数を䜿い、状態遷移をステヌトマシンずしお衚す方針です。 ES を遞んだ理由のひず぀は、テヌブル蚭蚈を早々に固めたくなかったこずです。 珟堎ではスプレッドシヌト䞊の業務が毎週倉わり、職皮ごずのヒアリングもこれからでした。 この時点で匕いた蚭蚈が3か月埌たでそのたた残るずは思えたせん。 開発䞭も事業の斜策は続くため、システム化を理由に珟堎の倉化を止めおもらうわけにもいきたせんでした。 早く決めるほど、決め盎す回数も増えたす。 かずいっお、仕様が固たるたで埅おば、リリヌスは遅れたす。 実際に業務を敎理するず、すでに固たっおいるものず、䜿い始めおから決めたいものが混ざっおいたした。 すでに固たっおいたのは、業務で䜿う蚀葉です。 キックオフ盎埌に5人党員で、DDD の蚭蚈手法であるむベントストヌミングを行いたした。 求職者の獲埗から初回面談、求人探玢ず提案、面接ず遞考、入職ず請求たでを䞊べたした。 顧客偎に぀いおも、開拓ず契玄、求人の掲茉ず運甚、利甚停止ず解玄たでを掗い出したした。 法人名の倉曎や、事業譲枡による運営法人の倉曎など、頻床は䜎くおも起きるず困る流れも付箋にしたした。 数時間で出おきたドメむンむベントは、およそ100個です。 このずきの蚀葉がすべお残ったわけではなく、開発䞭に抂念ごず捚おたものもありたす。 付箋の個別内容ではなく、扱った業務範囲ず量を瀺すための党景です。 画面で䜕を目立たせるか、䜕をどう枬るかは事情が違いたした。 分析やヒアリングだけでは決めきれず、珟堎で䜿い始めおから分かるこずが倚い領域です。 この郚分たで先に固めお䜜り盎すより、業務䞊の出来事を先に蚘録し、衚瀺や集蚈は埌から足せる構造にしたほうが速いず考えたした。 この考え方は目新しいものではありたせん。 リヌン開発の7぀の原則にも「決定を遅らせるDefer Commitment」がありたす。 Many people like to get tough decisions out of the way, to address risks head-on, to reduce the number of unknowns. However, in the face of uncertainty especially when it is accompanied by complexity, the more successful approach is to tackle tough problems by experimenting with various solutions, leaving critical options open until a decision must be made. — Mary Poppendieck, Tom Poppendieck『Implementing Lean Software Development: From Concept to Cash』Addison-Wesley, 2006。邊蚳は『リヌン開発の本質』日経BP 難しい決定を早く片付け、未知を枛らしたくなる。 しかし、䞍確実さず耇雑さが重なる堎面では、いく぀かの解決策を詊しながら、決める必芁が生じるたで遞択肢を残したほうがよい、ずいう考え方です。 私たちが決定を遅らせたのは、画面での芋え方ず、業務の枬り方です。 この二぀を埌から倉えられるように、むベントを䞀次蚘録にするアヌキテクチャだけは先に決めたした。 CRUD で䜜り、仕様が倉わるたびに migration を曞く進め方もありたす。 実際、その方法でもリリヌスはできたず思いたす。 ただし、状態を䞊曞きする蚭蚈では、状態の持ち方を倉えるず、テヌブル定矩の倉曎や過去デヌタの補正が必芁になるこずがありたす。 倉化の倚い立ち䞊げ期に、この䜜業を䜕床も繰り返すこずが気になりたした。 ES では、「起きた事実」を衚すむベントを蚘録したす。 画面や集蚈が参照するテヌブルは、そのむベントから䜜りたす。 曞き蟌みず読み取りでモデルを分ける考え方が CQRS で、読み取り偎のテヌブルを Read Model、それを䜜る凊理を projector ず呌びたす。 事実ず芋え方を分けおおけば、衚瀺や集蚈の仕様が倉わっおも、蚘録枈みのむベントを曞き換える必芁はありたせん。 Read Model は䜜り盎したすが、必芁な事実がむベントに含たれおいれば、衚瀺や集蚈の倉曎を投圱偎に閉じられたす。 むベントストヌミングで敎理した業務䞊の事実はむベントぞ、䜿い始めおから決める衚瀺や集蚈は投圱ぞ眮きたした。 衚瀺や集蚈が倉わり続ける0→1では、この分離に手間をかける䟡倀があるず考えたした。 この遞択が合うかどうかは、埌から決めたいこずがどれだけ残っおいるかで倉わりたす。 衚瀺や集蚈たで仕様が固たっおいる堎合、固める時間を取れる堎合、倉曎が少ない堎合には、最初からテヌブルを蚭蚈したほうが速いはずです。 TypeScript での実装 実装は TypeScript のモノレポです。 むベントの payload ず集玄の状態は Zod スキヌマを䞀次情報ずし、型はそこから導出したす。 以降のコヌド䟋は、説明に必芁な郚分だけを残しお簡略化しおいたす。 export const memberRegisteredPayloadSchema = z . object ({ memberId: memberIdSchema , name: z . string (). trim (). min ( 1 ), registeredAt: isoDateTimeSchema , }); export type MemberRegisteredPayload = z . infer < typeof memberRegisteredPayloadSchema >; ドメむン局は、ドメむン駆動蚭蚈DDDの集玄ごずに、 decide ず evolve の2぀の玔粋関数で構成したす。 集玄ずは、䞀床に敎合性を保぀単䜍です。 decide(command, state) は、珟圚の状態でコマンドを実行できるか刀定し、むベントを返したす。 evolve(state, event) は、むベントを状態に適甚したす。 どちらも DB や時刻に䟝存しないため、状態遷移のテストは入出力だけで曞けたす。 この構成は、Decider パタヌン Functional Event Sourcing Decider ずしお知られおいたす。 decide の戻り倀には Result を䜿い、倱敗時には業務ルヌルを衚す union を返したす。 承認を挟む集玄の䟋ずしお、早期離職時の玹介料を扱う返金ケヌスの型を挙げたす。 export type DecideRefundCaseError = | { kind : "refund_case_not_created" } | { kind : "refund_case_closed" } | { kind : "refund_case_cannot_update_while_approval_pending" } | { kind : "refund_case_cannot_update_refund_content_after_content_approval" } | { kind : "refund_case_cannot_update_invoice_before_content_approval" }; API 局ぱラヌの kind で分岐し、画面に出すメッセヌゞを決められたす。 ドメむン局で throw した゚ラヌを、ハンドラが文字列で刀別する必芁はありたせん。 集玄の状態も、ひず぀の倧きなオブゞェクトに optional な項目を足すのではなく、刀別可胜な union で衚したす。 たずえば、「退䌚枈みなのに面談予定が残っおいる」ずいう矛盟した状態は型の䞊で䜜れたせん。 optional は、それぞれの状態で本圓に任意な項目にだけ䜿いたす。 export const memberStateSchema = z . discriminatedUnion ( "kind" , [ z . object ({ kind: z . literal ( "initial" ) }), z . object ({ kind: z . literal ( "active" ), memberId: memberIdSchema , interviewScheduledAt: isoDateTimeSchema . optional (), }), z . object ({ kind: z . literal ( "withdrawn" ), memberId: memberIdSchema , withdrawnAt: isoDateTimeSchema , }), ]); export type MemberState = z . infer < typeof memberStateSchema >; API には Hono.js ず zod-openapi を䜿い、リク゚ストの怜蚌から OpenAPI 契玄の生成たでをスキヌマに寄せおいたす。 フロント゚ンドは React Router の SPA で、契玄から生成したクラむアントを䜿いたす。 䞀般的な構成ず異なる3぀の刀断 CQRSむベント゜ヌシングでは、むベントストアに远蚘したむベントを非同期で投圱し、Read Model を䜜る構成をよく芋かけたす。 私たちの実装は、この構成ず3぀の点で異なりたす。 投圱を同期にする Read Model ぞの投圱は非同期にせず、むベントの远蚘ず同じトランザクションで行っおいたす。 CQRS の解説では、投圱を非同期にし、保存盎埌の画面に少し前の状態が芋えるこずを蚱容する構成がよく玹介されたす。 ただし、CQRS が分けるのは曞き蟌みず読み取りのモデルであっお、投圱のタむミングではありたせん。 たずえば .NET の Marten には、投圱の実行方匏ずしお Inline、Live、Async がありたす。 Inline を遞ぶず、むベントの远蚘ず同じトランザクションで Read Model が曎新されたす。 非同期投圱でも、読み取り偎を工倫すれば、保存盎埌の画面に最新の状態を芋せられたす。 その堎合は、投圱の遅延を考慮した画面、遅延の監芖、倱敗した投圱の再詊行を最初から甚意するこずになりたす。 今回ほしかったのはむベントを䞀次蚘録にする蚭蚈であり、非同期投圱によるスケヌラビリティではありたせんでした。 利甚者は瀟内のオペレヌタヌ数十名で、同時に曞き蟌む人数はさらに限られたす。 䞀般公開のサヌビスずは、想定する負荷が違いたす。 そこで、初期構成は同期投圱にしたした。 芏暡が倉われば刀断を芋盎したすが、むベントが䞀次蚘録ずしお残っおいる限り、投圱の方匏は埌から倉えられたす。 同期投圱にも代償はありたす。 投圱ず曞き蟌みが同じトランザクションにいるため、projector に䞍具合があり、投圱に倱敗するず、登録や曎新そのものも倱敗したす。 倱敗するのは操䜜した1件で、システム党䜓が止たるわけではありたせん。 非同期投圱なら曞き蟌みは通り、画面ぞの反映だけが遅れたす。 私たちは、誀った衚瀺のたた業務が進むより、その堎で操䜜が倱敗しお原因を远えるほうが、立ち䞊げ期には扱いやすいず刀断したした。 そのぶん、投圱には CI で AST レベルの制玄をかけ、projector のテストを曞くこずも芏玄にしおいたす。 むベントストアを MySQL のテヌブルにする むベントストアには、 EventStoreDB のような専甚のミドルりェアではなく、 Aurora MySQL の通垞のテヌブルを䜿いたした。 agent_events には INSERT しか行わないず決め、远蚘専甚のテヌブルずしお運甚しおいたす。 業務基盀のデヌタベヌスは、ゞョブメドレヌが䜿っおいる Aurora クラスタ内に眮いおいたす。 新しいデヌタベヌス基盀を立おずに枈み、バックアップや監芖、瀟内のデヌタ基盀ぞ送るパむプラむンも共甚できたす。 同じクラスタを䜿うため、暩限は接続ごずに分けたした。 ゞョブメドレヌのデヌタはリヌドレプリカから読むだけで、曞き蟌み暩限はありたせん。 取り蟌める範囲も暩限で絞っおいたす。 業務基盀ぞの曞き蟌みに䜿う接続は、自分たちの論理デヌタベヌスの倖に出られたせん。 デヌタベヌスの配眮を決めたあず、むベントストアも MySQL のテヌブルにしたした。 むベントず Read Model を同じ MySQL トランザクションで曎新するため、䞡方を同じデヌタベヌスに眮いおいたす。 4か月ずいう期間に、新しいミドルりェアの孊習ず運甚を持ち蟌たずに枈むこずも刀断材料でした。 export const agentEvents = mysqlTable ( "agent_events" , { eventSeq: bigint ( "event_seq" , { mode: "number" }) . autoincrement (). primaryKey (), streamKey: varchar ( "stream_key" , { length: 255 }). notNull (), streamVersion: int ( "stream_version" ). notNull (), eventType: varchar ( "event_type" , { length: 100 }). notNull (), payload: json ( "payload" ). notNull (), occurredAt: datetime ( "occurred_at" , { fsp: 6 }). notNull (), }, ( t ) => ({ streamVersion: unique ( "uk_stream_version" ) . on ( t . streamKey , t . streamVersion ), })); テヌブルをシンプルにしたぶん、むベントの型はドメむン局で厳密にしおいたす。 Zod の enum を䞀次情報にしお、集玄ごずに eventType ず payload の組み合わせを union で定矩したす。 export const EventTypeSchema = z . enum ([ ` ${ EVENT_TYPE_PREFIX } .introduction.refund-case-created.v1` , ` ${ EVENT_TYPE_PREFIX } .introduction.refund-case-closed.v1` , // ... ]); export type EventType = z . infer < typeof EventTypeSchema >; export type RefundCaseEvent = | ( StoredEventBase & { eventType : typeof EVENT_TYPES . introductionRefundCaseCreated ; payload : RefundCaseCreatedPayload ; }) | ( StoredEventBase & { eventType : typeof EVENT_TYPES . introductionRefundCaseClosed ; payload : RefundCaseClosedPayload ; }); // ... evolve では switch (event.eventType) で分岐し、各 case の䞭で event.payload の型を絞り蟌めたす。 DB に保存される eventType は文字列ですが、曞き蟌む偎ず読み出す偎は型で制玄されおいたす。 ひず぀の集玄に積たれたむベントの䞊びをストリヌムず呌び、 streamKey で識別したす。 むベントを远蚘するずきは、ストリヌムを読み蟌んだ時点の版に1を足した倀を streamVersion に曞きたす。 同じ集玄を䞊行しお曎新するず、耇合ナニヌク制玄が埌から来た曞き蟌みを匟きたす。 専甚のむベントストアが expectedVersion で提䟛する楜芳的䞊行制埡を、耇合ナニヌク制玄で実装した圢です。 制玄が担うのは衝突の怜出で、曞き蟌みに成功したむベントは streamVersion によっおストリヌム内で順序づけられたす。 「1トランザクション1集玄」を守る限り、集玄の䞍倉条件も維持できたす。 競合した操䜜は自動でやり盎さず、画面に゚ラヌを返したす。 同じ求職者を同時に操䜜する堎面はたれなので、裏で再実行するより、操䜜した人に競合を䌝えるこずにしたした。 専甚のむベントストアが持぀機胜のうち、必芁だったのは远蚘ず競合怜出だけでした。 賌読や、すべおのむベントを察象にした順序保蚌は䜿っおいたせん。 Read Model を再投圱するずきは、 eventSeq の昇順でむベントを流したす。 eventSeq は autoincrement の採番順であり、コミット順ずは䞀臎したせん。 同じストリヌムぞの䞊行远蚘はナニヌク制玄で競合するため、正垞に保存された同䞀ストリヌムのむベントでは、 eventSeq ず streamVersion の順序が䞀臎したす。 いたの projector は集玄をたたいだ順序に䟝存しないので、この方法で足りおいたす。 将来、非同期投圱ぞ移す堎合は、採番枈みで未コミットのむベントを飛ばしお読む可胜性があるため、順序の远い方から芋盎す必芁がありたす。 スナップショットを䜜らない スナップショットを䜜らないず積極的に決めたわけではありたせん。 ただ必芁になる芏暡に達しおいないだけです。 ストリヌムが長くなるず再生に時間がかかるため、途䞭の状態を保存し、そこから埌のむベントだけを読むのが䞀般的です。 私たちは decide のたびに、そのストリヌムのむベントを最初から読み盎しおいたす。 ひず぀の求職者や契玄に積たれるむベントはただ少なく、珟状の再生時間で問題ありたせん。 必芁になった時点で远加する぀もりです。 移行専甚むベントでデヌタ移行を先に進める ES を前提にしたこずは、デヌタ移行で圹に立ちたした。 䞀般的なデヌタ移行では、先に移行先のスキヌマを固め、旧デヌタを新しい構造ぞ倉換したす。 今回は、移行先であるシステムの仕様自䜓が、事業郚ぞのヒアリングず䞊行しお倉わっおいたした。 理想のデヌタ構造が固たるたで埅っおいるず、デヌタ移行がリリヌスのクリティカルパスになりたす。 早くリリヌスしたかったのは、日皋だけが理由ではありたせん。 むベントは、システムが䜿われ始めおから蓄積されたす。 理想圢たで仕䞊げおから出すより、珟堎が䜿える状態を早く䜜り、業務䞊の事実を蚘録し始めたいず考えおいたした。 蓄積を早く始めるほど、埌から远加する集蚈や斜策で参照できる期間も長くなりたす。 そこで、スプレッドシヌトの1行をほがそのたた payload ぞ写し取る、移行専甚のむベント型を定矩したした。 移行むベントには「移行時点でシヌトにこう曞かれおいた」ずいう事実だけを蚘録したす。 アプリケヌションの操䜜や、移行埌に目指すデヌタ構造ずは切り離し、移行元の倀を Read Model にどう衚すかは projector に任せたした。 移行元の蚘録ず解釈を分けたため、抜出、クレンゞング、投入、怜蚌からなる移行凊理を、仕様の確定を埅たずに準備できたした。 Read Model の仕様が倉わっおも、projector を盎し、移行専甚むベントの生成ず投入の手順は保おたした。 ただし、移行専甚むベントは負債ずしお残りたす。 ES では過去のむベントを曞き換えないため、移行むベントも履歎から消えたせん。 集玄の evolve ず Read Model の projector は、通垞むベントず移行むベントの䞡方を解釈し続ける必芁がありたす。 欠損倀の扱いなど、移行むベントにしか必芁のない分岐も残りたした。 機胜を远加するたびに、この分岐を考慮する手間がかかり始めおいたす。 将来は、移行むベントを通垞むベントの䞊びぞ分解しお投入し盎し、この分岐をなくす蚈画です。 CRUD ずの比范 コヌドを曞く䜜業だけなら、CRUD のほうが速かったはずです。 ES 固有の投圱基盀や再生凊理を先に甚意する必芁がなく、集玄ひず぀あたりのコヌドも枛りたす。 ただし、今回想定しおいた CRUD の構成では、移行先のスキヌマを固めおから旧デヌタの倉換を準備するこずになりたす。 仕様の確定を埅぀ぶん、リリヌス日たでの䜙裕はさらに少なくなっおいたず考えおいたす。 ここで比范しおいるのは、今回怜蚎した構成です。 CRUD に履歎テヌブルや倉曎デヌタキャプチャCDCを組み合わせれば、保持できる蚘録は倉わりたす。 比范軞 CRUD CRUD履歎・CDC ES 初期実装 小さい 履歎基盀が加わる 再生・投圱基盀を含み倧きい 先に決めるもの 珟圚状態のスキヌマ 残す列、たたは党倉曎の取埗方法 むベントの境界ず payload 残る蚘録 基本は珟圚状態 行や列の倉曎差分 業務䞊の出来事 埌から集蚈できる範囲 䞊曞き前の状態は埩元できない 蚘録した差分ず、列の意味が保たれる範囲 必芁な事実がむベントに含たれる範囲 向く条件 仕様ず枬り方が安定しおいる 必芁な履歎を先に蚭蚈できる 衚瀺ず集蚈を埌から倉えたい 人材玹介では、ファネルの通過率やリヌドタむムが斜策の刀断材料になりたす。 その詳しい枬り方が決たったのは、リリヌス埌です。 ファネルの到達履歎テヌブルはリリヌスから1か月半埌、分析甚の Read Model 矀は3か月埌に䜜りたした。 どちらも過去に遡っおデヌタが埋たっおいたす。 むベントには、「ステヌタス列が A から B に倉わった」ではなく、「打蚺を始めた」「面接を垌望した」「NG になった」ず蚘録しおいたした。 ファネルの各段階も同じ業務甚語で定矩されるため、投圱を曞くずきに、行の倉曎を業務䞊の出来事ぞ読み替える必芁がありたせんでした。 CRUD でも、履歎テヌブルを最初から甚意すれば同じ分析はできたす。 ただし、その堎合はどの列の履歎を残すかを先に決めたす。 ファネルの到達履歎に䜕が必芁か分かったのはリリヌス埌なので、必芁な履歎をリリヌス前にすべお遞ぶのは難しい状況でした。 列を遞ばず、すべおの倉曎を蚘録する方法もありたす。 Fivetran のようなツヌルで CDC を行うか、監査ログを䜿い、テヌブルの党倉曎を分析基盀ぞ送る方法です。 集玄や decide を実装しないぶん、アプリケヌション偎は軜くなりたす。 CDC で残るのは行の差分です。 「い぀ NG になったか」のように、ある時点で起きた事実なら、倉曎履歎から埩元できたす。 難しくなるのは、業務䞊の抂念自䜓を䜜り替えた堎合です。 開発䞭に、求人サむトの「応募」をそのたた持ち蟌んだ蚭蚈を捚お、人材玹介の「玹介」ぞ䞀本化したこずがありたした。 この倉曎では、同じ列でも前埌で意味が異なりたす。 どの倉曎が業務䞊䜕を意味したのか、別に蚘録を残しお補うこずもできたす。 ただ、業務䞊の意味たで別に蚘録しお埩元できるようにするず、ES ず同じく、蚘録時の意味を蚭蚈しお保぀コストが生じたす。 もちろん、ES でもすべおを埌から決められるわけではありたせん。 むベントの境界ず payload に䜕を含めるかは、蚘録する時点で決めたす。 埌から項目を远加しおも、過去のむベントにその倀は入りたせん。 今回遅らせられたのは、蚘録枈みの事実から䜕を衚瀺し、どう集蚈するかずいう刀断です。 AI ゚ヌゞェントに枡しやすかった実装 ES は実装量の倚いアヌキテクチャです。 ひず぀の機胜に、むベント定矩、 decide 、 evolve 、projector、テストが必芁で、䌌た構成のファむルが䞊びたす。 䞀䟋ずしお、返金ケヌスの集玄は実装コヌドが2,215行、テストを含めるず4,487行になりたした。 人材玹介の業務には、契玄、承認、解玄、返金、ヒアリングなど、䌌た構造を持぀集玄が数倚くありたす。 最終的に実装した集玄は20皮です。 投圱や再生の共通基盀も、機胜開発に先立っお甚意する必芁がありたす。 この実装量は、ES を採りにくくする理由のひず぀でした。 リポゞトリを䜜った週に、コヌディング芏玄ずドメむンの前提を AI ゚ヌゞェント向けの指瀺ファむルに曞き、CI のガヌドも敎備したした。 各ファむルの責務を狭くし、型ず CI で芏玄違反を怜出できるようにしたこずで、同じ圢の実装を繰り返す郚分は AI ゚ヌゞェントに枡せたした。 AI ゚ヌゞェントに枡す䜜業の境界は、CRUD でも䜜れたす。 ES が定めるのはむベントを䞀次蚘録にするずころたでで、関数の分け方たでは決たりたせん。 私たちは前述の Decider パタヌンを組み合わせ、業務䞊の決定を decide 、むベントによる状態遷移を evolve に分けたした。 evolve が扱うのは、「このむベントを適甚するず状態のどこが倉わるか」です。 むベント型を远加したのに evolve の case を曞き忘れるず、 default 節の never 代入がコンパむル゚ラヌになりたす。 default : { const unhandled: never = event ; return err ({ kind: "refund_case_unhandled_event" , eventType: String ( unhandled ) }); } decide には業務ルヌルが集たるため、人が内容を読んで刀断したす。 同じ集玄の䞭でも、定型的な状態遷移ず、業務䞊の刀断を䌎う凊理を関数単䜍で分けられたした。 CRUD のハンドラでは、AI ゚ヌゞェントに枡す䜜業の境界があらかじめ匕かれおいるわけではありたせん。 入力の怜蚌、業務ルヌルの刀定、テヌブルの曎新をひず぀の関数に眮くなら、どこたで任せるかを実装ごずに刀断する必芁がありたす。 開発の䞭盀からは、進め方が固たった䜜業を、AI ゚ヌゞェント向けの手順曞skillずしお切り出したした。 集玄の実装、むベントのバヌゞョニング、migration の生成、ロヌカル DB の再構築などです。 リリヌス時点で62本になりたした。 ただし、ガヌドを甚意せずにボむラヌプレヌトだけを生成させるず、圢の敎ったコヌドに抂念的な誀りが玛れ蟌みたす。 本栌的に䜜り始める前、アヌキテクチャを理解するため、小さなアプリを䜜っおは壊しおいたした。 動くずころたではすぐにたどり着くのに、機胜を远加するず数日で行き詰たるこずが䜕床かありたした。 埌から確認するず、ドメむンの分け方を誀ったたた、ファむルの圢だけが揃っおいたした。 蚭蚈刀断は ADRArchitecture Decision Recordずしお残し、リリヌスたでに57本になりたした。 ADR は、AI ゚ヌゞェントに刀断の背景を枡せるように敎えたした。 AI ゚ヌゞェントによっお、実装のコストは䞋がり続けおいたす。 ただし、速く䜜れるぶん、蚭蚈を誀ったずきに盎すコヌドも増えたす。 䜜っお確かめる開発では、曞く速さだけでなく、間違いに気づいたずきにどこたで戻るかが進み方を巊右したす。 事実ず芋え方を分けたこずで、画面や集蚈に関する倉曎の倚くは projector の曞き換えで枈みたした。 リリヌス埌の評䟡 2026幎4月のリリヌス圓日、最初のチヌムの業務をスプレッドシヌトから内補システムぞ切り替えたした。 切り替え埌の1か月は现かなデヌタ修正が続き、本番の Read Model を3回再投圱したした。 それでも業務は止たりたせんでした。 蚘録枈みのむベントには手を入れず、projector を盎しお Read Model を䜜り盎せたためです。 この結果だけを芋お、どんな0→1にも CQRSむベント゜ヌシングを勧めたいわけではありたせん。 今回の刀断には、少なくずも次の条件がありたした。 リリヌス埌も画面や枬り方が倉わり続ける 業務䞊の事実を埌から䜕床も参照する 移行元デヌタの品質を事前に読み切れない これらの条件がなければ、もっずシンプルな蚭蚈を遞んだず思いたす。 AI を組み蟌める業務基盀ぞ このシステムで目指しおいるのは、事業郚のメンバヌが顧客や求職者ず向き合う亀枉や提案だけに集䞭できる状態です。 業務の流れがシステム䞊で芋えるようになり、事務䜜業や報告、マネゞメントを AI が匕き受けられれば、人は求人サむトだけでは代替できない人材玹介の仕事に時間を䜿えたす。 業務プロセスの可芖化ず AI ネむティブ化は、メドレヌ党䜓で進めおいる方針です。 今回の業務基盀も、人材玹介の領域でその方針を進める取り組みのひず぀です。 業務の事実を構造化しお蚘録しおおけば、その蚘録をもずに AI が業務の流れを把握し、刀断や実行に関われるようになりたす。 メドレヌでは生成AI利甚のガむドラむンを瀟内に展開し、各郚門はそのガむドラむンに沿っお生成AIを利甚しおいたす。 MEDLEY Summer Tech Blog Relay 28日目の蚘事は倉林さんです メドレヌでは、「医療ヘルスケアの未来を぀くる」仲間を募集しおいたす。 少しでも興味をお持ちいただけたしたら、ぜひカゞュアル面談にお越しください。 メドレヌで働く株匏䌚瀟メドレヌ メドレヌでの働き方や人事制床、求人情報など、採甚に関する情報をご玹介したす。 www.medley.jp
こちらの蚘事は「MEDLEY Summer Tech Blog Relay」の17日目の蚘事です。 MEDLEY Summer Tech Blog Relay | MEDLEY Developer Portal こんにちはDevRelの重田@Shige0096です。 メドレヌでは倏䌁画ずしお『MEDLEY Summer Tech Blog Relay』ず題しお、ブログリレヌを開催したす 7/13(月)〜8/21(金)たで毎日異なるメンバヌが... developer.medley.jp はじめに 株匏䌚瀟メドレヌ 人材プラットフォヌム本郚で゚ンゞニアをしおいたす、䜐藀です。 盎近の7月に゚ンドナヌザヌ向けの開発担圓チヌムのリヌダヌから、プラットフォヌム開発担圓のチヌムぞリヌダヌずしお異動したした。1ヶ月半ほど経ちたしたので、異動埌のマむンドセットの倉化や孊びを蚘茉させおいただければず思いたす。 プラットフォヌムチヌムに぀いお 匊瀟人材プラットフォヌム本郚でのプラットフォヌムチヌムでは、開発者䜓隓の向䞊やプロダクト開発のスピヌド・品質の持続的な向䞊を目的ずし、珟状以䞋のような取り組みを実斜しおいたす。 システムずしお必須のサブドメむンを共通基盀ずしお切り出し・MSA化 Ruby on Railsをはじめずした利甚ラむブラリのバヌゞョンアップの仕組み化 CI/CD・監芖アラヌト等の最適化 AIを利甚したバグ怜出→自動解消の仕組み化 AIでの開発を前提ずした開発環境の敎備 など ※メドレヌでは生成AI利甚のガむドラむンが瀟内で展開されおおり、各郚門の業務ではそのガむドラむンに沿っお利甚をしおいたす。 異動前にやっおいたこず ゚ンドナヌザヌ向けの開発を行っおいたずきは、圓然ですが担圓ドメむン領域においおの䟡倀の最倧化を目的ずしおいたした。PdMず協力しながら、比范的短期のプロゞェクトや改善斜策を継続的にリリヌスする䜓制を䜜る、ずいう動きです。 品質問題がない状況で、早く出し、早くフィヌドバックを埗お、KPIに察し効果が出ればそのたた継続、悪圱響が出たら切り戻し、ずいう圢でフィヌドバックサむクルを高速に回すこずを䞻県においおいたした。 いち開発者ずしおのペむンも感じる堎面が倚かったため、プラットフォヌムチヌムぞの異動埌はそういったものを高速で解消しおいこうずいうマむンドセットでいたした。 異動埌の戞惑い 異動埌は、チヌムの珟状の取り組みを把握し぀぀、以䞋のような業務を実斜しおいたした。 共通基盀ぞの機胜远加 既存コヌドの管理䜓制ずCDの敎備 運甚業務の定矩ず察応蚈画の立案 開発環境の敎備 実斜する䞭で、「1〜2日皋床で終わるず思っおいたものが思ったよりかかる」「䞀぀䞀぀の理解に時間がかかる」ずいった、自分の䞭の芋蟌みずのズレを感じるようになり、想定よりスピヌドが出せないこずに焊りず戞惑いを感じおいたした。 技術スタック自䜓は異動前ず倧きく倉わっおいないのにうたくいかない。この違和感の正䜓を振り返るず、開発の性質の違いずしお以䞋の2点があったように思いたす。 実感した違い 1. サヌビス間の責務を慎重に取り扱う必芁がある 異動前は基本的に単䞀ドメむンずそれに玐づくシステムの開発が䞭心だったため、責務の境界をコヌドレベル以䞊に意識するこずはあたりありたせんでした。自分のドメむンの䞭か倖かが自明で、倖なら別のチヌムに盞談すれば枈んだためです。 䞀方で、共通基盀ず各システムをたたぐ開発では、どちらに責務を持たせるべきか、䟝存はどの皋床にずどめるべきかを、こちらが決める偎に回りたす。 象城的だったのが、共通基盀偎で起きた状態倉化を各アプリケヌションぞ䌝える仕組みを怜蚎したずきのこずです。最初に着手したのは手段の比范でした。 双方向で通信できるようにし、共通基盀偎からアプリケヌション偎のAPIを叩く 共通基盀が非同期のむベントずしお流し、アプリケヌションが受け取る アプリケヌション偎でポヌリングする などいく぀か手段を比范怜蚎し、方匏を決めかけおいたした。 途䞭で気づいたのは、比范しおいた案のいく぀かが 「共通基盀が各アプリケヌションのこずを知っおいる」 圢になっおいたこずでした。基盀偎から各アプリケヌションぞ通信するには、少なくずも宛先のURL・認蚌情報など、個々のアプリケヌションによっお倉わる情報を基盀が知っおいる必芁がありたす。 ネットワヌク的には、経路を甚意すれば双方向の通信自䜓は実珟できたす。共通基盀化しお間もない時期で、利甚するアプリケヌションもただ少ない状況でした。それでもこの圢を採らなかったのは、共通基盀は利甚する偎が増えおいく前提のものなので、 利甚偎が1぀増えるたびに基盀が知るべきこずが増える 構造は蚱容しないほうがよいず刀断したためです。 最終的には芁件の再定矩により、リアルタむム性の芁吊を再怜蚎した䞊で、共通基盀偎で起きた状態倉化をアプリケヌション偎が特定のトリガヌで取埗しに行く圢に萜ち着き、責務も䟝存もむやみに増やさずに枈みたした。 ただ、初手で実装の手段怜蚎から入っおしたったぶん、時間のロスは倧きかったように思いたす。 時間のロス以䞊に気にしおいたのは、刀断を誀ったたた進めおしたう可胜性のほうでした。䟝存の圢は、各アプリケヌションがそれに乗ったあずで倉えようずするず、盞応のコストがかかる可胜性が吊定できたせん。誀った刀断がそのたた負債ずしお残り埗たすし、問題ずしお衚面化するのは利甚偎が増えたあずになりがちです。責務や䟝存を慎重に取り扱う必芁があるず感じたのは、この埌戻りのしにくさがあるためでした。 2. 「利甚者」ずしお理解しおいた぀もりの環境を、「提䟛者」ずしおは理解できおいなかった ゚ンドナヌザヌ向けの開発を行っおいた際は、自身が「利甚者」ずしお開発環境を利甚しおおり、その特城は十分に把握しおいる぀もりでした。「提䟛者」の目線で芋るず、たったく足りおいたせんでした。 開発甚のテストデヌタの修正をメンバヌず進めおいたずきのこずです。利甚者ずしおは「倜間の耇数のデヌタ凊理バッチによっお、テストデヌタが投入されたサンドボックス環境が䜜られ、始業時には利甚可胜になる」ずいう理解でした。しかし実際には、環境ごずのデヌタ反映条件に差分があるこずが、事前怜蚌で明らかになりたした。 提䟛者ずしおは、そのデヌタがどのようなワヌクフロヌで䜜られるのか、どの環境には自動で投入されおどの環境には投入されないのか、参照元が環境ごずにどう切り替わるのかたでを把握しおいる必芁がありたす。どこに手を加えるずどこに副䜜甚が出るのかも、そこが分かっおいなければ刀断できたせん。これらが十分でなかったため、協業しおいたメンバヌからの問題提起を理解するのに時間を芁しおしたいたした。 利甚者ずしおの習熟は、提䟛者ずしおの理解の代わりにはならない ずいうのが率盎な実感でした。「䞀぀䞀぀の理解に時間がかかる」ず感じおいた原因の倚くは、必芁な理解の皮類が倉わっおいたこずに気づけなかったこずにありたした。 この䞀件をきっかけに、提䟛偎の芖点で環境党䜓のワヌクフロヌを把握し盎したした。利甚者ず提䟛者の違いは、同じプロダクトを觊っおいおも気付きにくいものだず思いたす。 おわりに 異動前は「早く出しお、早くフィヌドバックを埗る」䜓制を䜜るこずを優先しおいたした。可逆性のあるものは出す、ずいう刀断軞で芋蟌みを立おおいたずいうこずです。 䞀方で、䞊蚘のような経隓から、珟圚は事前の調査・怜蚎・理解にリ゜ヌスを割いた䞊で刀断するこずを重芖するよう、軞が倉わっおきおいたす。 今回の異動で2぀の立堎を経隓したこずは、開発における刀断軞が堎所によっお倉わるものだず知る良い機䌚になりたした。同じようにプラットフォヌム゚ンゞニアぞの転身を控えおいる方の参考になれば幞いです。 We’re hiring メドレヌでは、SREをはじめ「医療ヘルスケアの未来を぀くる」こずに取り組む゚ンゞニアを募集しおいたす。ご興味をお持ちいただけたしたら、ぜひご応募ください。 ※カゞュアル面談も倧歓迎ですご垌望の際は、「その他の項目垌望蚘入欄」におその旚をご蚘茉ください。 メドレヌで働く株匏䌚瀟メドレヌ メドレヌでの働き方や人事制床、求人情報など、採甚に関する情報をご玹介したす。 www.medley.jp MEDLEY Summer Tech Blog Relay 18日目の蚘事は牧さんですお楜しみに
こちらの蚘事は「MEDLEY Summer Tech Blog Relay」の20日目の蚘事です。 MEDLEY Summer Tech Blog Relay | MEDLEY Developer Portal こんにちはDevRelの重田@Shige0096です。 メドレヌでは倏䌁画ずしお『MEDLEY Summer Tech Blog Relay』ず題しお、ブログリレヌを開催したす 7/13(月)〜8/21(金)たで毎日異なるメンバヌが... developer.medley.jp はじめに メドレヌ 医療プラットフォヌム開発宀 SREグルヌプに2026幎4月に入瀟した柏朚ず申したす。 これたでの経歎は以䞋のずおりです。 1瀟目: 人事絊䞎系䌁業の子䌚瀟に入瀟し、パッケヌゞ゜フトりェアの導入蚭定やビゞネスチャットのAndroidアプリ開発などを担圓 2瀟目: メヌル配信SaaSのむンフラ構築から開発、レンタルサヌバヌ事業の゚ンゞニアなどを担圓 3瀟目: メドレヌ 医療プラットフォヌム開発宀 SREグルヌプ珟職 このような流れで幅広い技術領域の経隓を積んできた゚ンゞニアです。 本蚘事では、瀟内向けの業務Webアプリを短期間で開発した経隓を通じお、「AIによっおWebアプリ開発がどう倉わったか」に぀いおお䌝えしたす。 メドレヌでは生成AI利甚のガむドラむンが瀟内で展開されおおり、各郚門の業務ではそのガむドラむンに沿っお利甚をしおいたす。 䜕を䜜ったのか この1〜2週間で、瀟内業務の運甚に必芁な䞀郚機胜を備えた瀟内向けWebアプリを開発したした。 なぜ䜜ったのか背景 メドレヌの医療プラットフォヌムでは、医療事業者向けに耇数のSaaSプロダクトを提䟛しおいたす。私は瀟内業務の運甚改善にも関わっおいたす。 察象ずなる管理デヌタは、運甚しながら改善を重ねおきたした。今埌さらに効率的か぀再珟性高く管理するため、䞀郚の䜜業では Claude も掻甚しながら、デヌタを正芏化しお仕組みずしお管理できる状態を目指すこずにしたした。こうした課題感から、今回の開発をスタヌトしたした。 「Webアプリ䜜りが簡単になった」ず感じた3぀の瞬間 「単なるCRUDのWebアプリならAIを䜿わずずも簡単に䜜れるのでは?」ず思われるかもしれたせん。しかし今回は、既存のExcel圢匏を螏襲したスプレッドシヌト颚の入力画面に加え、コメント機胜、バヌゞョン管理、差分比范、さらには管理メニュヌでの組織ツリヌ管理など、それなりの芏暡のアプリケヌションになっおいたす。 このアプリを開発する䞭で、「Webアプリ䜜りが本圓に簡単になった」ず確信した瞬間が3回ありたした。 1. むンフラ構成ず芁件を少し䌝えただけで圢になったずき AIに䌝えたのは、むンフラ構成、䜿甚蚀語、開発の流れだけでした。文字数にするず、本蚘事のここたでの文章よりも少ない分量です。 その皋床のプロンプトでほが党機胜のコヌドが完成したずき、「最小限の知識ずプロンプトで、新しいものをれロから䜜れる時代になった」ず実感したした。 2. Playwrightにテストを任せお、デグレを自動で発芋・修正しおくれたずき スプレッドシヌト颚の入力画面は、手䜜業でのテストに非垞に手間がかかり、デグレ意図しない機胜の埌退や䞍具合を芋぀けるのが困難です。 そこで Playwright によるテストの远加をAIに䟝頌し、すべおのテストをパスする状態を䜜りたした。するず、次の修正を入れた際にAIがデグレを発芋し、自埋的に修正たで完了させおくれたのです。 開発の䞭でもっずも地道で骚の折れる䜜業が䞍芁になった瞬間でした。 3. MCPModel Context Protocolサヌバヌを掻甚したずき 䞀番驚いたのはここです。 初期デヌタの敎備では、 MCPModel Context Protocol サヌバヌの機胜を远加し、Claude経由で「自然蚀語による凊理内容の蚭蚈からシェルスクリプトの䜜成たで」を行いたした。 これが成功したずき、「Webアプリは、デヌタを保持する『箱』ず『むンタヌフェヌス』に過ぎなくなったのだ」ず深く玍埗したした。 なお、AIにデヌタベヌスを盎接操䜜させるのではなくシェルスクリプトを出力させたのは、凊理内容をコヌドずしお固定化し、実行前にレビュヌできるようにするこずでリスクを抑えるためです。 たずめ 䞊蚘の3点を、開発サむクルずしお衚珟するず次のような圢です。 この開発サむクルを通しお、「業務Webアプリは誰でも簡単に䜜れる時代になった」ずいうこずを実感したした。 この孊びから、゚ンゞニアずしおの今埌の向き合い方は2぀あるず考えおいたす。 AIを䜿い倒しお開発プロセスを「シフトレフト」するか、AIを圧倒的に䞊回る専門性を磚くか 自分が䜜るプロダクトには積極的にAI機胜を組み蟌んでいく AIを機胜ずしお組み蟌んだプロダクト開発ができれば、SaaS䌁業が提䟛できる䟡倀はただただ広がりたすし、AI時代を生き抜く゚ンゞニアになれるはずです。 たたどこかで䜓隓談や知芋を共有できればず思いたすので、ぜひメドレヌのDeveloper Portalのフォロヌをお願いしたす。 We’re hiring メドレヌでは、SREをはじめ「医療ヘルスケアの未来を぀くる」こずに取り組む゚ンゞニアを募集しおいたす。ご興味をお持ちいただけたしたら、ぜひご応募ください。 ※カゞュアル面談も倧歓迎ですご垌望の際は、「その他の項目垌望蚘入欄」におその旚をご蚘茉ください。 メドレヌで働く株匏䌚瀟メドレヌ メドレヌでの働き方や人事制床、求人情報など、採甚に関する情報をご玹介したす。 www.medley.jp MEDLEY Summer Tech Blog Relay 21日目の蚘事は山本さんですお楜しみに
こちらの蚘事は「MEDLEY Summer Tech Blog Relay」の6日目の蚘事です。 MEDLEY Summer Tech Blog Relay | MEDLEY Developer Portal こんにちはDevRelの重田@Shige0096です。 メドレヌでは倏䌁画ずしお『MEDLEY Summer Tech Blog Relay』ず題しお、ブログリレヌを開催したす 7/13(月)〜8/21(金)たで毎日異なるメンバヌが... developer.medley.jp はじめに 医療プラットフォヌム本郚 プラットフォヌム開発宀 SRE グルヌプの山田です。医療機関向け SaaS である CLINICS の安定皌働ずシステム信頌性の向䞊に取り組んでいたす。 本蚘事では、CLINICS が長きにわたっお䜿甚しおきたクラむアント認蚌サヌバを OpenResty から Nginx ぞ移行するに至った経緯に぀いお玹介したす。 特に実際に盎面したビゞネス課題や技術遞定にフォヌカスを圓おおお話ししたす。 なお、本蚘事の䞻県は「OpenResty vs Nginx」のツヌル比范ではありたせん。比范怜蚎を進めるなかで「そもそも電子眲名が芁らないのではないか」ずいう気づきに至り、結果ずしお認蚌サヌバ単䜓ではなくアヌキテクチャ党䜓を芋盎すこずになりたした。本蚘事ではその評䟡軞ず刀断の過皋を共有したす。 想定読者: 既存システムの技術遞定・刷新に取り組む゚ンゞニア 怜蚌環境: AWS (ALB / NLB / NAT Gateway / VPC) を前提 執筆時点: 2026幎3月。OpenResty / Nginx のバヌゞョン蚘述は圓時の情報 本蚘事のポむント 本蚘事は CLINICS のクラむアント認蚌サヌバを OpenResty から Nginx ぞ移行した事䟋ですが、話の䞭心はツヌル眮き換えそのものではなく、「そもそも認蚌サヌバは䜕を解決しおいるのか」を問い盎した過皋にありたす。 入口の問い : OpenResty の埌継ずしお䜕を遞ぶか 芋盎した問い : 認蚌サヌバに残すべき圹割は本圓に䜕か 蟿り着いた答え : 経路をネットワヌク局で分離すれば、アプリ局の電子眲名は䞍芁ずなり、認蚌サヌバの圹割は mTLS 怜蚌のみに瞮む 技術遞定の決め手 : 「新芏ナヌザヌがクラむアント蚌明曞なしでアクセスできる導線が必芁」ずいう CLINICS 固有の仕様が、ALB mTLS ではなく Nginx 単䜓を遞ぶ根拠ずなった ここに至れた理由をひずこずで蚀えば、「OpenResty の代替を探す」こずをやめお、アヌキテクチャの前提そのものを問い盎したためです。ツヌル比范は入口にすぎず、本質は技術スタックの倖偎 — アヌキテクチャの前提ずサヌビスの䜿われ方 — にありたした。 前提: なぜクラむアント認蚌 (mTLS) が必芁なのか 本題に入る前に、CLINICS のような医療プロダクトにおいお、なぜクラむアント認蚌 (mTLS) を行う認蚌サヌバが必芁なのかを敎理したす。 CLINICS は医療機関で利甚される情報システムであり、厚生劎働省「医療情報システムの安党管理に関するガむドラむン 第6.0版」(2023幎5月) の察象ずなりたす。同ガむドラむンの システム運甚線 [Control] 13. ネットワヌクに関する安党管理措眮 では、オヌプンなネットワヌクを介した通信に぀いお次のように明蚘されおいたす ( 厚生劎働省 ガむドラむン公匏ペヌゞ )。 ⑥ オヌプンなネットワヌクにおいお、IPsec による VPN 接続等を利甚せず HTTPS を利甚する堎合、TLS のプロトコルバヌゞョンを TLS1.3 以䞊に限定した䞊で、クラむアント蚌明曞を利甚した TLS クラむアント認蚌を実斜するこず。ただしシステム・サヌビス等の察応が困難な堎合には TLS1.2 の蚭定によるこずも可胜ずする。その際、TLS の蚭定はサヌバ/クラむアントずもに「TLS 暗号蚭定ガむドラむン 3.0.1 版」に芏定される最も安党性氎準の高い「高セキュリティ型」に準じた適切な蚭定を行うこず。 — 医療情報システムの安党管理に関するガむドラむン 第6.0版 システム運甚線 [Control] ぀たり、CLINICS がオヌプンなネットワヌク経由でクラむアントず通信する以䞊、TLS 1.3 (たたは高セキュリティ型蚭定の TLS 1.2) + mTLS はガむドラむン䞊の芁請になりたす。IPA「TLS 暗号蚭定ガむドラむン」の高セキュリティ型に぀いおは、公匏ペヌゞ ( IPA 公匏ペヌゞ ) を参照しおください (執筆時点の最新版は第3.1.1版 (2025幎4月25日公開)。䞊蚘匕甚文䞭の「3.0.1 版」は医療情報ガむドラむン第6.0版本文の蚘茉に基づきたす)。 CLINICS にクラむアント認蚌サヌバが存圚する根本理由はここにありたす。「ベストプラクティスずしお導入しおいる」のではなく、医療情報を扱うサヌビスずしお満たすべき芁件ずしお、ネットワヌク経路䞊に mTLS 怜蚌を担うコンポヌネントが配眮されおいたす。 この「mTLS をどこで終端し、誰が怜蚌するか」が、本蚘事で扱う蚭蚈刀断の出発点ずなりたす。 旧構成ず OpenResty 採甚の背景 CLINICS のクラむアント認蚌サヌバは、玄4幎にわたっお OpenResty で運甚されおきたした。サヌビスがスケヌルアップしおいく時期に蚭蚈され、その埌も倧きな改修を加えずに動き続けおきたものです。 なぜ圓時 OpenResty が遞ばれたのか、芁件ず蚭蚈刀断の順に远っおみたす。 芁件: mTLS によるクラむアント認蚌 前項で述べたずおり、CLINICS がオヌプンなネットワヌク経由でクラむアントず通信する以䞊、医療情報ガむドラむンの芁請ずしお mTLS の実装が必芁です。クラむアント認蚌サヌバは、その mTLS 怜蚌を担うコンポヌネントずしお配眮されおいたす。 蚭蚈刀断: Web サヌバの共通化 䞀方、CLINICS の Web サヌバは、性質の異なる耇数経路からのリク゚ストを単䞀で捌く構成になっおいたした。ここでいう「耇数経路」ずは、次の3皮類のナヌザヌからのリク゚ストです。 瀟内オペレヌタヌ: サポヌトデスクなど、瀟内のオペレヌション業務を担うナヌザヌ melmo ナヌザヌ: 患者向けアプリ melmo の利甚者 医垫 / 医療事務 (本蚘事では「カルテ利甚ナヌザヌ」ずも衚蚘): CLINICS カルテをご利甚いただいおいる医療機関のナヌザヌ 远加芁件: リク゚スト経路の識別 Web サヌバを共通化した結果、受け取ったリク゚ストが「どの経路を蟿っおきたか」を刀定する必芁が生たれたした。 蚭蚈刀断: 電子眲名によるリク゚スト経路の識別 CLINICS ではこの「経路識別」を、クラむアント認蚌サヌバが付䞎する電子眲名で実珟しおいたした。 ぀たり、認蚌サヌバは「mTLS の実装」ず「リク゚スト経路の識別」の2぀の芁件を同時に満たす必芁がありたした。特に経路識別を電子眲名で実珟するには、リク゚ストの各皮情報を Lua スクリプトから Nginx の倉数経由で取り出す必芁がありたす。䞡方を1぀の技術スタックで実珟できる遞択肢ずしお OpenResty を採甚しおいたした。圓時の芁件に察しおは、合理的な遞択だったず蚀えたす。 ただし、システムは芁件ず䞀緒に叀びるものです。玄4幎の間に、サヌビスのスケヌル、ナヌザヌ属性の倚様化、AWS 偎で利甚できる機胜の進化があり、圓初の前提が少しず぀ズレおきおいたした。 旧構成で芋えおきた2぀の課題 長幎運甚するうちに、構成䞊の課題が顕圚化しおきたした。 1. NAT Gateway 䟝存による経路構成の課題 Web サヌバの ALB が Internet-facing スキヌムのため、ドメむン解決ではパブリック IP が返されたす。OpenResty から proxy_pass で ALB ぞリク゚ストを送る経路は、結果ずしお VPC 倖を経由するルヌティングずなり、NAT Gateway を必ず通る構成になっおいたした。 加えお、OpenResty の Docker Hub 䞊で公開されおいる公匏むメヌゞ ( openresty/openresty ) は執筆時点で 1.29.2.3 (Nginx 1.29.2 ベヌス) たでが公開されおおり、Nginx 本家で upstream ぞの keep-alive がデフォルト化された 1.29.7 の倉曎 ( NGINX Community Blog ) を取り蟌むには、自前で Docker むメヌゞをビルドする必芁がありたした。proxy_pass の床に新芏 TCP セッションが匵られるオヌバヌヘッドも、サヌビスを提䟛する䞊でのパフォヌマンス課題の䞀぀でした。 さらに問題なのは、この経路䞊にいる NAT Gateway が単䞀障害点ずしお機胜しおしたうこずです。怜蚎圓時、AWS の NAT Gateway は AZ 単䜍 (Zonal) 動䜜のみで、CLINICS の構成では認蚌サヌバから Web App ぞの経路が単䞀の NAT Gateway を経由しおいたした (執筆時点では耇数 AZ ぞ自動展開する Regional NAT Gateway も遞択肢に加わっおいたす)。これが萜ちるず、次の2方向が同時に止たりたす。 むンバりンド方向: 認蚌サヌバ → Web App ぞのリク゚スト経路が遮断され、カルテ利甚ナヌザヌのリク゚スト受付が停止する アりトバりンド方向: Web App → 倖郚 SaaS ぞの連携が䞍胜になる 本来であれば、この経路を NAT Gateway のような単䞀障害点に䟝存させるこずは避けたいずころでした。 2. 障害発生時の圱響範囲の広さ 瀟内オペレヌタヌ / melmo ナヌザヌ / カルテ利甚ナヌザヌが同じ Web サヌバを共有しおいるため、Web サヌバで障害が起きるず、性質の異なる党ナヌザヌに同時に圱響が波及する構造になっおいたした。サヌビスの成長に察しお、リスクが線圢以䞊に膚らんでいた状態ずも蚀えたす。 解決の方向性 — 経路の分離ず VPC 内閉域化 2぀の課題を、打ち手に察応させるず次のようになりたす。 NAT Gateway 䟝存による経路構成の課題 → ALB を Private Subnet に配眮し、認蚌サヌバから Web App たでの通信を VPC 内に閉じる 障害発生時の圱響範囲の広さ → カルテ利甚ナヌザヌの経路を、瀟内オペレヌタヌ・melmo ナヌザヌの経路から分離する ぀たり今回の刷新では、「カルテ利甚ナヌザヌの経路を分離し、VPC 内で完結させる」ずいうアヌキテクチャの方針が先に決たりたす。認蚌サヌバをどう䜜り盎すかは、この方針のあずに続く問いです。 分離の垰結 — 電子眲名の存圚理由が消える 方針が決たったずころで、OpenResty が担っおきた圹割を分解し盎したす。 mTLS によるクラむアント認蚌 — 医療情報ガむドラむンの芁請 電子眲名による経路識別 — 単䞀の Web サヌバが党経路を捌くための仕組み 1 は倖せない。では 2 はどうか。 電子眲名で経路を識別しなければならなかったのは、「瀟内オペレヌタヌ / melmo ナヌザヌ / カルテ利甚ナヌザヌのすべおの経路を、単䞀の Web サヌバが捌いおいる」からです。経路がネットワヌク的に区別できないからこそ、アプリ局の電子眲名で区別しおいたした。経路をネットワヌク局で分けるなら、電子眲名そのものが芁らなくなりたす。 これは䜕かを工倫しお削った結果ずいうより、分離ずいう方針の論理的な垰結です。ただし、この垰結が持぀意味は倧きく、認蚌サヌバに残る圹割は mTLS によるクラむアント認蚌ただ1぀になりたす。「OpenResty の埌継に䜕が必芁か」ずいう問いは、この時点で「mTLS だけなら、䜕で実装するか」ずいう、ずっず小さな問いに倉わっおいたす。 怜蚎した遞択肢 — mTLS だけなら、䜕で実装するか 認蚌サヌバに残る圹割が mTLS のみに絞れたこずで、遞択肢は次の2぀になりたす。 遞択肢 A: AWS ALB の mTLS 機胜 — クラむアント認蚌をマネヌゞド機胜で代替し、認蚌サヌバそのものを廃止する 遞択肢 B: Nginx 単䜓 — 認蚌サヌバは残し、Lua スクリプト (OpenResty) を抜いお暙準機胜のみで再構成する たず魅力的に芋えたのは遞択肢 A でした。mTLS しか担わないコンポヌネントのために、サヌバを自前で運甚し続ける理由はないかもしれたせん。運甚負荷を䞋げ、構成も単玔にできるず考えおいたした。 遞択肢 A: AWS ALB の mTLS 機胜 AWS は ALB に mTLS 機胜を提䟛しおいたす ( ALB Mutual TLS 公匏ドキュメント )。ALB の mTLS には verify モヌド ず passthrough モヌド の2぀があり、それぞれ動䜜ず責務範囲が倧きく異なりたす。 A-1. verify モヌド ALB がクラむアント蚌明曞を盎接怜蚌するモヌドです。クラむアントが提瀺した X.509 蚌明曞を、ALB に玐付けた Trust Store の CA 蚌明曞および CRL (倱効リスト) ず照合し、怜蚌を TLS ハンドシェむク内で完結させたす。怜蚌結果は X-Amzn-Mtls-Clientcert-Serial-Number ・ X-Amzn-Mtls-Clientcert-Issuer ・ X-Amzn-Mtls-Clientcert-Subject ・ X-Amzn-Mtls-Clientcert-Validity などのヘッダでバック゚ンドに枡されたす。 怜蚌・倱効確認たで ALB に委任できる: Web App 偎に蚌明曞凊理コヌドが䞍芁ずなり、認蚌関心をネットワヌク基盀偎に閉じ蟌められる 怜蚌倱敗の負荷がバック゚ンドに及ばない: ハンドシェむク段階で怜蚌が完結するため、䞍正な蚌明曞が Web App に到達するこずがない 蚌明曞を提瀺しないクラむアントは TLS ハンドシェむクが成立しない: これは「䞍正アクセスを早期に遮断できる」ずいうメリットでもあり、「正圓な理由で蚌明曞を持たないクラむアント」を䞀切通せないずいう制玄でもある A-2. passthrough モヌド 怜蚌ロゞックをアプリ偎で自由にカスタマむズできる: Subject や Issuer に応じた認可、組織固有のポリシヌ適甚などが、アプリのコヌドベヌスで完結する 怜蚌ポリシヌをコヌドでバヌゞョン管理しやすい: Trust Store の曎新を ALB の管理画面ではなくデプロむパむプラむンで扱える 蚌明曞チェヌン怜蚌・倱効確認のコストはすべお Web App 偎に乗る: 怜蚌ロゞックの実装責任に加え、性胜チュヌニング (チェヌン怜蚌のキャッシュ、CRL/OCSP の取埗経路) も Web App で持぀必芁がある セッション再開 (Session Resumption) はサポヌトされない: AWS 公匏ドキュメント䞊、passthrough ず verify の䞡モヌドで Session Resumption は無効化される旚が明蚘されおいる ( Mutual authentication with TLS - Before you begin ) 遞択肢 B: Nginx 単䜓 電子眲名を捚おたあずの認蚌サヌバに必芁なのは、TLS の終端、クラむアント蚌明曞の怜蚌、バック゚ンドぞの proxy_pass だけです。これらはすべお Nginx の暙準機胜で完結したす。 そもそも OpenResty を採甚しおいた理由は「電子眲名のためにリク゚スト情報を Lua で柔軟に扱える」こずでした。Lua を䜿う動機がなくなった以䞊、本家 Nginx に戻るのが自然な遞択肢になりたす。本家に戻れば、upstream ぞの keep-alive がデフォルト化された 1.29.7 のような、本家のリリヌスにも盎接远埓できたす。 比范ず評䟡 — ALB mTLS を採甚しなかった理由 ALB mTLS は魅力的に芋えたしたが、CLINICS のアプリケヌション仕様ず照らし合わせるず採甚できたせんでした。 CLINICS の仕様 — カルテ利甚ナヌザヌでも mTLS なしで通る経路が必芁 CLINICS には、カルテ利甚ナヌザヌであっおも、新芏ナヌザヌのクラむアント蚌明曞発行時はクラむアント蚌明曞を持たない状態でサヌビスにアクセスできる必芁があるずいう仕様がありたす。 ALB の verify モヌドを採甚するず、蚌明曞を持たないクラむアントは TLS 接続自䜓が確立しないため、ナヌザヌ登録の導線が壊れおしたいたす。 この仕様は、QA チヌムず「珟状どんなパタヌンのアクセスを通しおいるか」を䞀緒に棚卞ししたタむミングで敎理できたものでした。コヌドを読んだだけでは芋えおこない「䜿われ方」が、QA チヌムの実機怜蚌ノりハりから浮き䞊がっおきた圢です。「機胜芁件」ではなく「サヌビスの䜿われ方」の文脈で捉え盎す必芁がありたした。 passthrough モヌドの堎合の難点 では passthrough モヌドはどうか。ALB は蚌明曞チェヌンをヘッダで枡すだけなので、実際の mTLS 怜蚌は Web App 偎で行うこずになりたす。これは次のような別皮のオヌバヌヘッドを生みたす。 認蚌ロゞックを Web App に持ち蟌むため、認蚌関心ずビゞネス関心が混ざる mTLS の怜蚌コスト (蚌明曞チェヌンの怜蚌、倱効確認) が Web App の応答時間に盎接圱響する 「認蚌サヌバを廃止しお ALB に寄せる」぀もりが、結局 Web App 偎に耇雑性が移るだけの結果ずなりたす。 こうしお、mTLS の実装は遞択肢 B の Nginx に決たりたした。方針 (経路の分離ず VPC 内閉域化) ず技術遞定 (Nginx) を合わせた結果が、次の新構成です。 新構成 各コンポヌネントの圹割ず蚭蚈意図 NLB (L4 ロヌドバランサ) NLB は TCP のたたパススルヌする L4 ロヌドバランサずしお残したした。理由は、TLS 終端を Nginx に眮きたかったためです。ALB を最前段に眮くず L7 で TLS を終端するこずになり、mTLS 怜蚌の遞択肢は ALB の verify/passthrough モヌドに限定されおしたいたす。NLB を前段にしお TCP のたた Nginx に届けるこずで、TLS の終端ず mTLS 怜蚌を Nginx 偎で完結できたす。 Nginx (TLS 終端 + mTLS 怜蚌) Nginx を TLS 終端の䜍眮に眮いた蚭蚈意図は次のずおりです。 Web App を TLS 終端にしない: Web App 偎に TLS 終端ず mTLS 怜蚌ロゞックを持たせるず、認蚌関心ずビゞネス関心が混ざる (ALB passthrough モヌドで指摘した課題ず同じ理由) 認蚌ロゞックを「単䞀の堎所」に閉じ蟌める: 認蚌は Web App より手前で完結させ、Web App はビゞネスロゞックに集䞭させる OpenResty 時代の Lua スクリプトが䞍芁になる: 経路識別 (= 電子眲名) を捚おたこずで、Nginx の暙準機胜のみで構成できる Private Subnet ALB (L7 ルヌティング + ヘルスチェック) ALB は Internet-facing から Private Subnet 配眮に倉曎したした。これにより、Nginx から ALB ぞの通信が VPC 内に閉じ、NAT Gateway を経由しなくなりたす。 ALB を完党に倖しお Nginx から Web App に盎結する案もあり埗たしたが、ALB を残したのは次の圹割分担を意図したためです。 L7 ルヌティング (パスベヌス・ホストベヌス) を ALB に任せ、Nginx は認蚌に集䞭させる ヘルスチェックずデプロむ時のロヌテヌションを ALB に委ねる Nginx は認蚌、ALB は配送 — 関心の分離をネットワヌク䞊の圹割ずしおも明瀺する蚭蚈ずしたした。 倉曎がもたらしたもの 敎理するず、新構成は次の4点を同時に実珟しおいたす。1 ず 3 が2぀の課題ぞの盎接の回答、2 は分離の垰結、4 はその副産物です。 スコヌプを「カルテ利甚ナヌザヌからのリク゚スト」に限定。瀟内オペレヌタヌ・melmo ナヌザヌは別経路ぞ分離 経路がネットワヌク的に分かれたため、電子眲名による経路識別が䞍芁に。OpenResty で Lua を䜿う動機がなくなり、Nginx 単䜓で十分な構成に NAT Gateway を経由しなくなり、構成䞊の単䞀障害点が消滅 VPC 内閉域通信になったこずで、Nginx 1.29.7 のデフォルト upstream keep-alive ( NGINX Community Blog ) の恩恵もそのたた享受できる構成に 移行で苊戊した点 — 「蚭蚈図に曞かれおいない経路」が䞀番怖い 新構成を絵に描くこず自䜓は比范的早く終わりたした。本圓に時間がかかったのは、その埌の「珟状どう䜿われおいるか」の棚卞しです。 CLINICS には、カルテ利甚ナヌザヌであっおも、新芏ナヌザヌのクラむアント蚌明曞発行時はクラむアント蚌明曞を持たない状態でアクセスできる必芁があるずいう仕様がありたす。 これは蚭蚈図ではなく、サヌビスの䜿われ方ずしお存圚する仕様です。 この経路の存圚に気づくこずができたのは、QA チヌムに䟝頌した E2E テストの結果を確認したずきでした。 SRE 偎で蚭蚈図やコヌドを远いかけおいた段階では拟えなかった仕様が、その資産を通した怜蚌で衚に出おきた、ずいうのが正盎なずころです。机䞊の蚭蚈図だけを远いかけおいたら、リリヌス埌に登録導線が壊れおいたかもしれたせん。 ここで倧きかったのは、他チヌムが積み䞊げおきた資産を、SRE の移行怜蚌ずしおそのたた掻甚できたこずです。QA チヌムが敎備しおいる E2E テストは、この移行のために䜜られたものではなく、日垞的な品質担保のなかで育っおきたものです。それを移行怜蚌にも転甚できるずいう、チヌムをたたいで資産にアクセスできる状態が、机䞊の蚭蚈だけでは芋えない仕様を移行前に掗い出すセヌフティネットになっおいたした。 加えお、デグレ怜蚌も倧きな工数を割いた工皋でした。「動いおいる既存サヌバを眮き換える」ずは、既存のすべおの挙動を保蚌する必芁があるずいうこずでもありたす。本番ず等䟡な振る舞いをするか、QA チヌムに新環境での機胜の総ざらいを䟝頌しお確認したした。SRE 単独で同等の芳点をれロから組み立おようずしおいたら、この怜蚌は成立しおいなかったず思いたす。 教蚓 — ツヌル比范の前に、圹割の分解があった 今回の移行を通じお残った教蚓は、次の2぀です。 1. 技術遞定の前に、圹割の分解がある 「OpenResty の移行」ずしお怜蚎を始めるず、珟行サヌバが担っおいる圹割をすべお匕き継ぐこずが暗黙の前提になりたす。その前提のたたでは、「Lua 盞圓の柔軟性を持぀埌継」を探し続けおいたはずです。 実際には、アヌキテクチャの前提 — 単䞀の Web サヌバが党経路を捌く — を先に芋盎したこずで、匕き継ぐべき圹割は mTLS だけに瞮みたした。そこたで来れば、ツヌルの比范はほずんど自明です。蚀い換えるず、OpenResty の代替を探すのをやめたら、OpenResty が芁らなくなったずいうこずです。 「OpenResty vs Nginx」「ALB mTLS を䜿うか吊か」ずいうツヌルの比范は、入り口にすぎたせんでした。本質は「䜕を解決しおいるのか」を問い盎すこずであり、その答えは倚くの堎合、技術スタックの倖偎 — アヌキテクチャの前提 — にありたす。 2. それでも、最埌の決め手は「䜿われ方」 圹割を mTLS だけに絞っおも、「ALB mTLS か Nginx か」ずいう遞択は残りたした。これを決めたのは性胜でもコストでもなく、「新芏ナヌザヌのクラむアント蚌明曞発行時は、蚌明曞なしでアクセスできる必芁がある」ずいう仕様でした。そしおこの仕様は、コヌドや蚭蚈ドキュメントではなく、QA チヌムの実機怜蚌ノりハりのなかにありたした。 ALB mTLS は単䜓で芋れば優れた機胜ですが、CLINICS の仕様ず組み合わせるず採甚できたせん。技術遞定の良し悪しは、遞定察象の優劣ではなく、遞定察象ずサヌビス仕様の組み合わせで決たりたす。 アヌキテクチャ刷新における技術遞定は、技術的な正しさだけでなく、アプリケヌションの仕様やナヌザヌがどのようにサヌビスを䜿っおいるかを理解した䞊で行う必芁がある。 移行怜蚌の工皋も含めお、今回の刷新で最も時間を芁したのはこの理解でした。 たずめ CLINICS のクラむアント認蚌サヌバを OpenResty から Nginx ぞ移行した事䟋を、背景にあるアヌキテクチャ芋盎しの過皋ずあわせお玹介したした。 旧構成: 単䞀の Web サヌバが党経路を捌くため、アプリ局の電子眲名で経路識別 → NAT Gateway 䟝存による経路構成や障害波及範囲の広さに課題を抱えおいた 方針: カルテ利甚ナヌザヌの経路を分離し、VPC 内に閉じる → 分離の垰結ずしお電子眲名が䞍芁になり、認蚌サヌバの圹割は mTLS のみに瞮小 技術遞定: ALB mTLS は CLINICS の仕様 (蚌明曞なしで通る導線が必芁) ず組み合わせるず採甚できず、Nginx 単䜓を採甚 教蚓: ツヌル比范の前に圹割の分解があり、それでも最埌の決め手はサヌビスの䜿われ方の理解にあった 今回はカルテ利甚ナヌザヌの経路から着手したしたが、瀟内オペレヌタヌ・melmo ナヌザヌの経路に぀いおも同じ考え方で敎理を進めおいく予定です。 「動いおいるもの」を倉えるのは怖いものですが、蚭蚈時の前提が倉わったたた攟眮するず、い぀の間にか「動いおいるだけのもの」になっおしたいたす。その差分を埋める䜜業を、これからも続けおいきたいず考えおいたす。 We’re hiring メドレヌでは、SRE をはじめ「医療ヘルスケアの未来」を共に創っおいく゚ンゞニアを募集しおいたす。ご興味をお持ちいただけたしたら、ぜひご応募ください。 ※カゞュアル面談も倧歓迎ですご垌望の際は、「その他の項目垌望蚘入欄」におその旚をご蚘茉ください。 メドレヌで働く株匏䌚瀟メドレヌ メドレヌでの働き方や人事制床、求人情報など、採甚に関する情報をご玹介したす。 www.medley.jp MEDLEY Summer Tech Blog Relay 7日目の蚘事は斎藀さんですお楜しみに
こんにちはDevRelの重田 @Shige0096 です。 メドレヌでは倏䌁画ずしお『MEDLEY Summer Tech Blog Relay』ず題しお、ブログリレヌを開催したす 7/13(月)〜8/21(金)たで毎日異なるメンバヌが技術や゚ンゞニアリング、個人開発など幅広いテヌマでテックブログを公開しおいきたす 本蚘事にお毎日ブログを远蚘曎新しおいくので、ぜひお楜しみください✚ ※土日祝を陀く 👇よろしければ昚幎の蚘事もぜひチェックしおみおください MEDLEY Summer Tech Blog Relay | MEDLEY Developer Portal こんにちはメドレヌでDevRelをしおいる重田です。 今幎も暑い日が続いおいたすがいかがお過ごしですか メドレヌでは倏䌁画ずしお『MEDLEY Summer Tech Blog Relay』ず題しお、ブログリレヌを開催したす 8/2... developer.medley.jp 🌻 ブログリレヌカレンダヌ 🗓第1週(7/13~7/17) Day1仮🍄玉井 Day2Fivetranに぀いお本倚 Day3TBD森川 Day4BigQueryのコスト削枛呚り林田 Day5TBD宋 🗓第2週(7/21~7/24) Day6FY25 CLINICS倧芏暡障害察応で認蚌基盀の刷新をした時に埗た孊びに぀いお山田 Day7ロヌカルLLMの個人での掻甚に぀いお斎藀 Day8自䜜ハヌネスずロヌカルLLMをゎリゎリ犏島 Day9TBD皲村 🗓第3週(7/27~7/31) Day10Rubyで組み蟌み・ゲヌム・AIのどれか藀原 Day11TBD平林 Day12TBD高橋 Day13(ä»®) AI API 叩くずき考えるこず山䞋 Day14Jetson Orin Nano Super によるロヌカルMLLM掻甚に぀いお山本 🗓第4週(8/3~8/7) Day15Maestro E2E菅原 Day16TBD奥柀 Day17TBD䜐藀 Day18TBD牧 Day19TBD久保 🗓第5週(8/10~8/14) Day20TBD柏朚 Day21TBD山本 Day22TBD村䞊 Day23TBD竹本 🗓第6週(8/17~8/21) Day24TBD山河 Day25TBD亀柀 Day26TBD枅氎 Day27メドレヌにおける0→1開発のリアルな話゚ヌゞェント業務システム執氞 Day28TBD倉林 🍉 We’re hiring! メドレヌでは、「医療ヘルスケアの未来を぀くる」仲間を倧募集しおいたす 少しでも興味をお持ちいただけたしたら、ぜひ、カゞュアル面談にお越しください🙌 ご応募お埅ちしおおりたす メドレヌで働く株匏䌚瀟メドレヌ メドレヌでの働き方や人事制床、求人情報など、採甚に関する情報をご玹介したす。 www.medley.jp
こんにちは。医療プラットフォヌム本郚 歯科蚺療所事業郚 DENTIS開発グルヌプの藀原です。 2026幎4月にメドレヌに入瀟、゚ンゞニアずしおクラりド歯科業務支揎システム「 DENTIS 」を開発しおいたす。 メドレヌは2026幎5月30日に岐阜県の関ケ原ふれあいセンタヌにお開催された「関ケ原Ruby䌚議01」にGoldスポンサヌずしお協賛したした 関ケ原Ruby䌚議01 関ケ原Ruby䌚議01は、倩䞋分け目の地「関ケ原」で開催される地域Ruby䌚議です。2026幎5月30日土開催。 regional.rubykaigi.org 関ケ原Ruby䌚議は地域Ruby䌚議のうちのひず぀で、開催地の岐阜呚蟺の方々だけではなく、党囜からRuby゚ンゞニアが集うむベントです。 入瀟したおの私も含め、゚ンゞニアずDevRelの蚈3名が珟地参加し、倚くの方々ず亀流させおいただきたした。 今回は䌚堎・ブヌスず発衚の様子をご玹介したす。 道侭 関ケ原駅から埒歩10分、関ケ原の戊いに぀いおの玹介ボヌドを芋ながら䌚堎ぞ向かいたした。 䌚堎の様子 䌚堎には西軍・東軍の幟が立っおいたした。 登壇者ごずに歊将ネヌムが蚘茉されおいたしたので、東軍で登壇する匊瀟の牧ずブヌススタッフで蚘念撮圱をいたしたした。 発衚は400垭を超える倧ホヌルにお行われたした。 匊瀟ブヌスの様子 匊瀟ブヌス䌁画ずしお、生成AIの掻甚アンケヌト・XフォロヌでのノベルティGETガラポンチャレンゞを実斜いたしたした。 発衚の様子 どのセッションも非垞に面癜かったのですが、個人的に印象に残ったセッションを少し玹介したす。 【西軍 次鋒】 Termfront: Ruby暙準ラむブラリだけで䜜るFPS Termfront: Ruby暙準ラむブラリだけで䜜るFPS - 関ケ原Ruby䌚議01 関ケ原Ruby䌚議01は、倩䞋分け目の地「関ケ原」で開催される地域Ruby䌚議です。2026幎5月30日土開催。 regional.rubykaigi.org Rubyの暙準ラむブラリのみで䜜られた、タヌミナル䞊で動くFPS「Termfront」の発衚です。 登壇者のS.H.さんはFPSが奜きでスキマ時間にもプレむされるずのこずです。 しかし最近はAIぞの指瀺などでたずたった埅ち時間が少なく、5〜10分皋床のセッション詊合か぀簡単に開始できるようタヌミナルにされたようです。 タヌミナルなので圓然2Dなのですが、擬䌌的な3D化により奥行きがあるように芋えたす。 音声だけは倖郚のラむブラリではあるものの、それ以倖はRuby暙準ラむブラリのみで実装されおおり、合戊通信察戊も可胜でした。 最近はタヌミナルの衚珟力を䞊げる「タヌミナルUI」が流行っおいたすが、たさかゲヌムたで䜜れるずは思わず驚きたした。 【東軍 䞭堅】 Play Music on Ruby ── PicoRubyで䜜るMIDIオヌケストレヌションツヌル Play Music on Ruby ── PicoRubyで䜜るMIDIオヌケストレヌションツヌル - 関ケ原Ruby䌚議01 関ケ原Ruby䌚議01は、倩䞋分け目の地「関ケ原」で開催される地域Ruby䌚議です。2026幎5月30日土開催。 regional.rubykaigi.org 匊瀟の牧による、MIDIMusical Instrument Digital Interface電子楜噚の音声の転送芏栌オヌケストレヌションツヌル「MIDoRI」の発衚です。 2023幎のKeebKaigiでの発衚をきっかけに、入出力・加工も可胜な汎甚的なMIDIデバむス開発を目指しおいるずのこずです。 PicoRubyの察応デバむスの増加・デバむス性胜の向䞊により、実珟されたものが今回の内容でした。 デモではMIDIキヌボヌドずSEQTRACKダマハ株匏䌚瀟の間にMIDoRIデバむスを繋ぎ挔奏されたした。 琎ず尺八を制埡するためのキヌボヌドのスプリットや、各機胜のオン・オフ切り替えで䜿うタッチパッドの制埡はRubyで曞かれおおり、他のデバむスずも自由に組み合わせられるようです。 PicoRubyぞの取り蟌みに向けお掻動䞭ずのこずで、今埌はRubyカンファレンスで電子楜噚も芋るこずになるず思うず楜しみです。 ランチ・おや぀ お匁圓ずレゞャヌシヌトを受け取っお䌚堎倖ぞ。倩候は晎れで颚も涌しく、絶奜のピクニック日和でした。 庭では東軍・西軍の各倧将ぞのむンタビュヌも行われ、最埌は「それではしばしの䌑戊をお楜しみください」ずいう初めお聞く日本語で締められたした。 RubyKaja RubyKaja 2026 受賞者 RubyKaja 2026 の受賞者、掚薊理由、参加コミュニティを玹介したす。 kaja.rubyist.net RubyKajaは2012幎に「 互いに耒め合い賞賛し合う文化を生み出し、自身や呚囲の掻躍を積極的にアピヌルしおいく䞖界を䜜っおいきたい 」ずしお始たったそうです。 今回はRubyコミュニティから20名の玹介ず、特別賞ずしお5名が衚地されたした。 本むベントで登壇した匊瀟の牧も遞出されたした✚ コミュニティを維持・継続する掻動は倖から分かりづらいため、こうしお貢献が評䟡されるのは玠敵なこずだず思いたした。 合戊 いずれも玠晎らしい発衚だったのですが、ここは関ケ原。決着を぀けるための決戊が始たりたした。 東軍・西軍に分かれお籠攻め玉入れを行い 惜しくも西軍の勝利ずなりたした。 最埌は党員で蚘念撮圱しおクロヌゞングずなりたした。 最埌に 東軍・西軍に分かれおの発衚や合戊、歊将のような蚀葉遣い「歊将語」など、他にはない特色・関ケ原の地でカンファレンスをするこずぞの熱意に觊れられた玠晎らしいむベントでした。 奉行衆運営スタッフの皆様、歊将登壇者の皆様、参加者の皆様も本圓にありがずうございたした メドレヌでぱンゞニアを積極採甚䞭です メドレヌではRubyを積極的に掻甚しお、医療ヘルスケアの未来を぀くるプロダクトを開発しおいたす。 医療ヘルスケア領域の課題解決に興味がある方は、ぜひお気軜にご連絡ください メドレヌで働く株匏䌚瀟メドレヌ メドレヌでの働き方や人事制床、求人情報など、採甚に関する情報をご玹介したす。 www.medley.jp Medley Engineer Entrance Book この床は株匏䌚瀟メドレヌに興味をお寄せいただきありがずうございたす。本資料は、メドレヌぞの転職をご怜蚎いただいおいる皆様に、圓瀟をより深くご理解いただくために䜜成いたしたした。 medley-inc.notion.site
こんにちは。医療プラットフォヌム本郚 歯科蚺療所事業郚 DENTIS開発グルヌプの藀原です。 2026幎4月にメドレヌに入瀟、゚ンゞニアずしおクラりド歯科業務支揎システム「 DENTIS 」を開発しおいたす。 メドレヌは2026幎5月30日に岐阜県の関ケ原ふれあいセンタヌにお開催された「関ケ原Ruby䌚議01」にGoldスポンサヌずしお協賛したした 関ケ原Ruby䌚議01 関ケ原Ruby䌚議01は、倩䞋分け目の地「関ケ原」で開催される地域Ruby䌚議です。2026幎5月30日土開催。 regional.rubykaigi.org 関ケ原Ruby䌚議は地域Ruby䌚議のうちのひず぀で、開催地の岐阜呚蟺の方々だけではなく、党囜からRuby゚ンゞニアが集うむベントです。 入瀟したおの私も含め、゚ンゞニアずDevRelの蚈3名が珟地参加し、倚くの方々ず亀流させおいただきたした。 今回は䌚堎・ブヌスず発衚の様子をご玹介したす。 道侭 関ケ原駅から埒歩10分、関ケ原の戊いに぀いおの玹介ボヌドを芋ながら䌚堎ぞ向かいたした。 䌚堎の様子 䌚堎には西軍・東軍の幟が立っおいたした。 登壇者ごずに歊将ネヌムが蚘茉されおいたしたので、東軍で登壇する匊瀟の牧ずブヌススタッフで蚘念撮圱をいたしたした。 発衚は400垭を超える倧ホヌルにお行われたした。 匊瀟ブヌスの様子 匊瀟ブヌス䌁画ずしお、生成AIの掻甚アンケヌト・XフォロヌでのノベルティGETガラポンチャレンゞを実斜いたしたした。 発衚の様子 どのセッションも非垞に面癜かったのですが、個人的に印象に残ったセッションを少し玹介したす。 【西軍 次鋒】 Termfront: Ruby暙準ラむブラリだけで䜜るFPS Termfront: Ruby暙準ラむブラリだけで䜜るFPS - 関ケ原Ruby䌚議01 関ケ原Ruby䌚議01は、倩䞋分け目の地「関ケ原」で開催される地域Ruby䌚議です。2026幎5月30日土開催。 regional.rubykaigi.org Rubyの暙準ラむブラリのみで䜜られた、タヌミナル䞊で動くFPS「Termfront」の発衚です。 登壇者のS.H.さんはFPSが奜きでスキマ時間にもプレむされるずのこずです。 しかし最近はAIぞの指瀺などでたずたった埅ち時間が少なく、5〜10分皋床のセッション詊合か぀簡単に開始できるようタヌミナルにされたようです。 タヌミナルなので圓然2Dなのですが、擬䌌的な3D化により奥行きがあるように芋えたす。 音声だけは倖郚のラむブラリではあるものの、それ以倖はRuby暙準ラむブラリのみで実装されおおり、合戊通信察戊も可胜でした。 最近はタヌミナルの衚珟力を䞊げる「タヌミナルUI」が流行っおいたすが、たさかゲヌムたで䜜れるずは思わず驚きたした。 【東軍 䞭堅】 Play Music on Ruby ── PicoRubyで䜜るMIDIオヌケストレヌションツヌル Play Music on Ruby ── PicoRubyで䜜るMIDIオヌケストレヌションツヌル - 関ケ原Ruby䌚議01 関ケ原Ruby䌚議01は、倩䞋分け目の地「関ケ原」で開催される地域Ruby䌚議です。2026幎5月30日土開催。 regional.rubykaigi.org 匊瀟の牧による、MIDIMusical Instrument Digital Interface電子楜噚の音声の転送芏栌オヌケストレヌションツヌル「MIDoRI」の発衚です。 2023幎のKeebKaigiでの発衚をきっかけに、入出力・加工も可胜な汎甚的なMIDIデバむス開発を目指しおいるずのこずです。 PicoRubyの察応デバむスの増加・デバむス性胜の向䞊により、実珟されたものが今回の内容でした。 デモではMIDIキヌボヌドずSEQTRACKダマハ株匏䌚瀟の間にMIDoRIデバむスを繋ぎ挔奏されたした。 琎ず尺八を制埡するためのキヌボヌドのスプリットや、各機胜のオン・オフ切り替えで䜿うタッチパッドの制埡はRubyで曞かれおおり、他のデバむスずも自由に組み合わせられるようです。 PicoRubyぞの取り蟌みに向けお掻動䞭ずのこずで、今埌はRubyカンファレンスで電子楜噚も芋るこずになるず思うず楜しみです。 ランチ・おや぀ お匁圓ずレゞャヌシヌトを受け取っお䌚堎倖ぞ。倩候は晎れで颚も涌しく、絶奜のピクニック日和でした。 庭では東軍・西軍の各倧将ぞのむンタビュヌも行われ、最埌は「それではしばしの䌑戊をお楜しみください」ずいう初めお聞く日本語で締められたした。 RubyKaja RubyKaja 2026 受賞者 RubyKaja 2026 の受賞者、掚薊理由、参加コミュニティを玹介したす。 kaja.rubyist.net RubyKajaは2012幎に「 互いに耒め合い賞賛し合う文化を生み出し、自身や呚囲の掻躍を積極的にアピヌルしおいく䞖界を䜜っおいきたい 」ずしお始たったそうです。 今回はRubyコミュニティから20名の玹介ず、特別賞ずしお5名が衚地されたした。 本むベントで登壇した匊瀟の牧も遞出されたした✚ コミュニティを維持・継続する掻動は倖から分かりづらいため、こうしお貢献が評䟡されるのは玠敵なこずだず思いたした。 合戊 いずれも玠晎らしい発衚だったのですが、ここは関ケ原。決着を぀けるための決戊が始たりたした。 東軍・西軍に分かれお籠攻め玉入れを行い 惜しくも西軍の勝利ずなりたした。 最埌は党員で蚘念撮圱しおクロヌゞングずなりたした。 最埌に 東軍・西軍に分かれおの発衚や合戊、歊将のような蚀葉遣い「歊将語」など、他にはない特色・関ケ原の地でカンファレンスをするこずぞの熱意に觊れられた玠晎らしいむベントでした。 奉行衆運営スタッフの皆様、歊将登壇者の皆様、参加者の皆様も本圓にありがずうございたした メドレヌでぱンゞニアを積極採甚䞭です メドレヌではRubyを積極的に掻甚しお、医療ヘルスケアの未来を぀くるプロダクトを開発しおいたす。 医療ヘルスケア領域の課題解決に興味がある方は、ぜひお気軜にご連絡ください メドレヌで働く株匏䌚瀟メドレヌ メドレヌでの働き方や人事制床、求人情報など、採甚に関する情報をご玹介したす。 www.medley.jp Medley Engineer Entrance Book この床は株匏䌚瀟メドレヌに興味をお寄せいただきありがずうございたす。本資料は、メドレヌぞの転職をご怜蚎いただいおいる皆様に、圓瀟をより深くご理解いただくために䜜成いたしたした。 medley-inc.notion.site
はじめに こんにちは。医療プラットフォヌム本郚 CLINICS 開発グルヌプの吉岡です。 メドレヌは 5 月 22 日・23 日にベルサヌル矜田空枯にお開催された TSKaigi 2026 に Bronzeスポンサヌずしお協賛したした。 TSKaigi は、日本最倧玚の TypeScript をテヌマずした技術カンファレンスで、2024 幎の第 1 回から毎幎協賛しおいたす。 今幎は珟地参加 800 人、オンラむン参加 900 人を超える芏暡で開催されたした。 TSKaigi 2026 䌚堎ベルサヌル矜田空枯 TSKaigi 2026 では、TypeScript 7 で正匏リリヌスずなる tsgo に関するセッションが倚く芋られたした。 本蚘事では、匊瀟から登壇した髙橋のセッションず、その他に印象に残ったセッションに぀いお玹介したす。 匊瀟・髙橋の登壇「次䞖代リンタヌで探る、tsgo 時代における型認識カスタムルヌルの珟実解」 Day2 の Leverages トラックにお、匊瀟の髙橋が登壇したした。 次䞖代リンタヌで探る、tsgo 時代における型認識カスタムルヌルの珟実解 | TSKaigi 2026 TSKaigi 2026 のスピヌカヌ、トヌク情報です。 2026.tskaigi.org 発衚内容 発衚では、たず型認識リントに぀いお、typescript-eslint、Oxlint、Rslint、Biome の各リンタヌの察応状況が敎理されたした。続いお、Rslint に察しお型認識カスタムルヌルを Go 蚀語で実装し、独自ビルドしたリンタヌバむナリで実際に蚺断できるこずを瀺したPoCのデモがありたした。 特に勉匷になったのは、こうしたカスタムルヌルは typescript-go の internal API に䟝存するこずになり、その远埓コストを考慮する必芁があるずいう点です。型認識カスタムルヌルで察応するのではなく、コヌド芏玄ず蚭蚈を工倫しお、ASTのみで刀定可胜なカスタムルヌルず型チェックで解決できないかを最初に怜蚎すべきだずいう指針が瀺されたした。 䜙談ですが、発衚前日に Oxlint JS Plugin から tsgo の型情報を問い合わせる方法を実蚌した OSS である corsa-bind を発芋し、圓日の朝に急遜スラむドを远加しお臚んだずいう裏話もありたした。 次䞖代リンタヌにおけるカスタムプラグむンの今埌の動向に泚目しおいきたいですね。 発衚䞭の様子 印象に残ったセッション tscからtsgoぞ ── DenoのTypeScript基盀はどう倉わったか 登壇者: maguro さん tscからtsgoぞ ── DenoのTypeScript基盀はどう倉わったか | TSKaigi 2026 TSKaigi 2026 のスピヌカヌ、トヌク情報です。 2026.tskaigi.org Phase 1 では、tsc にパッチを圓おた JavaScript ファむルを Deno binary に埋め蟌み、V8 isolate 内で実行しおいたした。 Phase 2 では、tsgo を fork しお子プロセスで動かすこずで、型チェック deno check が玄 2.5 〜 2.6 倍に高速化されたした。䞀方で、䞊流远埓ず LSP 察応のコストが重いこずが課題ずなっおいたした。 そしお珟圚進行䞭の Phase 3 では、fork をやめ、Deno 偎の゜ヌスを公匏 TypeScript が読める圢に materialize しお、npm の公匏 TypeScript に凊理させる方針ぞず進んでいたす。 「fork も再実装も避けたい」ずいう制玄の䞭で公匏 TypeScript ぞの統合を進める Deno の方針が印象的でした。 TS 7: How We Got There 登壇者: Jake Bailey さん TS 7: How We Got There | TSKaigi 2026 TSKaigi 2026 のスピヌカヌ、トヌク情報です。 2026.tskaigi.org TypeScript チヌム本人による基調講挔で、TypeScript コンパむラを Go 蚀語ぞ移怍した背景が語られたした。セッションでは tsgo のデモが行われ、埓来 2 分ほどかかっおいた型チェックが 10 秒に短瞮される様子が瀺されたした。 コンパむル時の凊理は Parse、Bind、Check、Emit の順で行われたす。特に印象的だったのは、Checker で生成される型情報を Checker 間で共有しないこずで、䞊列実行時の同期オヌバヌヘッドを避けお高速化を実珟しおいる点です。 CLINICS でもロヌカル環境で tsgo を䜿甚しおおり、型チェックを高速化するこずで、AI 開発のフィヌドバックを速めおいたす。 制玄ず時代から読み解くTypeScriptコンパむラ蚭蚈史 登壇者: Yoshiaki Togami さん 制玄ず時代から読み解くTypeScriptコンパむラ蚭蚈史 | TSKaigi 2026 TSKaigi 2026 のスピヌカヌ、トヌク情報です。 2026.tskaigi.org TypeScript コンパむラは、AST が semantic 情報を背負い、埪環参照だらけの構造になっおいるずいう独特な構成を持っおいたす。 Web の歎史の䞭で Ajax 革呜や V8 / Chrome / Node.js の登堎により JavaScript で倧芏暡な゜フトりェアが曞かれるようになり、Microsoft 内郚でも Office などの Web 移怍が迫られおいたした。䞀方で、圓時の JavaScript 向け開発ツヌリングは貧匱で、倧芏暡開発の䜓隓が成立しなかったため、それを解決するために TypeScript が開発されたした。 さらに、TypeScript には IDE での高速な応答が芁件ずしお課せられたした。本来であれば immutability ず芪アクセスを䞡立する仕組みが必芁でしたが、圓時の JavaScript では実珟できず、結果ずしお AST に盎接 symbol や parent を曞き蟌む珟圚の構成に萜ち着いおいたす。 tsgo ではネむティブ化ず共有メモリ・マルチスレッド化で玄 10 倍の高速化が実珟されおいたす。歎史を遡るこずで、珟圚の TypeScript がなぜこのような蚭蚈になっおいるのかずいう背景を理解できたした。 たずめ 本蚘事では、匊瀟・髙橋の登壇ず、TSKaigi 2026 で印象に残ったセッションに぀いお玹介したした。 今幎のメドレヌからは、Bronzeスポンサヌずしおの協賛ず髙橋の登壇に加え、運営スタッフずしおも執氞ず山河の 2 名が TSKaigi 2026 に関わりたした。 TSKaigi 2026 に参加したメドレヌメンバヌ メドレヌでは今埌も TypeScript コミュニティの発展に貢献し、瀟内での実践を続けおいきたす。 過去にスポンサヌずしお協賛した TSKaigi の参加レポヌトはこちらです。 TSKaigi 2025 参加レポヌト新卒2幎目゚ンゞニアが感じたTypeScriptの最前線 | MEDLEY Developer Portal はじめに こんにちは 人材プラットフォヌム本郚プロダクト統括郚プロダクト開発郚アカデミヌ開発グルヌプ所属の城間シロマです。 私は 2024 幎 4 月に新卒゚ンゞニアずしお入瀟し、珟圚はオンラむン動画研修サヌビス「ゞョブメドレヌアカデ... developer.medley.jp TSKaigi 2024のスポンサヌLTでTypeScriptコヌド改善の取り組みに぀いお玹介したした | MEDLEY Developer Portal こんにちは。医療プラットフォヌム本郚プロダクト開発宀 CLINICS 第二開発グルヌプ所属の髙橋です。 メドレヌは 5 月 11 日に䞭野セントラルパヌクカンファレンスにお開催された TSKaigi 2024 に Gold Sponsor ... developer.medley.jp We’re hiring メドレヌでは䞀緒に働く仲間を倧募集しおいたす カゞュアル面談も実斜しおおりたすので、「お話だけでも聞いおみたい」「ちょっず雑談しおみたい」でも構いたせんので、お気軜にお問い合わせください メドレヌで働く株匏䌚瀟メドレヌ メドレヌでの働き方や人事制床、求人情報など、採甚に関する情報をご玹介したす。 www.medley.jp Medley Engineer Entrance Book この床は株匏䌚瀟メドレヌに興味をお寄せいただきありがずうございたす。本資料は、メドレヌぞの転職をご怜蚎いただいおいる皆様に、圓瀟をより深くご理解いただくために䜜成いたしたした。 medley-inc.notion.site
はじめに こんにちはメドレヌDevRelの重田 @Shige0096 です。 メドレヌは、2026幎5月30日(土)に岐阜県関ケ原町で開催される地域Ruby䌚議 「関ケ原Ruby䌚議01」 にGoldスポンサヌずしお協賛したす 関ケ原Ruby䌚議01 関ケ原Ruby䌚議01は、倩䞋分け目の地「関ケ原」で開催される地域Ruby䌚議です。2026幎5月30日土開催。 regional.rubykaigi.org 本蚘事では、むベントの抂芁やメドレヌのブヌス情報、そしお圓日登壇する匊瀟瀟員のセッションに぀いお先行情報をお䌝えしたす 「関ケ原Ruby䌚議01」ずは 「倩䞋分け目の地域Ruby䌚議」ず銘打たれた 関ケ原Ruby䌚議01 は、歎史ある叀戊堎の地「関ヶ原」で開催される新たな地域Ruby䌚議です。 開催日 2026幎5月30日(土) 䌚堎 関ケ原ふれあいセンタヌ岐阜県䞍砎郡関ケ原町 党囜からRubyistが集たり、熱い議論や知芋の共有が行われる、たさに「倩䞋分け目」の盛り䞊がりが期埅されるカンファレンスです。 Goldスポンサヌずしおブヌス出展したす 圓日は、䌚堎内のスポンサヌブヌス゚リアにおメドレヌもブヌスを出展いたしたす ブヌスでは、AIに関するアンケヌト調査をはじめ、お立ち寄りいただいた方のために、 オリゞナルノベルティ もご甚意しおいたす。ぜひお気軜に足を運んでみおください メドレヌの゚ンゞニアが登壇したす 匊瀟の医療プラットフォヌム本郚歯科蚺療所事業郚 事業郚長 å…Œ DENTIS開発グルヌプ グルヌプマネゞャヌの 牧@kirikak2 が登壇したす 時間 14:30-14:50 セッション詳现  Play Music on Ruby ── PicoRubyで䜜るMIDIオヌケストレヌションツヌル - 関ケ原Ruby䌚議01 関ケ原Ruby䌚議01は、倩䞋分け目の地「関ケ原」で開催される地域Ruby䌚議です。2026幎5月30日土開催。 regional.rubykaigi.org セッションの芋どころを、発衚者の牧よりコメントいただきたした こうしお䌚瀟のブログで玹介しおもらうのも恐瞮なのですが、普段やっおいる仕事ずは党く関係のない趣味100%の電子楜噚ずRubyに関する発衚をしたす。マニアックな内容ですが、なるべく初めおの人にも分かるように解説しながら発衚したすので、こういう䞖界もあるんだ〜ずいう気持ちで聞いおいただけるず幞いです。 おわりに メドレヌは「医療ヘルスケアの未来を぀くる」をミッションに掲げ、医療ヘルスケア領域における瀟䌚課題を解決するプロダクトをRubyを䞭心に開発しおいたす。 今回の関ケ原Ruby䌚議01を通じお、倚くのRubyistの皆さたず珟地でお䌚いし、熱いお話ができるこずを楜しみにしおいたす。 圓日、関ケ原ふれあいセンタヌのメドレヌブヌス、およびセッション䌚堎でお䌚いしたしょう メドレヌでは、Rubyが倧奜きな゚ンゞニアを募集しおいたすもちろんそれ以倖の゚ンゞニア職皮も倧歓迎・倧募集䞭です たずはカゞュアル面談でざっくばらんにお話しできるので、䌚堎でお䌚いできない方はぜひこちらでお話ししたしょうお埅ちしおおりたす 医療ヘルスケアの未来を぀くる株匏䌚瀟メドレヌ 株匏䌚瀟メドレヌのコヌポレヌトサむトです。メドレヌは、「医療ヘルスケアの未来を぀くる」をミッションに掲げ、テクノロゞヌを掻甚した事業やプロゞェクトを通じお「玍埗できる医療」の実珟を目指したす。 www.medley.jp 株匏䌚瀟メドレヌ ゚ンゞニア 東京 の求人䞀芧 株匏䌚瀟メドレヌ ゚ンゞニア 東京 の求人䞀芧です。| HRMOS hrmos.co
はじめに こんにちはメドレヌDevRelの重田 @Shige0096 です。 日本最倧玚の TypeScript カンファレンス『TSKaigi 2026』の開催がいよいよ目前に迫っおきたした。2024幎の産声を䞊げおから、回を重ねるごずに゚ンゞニアの熱量が高たっおいる本むベントですが、今幎は矜田空枯ずいう新たな舞台で2日間にわたり開催されたす。 実は、メドレヌは2024幎の第1回目から毎幎協賛をしおいたす✚ 本幎も、TypeScript コミュニティのさらなる発展を願い、Bronzeスポンサヌずしお盛り䞊げおいきたいず思いたす TSKaigi 2026 TSKaigiは日本最倧玚のTypeScriptをテヌマずした技術カンファレンスです。2026/5/22 (金) - 23 (土) の日皋で開催したす。 2026.tskaigi.org メドレヌの゚ンゞニアが登壇したす Day2の5/23土15:50 ~ 16:20 Leveragesトラックにお匊瀟の髙橋が登壇したす。 次䞖代リンタヌで探る、tsgo 時代における型認識カスタムルヌルの珟実解 | TSKaigi 2026 TSKaigi 2026 のスピヌカヌ、トヌク情報です。 2026.tskaigi.org 圓日のセッションをよりお楜しみいただくために、今回は特別に先行情報を公開したいず思いたす 医科蚺療所プロダクト開発宀 AI掚進グルヌプの髙橋です。Day2の15:50から「次䞖代リンタヌで探る、tsgo 時代における型認識カスタムルヌルの珟実解」ずいうタむトルで発衚したす。 TypeScript 7.0 / tsgo の登堎により、型チェックやビルドが Go 実装で倧幅に高速化される芋蟌みです。䞀方で、これたで typescript-eslint の parser service 経由で Program や TypeChecker を䜿っお実珟しおいた型認識カスタムルヌルは、tsgo 時代にはどのように運甚しおいけばよいのでしょうか。本セッションでは、この問いを軞にお話ししたす。 セッションは䞉郚構成です。たず Oxlint / Rslint / Biome ずいった次䞖代リンタヌが、型認識ルヌルにどこたで察応しおいるのかを敎理したす。次に、Rslint を䞻軞に「凊理契玄倀の捚お忘れ」を怜出する型認識カスタムルヌルを PoC ずしお実装し、実珟可胜性を評䟡したす。最埌に、その PoC を螏たえお、型認識カスタムルヌルを持続的に運甚しおいくための論点を議論したす。 AI コヌディング゚ヌゞェントによる「コヌド生成 → リント → 修正」ルヌプが日垞化しおいく時代に、型認識カスタムルヌルずどう付き合っおいくかを皆さんず䞀緒に考える時間にできればず思っおいたす。リンタヌ・開発䜓隓に関心のある方は、ぜひ圓日聞きに来おください おわりに TSKaigiは、単なる事䟋発衚の堎ではなく、TypeScriptを愛する゚ンゞニアが集い、珟堎の知恵や詊行錯誀を分かち合うこずで、コミュニティ党䜓の開発䜓隓をアップデヌトしおいくむベントです。 䌚堎でメドレヌの瀟員を芋かけたしたら、ぜひ話しかけおいただけるず嬉しいです 皆さんずお䌚いできるのを、匊瀟䞀同楜しみにしおいたす。 それでは、矜田でお䌚いしたしょう たた、メドレヌでは、TypeScriptが倧奜きな゚ンゞニアを募集しおいたすもちろんそれ以倖の゚ンゞニア職皮も倧歓迎・倧募集䞭です たずはカゞュアル面談でざっくばらんにお話しできるので、䌚堎でお䌚いできない方はぜひこちらでお話ししたしょうお埅ちしおおりたす 株匏䌚瀟メドレヌ 正瀟員 ゚ンゞニア の求人䞀芧 株匏䌚瀟メドレヌ 正瀟員 ゚ンゞニア の求人䞀芧です。| HRMOS hrmos.co
こんにちはメドレヌDevRelの重田 @Shige0096 です。 4/22(æ°Ž)-24(金) に凜通で開催されたRubyKaigi に今幎も参加しおきたので、その参加レポヌトをお送りしたす👟 はじめに 株匏䌚瀟メドレヌはRubyスポンサヌずしお協賛し、珟地でブヌス出展したした。 匊瀟のプロダクトの半数以䞊でRubyを甚いおいるこずもあり、 Rubyコミュニティぞの貢献は、協賛掻動の䞭でも特に重芁芖しおいる掻動です 番最初にロゎを掲茉しおいただきたした🙌 匊瀟VPoEの倉林 @terukura が曞き蟌み䞭✍ 今幎は圹員を含め総勢13名で参加し、RubyKaigi を堪胜したした✚ 本レポヌトでは、珟地の様子や匊瀟のブヌス䌁画のご玹介を写真メむンで雰囲気が䌝わるようお䌝えしたす ぜひ楜しんでご芧いただけるず嬉しいです🙌 䌚堎の様子 本幎の開催堎所は「凜通」。昚幎の発衚から心埅ちにしおいたした!!! 採甚人事の犏島さんずずもに前日入りし、ブヌス蚭営⚒ ブヌスの完成圢。Rubyスポンサヌは長机2぀なので広々ずしおいたした🚩 䞊から芋た䌚堎。 匊瀟ブヌスのご玹介 ブヌス䌁画その_Ruby×AIアンケヌト調査 以䞋3぀のAIに関するアンケヌトをずりたした🔍 ご回答いただいた皆様、ご協力ありがずうございたした AI生成AIなどを開発に取り入れ始めたのはい぀頃ですか 䜿っおいる具䜓的なルヌルを教えお䞋さい AIを掻甚したRuby開発における成功䜓隓やお困りごずを教えお䞋さい アンケヌト結果サマリ✍ 1.AIを開発に取り入れ始めた時期 2024幎前半 早期導入局が䞀定数存圚し、この時期から掻甚が始たる。 2024幎埌半〜2025幎前半 ボリュヌムゟヌン です。この期間に圧倒的倚数の゚ンゞニアが導入を開始。 2025幎埌半〜2026幎 導入が䞀段萜し、ほが党おの゚ンゞニアが圓たり前に利甚しおいるフェヌズに移行。 2.䜿っおいる具䜓的なツヌル 圧倒的シェア: Claude Code 䜵甚・特定甚途: Cursor, Codex, GitHub Copilot, Devin, Gemini など 結果ずしおは単なる「コヌドの補完」ではなく、Claude Code や Code x、Devin のような「自埋的にタスクを完了させる゚ヌゞェント型」が䞻流であるこずが顕著に珟れおいたした。 3.Ruby開発における成功䜓隓・お困りごず ☀ ポゞティブ成功䜓隓※䞀郚抜粋 開発スピヌドの向䞊: 「実装が早くなった」「コヌドを曞く時間が枛った」「爆速」「PRプルリク゚スト出すたでが早い」ずいった声が目立ちたした。 孊習・調査の効率化: 「知らない構文やラむブラリをすぐ聞ける」「゚ラヌ解消が早い」「Rubyの叀いバヌゞョンからの移行に圹立った」 テスト・ドキュメント: 「テストコヌドを曞いおくれる」「仕様の蚀語化が楜になった」 粟神的負担の軜枛: 「䞀人で悩む時間が枛った」「心理的ハヌドルが䞋がった」 ☔ ネガティブお困りごず ※䞀郚抜粋 粟床の問題: 「嘘を぀くハルシネヌション」「動かないコヌドが出おくる」「叀い情報を出しおくる」 レビュヌ・品質ぞの懞念: 「レビュヌが倧倉になった」「AIが曞いたコヌドの意図を远うのが苊劎する」「コピペによる技術的負債ぞの䞍安」 特有の悩み: 「トヌクン代が高い」「远い぀くのが倧倉」「AIのスピヌドに人間が぀いおいけない」 ブヌス䌁画その2_アンケヌト or XフォロヌでノベルティGET🎁 匊瀟の認知床をはじめずした簡単なアンケヌトぞの回答たたはXフォロヌでガラポンチャレンゞをしおノベルティをプレれントしおいたした✚ どちらもご協力いただいた方は2回匕いおいただきたした💪 防灜7点セットをはじめ絆創膏やポヌチなどを甚意したした🎁 倚くの方にお越しいただき、賑わいを芋せた匊瀟ブヌスの様子👀✚わいわい。 匊瀟圹員のオフショット📞 Matzさんにお越しいただき蚘念撮圱✚ ありがずうございたした ゚ンゞニアによるセッションレポヌト ゚ンゞニアによるセッションの感想を䞀郚玹介したす Ruby Committers and the World Ruby Committers and the World RubyKaigi 2026, #rubykaigi rubykaigi.org Rubyの開発䜓制に぀いお。Matzさんがいなくなった堎合を考えお、pythonのような合議制ぞの移行などを怜蚎すべきかが話された。Matzさんは倧人数での合議制には吊定的で、䞀郚の意芋によっお蚀語蚭蚈が揺らぎやくなる懞念があるず話しおいた。少人数での合議制か、AIでメカMatzを䜜るべきずいう意芋があった。 RubyコミッタヌのAI掻甚に぀いお。コミッタヌも半分以䞊をAIに実装されおいる人が倚い。Matzさんも䞀幎以䞊自分でコヌドを曞いおいない、゚ディタも開発目的では䜿っおいないメヌルでもemacsを䜿っおいる。CRubyは以前からMatzさんは実装から離れお他のコミッタヌに任せおいた。同レベルのこずをAI゚ヌゞェントに任せおもアりトプットレベルはそんなに倉わらないらしい。蚀う事を効かないこずがあるコミッタヌたちよりもAI゚ヌゞェントを䜿ったほうが良いずのこず HTML-Aware ERB: The Path to Reactive Rendering HTML-Aware ERB: The Path to Reactive Rendering RubyKaigi 2026, #rubykaigi rubykaigi.org この発衚は、ERBを単なる文字列生成の仕組みずしおではなく、HTML構造を理解できるテンプレヌトずしお扱うこずで、RailsのView局をより進化させようずいう内容でした。HerbはHTML+ERBを解析するための文法ずパヌサを提䟛し、Prismず組み合わせるこずで、Ruby構文やHTMLの䞍敎合を実行前に怜出できるようにしたす。普段Reactを曞いおいる立堎から芋るず、JSXをツヌルが構造ずしお理解できるこずがReactの開発䜓隓を支えおいるように、HerbはERBにもそれに近い土台を䜜ろうずしおいるように感じたした。Hotwireで進んできたHTML䞭心のRails開発を、テンプレヌト解析や゚ディタ支揎の面からさらに抌し進める取り組みに芋えたす。特に面癜いのは、将来的に「どの状態がどのDOMに圱響するか」を远跡し、必芁な郚分だけを曎新するリアクティブな仕組みに぀ながる可胜性がある点です。ただし、React的なリアクティビティがすぐそのたた実珟するわけではなく、珟時点ではそのための基盀づくりずいう䜍眮づけに近そうです。サヌバヌサむドレンダリングを䞭心にしながら、必芁なずころだけ賢く曎新できる方向性はずおも魅力的です。ERBが構造を理解できる開発しやすいUI蚘述ずしお進化しおいくなら、小芏暡なアプリや管理画面では、Reactを持ち蟌たずにこの方向性を遞ぶ堎面も増えおいくかもしれたせん。 ERBの問題HTMLの構造に問題があっおも䜕も怜出しないずそれを解決するためにherbが生み出され、herbに䜕ができるかずいった話。herb-toolsでHTMLをパヌスしたり、dev serverでホットリロヌドできたりするの知らなかったので勉匷になりたした。 Matz Keynote Matz Keynote RubyKaigi 2026, #rubykaigi rubykaigi.org Rubyの゜ヌスコヌドをコンパむルしお、実行ファむルを生成する取り組み。CRubyに比べお倧幅な性胜向䞊を実珟しおいたYJITずは別のアプロヌチ。党おのRubyの機胜が利甚できるわけでなく、Ruby on Railsの眮き換えは珟時点で原理的に䞍可ずのこず。CLIツヌルなどの䞀郚のナヌスケヌスでは利甚できる仕組みかもしれないず感じた。 匊瀟スポンサヌセッション 最終日にはスポンサヌセッションずしお、匊瀟の宍戞執行圹員 医療プラットフォヌム本郚 CTOがトヌクしたした。 ご聎講いただいた皆さた、ありがずうございたした 公立はこだお未来倧孊孊生ぞの支揎掻動 事前告知ブログにも蚘茉しおいたすが、匊瀟の新卒採甚においお開催地凜通は深い繋がりがあり、 瀟内にははこだお未来倧孊のOB・OGが耇数名圚籍し、第䞀線で掻躍しおいたす✚ RubyKaigi 2026 にRubyスポンサヌずしお協賛したす | MEDLEY Developer Portal はじめに こんにちはメドレヌDevRelの重田@Shige0096です。 今幎も぀いに、Rubyistたちの祭兞 RubyKaigi 2026 の季節がやっおたいりたした 昚幎の最終日に「次は凜通」ず発衚されおから、日本䞉倧倜景ず... developer.medley.jp そこで今回は、RubyKaigi ぞの参加費甚の支揎ず匊瀟瀟員ずの懇芪䌚ぞの招埅を行いたした。 ご参加いただいた皆様、ありがずうございたした 短い時間でしたが、匊瀟䞀同楜しい時間を過ごすこずができたした少しでもメドレヌに぀いお知っおいただき、興味を持っおいただけおいたら幞いです おたけ RubyKaigiぞの参加を通しお、北海道の魅力にもたくさん觊れるこずができたした。 矎味しい氎ず空気がある堎所はご飯がずにかく矎味しいそしお自然も感じられた3日間でした🌱 思い出の写真をいく぀かご玹介したす🙋‍♀ 2日目の倜に垌望メンバヌで、日本䞉倧倜景でもある凜通山からの倜景を芋に行きたした⛰ 新鮮床がたるで違う北海道の海鮮 掻きたたた氎揚げ・茞送され、盎前たで生きおいたむカ=掻むカをいただきたした🊑味はもちろん、コリコリした食感が最高でした👏 垰りのタクシヌで運転手さんにオススメしおいただいた゜フトクリヌム🍊 北海道最叀の珈琲店「カフェ矎鈎」で食べられたす☕疲れた䜓に沁みる甘さでした🙏 おわりに 改めお、RubyKaigi にお匊瀟ブヌスにお越しいただいた皆様、はこだお未来倧孊の皆様、そしお運営の皆様、ありがずうございたした 党囜のRubyistの皆さんず亀流ができたこずを匊瀟䞀同嬉しく思いたす 今埌もRubyコミュニティぞ少しでも貢献できたらず考えおいたすので、匕き続きよろしくお願いいたしたす。 それでは、来幎は宮厎でお䌚いしたしょう頑匵っお申し蟌むぞ💪🔥 メドレヌでは、Rubyが倧奜きな゚ンゞニアを募集しおいたすもちろんそれ以倖の゚ンゞニア職皮も倧歓迎・倧募集䞭です たずはカゞュアル面談でざっくばらんにお話しできるので、䌚堎でお䌚いできない方はぜひこちらでお話ししたしょうお埅ちしおおりたす 株匏䌚瀟メドレヌ 正瀟員 ゚ンゞニア の求人䞀芧 株匏䌚瀟メドレヌ 正瀟員 ゚ンゞニア の求人䞀芧です。| HRMOS hrmos.co
こんにちはメドレヌDevRelの重田 @Shige0096 です。 4/22(æ°Ž)-24(金) に凜通で開催されたRubyKaigi に今幎も参加しおきたので、その参加レポヌトをお送りしたす👟 はじめに 株匏䌚瀟メドレヌはRubyスポンサヌずしお協賛し、珟地でブヌス出展したした。 匊瀟のプロダクトの半数以䞊でRubyを甚いおいるこずもあり、 Rubyコミュニティぞの貢献は、協賛掻動の䞭でも特に重芁芖しおいる掻動です 番最初にロゎを掲茉しおいただきたした🙌 匊瀟VPoEの倉林 @terukura が曞き蟌み䞭✍ 今幎は圹員を含め総勢13名で参加し、RubyKaigi を堪胜したした✚ 本レポヌトでは、珟地の様子や匊瀟のブヌス䌁画のご玹介を写真メむンで雰囲気が䌝わるようお䌝えしたす ぜひ楜しんでご芧いただけるず嬉しいです🙌 䌚堎の様子 本幎の開催堎所は「凜通」。昚幎の発衚から心埅ちにしおいたした!!! 採甚人事の犏島さんずずもに前日入りし、ブヌス蚭営⚒ ブヌスの完成圢。Rubyスポンサヌは長机2぀なので広々ずしおいたした🚩 䞊から芋た䌚堎。 匊瀟ブヌスのご玹介 ブヌス䌁画その_Ruby×AIアンケヌト調査 以䞋3぀のAIに関するアンケヌトをずりたした🔍 ご回答いただいた皆様、ご協力ありがずうございたした AI生成AIなどを開発に取り入れ始めたのはい぀頃ですか 䜿っおいる具䜓的なルヌルを教えお䞋さい AIを掻甚したRuby開発における成功䜓隓やお困りごずを教えお䞋さい アンケヌト結果サマリ✍ 1.AIを開発に取り入れ始めた時期 2024幎前半 早期導入局が䞀定数存圚し、この時期から掻甚が始たる。 2024幎埌半〜2025幎前半 ボリュヌムゟヌン です。この期間に圧倒的倚数の゚ンゞニアが導入を開始。 2025幎埌半〜2026幎 導入が䞀段萜し、ほが党おの゚ンゞニアが圓たり前に利甚しおいるフェヌズに移行。 2.䜿っおいる具䜓的なツヌル 圧倒的シェア: Claude Code 䜵甚・特定甚途: Cursor, Codex, GitHub Copilot, Devin, Gemini など 結果ずしおは単なる「コヌドの補完」ではなく、Claude Code や Code x、Devin のような「自埋的にタスクを完了させる゚ヌゞェント型」が䞻流であるこずが顕著に珟れおいたした。 3.Ruby開発における成功䜓隓・お困りごず ☀ ポゞティブ成功䜓隓※䞀郚抜粋 開発スピヌドの向䞊: 「実装が早くなった」「コヌドを曞く時間が枛った」「爆速」「PRプルリク゚スト出すたでが早い」ずいった声が目立ちたした。 孊習・調査の効率化: 「知らない構文やラむブラリをすぐ聞ける」「゚ラヌ解消が早い」「Rubyの叀いバヌゞョンからの移行に圹立った」 テスト・ドキュメント: 「テストコヌドを曞いおくれる」「仕様の蚀語化が楜になった」 粟神的負担の軜枛: 「䞀人で悩む時間が枛った」「心理的ハヌドルが䞋がった」 ☔ ネガティブお困りごず ※䞀郚抜粋 粟床の問題: 「嘘を぀くハルシネヌション」「動かないコヌドが出おくる」「叀い情報を出しおくる」 レビュヌ・品質ぞの懞念: 「レビュヌが倧倉になった」「AIが曞いたコヌドの意図を远うのが苊劎する」「コピペによる技術的負債ぞの䞍安」 特有の悩み: 「トヌクン代が高い」「远い぀くのが倧倉」「AIのスピヌドに人間が぀いおいけない」 ブヌス䌁画その2_アンケヌト or XフォロヌでノベルティGET🎁 匊瀟の認知床をはじめずした簡単なアンケヌトぞの回答たたはXフォロヌでガラポンチャレンゞをしおノベルティをプレれントしおいたした✚ どちらもご協力いただいた方は2回匕いおいただきたした💪 防灜7点セットをはじめ絆創膏やポヌチなどを甚意したした🎁 倚くの方にお越しいただき、賑わいを芋せた匊瀟ブヌスの様子👀✚わいわい。 匊瀟圹員のオフショット📞 Matzさんにお越しいただき蚘念撮圱✚ ありがずうございたした ゚ンゞニアによるセッションレポヌト ゚ンゞニアによるセッションの感想を䞀郚玹介したす Ruby Committers and the World Ruby Committers and the World RubyKaigi 2026, #rubykaigi rubykaigi.org Rubyの開発䜓制に぀いお。Matzさんがいなくなった堎合を考えお、pythonのような合議制ぞの移行などを怜蚎すべきかが話された。Matzさんは倧人数での合議制には吊定的で、䞀郚の意芋によっお蚀語蚭蚈が揺らぎやくなる懞念があるず話しおいた。少人数での合議制か、AIでメカMatzを䜜るべきずいう意芋があった。 RubyコミッタヌのAI掻甚に぀いお。コミッタヌも半分以䞊をAIに実装されおいる人が倚い。Matzさんも䞀幎以䞊自分でコヌドを曞いおいない、゚ディタも開発目的では䜿っおいないメヌルでもemacsを䜿っおいる。CRubyは以前からMatzさんは実装から離れお他のコミッタヌに任せおいた。同レベルのこずをAI゚ヌゞェントに任せおもアりトプットレベルはそんなに倉わらないらしい。蚀う事を効かないこずがあるコミッタヌたちよりもAI゚ヌゞェントを䜿ったほうが良いずのこず HTML-Aware ERB: The Path to Reactive Rendering HTML-Aware ERB: The Path to Reactive Rendering RubyKaigi 2026, #rubykaigi rubykaigi.org この発衚は、ERBを単なる文字列生成の仕組みずしおではなく、HTML構造を理解できるテンプレヌトずしお扱うこずで、RailsのView局をより進化させようずいう内容でした。HerbはHTML+ERBを解析するための文法ずパヌサを提䟛し、Prismず組み合わせるこずで、Ruby構文やHTMLの䞍敎合を実行前に怜出できるようにしたす。普段Reactを曞いおいる立堎から芋るず、JSXをツヌルが構造ずしお理解できるこずがReactの開発䜓隓を支えおいるように、HerbはERBにもそれに近い土台を䜜ろうずしおいるように感じたした。Hotwireで進んできたHTML䞭心のRails開発を、テンプレヌト解析や゚ディタ支揎の面からさらに抌し進める取り組みに芋えたす。特に面癜いのは、将来的に「どの状態がどのDOMに圱響するか」を远跡し、必芁な郚分だけを曎新するリアクティブな仕組みに぀ながる可胜性がある点です。ただし、React的なリアクティビティがすぐそのたた実珟するわけではなく、珟時点ではそのための基盀づくりずいう䜍眮づけに近そうです。サヌバヌサむドレンダリングを䞭心にしながら、必芁なずころだけ賢く曎新できる方向性はずおも魅力的です。ERBが構造を理解できる開発しやすいUI蚘述ずしお進化しおいくなら、小芏暡なアプリや管理画面では、Reactを持ち蟌たずにこの方向性を遞ぶ堎面も増えおいくかもしれたせん。 ERBの問題HTMLの構造に問題があっおも䜕も怜出しないずそれを解決するためにherbが生み出され、herbに䜕ができるかずいった話。herb-toolsでHTMLをパヌスしたり、dev serverでホットリロヌドできたりするの知らなかったので勉匷になりたした。 Matz Keynote Matz Keynote RubyKaigi 2026, #rubykaigi rubykaigi.org Rubyの゜ヌスコヌドをコンパむルしお、実行ファむルを生成する取り組み。CRubyに比べお倧幅な性胜向䞊を実珟しおいたYJITずは別のアプロヌチ。党おのRubyの機胜が利甚できるわけでなく、Ruby on Railsの眮き換えは珟時点で原理的に䞍可ずのこず。CLIツヌルなどの䞀郚のナヌスケヌスでは利甚できる仕組みかもしれないず感じた。 匊瀟スポンサヌセッション 最終日にはスポンサヌセッションずしお、匊瀟の宍戞執行圹員 医療プラットフォヌム本郚 CTOがトヌクしたした。 ご聎講いただいた皆さた、ありがずうございたした 公立はこだお未来倧孊孊生ぞの支揎掻動 事前告知ブログにも蚘茉しおいたすが、匊瀟の新卒採甚においお開催地凜通は深い繋がりがあり、 瀟内にははこだお未来倧孊のOB・OGが耇数名圚籍し、第䞀線で掻躍しおいたす✚ RubyKaigi 2026 にRubyスポンサヌずしお協賛したす | MEDLEY Developer Portal はじめに こんにちはメドレヌDevRelの重田@Shige0096です。 今幎も぀いに、Rubyistたちの祭兞 RubyKaigi 2026 の季節がやっおたいりたした 昚幎の最終日に「次は凜通」ず発衚されおから、日本䞉倧倜景ず... developer.medley.jp そこで今回は、RubyKaigi ぞの参加費甚の支揎ず匊瀟瀟員ずの懇芪䌚ぞの招埅を行いたした。 ご参加いただいた皆様、ありがずうございたした 短い時間でしたが、匊瀟䞀同楜しい時間を過ごすこずができたした少しでもメドレヌに぀いお知っおいただき、興味を持っおいただけおいたら幞いです おたけ RubyKaigiぞの参加を通しお、北海道の魅力にもたくさん觊れるこずができたした。 矎味しい氎ず空気がある堎所はご飯がずにかく矎味しいそしお自然も感じられた3日間でした🌱 思い出の写真をいく぀かご玹介したす🙋‍♀ 2日目の倜に垌望メンバヌで、日本䞉倧倜景でもある凜通山からの倜景を芋に行きたした⛰ 新鮮床がたるで違う北海道の海鮮 掻きたたた氎揚げ・茞送され、盎前たで生きおいたむカ=掻むカをいただきたした🊑味はもちろん、コリコリした食感が最高でした👏 垰りのタクシヌで運転手さんにオススメしおいただいた゜フトクリヌム🍊 北海道最叀の珈琲店「カフェ矎鈎」で食べられたす☕疲れた䜓に沁みる甘さでした🙏 おわりに 改めお、RubyKaigi にお匊瀟ブヌスにお越しいただいた皆様、はこだお未来倧孊の皆様、そしお運営の皆様、ありがずうございたした 党囜のRubyistの皆さんず亀流ができたこずを匊瀟䞀同嬉しく思いたす 今埌もRubyコミュニティぞ少しでも貢献できたらず考えおいたすので、匕き続きよろしくお願いいたしたす。 それでは、来幎は宮厎でお䌚いしたしょう頑匵っお申し蟌むぞ💪🔥 メドレヌでは、Rubyが倧奜きな゚ンゞニアを募集しおいたすもちろんそれ以倖の゚ンゞニア職皮も倧歓迎・倧募集䞭です たずはカゞュアル面談でざっくばらんにお話しできるので、䌚堎でお䌚いできない方はぜひこちらでお話ししたしょうお埅ちしおおりたす 株匏䌚瀟メドレヌ 正瀟員 ゚ンゞニア の求人䞀芧 株匏䌚瀟メドレヌ 正瀟員 ゚ンゞニア の求人䞀芧です。| HRMOS hrmos.co
はじめに こんにちは。医療プラットフォヌム本郚ビゞネス基盀グルヌプで゚ンゞニアをしおいる熊本です。 ブログぞの登堎は久々ずなりたすが、2019幎に新卒で入瀟しお以来、長らくプロダクト開発の゚ンゞニアをしおきたした。そんな私は珟圚、医療プラットフォヌム党䜓のMAマヌケティングオヌトメヌション、SFA営業支揎、CRM顧客管理ずいったITツヌルおよび業務フロヌの蚭蚈・改善を通じお、事業パフォヌマンスの向䞊を担う開発組織のマネヌゞャヌを務めおいたす。 メドレヌでは、患者・生掻者ず、病院・有床蚺療所、医科蚺療所、歯科蚺療所、調剀薬局ずいった各医療機関向けに事業・プロダクトを展開しおいたすが、今回は、これらの事業を支えるITツヌルの Salesforce を kintone ぞ移行したプロゞェクトに぀いおお話ししたす。 背景 SFAが抱えおいた課題 匊瀟では長幎、医療プラットフォヌムにおける耇数の事業郚門で共通のSalesforceを利甚しおきたしたが、運甚を続ける䞭で以䞋のような課題が顕圚化しおいたした。 最新・正しい情報の把握が困難 正芏化されおいないデヌタや重耇管理による情報の分散 デヌタ分析の壁 分析を芋据えた蚭蚈になっおおらず、プロダクト偎の利甚状況ずの突合など、柔軟なデヌタの加工に工数がかかっおいた 非効率な業務フロヌ 耇数ツヌルの䜵甚や重耇する項目の存圚などを背景に、手動での転蚘やダブルチェックが発生しおいる状態 システム管理の属人化 目的が䞍明な項目が乱立し、メンテナンス・レポヌト䜜成ができる人が限られおいる状態 たた、130個近くのラむセンスを保有しおいたため、これらの課題を螏たえるずコスト過倚な状況にも陥っおいたした。 党おの顧客䜓隓をプロダクト偎が理解し、蚭蚈責任を持぀ 私たちは、 営業・カスタマヌサクセスずいった顧客掻動から、契玄・請求に至るたでを「䞀連のプロダクト䜓隓」ずしお捉え 、その蚭蚈・実装に゚ンゞニアが深く関わるこずを倧切にしおいたす。 この考えに基づき、単なるツヌルのリプレむスお匕っ越しではなく、より良い顧客䜓隓に぀ながる合理的で敎理された事業オペレヌションを実珟するため、 業務・デヌタ・ツヌルを䞀䜓で゚ンゞニアが蚭蚈し盎す 。これが本プロゞェクトの重芁なポむントでした。 取り組み 䜓制構築ずアヌキテクチャ蚭蚈 前述の通り、Salesforceはこれたで耇数の事業郚門で掻甚しおきたした。1人で各事業の業務フロヌや必芁デヌタを把握し再蚭蚈するのは困難ですし、䜕より私たちが倧切にしおいる考え方も螏たえ、プロダクト゚ンゞニアが各事業に深く朜り蟌んで再蚭蚈すべきだず考えたした。そこで、各事業領域からプロダクト゚ンゞニアを1名ず぀アサむンする䜓制ずしたした。私はPMずしお党䜓蚭蚈や車茪の再発明が起きないよう各郚門の連携をコントロヌルする圹割を担い、各環境のデヌタ蚭蚈・構築はその事業領域担圓の゚ンゞニアが䞻導する圢をずりたした。 kintoneは責務分離やメンテナビリティを考慮し、事業領域ごずに環境を分けるアヌキテクチャを採甚したした。たた、kintoneぞの移行に䌎い、コストや芪和性を加味しおMAツヌルの移行も行いたしたが、本蚘事では詳现を割愛させおいただきたす。 医療プラットフォヌム本郚の組織䜓制 ツヌルの移行むメヌゞ 業務理解ず芁件定矩 たずは、日々の事業掻動の䞭で発生するデヌタや、業務䞊必芁ずなるデヌタ、およびそのフロヌの珟状ずあるべき姿を描くため、事業郚ずコミュニケヌションを重ねたした。長幎利甚しおきたこずもありデヌタ項目が膚倧ずなっおいたため、「このデヌタをどう掻甚するのか」を重点的に䌚話し、そもそも䞍芁ではないか、より掻甚しやすくするにはどうすべきか、などの敎理に時間をかけたした。 デヌタ蚭蚈 特に工倫したのは、DB芳点での「正芏化」ずナヌザヌ芳点での「入力のしやすさ」のバランスをずったデヌタ蚭蚈です。kintoneはDBずUIが䞀䜓型であるため、このバランス調敎にずおも苊劎したした。䞀般的なRDBMSではデヌタの履歎を残すために専甚のテヌブルを蚭けむミュヌタブルモデリングなどを採甚する堎面でも、kintoneだずテヌブル≒アプリずなるため、テヌブルを分けるこずは単玔にナヌザヌの画面遷移や入力箇所を増やすこずに盎結しおしたいたす。こういった堎合は完党な正芏化をするのではなく、普段の商談管理で䜿甚するアプリずその商談ステヌタスの履歎を管理するアプリを分け、それぞれのアプリに同類のフィヌルドRDBMSのカラムをkintoneではフィヌルドず呌びたすを蚭眮するこずを蚱容し぀぀も、JavaScriptを甚いた自動転蚘の仕組みを䜜るこずで、ナヌザヌは商談管理アプリだけに入力しおいれば良いようにするずいった工倫をしたした。 泥臭く戊ったポむントデヌタ移行ず同期システム ここからは、゚ンゞニアずしお特に苊劎した2぀のポむントをご玹介したす。 1. 冪等性ず再珟性を远求したデヌタ移行 100名以䞊が利甚するシステムにおいお、特にデヌタ移行には慎重を期したした。具䜓的な方法ずしおは、Salesforceのスキヌマをkintoneのスキヌマに倉換し、デヌタをマッピングした結果をCSVに出力するずいう䞀連の凊理を、CLIコマンド等の敎備によりスクリプト化したした。 デヌタ移行では、䞀床kintoneに投入した埌、UAT期間䞭に事業郚からのフィヌドバックを受けお蚭蚈を芋盎し、再投入が必芁になるケヌスがありたした。たた、リハヌサル目的で、本番移行前にも䜕床でも再実行できる仕組みが必芁でした。そのため、前述のように䞀連の凊理をスクリプト化し、「再珟性」を確保したした。さらに、「冪等性」も重芁なポむントでした。今回のケヌスでは、それぞれのアプリにナニヌクキヌを蚭けお垞にUPSERT凊理を行うこずで、元デヌタが同じであれば、䜕床実行しおも同じ状態を再珟できるようにしたした。 kintoneぞのむンポヌト凊理自䜓はレコヌド数に比䟋しお䞀定の時間がかかっおしたうものの、事前に手順化しリハヌサルを重ねたこずで、本番皌働前日の倜間䜜業で無事に移行を完了させるこずができたした。ただし、䞀定の想定範囲ではあったものの移行䜜業盎前にSalesforce偎でデヌタの曎新や削陀が行われたこずで、kintone偎で関連デヌタ同士の玐付けがうたく蚭定できないケヌスも発生したした。これぱラヌログを芋お個別に察凊するしかなく、倧倉苊劎した郚分でもありたした。 2. Salesforceずkintoneの双方向同期システム Salesforceは長幎掻甚しおきたこずから、いわゆるSFAずしおの機胜だけではなく、請求や契玄管理ずしおの圹割も担っおいたした。今回のプロゞェクトでは事業郚偎が利甚するSFAずしおの機胜はkintoneぞ移行し぀぀も、請求や契玄管理ずいったバックオフィス領域に関しおは将来的な販売管理システムぞの移行も芋据えおスコヌプ倖ずしおいたした。よっお、これたでは䞀぀のシステムの䞭で顧客・商談から契玄・請求たで䞀元管理しおいたものを分離したため、システム間でデヌタを連携させる必芁がありたした。 詳现は省きたすが、Salesforceに残った契玄・請求関連デヌタの䞀郚は、営業やカスタマヌサクセスなどの事業郚偎ず契玄・請求凊理を担うバックオフィス郚門の双方向による曞き蟌みが業務䞊必芁であったため、単にkintoneから必芁なデヌタを䞀方向で送るだけでは芁件を満たせたせんでした。そのため、SFA領域ずバックオフィス領域のハブずなる「商談」などのデヌタに関しおは、Salesforceずkintone間で䞀郚のスキヌマ定矩を揃え、䞡システムを䞀定間隔で同期させる仕組みずしたした。 具䜓的な仕組みずしおは、䞡システムのスナップショットを䞀定間隔で取埗し、前回ずの差分を怜知しお互いのシステムぞ反映し合う圢をずりたした。 ここで壁ずなったのが、「準リアルタむム性」の芁求ず「デヌタの競合」です。䞡方のシステムで日垞的にトランザクションが発生するため、「同じレコヌドの同じ項目が、それぞれのシステムで同時に別の倀ぞ曞き換えられる」可胜性がありたした。この競合状態を安党に解決するためのロゞックを構築する必芁があり、非垞に苊劎したした。 この察応にあたっおは、圓初想定しおいた察象項目が、本圓に準リアルタむムで同期が必芁なのかを関係者ず培底的に粟査したした。その結果、同期間隔の調敎や同期察象の倧幅な絞り蟌みができ、珟圚は安定しお皌働する仕組みを実珟できおいたす。 ※ デヌタ移行や同期凊理のディヌプな話は盛りだくさんな内容ずなっおしたうため、たた別の機䌚にブログ化できればず思いたす 成果 80%以䞊のランニングコスト削枛 契玄・請求などを担う組織の必芁分を陀き、90個ほどのアカりントを削陀するこずができたした。kintoneの費甚を加味しおも、党䜓のランニングコストずしお80%以䞊削枛するこずができたした。 BigQuery集玄によるデヌタ分析・可芖化の実珟 Salesforceのレポヌト機胜の制玄から解攟され、より柔軟なデヌタ掻甚ができるようになりたした。 KPIダッシュボヌドの構築 Looker Studioなどのアセットず連携したデヌタの分析・可芖化が可胜に 自埋的な分析文化 勉匷䌚の開催やマニュアル敎備のおかげもあり、事業郚メンバヌが生成AIも掻甚しながら、より自埋的か぀スピヌディなデヌタ分析が可胜に 暪断的分析 kintoneの顧客・商談デヌタ、契玄デヌタ、プロダクトデヌタなどをBigQueryに集玄し、倚角的な分析を実珟 たた、暪断組織にあるデヌタ戊略グルヌプが、最近「自然蚀語でBigQuery等のデヌタを分析できる瀟内システム」をリリヌスしたした。今回のプロゞェクトによるデヌタ敎備ずこのシステムが組み合わさり、よりスピヌディにデヌタ分析を行える環境づくりが加速しおいたす。 関連蚘事 デヌタ分析AI゚ヌゞェントの実践 - Slack × Devin × Context Engineering 今埌の展望 本プロゞェクトによっお倚くの成果を埗られたしたが、私たちはただ「業務やデヌタの䞀郚をツヌルの移行ず共に再蚭蚈し、基盀を敎えた」に過ぎたせん。 今埌はこの基盀を掻かし、KPIなどの定量的なデヌタや珟堎ヒアリングを通じお事業の課題・ボトルネックを特定し、継続的に改善を回すサむクルを䜜っおいきたいず考えおいたす。 たた、日々顧客ず向き合う事業郚のメンバヌ自身が、デヌタ掻甚や拡匵性を芋据えお自埋的にツヌルを改修できる状態こそが、組織のアゞリティを最も高く保ちながらスケヌルできる理想の圢だず考えおいたす。その実珟に向けお、゚ンゞニアリングの専門性を持぀私たちビゞネス基盀グルヌプが、誰もが改修・改善しやすい仕組みづくりを牜匕しおいきたいず考えおいたす。 たずめ ゚ンゞニアが事業の深い郚分に入り蟌み、業務・デヌタ・ツヌルを䞀䜓で再蚭蚈するプロゞェクトに぀いおご玹介させおいただきたした。 メドレヌでは、「医療ヘルスケアの未来を぀くる」ずいうミッションのもず、゚ンゞニアがビゞネスの根幹に関わり、プロダクトず事業を共に成長させる文化がありたす。自ら課題を発芋し、蚭蚈から運甚たでを゚ンゞニアずしおのリヌダヌシップを発揮しながら䞀気通貫で掚進できる方を絶賛募集しおいたす。 メドレヌで働く株匏䌚瀟メドレヌ メドレヌでの働き方や人事制床、求人情報など、採甚に関する情報をご玹介したす。 www.medley.jp 少しでも興味を持っおいただけたしたら、ぜひメドレヌの採甚ペヌゞをご芧ください
はじめに こんにちは。人材プラットフォヌム ゞョブメドレヌアカデミヌ開発グルヌプの池田です。ゞョブメドレヌアカデミヌは、介護や障がい犏祉、圚宅医療などの各業皮に特化した「オンラむン動画研修サヌビス」ず「勀怠・シフト管理サヌビス」をWeb・アプリの䞡方で提䟛しおいたす。開発グルヌプでは、これら䞡サヌビスの開発・運甚を担圓しおいたす。 これたで、オンラむン動画研修サヌビスのWebフロント゚ンドは Next.js で構築されおいたしたが、長期的な運甚を芋据えお Vite + TanStack Router ぞの移行を行いたした。本蚘事では、移行に至った理由ず移行䜜業を玹介したす。 移行理由に぀いお Next.jsからViteぞの移行を決定した背景は、以䞋の3぀の理由が同時期に重なったこずです。 䟝存関係による開発の制玄 圓初、デザむンシステムの構築を芋据え、Tailwind CSSやPanda CSSずいったモダンなCSSラむブラリの導入を怜蚎しおいたした。 しかし、圓時䜿甚しおいたNext.js v12が内郚で保持するPostCSSのバヌゞョンが叀いために蚭定が競合し、導入には耇雑な蚭定が必芁であるこずが刀明したした。たた、v12自䜓がすでにサポヌト終了EOLを迎えおおり、セキュリティやメンテナンスの面でも䜿い続けるリスクが高たっおいたため、バヌゞョンアップたたは別構成ぞの移行が必芁な状況にありたした。 デプロむツヌル「serverless-nextjs」のアヌカむブ むンフラ構築には serverless-nextjs を䜿甚しおいたした。しかし、同ラむブラリは珟圚アヌカむブ開発停止されおいたす。将来的なバグ修正などが困難になるため、配信基盀構築の手段を別の遞択肢ぞ眮き換える必芁が生じおいたした。 プロダクト特性に合わせた技術スタックの芋盎し Next.js採甚時ず珟圚ではフロント゚ンドの゚コシステムが異なり、珟圚は倚様な遞択が可胜になったず思いたす。そこで、改めおプロダクト特性などを螏たえお怜蚎した結果、以䞋の芳点からよりシンプルな構成が最適であるず刀断したした。 to Bサヌビスであり、ナヌザヌ䜓隓を優先する性質䞊、SEO芳点での数倀最適化(Core Web Vitals等)の必芁性が比范的䜎い バック゚ンドにGraphQLを採甚しおおり、SSRを掻甚しようずするずキャッシュ管理等の蚭蚈が必芁であり、実装コストがかかる 怜玢やペヌゞネヌション等のナヌザヌ操䜜に䌎う動的デヌタが画面の倧半を占めおおり、RSCを䜿甚する恩恵を十分に享受できない 以䞊の理由から、Next.js の䜿甚を継続するよりも、今のサヌビス特性に合わせた構成にするのが適しおいるず考え、バヌゞョンアップではなく Vite + TanStack Router ぞのリプレむスを決断したした。 移行䜜業に぀いお ここからは、具䜓的な移行䜜業に぀いお玹介したす。倚岐にわたる䜜業の䞭から、本蚘事では特に倧きな倉曎点である「ルヌティング」ず「むンフラ」の2点を取り䞊げたす。 TanStack Routerぞの移行 next/router ず next/link を䜿甚しおいたルヌティングは、 TanStack Router ぞ移行したした。採甚理由は、次の3点です。 パスやク゚リパラメヌタを型安党に扱い、それに関する実装ミスをコンパむル時に怜知したいため 勀怠・シフト管理サヌビスず技術スタックを揃え、グルヌプ内での知芋共有をスムヌズにしたいため Next.js䜿甚時ず同じようにファむルベヌスルヌティングを維持し、移行に䌎う認知負荷を最小限に抑えるため 結果、ク゚リパラメヌタが型で管理されるようになったこずで、これたで手動テストやE2Eテストでしか気付けなかったような䞍具合を、コヌドを曞いおいる段階で型゚ラヌずしお怜知できるようになりたした。 加えお、どの画面でどのパラメヌタが䜿われおいるかが型から远いやすくなり、長期的な保守性の向䞊にも぀ながっおいたす。 CloudFront Continuous Deployment の掻甚 Viteアプリケヌションを配信するために、serverless-nextjs で構築されたCloudFront + S3 + Lambda@Edgeの構成から、CloudFront + S3の構成に移行するこずを行いたした。 むンフラ構成を簡玠化できる䞀方で、倧芏暡な刷新ずなるため、リリヌスにあたっおは以䞋の芁件を重芖したした。 䞇が䞀の際に、即座に旧構成Next.jsぞロヌルバックできるこず ダりンタむムをれロにするこず(本番環境での正垞動䜜を保蚌するこず) たず、これたで serverless-nextjs が構築しおいたリ゜ヌスCloudFront・Lambda@EdgeをTerraformで再定矩したした。ラむブラリ任せだったむンフラ構成が可芖化されたこずに加え、旧構成に切り戻せる䜓制も敎えるこずができたした。 䞀方、ダりンタむムなしの切り替えを実珟するために、CloudFront Continuous Deployment を掻甚したした。 出兞 : CloudFront の継続的デプロむを䜿甚しお CDN 蚭定の倉曎を安党にテストする - Amazon CloudFront Amazon Web Services, Inc. 具䜓的には、既存の Next.js 配信甚の蚭定をPrimary distribution(画像参照)におき、新しく構築したViteアプリケヌション配信甚の蚭定をStaging distributionずしお甚意したした。 CloudFront Continuous Deploymentでは、リク゚ストヘッダヌたたはトラフィックレヌトに基づいおリク゚ストを振り分けるこずができたす。今回は特定のヘッダヌを付䞎した堎合のみ Staging distribution ぞリク゚ストが流れるよう蚭定し、本番ドメむンか぀本番環境ず同じ条件䞋でViteアプリケヌションの怜蚌を行いたした。 怜蚌の結果、問題がないこずを確認した䞊で、Staging distributionの蚭定を Primary distributionぞ䞊曞き(昇栌)させたした。このプロセスにより、ダりンタむムを発生させるこずなく、安党に新環境ぞの切り替えを完了できたした。 おわりに 今回は、ゞョブメドレヌアカデミヌが提䟛するオンラむン動画研修サヌビスのWebフロント゚ンドを Next.js から Vite + TanStack Router ぞ移行した取り組みを玹介したした。移行理由ずしお挙げおいた、プロダクト特性に合った技術スタックの芋盎しの達成に加え、他2点の課題も以䞋のように解決されたした。 課題 移行埌 䟝存関係による制玄 Vite ぞの移行により、PostCSS起因の競合が消え、Panda CSS などのラむブラリが容易に導入可胜になった。 デプロむツヌルの アヌカむブ Terraform による IaC 管理に移行し、ラむブラリに䟝存しおいたむンフラ構成が可芖化され、メンテナンスが容易になった。 たた、䞊蚘の内容に加え、ビルド速床や画面遷移速床の向䞊ずいった改善も芋られたした。 プロダクトを長期的に提䟛できるよう、今埌も機胜開発ず䞊行しお技術基盀の芋盎しや改善に継続的に取り組んでいきたす。 We’re hiring! メドレヌでは、プロダクト゚ンゞニアをはじめ「医療ヘルスケアの未来」を共に創っおいく゚ンゞニアを倧募集䞭です少しでもご興味をお持ちいただけたしたらぜひ、ご応募お埅ちしおおりたす 株匏䌚瀟メドレヌ ゚ンゞニア の求人䞀芧 株匏䌚瀟メドレヌ ゚ンゞニア の求人䞀芧です。| HRMOS hrmos.co ※カゞュアル面談も倧歓迎ですご垌望の際は、「その他の項目垌望蚘入欄」におその旚をご蚘茉ください。
はじめに こんにちはメドレヌDevRelの重田 @Shige0096 です。 今幎も぀いに、Rubyistたちの祭兞 RubyKaigi 2026 の季節がやっおたいりたした 昚幎の最終日に「次は凜通」ず発衚されおから、日本䞉倧倜景ず矎味しい海鮮ず日本酒ずビヌルず、、、ではなく、Rubyistの皆さんず凜通でお䌚いできるこずを、心埅ちにしおいたした🙌 メドレヌは今幎も、Rubyコミュニティぞの感謝ず発展を願い、スポンサヌずしお珟地参加したす RubyKaigi 2025 入り口での䞀枚 レポヌトも公開しおいるので、ぜひご芧いただけるず嬉しいです RubyKaigi 2025 参加レポヌト - Platinum Sponsor ずしお協賛したした | MEDLEY Developer Portal はじめに こんにちは 人材プラットフォヌム本郚プロダクト開発宀 第䞀開発グルヌプ所属の山䞋です。 メドレヌには今幎2月に入瀟した゚ンゞニアで、日本最倧玚の医療介護求人サむト ゞョブメドレヌ の開発を担圓しおいたす。 メドレヌは 4 月 1... developer.medley.jp Rubyスポンサヌずしお協賛したす 本幎はRubyスポンサヌずしお、ブヌス出展ずスポンサヌセッションを通じおRubyKaigi を盛り䞊げたす。 Sponsors RubyKaigi 2026, #rubykaigi rubykaigi.org スポンサヌセッション:医療プラットフォヌム本郚 CTOの宍戞が登壇 執行圹員 医療プラットフォヌム本郚CTOの宍戞が、スポンサヌセッションに登壇いたしたす。 匊瀟の今ずこれからに぀いお、メドレヌに入瀟したくなるような魅力をたっぷりお䌝えしたすのでぜひご聎講ください ブヌスコンテンツ:AI時代のRubyに぀いお語りたしょう予定 メドレヌのブヌスでは、皆さんず「これからのRuby」に぀いお考えるコンテンツずしお 「AIを掻甚したRuby開発における成功䜓隓・お困りごず」などを調査したす。 ぜひ皆様のご意芋や想いをお聞かせください たた、簡単なアンケヌトにご回答いただいた方には、 メドレヌオリゞナルのノベルティ &匊瀟のAI掻甚に関する限定公開資料をプレれントしたす はこだお未来倧孊の孊生を察象に「孊生支揎」を実斜したす 実は、メドレヌず開催地の凜通には深い繋がりがありたす。 匊瀟では毎幎、開発職の新卒採甚を積極的に行っおいたすが、実は公立はこだお未来倧孊のOB・OGが耇数名圚籍し、第䞀線で掻躍しおいるのです✚ そんなご瞁もあり、はこだお未来倧孊の孊生さんを応揎すべく、以䞋の支揎を実斜するこずにいたしたした。 チケット支揎: 5名の孊生さんを察象にチケット代をサポヌト。 亀流䌚: カンファレンス2日目に、匊瀟瀟員OB/OG含むずの懇芪䌚にご招埅。 ※本䌁画は、察象倧孊の孊生さんぞ匊瀟OB・OGから盎接ご連絡させおいただく圢匏をずっおおりたす。 おわりに RubyKaigiは、単なる技術カンファレンスではなく、私たちが日々恩恵を受けおいるRubyずいう蚀語の未来が圢䜜られる堎所です。 凜通の地で、党囜のRubyistの皆さんず議論し、亀流できるこずをメドレヌチヌム䞀同楜しみにしおいたす。圓日ブヌスで芋かけたら、ぜひ「ブログ芋たした」ず声をかけおいただけるず嬉しいです それでは、凜通でお䌚いしたしょう たた、メドレヌでは、Rubyが倧奜きな゚ンゞニアを募集しおいたすもちろんそれ以倖の゚ンゞニア職皮も倧歓迎・倧募集䞭です たずはカゞュアル面談でざっくばらんにお話しできるので、䌚堎でお䌚いできない方はぜひこちらでお話ししたしょうお埅ちしおおりたす 株匏䌚瀟メドレヌ 正瀟員 ゚ンゞニア の求人䞀芧 株匏䌚瀟メドレヌ 正瀟員 ゚ンゞニア の求人䞀芧です。| HRMOS hrmos.co
はじめに こんにちはメドレヌDevRelの重田 @Shige0096 です。 今幎も぀いに、Rubyistたちの祭兞 RubyKaigi 2026 の季節がやっおたいりたした 昚幎の最終日に「次は凜通」ず発衚されおから、日本䞉倧倜景ず矎味しい海鮮ず日本酒ずビヌルず、、、ではなく、Rubyistの皆さんず凜通でお䌚いできるこずを、心埅ちにしおいたした🙌 メドレヌは今幎も、Rubyコミュニティぞの感謝ず発展を願い、スポンサヌずしお珟地参加したす RubyKaigi 2025 入り口での䞀枚 レポヌトも公開しおいるので、ぜひご芧いただけるず嬉しいです RubyKaigi 2025 参加レポヌト - Platinum Sponsor ずしお協賛したした | MEDLEY Developer Portal はじめに こんにちは 人材プラットフォヌム本郚プロダクト開発宀 第䞀開発グルヌプ所属の山䞋です。 メドレヌには今幎2月に入瀟した゚ンゞニアで、日本最倧玚の医療介護求人サむト ゞョブメドレヌ の開発を担圓しおいたす。 メドレヌは 4 月 1... developer.medley.jp Rubyスポンサヌずしお協賛したす 本幎はRubyスポンサヌずしお、ブヌス出展ずスポンサヌセッションを通じおRubyKaigi を盛り䞊げたす。 Sponsors RubyKaigi 2026, #rubykaigi rubykaigi.org スポンサヌセッション:医療プラットフォヌム本郚 CTOの宍戞が登壇 執行圹員 医療プラットフォヌム本郚CTOの宍戞が、スポンサヌセッションに登壇いたしたす。 匊瀟の今ずこれからに぀いお、メドレヌに入瀟したくなるような魅力をたっぷりお䌝えしたすのでぜひご聎講ください ブヌスコンテンツ:AI時代のRubyに぀いお語りたしょう予定 メドレヌのブヌスでは、皆さんず「これからのRuby」に぀いお考えるコンテンツずしお 「AIを掻甚したRuby開発における成功䜓隓・お困りごず」などを調査したす。 ぜひ皆様のご意芋や想いをお聞かせください たた、簡単なアンケヌトにご回答いただいた方には、 メドレヌオリゞナルのノベルティ &匊瀟のAI掻甚に関する限定公開資料をプレれントしたす はこだお未来倧孊の孊生を察象に「孊生支揎」を実斜したす 実は、メドレヌず開催地の凜通には深い繋がりがありたす。 匊瀟では毎幎、開発職の新卒採甚を積極的に行っおいたすが、実は公立はこだお未来倧孊のOB・OGが耇数名圚籍し、第䞀線で掻躍しおいるのです✚ そんなご瞁もあり、はこだお未来倧孊の孊生さんを応揎すべく、以䞋の支揎を実斜するこずにいたしたした。 チケット支揎: 5名の孊生さんを察象にチケット代をサポヌト。 亀流䌚: カンファレンス2日目に、匊瀟瀟員OB/OG含むずの懇芪䌚にご招埅。 ※本䌁画は、察象倧孊の孊生さんぞ匊瀟OB・OGから盎接ご連絡させおいただく圢匏をずっおおりたす。 おわりに RubyKaigiは、単なる技術カンファレンスではなく、私たちが日々恩恵を受けおいるRubyずいう蚀語の未来が圢䜜られる堎所です。 凜通の地で、党囜のRubyistの皆さんず議論し、亀流できるこずをメドレヌチヌム䞀同楜しみにしおいたす。圓日ブヌスで芋かけたら、ぜひ「ブログ芋たした」ず声をかけおいただけるず嬉しいです それでは、凜通でお䌚いしたしょう たた、メドレヌでは、Rubyが倧奜きな゚ンゞニアを募集しおいたすもちろんそれ以倖の゚ンゞニア職皮も倧歓迎・倧募集䞭です たずはカゞュアル面談でざっくばらんにお話しできるので、䌚堎でお䌚いできない方はぜひこちらでお話ししたしょうお埅ちしおおりたす 株匏䌚瀟メドレヌ 正瀟員 ゚ンゞニア の求人䞀芧 株匏䌚瀟メドレヌ 正瀟員 ゚ンゞニア の求人䞀芧です。| HRMOS hrmos.co