メドピア開発者ブログ

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

Rails

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

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

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

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

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

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

SolidQueue解体新書

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

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

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

お財布に優しいCI改善小ネタ集

こんにちは。サーバーサイドエンジニアの三村(@t_mimura)です。 主に保険薬局と患者さまを繋ぐ「かかりつけ薬局」化支援アプリ kakariのサーバーサイド開発(Ruby on Rails)を担当しています。 今回はRailsシステムのCI時間をコスト追加なしで半減した話…

Railsプロジェクトへの「頑張らない型導入」のすすめ

こんにちは。サーバーサイドエンジニアの三村(@t_mimura)です。 主に保険薬局と患者さまを繋ぐ「かかりつけ薬局」化支援アプリ kakariのサーバーサイド開発(Ruby on Rails)を担当しています。 突然ですが! この度kakariプロジェクトは「型導入」をしま…

Rails APIサーバーで Ruby 3.2 の YJIT を有効化してみた。

サーバーサイドエンジニアの内藤(@naitoh) です。 Rails で構築された小規模な APIサーバー(Rails の API モードで構築したもの)で、Ruby 3.2 の YJITを有効化する事で性能アップすることができましたので、喜びを分かち合いたく共有させて頂きます。 shopif…

Kaigi on Rails 2022 参加レポート

サーバーサイドエンジニアの千葉です。 メドピアがゴールドスポンサーで協賛している技術カンファレンス「Kaigi on Rails 2022」が10月21日と22日の2日間で開催されました。私自身も2日間通してオンライン参加してきたので、聞いたセッションの中からいくつ…

メドピアは今年もKaigi on Rails 2022 に協賛します!

三国志クイズ全国ランカーのVPoEの平川@arihh です。 2022年10月21日(金),22日(土)の2日間で、初学者から上級者まで楽しめるWeb系の技術カンファレンス「Kaigi on Rails 2022」が開催されます。 メドピアは今年、ゴールドスポンサーで協賛を行います! 今年…

Feature Toggleを用いたRailsアプリの継続的なリリースと要注意事項

開発者の皆様、実装したソースコードはこまめにリリースしていますか? 「大きい機能なので開発に時間がかかる」などの理由で、Featureブランチのままコミットが伸びに伸びたりしていませんか? 大きすぎるFeatureブランチは、本流ブランチとの挙動の乖離や…

Ruby v3.1.0のSegmentation faultに遭遇した話

Ruby v3.1.0で発生したSegmentation faultに対するbugs.ruby への報告や再現コード作成などの経緯をまとめました。

Ruby × jemallocのすすめ

Rubyアプリケーションのメモリ使用を効率化する方法として、メモリアロケーターを jemalloc に切り替える方法があります。 本記事では jemalloc を実際にプロダクション投入してみた結果とともに jemalloc について紹介したいと思います。

『medpeer.jp 開発を加速させるエンジニアリング施策』をKaigi on Rails 2021で話しました

こんにちは、DCP事業部エンジニアの榎本です。普段の業務ではMedPeer Channelの開発を担当しています。 メドピアはKaigi on Rails 2021にRubyスポンサーとして参加し、そのスポンサーLT枠にて 『medpeer.jp 開発を加速させるエンジニアリング施策』という発…

【令和最新(当時)】メドピア開発からVueの プログレッシブを俯瞰する

CTO室の小宮山です。肉体系Youtuber巡りが最近の趣味です。 2020年6月5日に開催された令和最新(当時)なこちらのイベントにて、登壇者として発表させていただきました。 techplay.jp そして発表資料は体裁を整えてこのブログにて大々的にドカンと投稿しよう…

Amazon ECSで動かすRailsアプリのDockerfileとGitHub Actionsのビルド設定

CTO室SREの@sinsokuです。 Dockerイメージのビルドを高速化するため、試行錯誤して分かった知見などをまとめて紹介します。 AWSのインフラ構成 assetsもECSから配信し、CloudFrontで /assets と /packs をキャッシュする構成になっています。 Rails on ECS …

メドピアのECSデプロイ方法の変遷

CTO室SREの侘美です。好きなLinuxディストリビューションはLinux Mintです。 メドピアでは現在多数のサービスを運用しており、そのほとんどがAmazon ECSを構成の中核として利用しています。 ECSに対してデプロイを行う方法としては、CodeDeploy、CodePipelin…

特定保健指導"フィッツプラス"事業を支えるモノリシック Rails + VIPER Swift アーキテクチャ

みなさんこんにちは。フィッツプラス開発エンジニアの福本(@terry_i_)です。 早いもので入社して半年が経ちました。普段はRailsを中心に色々と書いてます。 リモートワークが長く続いていることもあって、最近は自宅の開発環境を(過剰に)整備するのがマ…

CircleCIのYAMLを短く書けるRails Orbを作りました

11月に入社したCTO室SREの@sinsokuです。 主にやっていることはRailsアプリのレビューや開発環境の改善です。*1 社内のRailsアプリを横断して浅くレビューする(8つくらい) MedPeerの開発環境の改善 docker-compose up で30個のコンテナが起動するのを減ら…

半年間の開発環境の改善を振り返る

こんにちは、メドピアCTO室 SREの侘美(たくみ)です。 普段はRails/Vue.js/terraform/Lambdaなどを書いています。 趣味は飼い猫と遊ぶことで、生傷が絶えません。 入社してから約半年間、Railsのプロジェクトで実装をしつつ、合間に開発環境の改善をいろいろ…

滞りなくサービスをクローズするために必要なこと

メドピアエンジニアの難波です。 医師専用コミュニティサイト「MedPeer」では、今年の8月にMedPeer Journalというサービスのクローズを行いました。今回の記事ではその時に行った作業の紹介をしたいと思います。 サービスの新規開発に関する記事というものは…

最近のheadless chromeを利用したファイルダウンロードのテスト方法について

こんにちは。メドピアのRuby(Rails)化をお手伝いしている@willnetです。最近大阪Ruby会議02に妻子を連れて参加したのですが、が行き帰りの新幹線に合わせて寝てくれたおかげで大変スムーズに移動できました。 さて、以前poltergeistからheadless chromeへ移…

Rails × ECS 運用してみたわかった起動タイプ EC2, Fargate の使い所

メドピアマッスル部上腕二頭筋担当、CTO室 kenzo0107 です。 今回はメドピアの直近のプロジェクトで採用している Rails × ECS Fargate についてです。 直近プロジェクト 直近プロジェクトでは AWS ECS を採用しています。 2018年10月にリリースした スギサポ…

Railsで処理を別クラスに切り出す方法について

こんにちは。メドピアのRuby(Rails)化をお手伝いしている@willnetです。最近はエンジニアが増えた影響か、Railsの質問に答えていることが多いです。 以前、Railsの太ったモデルをダイエットさせる方法についてというタイトルでPOROを使っていこうという話を…

Rails初学者からみたRailsdm2019の景色

こんにちは、メドピアフットサル部の櫻井です。 Rails歴3ヶ月の自分が贅沢にも「Rails Developers Meetup 2019」に参加してきましたので、そのレポートをお届けしたいと思います。 ちなみに、メドピアでは今回のようなスポンサードイベントへの参加費は会社…

メドピア に整地部ができたってよ!

はじめに こんにちは、メドピアの駆け出しエンジニアの川﨑です。 最近我が広島カープが日本シリーズ進出を決めて機嫌が良いのでブログ書きたいと思います。 今回僕がお届けするのは、先月の9月14日 「Rails開発での技術的負債との付き合い方」 をテーマに開…

「MedBeer -Rails開発での技術的負債との付き合い方-」を開催しました!

身長体重が変わっていないにも関わらず、5年前より体脂肪率が4.5%増加したエンジニアの村上(@pipopotamasu)です。 本日は9/12(水)に開催したMedBeerというイベントを報告したいと思います。 medpeer.connpass.com @GINZA SIX 12F 株式会社リンクアンドモチベ…

開発環境のレンダリング完了時間を1/10にした話(Rails)

ビール大好きですが、3回に1回は年齢確認をされる26歳エンジニアの村上(pipopotamasu (pipopotamasu) · GitHub)です。 今回はリクエストからレンダリング完了までの時間を減らした取り組みについて書こうと思います。 きっかけ メドピアではメインプロダクト…

Rails × ECS でオートスケーリング&検証環境の自動構築

マリオカートでカーブを曲がるときに体を傾斜させてしまうCTO室 kenzo0107 です。 今回は 2018/04/02 にリニューアルしたイシコメの Rails × ECS についてです。 イシコメとは? 「イシコメ」は、医師10万人の声でつくるヘルスケアメディアです。 医師と一般…

ActiveModelSerializersを使った所感

こんにちは。メドピアエンジニアの保立です。 メドピアでは、ドクター向けに運営している「MedPeer」のiOSアプリを3月15日にリリース致しました!!! 今回は、iOSアプリ開発の過程で、APIの実装にActiveModelSerializersを使ったので、そこで得た知見を書きま…