メドピア開発者ブログ

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

Swift Concurrencyのキャンセルと向き合う

メドピアでモバイルアプリを開発している小林(@imk2o)です。 惑星直列に興奮しています。 Xcode13.2より、iOS13以降を対象にしたアプリであればSwift Concurrencyを利用できるようになりました。従来RxSwiftやCombineなどのReactive Streamを利用しているプ…

テックサポート制度の用途をまとめてみました!

グループ戦略室でエンジニアのマネジメントをしている平川 a.k.a @arihh です。 リモートワークで酒量が0になりましたが体重は減らない日々です。 弊社にはテックサポート制度というものがあります。 テックサポート制度とは、1人あたり年間12万円までスキル…

Private GitHub Pagesで社内ドキュメントを公開しよう!

今まで GitHub Pages というと静的サイトをインターネットへ全世界公開するしかできなかったのですが、2021年に Private GitHub Pages の機能がリリースされ、限定されたユーザーのみに制限してページを公開することが可能になりました。 今日は Private な …

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

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

SwiftUI / UIKit (Storyboard) ハイブリッド対応、Needle + RIBs インスパイアな iOS アプリケーションデザイン

こんにちは、モバイルアプリを開発しています高橋です。交互に仕事場に猫二匹がやってきて監視されながら仕事しています。 先日リリースしたとある iOS アプリは、 機能は機能ごとに分割して実装したい 依存解決のコードは自動生成したい ライトウェイトな設…

Vue.js 公式ドキュメントのモブ翻訳をやりました!

こんにちは! 週一のサウナは欠かさない、フロントエンドエンジニアの土屋です。 先日、Vue.js の公式ドキュメントがリニューアルされました。 Vue.js 日本ユーザーグループ主導で翻訳プロジェクトが立ち上がっているのはご存知でしょうか? 先日、Vue.js 公…

Google ドキュメントを会議メモとして使う

Google ドキュメントを会議メモとして使うときの設定 Google ドキュメントを会議メモとして使う提案をする方法例

ECR拡張スキャンでRailsアプリを診断した際の脆弱性警告(偽陽性)への対策

Amazon ECRには、pushしたコンテナイメージへのイメージスキャン(脆弱性診断)機能があります。 この記事では、そのイメージスキャンでの【偽陽性】警告の問題と、その解決策について紹介いたします。

The Complete Guide to Rails Performance読書会をしました

こんにちは。メドピアのお手伝いをしています@willnetです。最近車を買いました。これまでペーパードライバーだったので自信を持って運転できるように運転の練習を頑張っています。 今日は社内読書分科会で読んだThe Complete Guide to Rails Performanceと…

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

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

Ruby × jemallocのすすめ

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

RubyWorld Conference 2021 にプラチナスポンサーとして出展しました!(Matzの後日談つき)

サーバーサイドエンジニアのミナトです。 医師とMRをつなぐコミュニケーションツールとなるMedPeer Talk というサービスの担当をしています。 昨年の 12/16に開催された RubyWorld Conference(RWC) に、メドピアはプラチナスポンサーとして参加しました。 RW…

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

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

AWS Config + Athena + QuickSightによる複数AWSアカウント横断でのセキュリティ状態の可視化

CTO室SREの侘美です。最近は社内のセキュリティ対策関連を生業にしております。 今回は最近進めていた社内のAWSアカウントのセキュリティ可視化がある程度形になったので記事にしたいと思います。 課題:多数のAWSアカウントのセキュリティをチェックしたい …

iOSDC Japan 2021にダイアモンドスポンサーとして登壇しました

エンジニアの市川です。 メドピアでは保険薬局と患者さまを繋ぐ「かかりつけ薬局」アプリ「kakari」のiOS開発を担当しています。 2021年9月17日~19日に開催されたiOSDC japan2021にて、スポンサーセッションとして登壇し、kakariのiOS開発について話しまし…

今年もRubyKaigi Takeout 2021にプラチナスポンサーとして参加しました!

サーバーサイドエンジニアの栗崎です。 『MedPeer』の製薬企業向けのサービスの開発を担当しています。 2021年9月9日~11日に RubyKaigi Takeout 2021 が開催されました。メドピアは今年で通算4回目のスポンサー参加となります。 私はRubyKaigi, RubyKaigi T…

AWS + ngx_mruby で SSL 証明書の動的読み込みシステム構築

CTO室SREの @kenzo0107 です。 2021年6月24日に「 kakari for Clinic ホームページ制作 」がリリースされました。 kakari for Clinic ホームページ制作 今回は上記サービスで採用した、 AWS + ngx_mruby で構築した SSL 証明書の動的読み込みシステムについ…

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

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

入門 GitHub Actions

CTO室SREの @sinsoku です。 社内のGitHub ActionsのYAMLが複雑になってきたので、私が参考にしてる情報や注意点、イディオムなどをまとめておきます。 頻繁に参照するページ 新しい機能の説明が日本語ページに反映されていないため、基本的に英語ページを読…

1枚岩なMPAプロダクトでWebpackのマルチエントリーをさらにグルーピングしてビルドする

Noita世界の理不尽をこの身をもって体験した末にバウンドルミナスで全てを切り刻んでクリアしました、フロントエンドグループの小宮山です。 以前からこれできたらいいのになぁと思いながら無理そうと諦めていた掲題の事柄を実現できた嬉しさの勢いのままに…

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

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

SREチームのセキュリティインシデントゲームデー

CTO室SREの侘美です。最近はM5Stackを嗜んでおります。 ここ半年ほど、MedPeerグループ全体のAWSのセキュリティ改善に力を入れてきました。 その中で、AWS Well-Architectedのセキュリティのベストプラクティスにも記載があるゲームデーを実施したところ、と…

メドピアで開催している社内読書会と社内読書分科会について

こんにちは。メドピアのお手伝いをしています @willnetです。花粉が厳しい季節みなさんいかがお過ごしでしょうか。僕は毎年レーザー治療したいな、と思っているのですが気づくともう春になっています。次回こそは…。 さて、メドピアでは毎週水曜日の11時から…

ECS を利用した検証環境の自動構築 ~運用3年を経て得た知見~

CTO 室 SRE kenzo0107 です。 以前執筆した ECS を利用した検証環境の自動構築について、運用開始から3年の時を経ました。 実運用とその上で頂いた要望を取り入れ変化してきましたので、その経緯を綴ります。 tech.medpeer.co.jp 本稿、議論を重ね改善を進め…

Ruby3.0でのパターンマッチ機能の変更点

2020年12月25日、ついに待望のRuby3.0がリリースされましたね。 以前、Ruby2.7で発表されたパターンマッチについての記事を執筆したのですが、Ruby3.0になりいくつか追加/変更が入っています。 この記事ではそれらの変更点を確認していきます。

フロントエンドのコードを書いている時に考えていること - まず状態から始めよ編

どんなことを考えながらコードを書いているを紹介してみようというのが今回の趣旨です。

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

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

API認証基盤の改善について

今月の一日でメドピアに入社してちょうど1年になったCTO室の内藤(@naitoh) です。 主にやっていることはAPI認証基盤の改善です。 この1年でやってきた事を技術ブログで紹介させて頂きます。 背景 メドピア で採用されているバックエンドの言語(フレームワー…

Rails未経験でRailsエンジニアとして入社して感じたメドピアのエンジニア文化

2020年6月付けで入社したフィッツプラス システム開発部の讃岐と申します。 DietPlus Proというアプリや、特定保健指導の進捗管理用のWebアプリケーションを開発するサーバーサイドエンジニアとして働いています。 特定保健指導については、以前に福本さんが…

薬局向けサービス”kakari”にruby-vipsを導入した話

こんにちは。 外出自粛が続き、大胸筋の育成が疎かになっているエンジニアの宮原です。 ruby-vipsという画像処理用のGemを、かかりつけ薬局化支援サービスの「kakari(かかり)」で導入してみました。 今回は、ruby-vipsとkakariに実装した画像処理の内容に…