Rails

パフォーマンスを95%改善!Sidekiqで実現する効率的なジョブ並列化と状態管理

こんにちは!WEBアプリケーションエンジニアの川本です! この記事はEnigmo Advent Calendar 2024の1日目の記事です。 弊社の運営する BUYMA では、社内システムよりタイムセールを毎週 約100万商品 に設定しています。しかし従来のシステムでは、この処理に…

外部キー制約が使えない場合のRailsの実装方法

こんにちは、エンジニアの川本です。 主にBUYMAの決済・配送を担当しているチームでバックエンドの開発をしています。 この記事は Enigmo Advent Calendar 2023 の 20 日目の記事です。 個人開発でPlanetScaleというMySQL互換のサーバーレスデータベースを使…

Rails7でHotwireのTurboを使う

こんにちは、エンジニアの太田です。 この記事は Enigmo Advent Calendar 2023 の16日目の記事です。 はじめに TurboはRails7からデフォルトで搭載されており、VueやReactなどjavascriptの記述が必要だったDOMの更新をjavascriptを(あまり)書かずに実現さ…

データモデリング初学者がイミュータブルデータモデリングを実践してみて感じたこと

こんにちは、新卒エンジニアの川本です。 BUYMAのサーバーサイドを中心に開発しています。 この記事はEnigmo Advent Calendar 2022の12日目の記事です。 データモデリングについて学習中で、DB設計の入門書を読んで論理設計について第1~5正規化といった内容…

Rails + マイクロサービスでイベント駆動アーキテクチャを導入した話

はじめに こんにちは、サーバーサイドエンジニアの@hokitaです。 この記事は Enigmo Advent Calendar 2020 の 16 日目の記事です。 弊社が運営するBUYMAは現状モノレポで管理されており、10年以上も運営しているサービスなのでソースも肥大化していて、メ…

Rails アプリケーションに gRPC を導入したときの話

Rails アプリケーションに gRPC を導入したときの話 こんにちは、エンジニアの齊藤です。 この記事は Enigmo Advent Calendar 2020 の10日目の記事です。 本日は、Kubernetes にデプロイした複数の Rails アプリケーション間のデータのやり取りに gRPC を採…

STI、Polymorphic関連を実際に使用した話

こんにちは!サーバーサイドエンジニアの@hokita222です! 有酸素運動は脳を活性化させると聞いて、最近は朝会社に出社せずにランニングしております! それはさておき、これは Enigmo Advent Calendar 2019 23日目の記事です! 今回は弊社が運営するサイト…

dry-validation (1.3) で Form Object を実装する

dry-validation (1.3) で Form Object を実装する こんにちは、エンジニアの齊藤です。 この記事は Enigmo Advent Calendar 2019 の12日目の記事です。 本日は、バリデーションロジックの開発で Form Object の設計を支える dry-validation について書きたい…

OSS 初心者が初めてのコントリビューションを通して学んだ3つのこと

こんにちは、 サーバサイドエンジニアの伊藤です。 新卒Rubyエンジニアがオススメする実務で役にたった技術書5選 この記事を書いた時から、ちょうど1年が経ちました。 本当に、時が経つのは早いですねー。。。 そんなこんなで、今年もこの季節がやって来まし…

Draperソースコードリーディング

初めまして、19年新卒webエンジニアの平井蒼大です。 弊社では、昼休憩時間を使って、最近勉強したこと、 興味があること、最近行った勉強会やカンファレンスの内容などをLT形式で自由に発表するHacker’s Delightという場が設けられています。 私も先日、「D…

新卒Rubyエンジニアがオススメする実務で役にたった技術書5選

こんにちは、18年新卒エンジニアの@sean0628_iです。 早いもので今年ももう12月、Enigmoにジョインしたのが今年の春なので、気がついたら入社してから半年ほどが経っていますね。。。 さて、12月といえばAdvent Calendar の季節ですねー笑 今年はEnigmoも初…

RubyKaigi 2017 レポート

こんにちは。エンジニアの Steven です。 広島で9月18日から20日まで行われた RubyKaigi 2017 に山本さんとエンジニア二人で行ってきましたので、どうだったのかについてレポートさせていただきます。 RubyKaigi は毎年 Ruby 言語を中心に行われる会議です。…

サーバ性能を全開に!!

はじめまして インフラ担当のたかやまです。 先日(と言ってもだいぶ前)、サーバマシンを購入し、サービスに組み込んだのですが、なかなか全開の性能を発揮させることができず、地味にハマったので その時の話を。 マシンスペックとサーバ構成 購入したマシン…