ユニファ開発者ブログ

ユニファ株式会社プロダクトデベロップメント本部メンバーによるブログです。

Ruby on Rails

Try some PaaS for Ruby on Rails

By Peter Chen, backend engineer at Unifa. The PaaS(Platform as a Service) my pet projects used stopped providing free plans from this year. So, recently I've been looking for and trying other alternatives. Tried to google and got a long re…

Visualizing Ruby tests coverage using Codecov

By Patryk Antkiewicz, backend engineer at Unifa. Writing tests that check correctness of each piece of code that at the first glance might look obvious and absolutely bug-resistant is a tedious task that most developers don’t like. It migh…

TurboStream experiment on Ruby on Rails

By Domingo Cividanes, backend engineer at UniFa. With the version release of Ruby on Rails new interesting features comes out. But one of this new features really got my attention: Turbo. Turbo allows to send HTML and not JSON over the wir…

Railsのプロダクションコードを約1万行削除しました

こんにちは。プロダクトエンジニアリング部の伊東です。 現在、私が所属するチームでは、弊社で一番古くから動いているプロダクトのRubyとRailsのバージョンアップを行っています。 記事作成時点では、バージョンアップ作業の途中ですが、着々と進行していま…

Ruby on RailsでデータベースからリモートAPIへ移行する際学んだこと

こんにちは、プロダクトエンジニアリングのちょうです。最近天気は暑かったり、寒かったりするので、体調管理に十分気をつけてください。さて、サービスが増えるにつれ、元々大きなサービスをマイクロサービス化するのは珍しくありません。そんな中で、一つ…

Rails 7.0で追加予定のenumerate_columns_in_select_statementsを試してみる

こんにちは、最近柴犬の動画ばかり見て癒されているWebエンジニアの本間です。 いいですよね、柴犬...。ああ、今日もお仕事終わったら見よう(メンタルは全く問題ないのでご安心ください)。 さて早速なのですが、y-yagiさんのブログの2021-04-17のエントリ…

SQS + Shoryukenのメッセージ重複配信問題にMiddlewareで対応する

まだ鍋シーズン序盤だというのに、ごま豆乳鍋を3日に1回は食べているWebエンジニアの本間です。 最近、Railsアプリケーションのバックグラウンドジョブのworkerとして Amazon SQS, Shoryuken, Active Job を組み合わせて使うことが増えました。 過去にも以下…

Amazon ECS+FargateでRailsを動かす際の最適なパラメーターを考えてみる

こんにちは、最近野菜が高いのでもやしばかり食べているWebエンジニアの本間です。 そろそろレタスが食べたい...。 さて、ここ1、2年、ユニファではAmazon ECS+AWS Fargateを使用して、Railsアプリケーションを本番運用することが増えてきました。 stagingで…

Amazon SQSとShoryukenを使ったバックグラウンド処理を検討してみる

Webエンジニアのほんまです。 弊社ではインフラの管理コストを極力減らすため、AWSのマネージドサービスへの利用を推奨しています。(例:RDS -> Aurora) その中の一つに「バックグラウンドジョブに使うキューストアに Amazon SQS を使う」というものがあり…

Rails + Webpacker + Vue.jsの構成でSystem Testを動かしてみる

こんにちは、Webエンジニアのほんまです。 ユニファのAdvent Calendar 2019も21日目ですね。 昨日は、弊社インフラエンジニアのすずきによるAWS Lambda Provisioned Concurrencyに関するエントリでした。 25日間、連続で記事を書き続けられるほどメンバーが…

ルクミーフォト リニューアルで実施した技術的な変更のご紹介

お久しぶりです、Webエンジニアの本間です。 去る2019年10月1日に自分が所属するチームで担当した「ルクミーフォト」のリニューアル版をリリースすることができました。 【プレスリリース】『ルクミーフォト』および ユニファコーポレートサイトリニューアル…

Railsで更新系のSQLだけログに出力する方法

最近、鼻づまりがひどいWebエンジニアのほんまです。 今までだましだましやってきましたが、ついに花粉症になってしまったかもしれません さて、今回も前回に引き続き、ログ出力で工夫していることを紹介しようと思います。 背景 調査依頼などでログを追って…

RailsをAmazon ECS(AWS Fargate)で運用する際のログ設定で工夫した点

こんにちは、Webエンジニアの本間です。 今回、Railsアプリケーションを Amazon ECS、しかも AWS Fargate の上で運用する機会に恵まれました。 その中でログに関する話を書こうと思います。 というのも、これまでのEC2インスタンス上でのログと、ECSでのログ…

Railsでメール送信方法を自作してみる

Webエンジニアの本間です。 昨日、Rails 6で追加される予定の Action Text の概要をDHHが紹介している 動画 を見て、「おぉ、なんかすごい!」と思い紹介しようかと思ったのですが、いかんせん時間が少ないのであきらめます(^_^;) 今回は、少し前にRailsのメ…

ユニファのWebエンジニアのテスト事情

こんにちは、Webエンジニアの本間です。 去る2018年5月25日(金)、 株式会社ウエディングパーク の皆さまと合同で勉強会を行いました。 弊社からは以下の2つの内容で発表しました。 ユニファのWebエンジニアのテスト事情(現状と今後) by 本間 新しいスタン…

Rails 5.2で追加予定のActiveStorageを使ってみる

こんにちは、Webエンジニアの本間です。 先週、広島で RubyKaigi 2017 が開催されましたね。私は参加できなかったのですが、興味深い発表が多かったので、公開されているスライドは一通りチェックしたいなと思っています。 さて、今回のブログでは、少し乗り…

エラー「A copy of xxx has been removed from the module tree but is still active!」と「ObjectContainer」

こんにちは、システム開発部のちょうです。今回はあるエラーから1つ小さいなライブラリを作った話について共有したいと思います。 先月の開発でまれに「A copy of xxx has been removed from the module tree but is still active!」というエラーに遭遇しま…

Railsのapp直下でよく使われるディレクトリとその用途を調べてみる

こんにちは、Webエンジニアの本間です。 最近、Railsアプリケーションのディレクトリ構成に関して考える機会があったので、そのことについて書いてみようと思います。 Railsに限らず「ディレクトリ構成をどうするか」という点は、設計初期の悩ましい問題の1…

ローカルでdockerを使って複数サービスをテストする

こんにちは、WEBエンジニアのチョウです。 1つのサービスに新機能がどんどん追加されると、ロジックが複雑になり、開発やメンテナンスは難しくなります。その解決方法はいつくかあると思いますが、1つの方法として、1つのサービスを複数サービスに分割し…

Rails + grape + Swagger UIでアプリケーション開発を円滑に進めるAPIサーバーを構築する

こんにちは、サーバーサイドエンジニアの本間です。 以前弊社のしだより、デジタル連絡帳アプリ るくみーnote のクライアントサイド開発の一部 をご紹介させていただきました。 今回は、このプロダクトのサーバーサイド開発で工夫した点をご紹介したいと思い…

調査しやすくするためログにリクエストIDを入れましょう

はじめまして、ユニファ株式会社のWEBエンジニアのチョウと申します。 こんなことがないでしょうか。突然調査依頼が来て、あるユーザーについて調べてほしいです。大量のログから掘り出してみましたが、ユーザー何人がアクセスするによってログが混じってし…

テストコード(RSpec)の高速化事例

はじめまして、ユニファ株式会社でWebエンジニアとして働いている本間と申します。 普段は、Ruby on Railsを使ったサービスのサーバーサイドの機能追加や改善を担当しています。 弊社の主要サービスである写真サービス るくみーは2013年5月に開発がスタート…