並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 95件

新着順 人気順

メドピアの検索結果1 - 40 件 / 95件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

メドピアに関するエントリは95件あります。 開発railsruby などが関連タグです。 人気エントリには 『入門 GitHub Actions - メドピア開発者ブログ』などがあります。
  • 入門 GitHub Actions - メドピア開発者ブログ

    CTO室SREの @sinsoku です。 社内のGitHub ActionsのYAMLが複雑になってきたので、私が参考にしてる情報や注意点、イディオムなどをまとめておきます。 頻繁に参照するページ 新しい機能の説明が日本語ページに反映されていないため、基本的に英語ページを読むことを推奨。 ワークフロー構文 YAMLの基本構文の確認 コンテキストおよび式の構文 github オブジェクトの情報、関数の確認 ワークフローをトリガーするイベント 各イベントの GITHUB_SHA と GITHUB_REF が記載されている About GitHub-hosted runners インストールされているSoftwareのバージョンなどが記載されている GitHub REST API APIを使うときに参照する よく使うaction actions/checkout イベントによってはデフォルトブ

      入門 GitHub Actions - メドピア開発者ブログ
    • 社内版 ChatGPT を構築し、社内の ChatGPT 利用を促進した話 - メドピア開発者ブログ

      SRE の田中 @kenzo0107 です。 社内版 ChatGPT を構築し、社内の ChatGPT 利用を促進した話です。 社内版 ChatGPT が必要だった理由 以下要望を実現する為です。 秘匿情報をクローズドな環境で OpenAI にポストしたい 社員誰もが最新のモデルやバージョンで高精度、且つ、パフォーマンスの高い ChatGPT を利用したい 構成 - Web 版 社内 ChatGPT Web サービスは AWS に配置 ALB を会社毎に分けて Google 認証する *1 ECS から Azure API Management 経由で Azure OpenAI Service に問い合わせ API Management は Azure OpenAI Service の監査ログを取得する為に配置している *2 Azure 側ではネットワークセキュリティグループで AWS N

        社内版 ChatGPT を構築し、社内の ChatGPT 利用を促進した話 - メドピア開発者ブログ
      • メドピア AWS勉強会 ECS編 / MedPeer AWS Seminar ECS

        メドピア社内で定期的に開催しているAWSに関する勉強会を開催しています。本資料はそのうちのECSに関する回のものです。

          メドピア AWS勉強会 ECS編 / MedPeer AWS Seminar ECS
        • Amazon ECSで動かすRailsアプリのDockerfileとGitHub Actionsのビルド設定 - メドピア開発者ブログ

          CTO室SREの@sinsokuです。 Dockerイメージのビルドを高速化するため、試行錯誤して分かった知見などをまとめて紹介します。 AWSのインフラ構成 assetsもECSから配信し、CloudFrontで /assets と /packs をキャッシュする構成になっています。 Rails on ECS デプロイ時にassetsが404になる問題 以前の記事に詳細が書かれているため、ここでは問題の紹介だけしておきます。 Rails等のassetsファイルをハッシュ付きで生成し配信するWebアプリケーションの場合、ローリングアップデートを行うと、アップデート時に404エラーが確立で発生してしまいます。 引用: メドピアのECSデプロイ方法の変遷 Dockerfile 実際のDockerfileには業務上のコード、歴史的な残骸などが含まれていたので、綺麗なDockerfileを用意しま

            Amazon ECSで動かすRailsアプリのDockerfileとGitHub Actionsのビルド設定 - メドピア開発者ブログ
          • 大規模サービスのデータベースエンジンを MySQLからAurora MySQLへの移行 〜リードレプリカ, DNSを利用した最小ダウンタイム移行方法〜 - メドピア開発者ブログ

            バックエンドエンジニアの徳富(@yannKazu1)です。先日、メドピアのメインサービスであるmedpeer.jpで使われているデータベースエンジンを、MySQLからAurora MySQLへと移行しました。今回はその移行のプロセスについて詳しくお話しします。 移行したデータベースの簡単なインフラ構成 移行方針 今回移行するデータベースは複数のアプリケーションから参照されており、ダウンタイムによるユーザー影響が大きいため、移行方針の検討の段階で重視したのは、ダウンタイムの最小化でした。これを達成するために、DNSのCNAMEレコードと、Auroraのリードレプリカを活用し、移行させることにしました。 DNSのCNAMEレコードの使用 データベースエンドポイントをアプリケーションに直接記述する代わりに、DNSのCNAMEレコードを利用して間接的に参照するようにしました。これにより、データベー

              大規模サービスのデータベースエンジンを MySQLからAurora MySQLへの移行 〜リードレプリカ, DNSを利用した最小ダウンタイム移行方法〜 - メドピア開発者ブログ
            • メドピアのECSデプロイ方法の変遷 - メドピア開発者ブログ

              CTO室SREの侘美です。好きなLinuxディストリビューションはLinux Mintです。 メドピアでは現在多数のサービスを運用しており、そのほとんどがAmazon ECSを構成の中核として利用しています。 ECSに対してデプロイを行う方法としては、CodeDeploy、CodePipeline、Copilot(ecs-cli)等があり、CloudFormationやTerraform等のIaCツールで何をどこまで管理するかも合わせて検討する必要があります。 どの方法にもメリット・デメリットがあり、Twitterや技術ブログを観測している範囲ではデファクトスタンダードと呼べる方法は未だに無いように思われます。 メドピアで最初にECSを利用し始めたのは2018年ころであり、これまで試行錯誤しながらECSのデプロイ方法とタスク定義の管理方法を模索してきました。 今回はメドピア社内で試してきた

                メドピアのECSデプロイ方法の変遷 - メドピア開発者ブログ
              • Railsプロジェクトへの「頑張らない型導入」のすすめ - メドピア開発者ブログ

                こんにちは。サーバーサイドエンジニアの三村(@t_mimura)です。 主に保険薬局と患者さまを繋ぐ「かかりつけ薬局」化支援アプリ kakariのサーバーサイド開発(Ruby on Rails)を担当しています。 突然ですが! この度kakariプロジェクトは「型導入」をしました! kakariのRailsリポジトリに型導入PRがマージされた様子 皆さんのプロジェクトは「型導入」していますか? 「型導入」しているRailsプロジェクトはまだ少ないのではないでしょうか なぜ型導入しないのか 型を導入すると何かしらが便利になることは分かっているのに何故やらないのでしょうか(煽り気味) 「型の恩恵」と「型を自分たちで書くコスト」の2点を比較していませんか? RubyKaigi 2023開催前の私がまさしくそう考えていました。 本当にその2点を比較するべきなのかをここで再考してみましょう。 「型導

                  Railsプロジェクトへの「頑張らない型導入」のすすめ - メドピア開発者ブログ
                • 処方せんの自動印刷アプリを Electron でつくった話 - メドピア開発者ブログ

                  フロントエンドエンジニアの小林和弘です。 kakari という薬局向けに提供しているサービスで Electron を使って Windows アプリケーションを作成したので、そのことについてお話しようかと思います。 事の発端 これまで、「kakari」では、患者さまから薬局へ処方せんが送信されたときに薬剤師さまが処方せんの受信に気づけるように FAX で処方せんを送信していました。 しかし、FAX 送信に利用していた Twilio Programmable Fax サービスが 2021 年 12 月 17 日をもってサービス終了になってしまいました。 このサービス終了に対応すべく、薬局向けに処方せんが送信されたらプリンターで処方せん印刷ができる Windows アプリケーションを Electron で作成することになりました。 そもそもElectronとは HTML, CSS, JS のフロ

                    処方せんの自動印刷アプリを Electron でつくった話 - メドピア開発者ブログ
                  • Ruby × jemallocのすすめ - メドピア開発者ブログ

                    集合知プラットフォーム事業部・エンジニアの榎本です。コロナ禍の運動不足を解消すべく筋肉体操で筋トレを続けてますが、上腕三頭筋がいい感じに成長しており継続の大切さを身に沁みて実感しております。 目次 TL;DR(三行要約) Rubyアプリケーションのメモリ肥大化問題 jemalloc を使ってみる jemalloc とは? jemalloc で改善するのか? jemalloc の設定方法 jemalloc をプロダクション導入してみた結果 まとめ おまけ:jemalloc についてMatzに聞いてみた TL;DR(三行要約) jemalloc でRubyアプリのメモリ効率改善 jemalloc でRubyアプリのパフォーマンス改善 jemalloc の導入も簡単 Rubyアプリケーションのメモリ肥大化問題 Ruby on RailsなどのRubyアプリケーションを運用する上で、メモリ使用量の

                      Ruby × jemallocのすすめ - メドピア開発者ブログ
                    • フロントエンドのコードを書いている時に考えていること - まず状態から始めよ編 - メドピア開発者ブログ

                      椅子に甘えないと心に決めて最近はスタンディングメインで仕事してます小宮山です。 実は私はペアプロ・モブプロ好き人間です。なぜ好きかというと、単にワイワイコードを書けるというのもありますが、何よりもそのときに考えていることをリアルタイムに共有できるからです。 メドピアのCTO室フロントエンドグループ(最近正式にグループ化されました)は、CTO室という何やら凄そうな名前の部署に所属している通り、メドピア社内のフロントエンド開発を幅広く支援するという役割を持っています。その一環としてペアプロ歓迎ムードを漂わせているわけです。 そして先日久しぶりにペアプロに誘われたのでほいほい承って参戦してみて、やはりペアプロという場はいいなと感じてこんな記事を書いています。 で、何をテーマにするかというとタイトルの通りです。おそらく近頃のフロントエンド開発に慣れた方なら特に意識しなくともそういう考えをしているの

                        フロントエンドのコードを書いている時に考えていること - まず状態から始めよ編 - メドピア開発者ブログ
                      • Private GitHub Pagesで社内ドキュメントを公開しよう! - メドピア開発者ブログ

                        集合知プラットフォーム事業部の榎本です。筋トレのお供のプロテインが切れそうなので、次に購入するプロテインのメーカーとフレーバーに悩んでます。 GitHub Pages でアクセス制限 今まで GitHub Pages というと静的サイトをインターネットへ全世界公開するしかできなかったのですが、2021年に Private GitHub Pages の機能がリリースされ、限定されたユーザーのみに制限してページを公開することが可能になりました。 GitHub Pages を使って社内のドキュメントやナレッジを特定のユーザーだけに公開したり、企業内だけで共有したりすることができます。…(中略)… 今回の変更で、PrivateとInternalリポジトリでは、Private Pagesを使うことで、そのリポジトリを見れる人だけがそこから生成されるPagesのサイトを見られるという設定を行えるように

                          Private GitHub Pagesで社内ドキュメントを公開しよう! - メドピア開発者ブログ
                        • Devin AIは技術的負債解消の救世主となるか? - メドピア開発者ブログ

                          Answer: 救世主まではいかないが、間違いなく助けになる。 組織開発グループの榎本です。世は大AIコード生成時代、皆さんバイブコーディングしていますか? 弊社においてもDevin、Clineを試験的に導入して活用し始めていますが、本記事では「Devin AIが技術的負債の解消に役立った話」を紹介したいと思います。 Devin AIとは 技術的負債の現状 2023年時点のAI活用 2025年、Devinの活用 活用ユースケース うまくいかなかった指示の例 複雑なタスク依頼は工夫が必要 良かった点 どれくらい成果上がった? 課題 (おまけ)ACU消費量の目安 まとめ Devin AIとは Devin AI(以下、Devinと表記)については既に各所で話題なので詳しい説明は省きますが、一言でいうと開発を手伝ってくれるAIエージェントです。イメージとしては、開発チームに新たに入ってくるジュニア

                            Devin AIは技術的負債解消の救世主となるか? - メドピア開発者ブログ
                          • 上位組織のデプロイ頻度は1週間に約30回 1日1デプロイだったメドピアが挑んだ頻度改善の取り組み

                            多数のヘルステックサービスを企画・開発しているメドピアが、リモートワーク継続中でも事業成長を加速させたプロダクト開発の事例や技術的な知見を紹介する「事業成長を加速させたエンジニアリングのウラ側」。ここで「Deploy Rails apps in 2021」テーマに正徳氏が登壇。まずは過去のレポートをもとにした目指すべきデプロイの頻度と、デプロイ改善のために取り組んだことについて紹介します。 自己紹介 正徳巧氏(以下、正徳):「Deploy Rails apps in 2021」というタイトルで発表します。ちょっと私も緊張しているので、ビールを飲みながら発表させてください。 自己紹介です。正徳と言います。会社に入社して1年半ぐらいで、CTO室のSREという部署に所属しています。SNSなどは@shinsokuというハンドルネームで活動しています。よろしくお願いします。 SREでなにをやっている

                              上位組織のデプロイ頻度は1週間に約30回 1日1デプロイだったメドピアが挑んだ頻度改善の取り組み
                            • AWS Config + Athena + QuickSightによる複数AWSアカウント横断でのセキュリティ状態の可視化 - メドピア開発者ブログ

                              CTO室SREの侘美です。最近は社内のセキュリティ対策関連を生業にしております。 今回は最近進めていた社内のAWSアカウントのセキュリティ可視化がある程度形になったので記事にしたいと思います。 課題:多数のAWSアカウントのセキュリティをチェックしたい サイバー攻撃が増加している昨今、AWSなどのPaaS環境においても構築時にセキュリティの観点で注意すべき点がいくつもあります。 例えば、不必要なサーバー/ポートがインターネットに公開されていないか、アカウントにMFAが設定されているか、等々実施しておきたいセキュリティ対策は多岐にわたります。 弊社では、AWSを用いてインフラを構築する際にセキュリティ上守るべきルール集を、インフラセキュリティポリシーというドキュメントを定義しています。 しかし、あくまでドキュメントベースなので、実際にこのドキュメントに書かれたルールに準拠した構成になっている

                                AWS Config + Athena + QuickSightによる複数AWSアカウント横断でのセキュリティ状態の可視化 - メドピア開発者ブログ
                              • ECS を利用した検証環境の自動構築 ~運用3年を経て得た知見~ - メドピア開発者ブログ

                                CTO 室 SRE kenzo0107 です。 以前執筆した ECS を利用した検証環境の自動構築について、運用開始から3年の時を経ました。 実運用とその上で頂いた要望を取り入れ変化してきましたので、その経緯を綴ります。 tech.medpeer.co.jp 本稿、議論を重ね改善を進めて頂いたチームメンバーの知見を集めた元気玉ブログとなっております。 前提 社内では、以下の様に呼び分けしています。 本番相当の検証環境を STG 環境 本記事で説明する自動構築される仕組みを持つ環境を QA 環境*1 検証環境の自動構築の目的 開発した機能を開発担当者以外でも簡易的に確認できる様にし、以下を促進します。 ディレクターと開発者の仕様齟齬を減らす 改善のサイクルを高速化する 当時の検証環境の自動構築の仕組み 大まかな流れ ① ブランチ qa/foo を push ② CircleCI 実行 ③ C

                                  ECS を利用した検証環境の自動構築 ~運用3年を経て得た知見~ - メドピア開発者ブログ
                                • Ruby v3.1.0のSegmentation faultに遭遇した話 - メドピア開発者ブログ

                                  こんにちは。サーバーサイドエンジニアの三村です。 保険薬局と患者さまを繋ぐ「かかりつけ薬局」化支援アプリ kakariやその姉妹サービスである患者接点を資産化する診療予約システム かかりつけクリニック支援サービス kakari for Clinicの開発を担当しています。 目次 はじめに 現象 bugs.rubyに報告 原因究明までの道のり 環境依存の問題かどうかを切り分け エラー発生ファイルの特定 specの実行順をランダムから定義順に変更 因果関係のあるテストを特定 脱Docker Desktop for Mac MySQL -> SQLiteに変更 再現コードの特定 再現コード報告 修正確認 work around まとめ おまけ はじめに kakariをRuby v3.1.0にアップグレードする作業をしていたところSegmentation faultに遭遇したので、bugs.rub

                                    Ruby v3.1.0のSegmentation faultに遭遇した話 - メドピア開発者ブログ
                                  • Feature Toggleを用いたRailsアプリの継続的なリリースと要注意事項 - メドピア開発者ブログ

                                    はじめに 皆様こんにちは、サーバーサイドエンジニアの草分です。 突然ですが、開発者の皆様、実装したソースコードはこまめにリリースしていますか? 「大きい機能なので開発に時間がかかる」「障害が起きないよう念入りにテストする必要がある」などの理由で、Featureブランチのままコミットグラフが伸びに伸びたりしていませんか? 大きな機能を作ること自体は悪いことではありませんが、大きすぎるFeatureブランチは、本流ブランチとの挙動の乖離やコードの衝突が発生しやすく、レビューやマージに多大な苦労を伴います。 この記事では、この問題の解決策の1つとなる「Feature Toggle」を、Ruby on Railsにおける実装方法と共にご紹介します。 Feature Toggle自体は開発手法の一種であるため、言語/フレームワークを問わず広く活用されています。 Feature Toggleとは 「機

                                      Feature Toggleを用いたRailsアプリの継続的なリリースと要注意事項 - メドピア開発者ブログ
                                    • A/BテストツールとしてCloudWatch Evidentlyを導入してみた - メドピア開発者ブログ

                                      サーバーサイドエンジニアの熊木(@k_kumaki_)です。 先日、私が担当しているヤクメドにA/BテストツールとしてAWSのサービスであるCloudWatch Evidentlyを導入したので、その経緯や内容についてまとめます。 目次 目次 CloudWatch Evidentlyとは 導入に至った経緯 導入理由 導入方法 1. プロジェクトの作成 2. 機能の追加 3. アプリ側の対応 よかった点 自分で細かな定義が可能 導入が簡単 終わりに CloudWatch Evidentlyとは AWS上でA/Bテストやフィーチャーフラグの管理ができるサービスです。 比較的新しいサービスのため、馴染みのない方も多いかもしれません。 aws.amazon.com 導入に至った経緯 私が開発しているサービスであるヤクメドでは、UX向上のためA/Bテストを実施しています。 そのA/Bテストツールとし

                                        A/BテストツールとしてCloudWatch Evidentlyを導入してみた - メドピア開発者ブログ
                                      • AWS + ngx_mruby で SSL 証明書の動的読み込みシステム構築 - メドピア開発者ブログ

                                        CTO室SREの @kenzo0107 です。 2021年6月24日に「 kakari for Clinic ホームページ制作 」がリリースされました。 kakari for Clinic ホームページ制作 今回は上記サービスで採用した、 AWS + ngx_mruby で構築した SSL 証明書の動的読み込みシステムについてです。 SSL 証明書を動的に読み込みする理由 kakari for Clinic ホームページ制作の1機能で、制作したホームページに独自ドメインを設定する機能がある為です。*1 複数ドメインでアクセスできる =複数ドメインの SSL 証明書を読み込む を実現する必要があります。 動的に SSL 証明書を読み込むには? 以下いずれかのモジュールを組み込むことで SSL 証明書の動的読み込みが可能になります。 ngx_mruby lua-nginx-module 以下理

                                          AWS + ngx_mruby で SSL 証明書の動的読み込みシステム構築 - メドピア開発者ブログ
                                        • SolidQueue解体新書 - メドピア開発者ブログ

                                          こんにちは。サーバーサイドエンジニアの三村(@t_mimura39)です。 さて、Railsエンジニアの皆さんは非同期処理にどのようなライブラリを利用していますか? ちなみに弊社では Sidekiq を利用するプロジェクトが多いです。 tech.medpeer.co.jp 今回はRailsでの非同期処理ライブラリの新たな選択肢として誕生した「SolidQueue」について解説します。 github.com 目次 🆕 更新履歴 🆕 2024/09/12 🙋 はじめに 🙋 📝 SolidQueueとは 📝 🚀 SolidQueueの特徴 🚀 🔓 「FOR UPDATE SKIP LOCKED」 とは 🔓 🍀 4種類のアクターについて 🍀 起動方法 (おまけ)二つの起動モードについて 🚶 SolidQueue実装の歩き方 🚶 モデル アクター 🥞 SolidQueu

                                            SolidQueue解体新書 - メドピア開発者ブログ
                                          • Rails APIサーバーで Ruby 3.2 の YJIT を有効化してみた。 - メドピア開発者ブログ

                                            サーバーサイドエンジニアの内藤(@naitoh) です。 Rails で構築された小規模な APIサーバー(Rails の API モードで構築したもの)で、Ruby 3.2 の YJITを有効化する事で性能アップすることができましたので、喜びを分かち合いたく共有させて頂きます。 shopify.engineering We’re able to measure real speedups ranging from 5% to 10% (depending on time of day) on our total end-to-end request completion time measurements. YJIT を開発した Shopify では 5%から10%の処理速度の改善があったという事で、以前から弊社でも本番で運用を開始したかったのですが、比較的検証のし易い APIサーバーで

                                              Rails APIサーバーで Ruby 3.2 の YJIT を有効化してみた。 - メドピア開発者ブログ
                                            • お財布に優しいCI改善小ネタ集 - メドピア開発者ブログ

                                              こんにちは。サーバーサイドエンジニアの三村(@t_mimura)です。 主に保険薬局と患者さまを繋ぐ「かかりつけ薬局」化支援アプリ kakariのサーバーサイド開発(Ruby on Rails)を担当しています。 今回はRailsシステムのCI時間をコスト追加なしで半減した話をします。 目次 前提 対象プロジェクト CIの状況 改善結果 改善内容 前提知識: CIのキャッシュ機能 webpack buildのキャッシュを活用 RuboCopのキャッシュを活用 ESLintのキャッシュを活用 Jestのキャッシュを活用 RSpec Jobをテスト特性ごとに分割 CircleCIのリソースクラスと並列数の最適化 採用しなかった・見送った改善候補 HAML-Lint, Fasterer, Brakemanのキャッシュを活用 Stylelintのキャッシュを活用 bootsnapを活用 Jestの

                                                お財布に優しいCI改善小ネタ集 - メドピア開発者ブログ
                                              • SREチームのセキュリティインシデントゲームデー - メドピア開発者ブログ

                                                CTO室SREの侘美です。最近はM5Stackを嗜んでおります。 ここ半年ほど、MedPeerグループ全体のAWSのセキュリティ改善に力を入れてきました。 その中で、AWS Well-Architectedのセキュリティのベストプラクティスにも記載があるゲームデーを実施したところ、とても学びが多かったので本記事にまとめました。 ゲームデーとは? Well-Architectedには以下のように記載されています。 ゲームデーを実施する ゲームデーを実施する: さまざまな脅威について、インシデント対応イベントのシミュレーション (ゲームデー) を実施します。このゲームデーには、主要なスタッフや管理者を参加させてください。 教訓から学ぶ: ゲームデーの実行から得られた教訓は、プロセスを改善するためのフィードバックに含まれている必要があります。 出典: https://wa.aws.amazon.

                                                  SREチームのセキュリティインシデントゲームデー - メドピア開発者ブログ
                                                • 2ヶ月半で Nuxt サービスを 3.5 個つくった話 - メドピア開発者ブログ

                                                  フロントエンドエンジニアの小林和弘です。 去年の 4 月に「Web アプリを 3 つ使ったサービスを 3 ヶ月でつくりたい」という話が降ってきて、無茶を現実にした話をします。 新規サービス「やくばと」で Workspaces のモノレポを使って、医療機関画面、薬局画面、患者画面の 3 つの Nuxt を構築しました。 やくばととは 医療機関、薬局、患者さまの間でやり取りされる医療機関起点の薬局向け処方せん画像事前送信サービスです。処方せんに関する業務負荷を軽減すると共に、患者さまの大きな負担である医療機関、薬局での待ち時間を軽減するということを主な目的としたサービスです。 医療機関、薬局の DX を進め、患者さまの負荷軽減に貢献できる素晴らしいサービスになっています。 開発チームでは医療機関、薬局、患者さまに提供している Web 画面をそれぞれ医療機関システム、薬局システム、患者システムと

                                                    2ヶ月半で Nuxt サービスを 3.5 個つくった話 - メドピア開発者ブログ
                                                  • API認証基盤の改善について - メドピア開発者ブログ

                                                    今月の一日でメドピアに入社してちょうど1年になったCTO室の内藤(@naitoh) です。 主にやっていることはAPI認証基盤の改善です。 この1年でやってきた事を技術ブログで紹介させて頂きます。 背景 メドピア で採用されているバックエンドの言語(フレームワーク)は本 blog のタイトルにもあるように PHP から Rails に移行が行われているのですが、 実は上記以外に Golang(以下 Go) も使用しています。 このあたりの当時の開発背景は下記の記事に書かれておりますのでご参考にして頂ければと思います。 tech.medpeer.co.jp 私が昨年入社した時点でこのAPI認証基盤(API ゲートウェイ)の保守が難しく、Go のわかる開発者がほぼいなかったため機能追加が行えない状態になっていました。 このAPI認証基盤へのユーザーログイン処理時のアクセス負荷が朝方に集中し、メ

                                                      API認証基盤の改善について - メドピア開発者ブログ
                                                    • 開発生産性の改善から1年経過したチームで考えていること - メドピア開発者ブログ

                                                      こんにちは。エンジニアの保立(@purunkaoru) です。 僕のチームでは、開発生産性の改善に取り組んでから1年経過しました。 開発生産性の改善系の記事やノウハウは世間によく出ていますが、1年経過した今、開発生産性に対してEMの立場で何を考えているかを言語化します。 チームメンバーの構成は、執筆時で以下の通りです。 フロントエンド: 5名 サーバーサイド: 9名 モバイルアプリ: 3名 EM(保立): 1名 弊社では、Findy Team+ を導入し、開発生産性を見えるようにしています。 まずはFindy Team+の画面を見ながら、改善結果を見ていきます。 直近1年間 直近2年間 直近2年で見ると、後半1年で生産性が改善されており、その改善が一定維持できていることがわかります。 ちなみに、このサイクルタイム分析について、数値的な目標を今まで一度も掲げてきませんでした。 どうしても指標

                                                        開発生産性の改善から1年経過したチームで考えていること - メドピア開発者ブログ
                                                      • Rails未経験でRailsエンジニアとして入社して感じたメドピアのエンジニア文化 - メドピア開発者ブログ

                                                        2020年6月付けで入社したフィッツプラス システム開発部の讃岐と申します。 DietPlus Proというアプリや、特定保健指導の進捗管理用のWebアプリケーションを開発するサーバーサイドエンジニアとして働いています。 特定保健指導については、以前に福本さんが使用している技術も含め書いてくださったのでそちらをご覧下さい。 tech.medpeer.co.jp エンジニアとしてのキャリアはメドピアで2社目となります。Railsは未経験でしたがRailsエンジニアとしての採用でした。 そんなわけでメドピアでRailsエンジニアとしてのキャリアが始まったわけですが、開発環境については芝田さんが他の記事で紹介してくれているので、今回はメドピアのエンジニア文化を紹介していきたいと思います。 1. 新しいことを学ぶ機会が多い 2. 技術者支援の制度がちゃんと使用されている 3. 技術顧問がwilln

                                                          Rails未経験でRailsエンジニアとして入社して感じたメドピアのエンジニア文化 - メドピア開発者ブログ
                                                        • 監査ログの保管先をRDBからS3に移行する - メドピア開発者ブログ

                                                          こんにちは。サーバーサイドエンジニアの @atolix_です。 今回はメドピアで運用しているアプリケーションのkakariの監査ログをDB管理からS3管理に移行したので、その方法と手順について紹介したいと思います。 kakari.medpeer.jp 背景 従来kakariではAuditedを用いて、監査ログを専用のauditsテーブルに保管する処理を行っていました。 github.com # application_record.rb class ApplicationRecord < ActiveRecord::Base ... include Auditable # auditable.rb module Auditable extend ActiveSupport::Concern included do audited ... end しかしレコードの変更の度にauditsテーブ

                                                            監査ログの保管先をRDBからS3に移行する - メドピア開発者ブログ
                                                          • Ruby 3.3(+YJIT)へのアップデートによるパフォーマンス変化の計測 - メドピア開発者ブログ

                                                            こんにちは。サーバーサイドエンジニアの @atolix_です。 今回はメドピアで本番運用をしているアプリケーションの1つであるやくばと for Clinicにて、Ruby 3.2からRuby 3.3にアップデートを行った際のパフォーマンスの変化を計測しました。 Ruby 3.3ではYJITの大幅な改善が含まれているので、これによるアプリケーションへの影響を確認していきます。 www.ruby-lang.org gihyo.jp 前提 本記事に記載されたデータは以下の条件で計測をしています。 Rails: 7.1.3.4 YJIT有効化時のオプションは特に付与していない状態(Dockerfileから環境変数を与えて有効化) 3.2.4(+YJIT)から3.3.1(+YJIT)へのアップデート 有効化前後の1週間を比較 パフォーマンスの変化 やくばと for Clinicではモノレポのアプリケ

                                                              Ruby 3.3(+YJIT)へのアップデートによるパフォーマンス変化の計測 - メドピア開発者ブログ
                                                            • SREチームで「AIエージェント縛り」をやってみた - メドピア開発者ブログ

                                                              はじめに こんにちは。SREチームの侘美です。 弊社ではLLM(大規模言語モデル)を活用したコーディング、特にDevinやClaude Codeのようなエージェント型ツールを積極活用する方針を打ち立て、各種ツールを利用できる環境を整備しています。 また、習熟やノウハウの獲得のため各チームで一定期間AIエージェント縛りで開発を行い、得られた知見や課題を共有する活動も進めています。 我々SREチームでも2週間にわたってAIエージェント縛りで開発する実証実験を行いました。 本記事では、この実証実験を通じて得られた、通常のプロダクト開発チームとは異なるSREチームならではの課題や知見を共有します。 前置き 弊社SREチームの特徴 5人チーム 5名で社内の全プロダクトを分担して担当 主な業務: AWS/GCP/Azureの構築・メンテナンス GitHubや各種SaaSの管理 プロダクトのアラート対応

                                                                SREチームで「AIエージェント縛り」をやってみた - メドピア開発者ブログ
                                                              • HTTP API Clientライブラリの自作を手助けするGemを公開しました - メドピア開発者ブログ

                                                                こんにちは。サーバーサイドエンジニアの三村(@t_mimura39)です。 育休明け早々猛暑の熱気にやられ部屋に閉じこもっています。 今回はとあるGemを作成したので、そちらの紹介をさせていただきます。 目次 前フリ Gemの概要 カスタマイズ性について まとめ おまけ 前フリ Webアプリケーションを開発されている皆さん。 外部のHTTP APIを呼び出すような要件が発生したらどのように実装されますか? まずはHTTP Clientライブラリ(Gem)の選定からですよね。 無難なところでfaraday、最近?だとhttpなんかも選択肢にありますし、Gemを利用せずにRuby標準の Net::HTTP を直接使うなんてこともありますよね。 これらのいずれかを採用した後はどのような実装をされますか? お行儀が良い方は以下のような形で、専用のHTTP API Clientクラスを作成しその中に

                                                                  HTTP API Clientライブラリの自作を手助けするGemを公開しました - メドピア開発者ブログ
                                                                • ClinPeer Railsプロジェクトの技術選定(2025年版) - メドピア開発者ブログ

                                                                  こんにちは。サーバーサイドエンジニアの三村(@t_mimura39)です。 こちらでご案内した通り、弊社で新しくリリースした「ClinPeer」の裏側をご紹介します。 tech.medpeer.co.jp 今回はClinPeerのバックエンドについての簡単なシステム概要と選定技術の紹介編です。 2024-2025年にrails newをした新鮮なRailsプロジェクトの様子をお楽しみください。 目次 システム概要 rails stats Gemfile 技術選定 Ruby Ruby on Rails Puma ActionPack::CloudfrontViewerAddress Trilogy SolidQueue SolidCache Kaminari Async::HTTP::Faraday Ueki Jb Nokogiri Blazer ActiveHash Flipper Log

                                                                    ClinPeer Railsプロジェクトの技術選定(2025年版) - メドピア開発者ブログ
                                                                  • Amazon CloudFront環境におけるクライアントIPアドレスについて 〜CloudFront-Viewer-Addressの紹介〜 - メドピア開発者ブログ

                                                                    こんにちは。サーバーサイドエンジニアの三村(@t_mimura39)です。 本日はRuby・Railsの話に限定せず、Amazon CloudFront を利用している方に役立つ情報をご提供します。 目次 はじめに 「X-Forwarded-For」を活用する方法 「CloudFront-Viewer-Address」を活用する方法 Railsエンジニアへ 注意点 おまけ 参考資料 はじめに 弊社は基本的にAWS上にRailsアプリケーションを構築しているため、CDNが必要になるとまず選択肢として挙がるのが 「Amazon CloudFront(以下CloudFront)」です。 「CloudFront」を最前列に配置して、その後ろに「ALB」と「Railsアプリケーションが稼働するECS」を置くような構成が主流です。 この構成の場合一つ困ることがあります。 それは「Railsアプリケーシ

                                                                      Amazon CloudFront環境におけるクライアントIPアドレスについて 〜CloudFront-Viewer-Addressの紹介〜 - メドピア開発者ブログ
                                                                    • 1枚岩なMPAプロダクトでWebpackのマルチエントリーをさらにグルーピングしてビルドする - メドピア開発者ブログ

                                                                      Noita世界の理不尽をこの身をもって体験した末にバウンドルミナスで全てを切り刻んでクリアしました、フロントエンドグループの小宮山です。 以前からこれできたらいいのになぁと思いながら無理そうと諦めていた掲題の事柄を実現できた嬉しさの勢いのままに書き始めています。 状況 1枚岩なMPAプロダクトがどういうものかというと、 ルーティングをRails側で管理するMPA(複数エントリーポイント) 異なる種別のユーザー向けシステムが複数内包されている という構成です。 ルーティングについては要するにSPAではなく、ページ毎のhtmlファイルとmain.jsがあるということです。 異なる種別というのは、要するにユーザー向け画面と管理者向け画面が分かれているような状況です。場合によっては3種類、4種類以上の異なるシステムが内包されたりもします。BtoBtoCなサービスだったりする場合ですね。 課題感 こ

                                                                        1枚岩なMPAプロダクトでWebpackのマルチエントリーをさらにグルーピングしてビルドする - メドピア開発者ブログ
                                                                      • Google ドキュメントを会議メモとして使う - メドピア開発者ブログ

                                                                        こんにちは。サーバーサイドエンジニアのティーチです。最近の趣味は生後半年の娘にウケる動作の探求です。直近だと背筋が手応えありました。髪の毛がふわふわするのが面白かったようです。 本記事について ■書く Google ドキュメントを会議メモとして使うときの設定 Google ドキュメントを会議メモとして使う提案をする方法例 ■書かない 会議メモを作る意義に触れると本記事の趣旨(Google ドキュメントの具体的な設定の仕方、使用の提案の仕方)以外の部分が長くなるので以下は割愛します。 会議においてアジェンダ、議事録を作る意義 Google ドキュメントって何? 対象 会議でアジェンダ、議事録を使いたいなと思ってる方 よその会議の仕方知りたいなという方 Google ドキュメントの強み 私のプロジェクトではオンライン会議をするためのツールとしてGoogle Meetを用いています。 そして、会

                                                                          Google ドキュメントを会議メモとして使う - メドピア開発者ブログ
                                                                        • Ruby3.0でのパターンマッチ機能の変更点 - メドピア開発者ブログ

                                                                          こんにちは、メドピアのサーバサイドエンジニアの草分です。 2020年12月25日、ついに待望のRuby3.0がリリースされましたね。 以前、Ruby2.7で発表されたパターンマッチについての記事を執筆したのですが、Ruby3.0になりいくつか追加/変更が入っています。 この記事ではそれらの変更点を確認していきます。 「Rubyのパターンマッチとは何ぞや?」という方は是非前回の記事も合わせてご覧ください。 tech.medpeer.co.jp Ruby3.0を使うには rbenvなど、主要なサードパーティツールが既にRuby3.0に対応しています。 それらを使ってインストールするのが簡単でしょう。 # rbenv rbenv install 3.0.0 # rvm rvm install ruby-3.0.0 Windowsの方は RubyInstaller for Windows などをお

                                                                            Ruby3.0でのパターンマッチ機能の変更点 - メドピア開発者ブログ
                                                                          • メドピアで開催している社内読書会と社内読書分科会について - メドピア開発者ブログ

                                                                            こんにちは。メドピアのお手伝いをしています @willnetです。花粉が厳しい季節みなさんいかがお過ごしでしょうか。僕は毎年レーザー治療したいな、と思っているのですが気づくともう春になっています。次回こそは…。 さて、メドピアでは毎週水曜日の11時から12時の間に社内読書会を開催しています。これは社内でなるべく多くの人が仕事上で使える知見を獲得することを目的としています。進め方は 予習不要 音読する キリのいいところで止めて感想を話す という形です。詳しい内容は以前個人のブログで書いたので興味のある人は読んでみてください。 しかし読書会を定期開催するようになってから4年がすぎ、また社内のエンジニアがどんどん増えてくると「読書会をもっと改善したいな」と思うことが増えてきました。 すでに読んでしまった本は題材として扱いづらい 例えばメタプログラミングRuby 第2版は良い本なので、当然この本を

                                                                              メドピアで開催している社内読書会と社内読書分科会について - メドピア開発者ブログ
                                                                            • ECR拡張スキャンでRailsアプリを診断した際の脆弱性警告(偽陽性)への対策 - メドピア開発者ブログ

                                                                              皆様こんにちは、サーバーサイドエンジニアの草分です。 最近ポケモン最新作を買ってしまったのでひたすら野原でボールを投げ続ける日々を送っています。 さて本題に入りましょう。 Amazon ECRには、pushしたコンテナイメージへのイメージスキャン(脆弱性診断)機能があります。 Image scanning - Amazon ECR メドピアではこれを利用して全社横断的にアプリの脆弱性の検知および可視化を行っています。 脆弱性が検知された場合の表示 この記事では、Railsアプリをイメージスキャンした際の【偽陽性】警告の問題と、その解決策について紹介いたします。 問題 ECRのイメージスキャンには「基本スキャン」「拡張スキャン」の2種類があり、この内の拡張スキャン(Enhanced scanning)では、Rubyのgemやnpmのパッケージなども診断の対象となります。 Gemfile.lo

                                                                                ECR拡張スキャンでRailsアプリを診断した際の脆弱性警告(偽陽性)への対策 - メドピア開発者ブログ
                                                                              • Capybaraとreg-cliを使ってお手軽にビジュアルリグレッションテストを行える環境を整備しました📸 - メドピア開発者ブログ

                                                                                こんにちは、MedPeerの開発を担当している森田です。 今回は私が開発に参画しているMedPeerに元々E2Eテストで利用していたCapybaraと、reg-cliを利用してビジュアルリグレッションテスト(以下VRT)を行える環境を整備したので、それについてご紹介させていただきます。 なぜ、VRTを導入するのか? VRTの要件と技術選定 実際に構築したVRT基盤の概要 VRT基盤の具体的な話 System Spec内でスクリーンショットを取得する reg-cliでスクリーンショットの差分をチェックする 分かりやすいコマンドでVRTを実行できるようにする CIで差分をチェックする OS間での利用フォントによる違いを吸収する おわりに 参考にさせて頂いた資料 なぜ、VRTを導入するのか? MedPeerでは元々System Specを活用したE2Eテストを利用してフロントエンドを含めて品質を

                                                                                  Capybaraとreg-cliを使ってお手軽にビジュアルリグレッションテストを行える環境を整備しました📸 - メドピア開発者ブログ
                                                                                • Vue.js 公式ドキュメントのモブ翻訳をやりました! - メドピア開発者ブログ

                                                                                  こんにちは! 週一のサウナは欠かさない、フロントエンドエンジニアの土屋です。 先日、Vue.js の公式ドキュメントがリニューアルされました。 Vue.js 日本ユーザーグループ主導で翻訳プロジェクトが立ち上がっているのはご存知でしょうか? 先日、Vue.js 公式ドキュメントが刷新されたことに伴い、Vue.js日本語公式ドキュメントの翻訳を開始しました!刷新に伴い、ドキュメントの新規翻訳が必要になっています!Vue.jsコミュニティのみなさんの温かい翻訳支援お待ちしております。翻訳はこちらからできます 👉https://t.co/a6SjVDM12j— Vue.js 日本ユーザーグループ (@vuefes) 2022年2月25日 メドピアでは、普段お世話になっている Vue.js に貢献したいという思いから、数回に渡って、Vue.js 公式ドキュメントのモブ翻訳を行ないました。 モブ翻

                                                                                    Vue.js 公式ドキュメントのモブ翻訳をやりました! - メドピア開発者ブログ

                                                                                  新着記事