メドピア開発者ブログ

集合知により医療を再発明しようと邁進しているヘルステックカンパニーのエンジニアブログです。読者に有用な情報発信ができるよう心がけたいので応援のほどよろしくお願いします。

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

Rails8.0にアップグレードしたらinsert_allの振る舞いが変わった

こんにちは。メドピアのお手伝いをしている@willnetです。最近寒くなってきましたね。毎年この時期に風邪をひくので最近は手洗いうがいを怠らないようにしています。このたび久しぶりにテックブログに寄稿します。 insert_allの仕様変更に関するPR メドピア…

Vue Fes Japan 2025 に参加してきました!

こんにちは、エンジニアの野里です。 今回は 2025年10月25日に開催された Vue Fes Japan 2025 に参加してきたレポートになります。 会場の雰囲気 私が参加してきたイベントの中では参加者が一番多く、「盛り上がってるなー」と感じました! あと小物なんかが…

GitHub ActionsでTerraformを実行する

こんにちは、SREの侘美です。 今回はGitHub Actions上でTerraformを実行する環境を構築したので紹介させていただきます。 もともと利用していた Terraform Cloud から使い勝手や機能を悪化させることなく移行を目指し、様々な工夫を行ったのでそれらも合わせ…

Kaigi on Rails 2025に参加してきました! #kaigionrails

はじめに こんにちは。エンジニアの福田です。Kaigi on Railsお疲れ様でした! 今回はスポンサーとしてブースに立ちながら、参加者として複数のセッションを聴講しました。 この記事では、ブースでの交流から見えた肌感と、セッションで得た学びを、明日から…

MedPeer で負荷試験基盤を構築しました - 定量的な計測のための精度の担保と自動化のコツ

はじめに こんにちは。サーバーサイドエンジニアの近藤です。 先日、私が担当している MedPeer (医師・医学生向け医療情報サイト) にて負荷試験環境を構築しました。 本記事ではその取り組みについてご紹介します。 はじめに 背景 開発の指針 システムの概要…

OpenID Connect Authorization Server を Golang 実装から Rails 実装にリプレイスした話

皆様こんにちは、メドピアのサーバーサイドエンジニアの内藤(@naitoh)です。 社内の OpenID Connect Authorization Server を Golang 実装から Rails 実装にリプレイスしたので、技術ブログで紹介させていただきます。 前提 OpenID Connect は OAuth 2.0 …

iOSDC Japan 2025に参加してきました!

こんにちは。メドピアでモバイルアプリエンジニアをしている王です。 先日「iOSDC Japan 2025」に参加してきました。参加は今年で4回目。毎回、新しい学びと人との出会いにワクワクします。 9/19には DroidKaigiに参加したレポートも投稿しましたが、今回はi…

iOS開発者が見たDroidKaigi 2025——AIが当たり前になった日

こんにちは。メドピアでモバイルアプリエンジニアをしている王です。 今年は同僚2人と一緒に「DroidKaigi 2025」に参加してきました。会場では、AIの存在感が一段と増し、開発の進め方やスマホの中で動く賢い仕組み(オンデバイスAI)、複数OSでのアプリ開発…

DroidKaigi 2025に参加してきました!

はじめに こんにちは!メドピアにてモバイルアプリエンジニアをしている佐藤です。 今年のDroidKaigiには総勢3名のモバイルアプリエンジニアがオフラインにて参加しました。 実際に足を運んだセッションの中でも特に印象に残ったセッションをご紹介します。 …

SREチームで「AIエージェント縛り」をやってみた

はじめに こんにちは。SREチームの侘美です。 弊社ではLLM(大規模言語モデル)を活用したコーディング、特にDevinやClaude Codeのようなエージェント型ツールを積極活用する方針を打ち立て、各種ツールを利用できる環境を整備しています。 また、習熟やノウ…

YAML + Rakeタスクで実現する「権限漏れゼロ」なBI運用

こんにちは、サーバーサイドエンジニアの長谷川(@hasehiro25)です。 今回の『ClinPeerアプリ開発の裏側』連載では、BIツール運用の実践的なTipsをご紹介します。 tech.medpeer.co.jp BIツールの運用における課題として、「テーブルやカラムが追加された際の…

Notion のタスクのメモはどこに書く?コメント機能よりも「ページ下部」がオススメな理由と実践方法

こんにちは。メドピア内 Slack チャンネル 「#club_notion」 部長の佐藤太一(@teach_kaiju)です。 今回の「ClinPeerアプリ開発の裏側連載記事」では Notion を用いたタスク管理におけるメモの取り方を紹介します。 tech.medpeer.co.jp 目次 はじめに コメン…

SwiftUIにおけるEnvironmentの活用法

こんにちは!メドピアにてモバイルアプリエンジニアをしている王です。 今回の「ClinPeerアプリ開発の裏側連載記事」では、SwiftUIのEnvironmentについてお話しできればと思います。 tech.medpeer.co.jp SwiftUIのEnvironmentは、ビュー間でデータを共有する…

環境ごとの設定管理が可能な ClinPeer のフィーチャーフラグの紹介

こんにちは。サーバーサイドエンジニアの佐藤太一(@teach_kaiju)です。 今回の「ClinPeerアプリ開発の裏側連載記事」ではサーバーサイドにおける、フィーチャーフラグの実装方法を紹介します。 tech.medpeer.co.jp 目次 フィーチャーフラグとは 機能の有効化…

GitHub Copilot を味方につける:AI に渡すコンテキスト整備の工夫

こんにちは。事業本部開発部 MISP グループのフロントエンドエンジニアの小林和弘(@kzhrk0430)です。 メドピアでは「AI ファーストカンパニー」を目指すことを全社で掲げています。実際に社内では、AI ツールを活用して業務を効率化する動きが活発に行われ…

#RubyKaigi 2025 セッションレポート

皆様こんにちは、メドピアのサーバーサイドエンジニアの内藤(@naitoh)です。 RubyKaigi 2025に参加されていた皆さん、お疲れ様でした。 今回、内藤がRubyKaigi 本編に登壇しました。 発表内容の詳細は以下の記事にまとめておりますのでよろしければご覧く…

ScrollableTabRowでスクロール状態を監視する

はじめに こんにちは!メドピアにてモバイルアプリエンジニアをしている佐藤です。 今回の「ClinPeerアプリ開発の裏側連載記事」では、ScrollableTabRowでのスクロール状態の監視方法について解説していきたいと思います。 tech.medpeer.co.jp 背景 ClinPeer…

RubyKaigi 2025 に@naitoh が登壇します #rubykaigi

皆様こんにちは、メドピアのサーバーサイドエンジニアの内藤(@naitoh)です。 この度、2025/04/16(水)-18(金)の3日間で開催される「RubyKaigi 2025」に登壇させていただくこととなりました! タイトルは「Improvement of REXML and speed up using StringSc…

Railsの「ActiveSupport::ErrorReporter」って知ってる?

こんにちは。サーバーサイドエンジニアの三村(@t_mimura39)です。 またまた「ClinPeerアプリ開発の裏側連載記事」です。 tech.medpeer.co.jp 今回はClinPeerで活用しているRailsの ActiveSupport::ErrorReporter についてご紹介します。 目次 ActiveSuppor…

技術顧問Matzとは、どんな話をしているの?

こんにちは、組織開発グループの榎本です。 弊社の技術顧問にはまつもとゆきひろ(通称・Matz)さんがおり、Matzさん(以下、親しみも込めてMatzと表記します)とは定期的に「Matz会」と称して、Google Meetを繋いでリモートミーティングを開催しています。 …

Devin AIは技術的負債解消の救世主となるか?

Answer: 救世主まではいかないが、間違いなく助けになる。 組織開発グループの榎本です。世は大AIコード生成時代、皆さんバイブコーディングしていますか? 弊社においてもDevin、Clineを試験的に導入して活用し始めていますが、本記事では「Devin AIが技術…

ClinPeer Railsプロジェクトのオブザーバビリティ強化施策

こんにちは。サーバーサイドエンジニアの三村(@t_mimura39)です。 N番目の「ClinPeerアプリ開発の裏側連載記事」でございます(連載記事を同時執筆しているため本記事が何番目になるのかもはや不明)。 tech.medpeer.co.jp 今回はClinPeerで実践した「Rail…

ClinPeer Maintenance Tasks Gemの活用事例

こんにちは! サーバーサイドエンジニアの伏見です。 弊社で新しくリリースした「ClinPeer」の裏側連載。 tech.medpeer.co.jp この記事では、サーバーサイドで導入したGem Maintenance Tasks について書いていきます。 導入のモチベーション 開発初期や今後…

ClinPeer Railsプロジェクトの設定値管理(2025年版)

こんにちは。サーバーサイドエンジニアの三村(@t_mimura39)です。 こちらでご案内した通り、弊社で新しくリリースした「ClinPeer」の裏側をご紹介します。 tech.medpeer.co.jp 今回は小ネタとして「Railsプロジェクトの設定値管理」についてご紹介します。…

ClinPeer Railsプロジェクトの技術選定(2025年版)

こんにちは。サーバーサイドエンジニアの三村(@t_mimura39)です。 こちらでご案内した通り、弊社で新しくリリースした「ClinPeer」の裏側をご紹介します。 tech.medpeer.co.jp 今回はClinPeerのバックエンドについての簡単なシステム概要と選定技術の紹介…

ClinPeer Androidアプリ開発の裏側とFirebase Dynamic Links(FDL)の代替について

はじめに こんにちは!メドピアにてモバイルアプリエンジニアをしている佐藤です。 1月27日、 がん専門医のための論文キュレーションアプリ 「 ClinPeer 」 を正式にリリースしました。私はAndroidアプリエンジニアとして要件定義から参画しました。 clinpee…

Android/iOS向けアプリ「ClinPeer」をリリースしました! -ClinPeerアプリ開発の裏側連載開始のお知らせ-

こんにちは!メドピアにてモバイルアプリエンジニアをしている佐藤です。 弊社ではこの度Android/iOS向けにがん専門医の為の論文キュレーションアプリ「ClinPeer」をリリースしました! clinpeer.medpeer.jp そこで今回、ClinPeerアプリ開発の裏側について、…