Ruby on Rails

Railsアプリの自動テスト環境をCirlceCIからGitHub Actionsへ移行したときにやったこと

はじめに こんにちは、WEARバックエンド部バックエンドブロックの塩足です。普段は弊社サービスであるWEARのバックエンド開発・保守を担当しています。 WEARのバックエンドでは、これまで自動テスト環境としてCircleCIを使用していましたが、運用保守の改善…

効率的な運用を実現するWEARコンテンツのモジュール化

WEARのコンテンツをモジュール化しコンテンツの運用を改善しました。ビジネス要件や技術的課題を考慮しながらどのように設計したかを紹介します。

RailsConf 2023 参加レポート

こんにちは、バックエンドエンジニアの近です! 4/24〜4/26にかけてアトランタで開催されたRailsConf 2023にWEARバックエンドブロックから近・小山・高久の3人が参加しました。 去年はコロナの影響もあってオンラインの開催だったのですが、今年はオフライン…

WEARにおけるプッシュ通知システムのリプレイスを全て完了した話

こんにちは、WEARバックエンドブロックの天春です。バックエンドの運用・開発に携わっています。本記事では、以前公開したWEARにおけるプッシュ通知システムのリプレイス のフェーズ2を終え、旧環境のプッシュ通知システムのリプレイスを完了したのでシステ…

WEARにおけるPUSH通知システムのリプレイス

こんにちは、WEARバックエンドブロックの天春(@AmagA001)です。バックエンドの運用・開発に携わっています。WEARはサービス開始から10年ほどの古いVBScriptを使った環境からRuby on Rails環境にシステムリプレイスを行なっています。本記事では、リプレイ…

FCMを使ったWEARプッシュ通知基盤リプレイス

こんにちは。WEARバックエンドエンジニアのid:takanamitoです。先日リリースしたWEARの新プッシュ通知基盤の紹介をしようと思います。 新プッシュ通知基盤開発の背景と目的 WEARでは既にiOS/Androidアプリに向けたプッシュ通知配信基盤が存在していました。 …

Fargate x Railsで考慮したassets配信・ログ・秘匿情報管理・モニタリングについて

こんにちは。WEARリプレイスチームの id:takanamito です。 先日、社内で初めてAWS Fargate上でRailsを動かす環境をつくったので、その事例報告をしようと思います。 Fargate導入のきっかけ コンテナ環境で動かすにあたって考慮したこと assets配信 ログ出力…

GraphQLにおけるエラーハンドリングの仕方

こんにちは、サーバーサイドエンジニアの竹若です。今回GraphQLにおけるエラーハンドリングを調査、Ruby on Railsとgraphql-rubyを使って実装する機会があったので、そこで得られた知見を共有させていただきたいと思います。(なお今回の実装はプロダクション…

OpenAPIのschema定義からRubyのクラスを生成するgem「openapi2ruby」をつくりました

こんにちは。スタートトゥデイテクノロジーズ新事業創造部のid:takanamitoです。 今日はVASILY時代から活用されているOpenAPI(Swagger)の定義からRubyのクラスを自動生成するgemを作ったので、その紹介をしようと思います。 Swaggerの定義と実際のAPIが返す…

本番DBと開発DBが乖離した無法地帯の整備

こんにちは。バックエンドエンジニアインターンの田島です。弊社ではIQONの運用を7年間続けています。長年の運用から技術的負債が溜まってきていました。その中の1つに、IQONの本番DBと開発DBの状態が乖離しているという問題があります。この問題をどのよう…

RubyのパパMatzさんに、RubyKaigi2017の見所を聞いてみた

RubyKaigi2017の見所を、VASILYの技術顧問であるMatzさんに質問してみました。RubyKaigiに参加する人にもしない人にも役に立つ情報です。

Railsアプリでクロールディレクティブを安全・効率的に設定する仕組み

こんにちは、フロントエンジニアの茨木です。 本記事ではRailsアプリでクロールディレクティブを安全・効率的に設定する仕組みをご紹介したいと思います。 Web上にあるページは、クローラーと呼ばれるロボットに巡回されて検索エンジンにインデックス登録さ…

【Rails】WEB APIを長く運用するための仕組み化

こんにちは、バックエンドエンジニアのじょーです。大規模なサービスのAPIを開発する際に、ルールを決めずに開発していると無秩序なコードが散見される運用がしづらいAPIになってしまいます。また、ルールを決めたとしても共有が上手くいかないなどの理由で…

RailsアプリケーションにおけるModelキャッシュの実装

こんにちは、バックエンドエンジニアのjoeです。主にAPIを担当しています。 VASILYのAPIでは、速度向上のためにModelオブジェクトをキャッシュしています。 最近、Modelキャッシュの仕組みを実装したので、その実装方法を紹介します。また、既存ライブラリと…

サーバとiOSアプリのデータのやり取りを〇〇倍高速化する方法

こんにちは最近一日に一回は波紋のビートを刻んでる村田です。 はじめに スマートフォンアプリの開発では回線状況や端末のスペックなど様々な状況下で動作するため、少しでも高速化できる余地があるのであればなんとか頑張りたいところですよね。 今日はサー…

カテゴリー