メドピア開発者ブログ

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

数億データを処理する仕組みを提供する gem 『MedPipe』 を OSS として公開しました

こんにちは。サーバーエンジニアの佐藤太一(@teach_kaiju)です。 本記事では社内で開発した、数億のデータを処理する仕組みを提供する gem MedPipe を紹介します。 MedPipe とは 「Log のデータを全て取得し、フォーマットして tsv として S3 にアップロード…

ActiveRecord クエリキャッシュのメモリ使用量と無効化

こんにちは。サーバーエンジニアの佐藤太一(@teach_kaiju)です。 本記事では、クエリキャッシュのメモリ使用量と有効/無効の切り替え方法について紹介します。 クエリキャッシュとは クエリキャッシュのメモリ消費量 計測用コード 結果 考察 find_each 等で…

Vue Fes Japan 2024 After Meetupを開催しました!

こんにちは!メドピアの福田(@Yusa136)です。 2024年11月01日(金)に弊社オフィスにて、MNTSQ株式会社、STORES株式会社と3社でVue Fes Japan 2024 After Meetupを合同開催しました! Vue Fes Japan 2024 の感想や思い出を語り合いました。この記事では当…

Vue Fes Japan 2024に参加しました!#vuefes

こんにちは。 メドピアの伏見 ( @fussy113 ) です。 2024年10月19日に大手町プレイス ホール&カンファレンスで開催された Vue Fes Japan 2024 に参加してきました! この記事では当日の様子やセッションの内容などをお届けします。 スポンサーとしての取り…

監査ログの保管先をRDBからS3に移行する

こんにちは。サーバーサイドエンジニアの @atolix_です。 今回はメドピアで運用しているアプリケーションのkakariの監査ログをDB管理からS3管理に移行したので、その方法と手順について紹介したいと思います。 kakari.medpeer.jp 背景 従来kakariではAudited…

メドピアはVue Fes Japan 2024にゴールドスポンサーとして協賛します!

こんにちは。 10月からメドピアのVPoEになりました保立 ( @purunkaoru ) です。 メドピアは2024年10月19日に大手町プレイス ホール&カンファレンスで開催される Vue Fes Japan 2024 にゴールドスポンサー、セッションルームネーミングライツスポンサーとし…

小さくはじめる OKR

OKR

集合知プラットフォーム事業部・開発部の榎本です。 前回の記事はフロントエンドエンジニアの小林さんによる『小さくはじめる Vue の Composable』でした。 今回は小さくはじめるシリーズ第二弾ということで、今期開発部でOKRを導入してみて、それがいい感じ…

小さくはじめる Vue の Composable

こんにちは。フロントエンドエンジニアの小林和弘 @kzhrk0430 です。 今日は、Vue の機能のひとつである Composable を導入してみた体験談をシェアしようと思います。Vue を使っている方にはおなじみの機能かもしれませんが、僕が所属するチームでは Composa…

Amazon CloudFront環境におけるクライアントIPアドレスについて 〜CloudFront-Viewer-Addressの紹介〜

こんにちは。サーバーサイドエンジニアの三村(@t_mimura39)です。 本日はRuby・Railsの話に限定せず、Amazon CloudFront を利用している方に役立つ情報をご提供します。 目次 はじめに 「X-Forwarded-For」を活用する方法 「CloudFront-Viewer-Address」を…

EM目線で見たiOSDC/DroidKaigi

モバイル開発グループのリーダーを務める小林(@imk2o)です。 今年もiOSDCとDroidKaigiに参加してきました! 例年と異なり、今年はモバイル開発グループのマネジメントを行う立場で参加したこともあり、いつもとは異なる目線でカンファレンス参加への意義や、…

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

はじめに こんにちは!メドピアにてモバイルアプリエンジニアをしている佐藤です。 今年のDroidKaigiに、弊社はサポーターとして協賛し、総勢3名のモバイルアプリエンジニアがオフラインにて参加しました。 実際に足を運んだセッションを中心に、DroidKaigi …

YJIT有効化後にUnicornワーカーを増やした場合の各メトリクスの推移について

はじめに こんにちは。サーバーサイドエンジニアの冨家(@asahi05020934)です。現在は、全国の医師が経験やナレッジを 「集合知」として共有し合う医師専用コミュニティサイト「MedPeer」の開発を行っています。 Ruby 3.2からYJITが実用段階になりました。「M…

iOSDC Japan 2024に参加しました

みなさん、こんにちは!アプリエンジニアのオウです。 先日、iOSDC Japan 2024に参加してきました!今年、メドピアはシルバースポンサーとしてiOSDC Japanをサポートいたしました。会場はたくさんの参加者で賑わい、とても充実した時間を過ごすことができま…

RailsアプリケーションにThrusterを導入する

こんにちは。サーバーサイドエンジニアの @atolix_です。 今回は37signalsが公開しているThrusterを、メドピアで本番運用をしているアプリケーションのkakariに導入してみました。 kakari.medpeer.jp Thrusterとは Thrusterはアセット配信やX-Sendfileのサポ…

SolidQueue解体新書

こんにちは。サーバーサイドエンジニアの三村(@t_mimura39)です。 さて、Railsエンジニアの皆さんは非同期処理にどのようなライブラリを利用していますか? ちなみに弊社では Sidekiq を利用するプロジェクトが多いです。 tech.medpeer.co.jp 今回はRails…

成功循環モデルから学ぶ、チーム力を向上させた取り組み

こんにちは。エンジニアの保立(@purunkaoru) です。 先日、弊社のMVPに、開発チームのリーダーをしている四方さん(@shikatadesu)が選ばれました。 style.medpeer.co.jp 近くで見て、僕が勉強になった点を「成功循環モデル」をもとに紹介いたします。 チーム…

HTTP API Clientライブラリの自作を手助けするGemを公開しました

こんにちは。サーバーサイドエンジニアの三村(@t_mimura39)です。 育休明け早々猛暑の熱気にやられ部屋に閉じこもっています。 今回はとあるGemを作成したので、そちらの紹介をさせていただきます。 目次 前フリ Gemの概要 カスタマイズ性について まとめ …

Capybaraとreg-cliを使ってお手軽にビジュアルリグレッションテストを行える環境を整備しました📸

こんにちは、MedPeerの開発を担当している森田です。 今回は私が開発に参画しているMedPeerに元々E2Eテストで利用していたCapybaraと、reg-cliを利用してビジュアルリグレッションテスト(以下VRT)を行える環境を整備したので、それについてご紹介させていた…

Ruby 3.3(+YJIT)へのアップデートによるパフォーマンス変化の計測

こんにちは。サーバーサイドエンジニアの @atolix_です。 今回はメドピアで本番運用をしているアプリケーションの1つであるやくばと for Clinicにて、Ruby 3.2からRuby 3.3にアップデートを行った際のパフォーマンスの変化を計測しました。 Ruby 3.3ではYJIT…

Matzさんを交えて、RubyKaigi 2024の社内共有会を実施しました!

こんにちは!メドピアの伏見(@fussy113)です! メドピアでは、Rubyの父でありメドピアの技術アドバイザリーを務めていただいているMatzさん(@yukihiro_matz)をお招きして、オンライン会議を開催しています。 そのオンライン会議にて、5月に開催されたRubyKai…

Nuxt 3 への移行に Nuxt Bridge を使うのはいかが?

こんにちは!フロントエンドエンジニアの土屋 (@tutti2612) です。 いよいよ Nuxt 2 の EOL が迫ってきましたね。 nuxt.com 先日、弊社でもとあるプロダクトの Nuxt 3 への移行を完了させました。 メドピアでは既に複数のプロダクトで Nuxt 3 への移行を行っ…

開発生産性の改善から1年経過したチームで考えていること

こんにちは。エンジニアの保立(@purunkaoru) です。 僕のチームでは、開発生産性の改善に取り組んでから1年経過しました。 開発生産性の改善系の記事やノウハウは世間によく出ていますが、1年経過した今、開発生産性に対してEMの立場で何を考えているかを言…

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

サーバーサイドエンジニアの内藤(@naitoh) です。 RubyKaigi 2024に参加されていた皆さん、お疲れ様でした。 RubyKaigi のセッションの中で印象に残った発表をご紹介します。 RubyKaigi 2024 セッションレポート タイムテーブル タイムテーブルは以下から確…

メドピアはRubyKaigi 2024にPlatinumスポンサーとして協賛します!

メドピアは2024年5月15日〜17日に沖縄・那覇文化芸術劇場なはーとで開催される RubyKaigi 2024 にPlatinumスポンサーとして協賛します!今年もメドピアは会場でブースを出展します!

監視にかかるコストを見直し半額にした話

SRE

SRE の田中 @kenzo0107 です。 メドピアグループでは主に AWS をプラットフォームとし、監視は Datadog で実施しています。 監視対象や課金対象のサービスの増加で徐々にコストが増加していたので、 利用状況を分析し、削減できる項目を調査しまとめました。…

初めてのMariaDBバージョンアップのメンテナンスで大変だったこと、工夫したこと

はじめに 2023年4月に新卒で入社したバックエンドエンジニアの冨家です。現在は、全国の医師が経験やナレッジを 「集合知」として共有し合う医師専用コミュニティサイト「MedPeer」の開発を行っています。 「MedPeer」ではAmazon RDSのMariaDBを一部使用して…

社内版 ChatGPT を構築し、社内の ChatGPT 利用を促進した話

SRE

SRE の田中 @kenzo0107 です。 社内版 ChatGPT を構築し、社内の ChatGPT 利用を促進した話です。 社内版 ChatGPT が必要だった理由 以下要望を実現する為です。 秘匿情報をクローズドな環境で OpenAI にポストしたい 社員誰もが最新のモデルやバージョンで…

Terraform コードリーディング会を開催し、エンジニア組織全体でインフラの知識の底上げができた話

SRE

SRE の田中 @kenzo0107 です。 Terraform コードリーディング会を実施した結果、 エンジニア組織全体でインフラの知識の底上げができた話です。 何故やることになったか? 弊社では以下のような背景がありました。 SRE チームが基本インフラ管理 会社の成長…

MedPeerをVue 3にアップデートしました🥳

こんにちは、MedPeerのフロントエンド開発を主に担当している森田です。 MedPeer( https://medpeer.jp )ではVue 2 系を長らく利用してきましたが、公式からの発表の通り 2023年12月31日 でEOLとなっております。 With 2024 almost upon us, we would like to…

After Kaigi on Rails LT Night 参加レポート

こんにちは、サーバーサイドエンジニアの古川(@frkawa_)です。 10/27(金), 28(土)の2日間にかけて行われたKaigi on Rails 2023、お疲れ様でした。 私も現地で参加しましたが、多くの刺激を受けることができてとても有意義な2日間となりました。普段関わる…