ラクマ

RailsのLogSubscriberの仕組みを利用した不要なログ出力を止める方法

こんにちは、ラクマのshoです。 Ruby on Railsはデフォルトでいろいろなログを出力しています。Railsで作ったサービスを運用していると、出力を止めたいログも出てくることと思います。 本記事ではRuby on RailsのLogSubscriberの仕組みを利用してログ出力を…

Rspecの書き方についてディスカッションしました(nikotama.rb #11)

こんにちは、ラクマでサーバーサイドエンジニアをやっている岸です。 突然ですが、楽天ではひっそりとRubyコミュニティを開催しています。正しくは、楽天所有のコミュニティというよりは、社内で業務内/業務外限らずRubyを触っている人たちが集まって、社外…

actionがrenderするファイルを自動で分岐させる

こんにちは。ラクマの岸です。 ラクマでは、既存Webフロントエンドをよりモダンな技術にリプレースしようという動きが加速しており、サービスが発足した2012年から使われているjQueryベースのフロントエンドをVue.jsに置き換えようとしています。 www.wanted…

Redashを活用した見える化と検知自動化のすすめ

こんにちは。はじめまして。 ラクマでサーバーサイドエンジニアマネージャー的なことをしている iku です。 コロナ渦の環境で遠出もしづらい今日このごろ。 最近のブームは各地の名物グルメのお取り寄せ。牛タン・餃子に続いて今週は馬刺しがやってきます。 …

Auroraのフルスキャン検索をAthenaでサクッとやってみた

こんにちは、ラクマでサーバサイドエンジニアをやっている飯塚です。 最近は、バーピーチャレンジというダイエットトレーニングをやり始めました。1日たった4分の運動で済むと聞いてやり始めたのですが、、、自分にはかなり過酷です。ご興味ある方、是非やっ…

MySQL5.6のオンラインDDLでメタデータロックがかかった話

MySQLのオンラインDDLを実行する際にメタデータロックがかかってしまい困ったので、オンラインDDLとメタデータロックについて調べて手元で試したことをまとめました。 MySQLのバージョンは 5.6、ストレージエンジンは InnoDB です。

HubotをTypeScriptで書く

こんにちは、ラクマの岸です。 最近はマネージャ業の比率が多く、エンジニアリングの比率も下がってしまっているのでたまにこうしてひっそりと開発を楽しんでいます。 さて、ラクマではリリースオペレーションの一部にSlackとHubotによるChatOpsを利用してい…

小数計算で発生する誤差とRubyでの対応方法について

こんにちは。ラクマでサーバーサイドエンジニアをやっているYuです。 最近、久しぶりの外出で日焼け止めを忘れて肌が赤くなりました。 みなさんは気をつけてください。 今回は、小数点を含む計算で発生する誤差と、Rubyでの対応方法についてお話したいと思い…

ラクマはなぜR-Hackで連載することを決めたのか? 連載担当者に真相を聞いてきた

皆さん、こんにちは。R-Hack編集室です。 R-Hackでは2020年1月よりラクマの開発エンジニアによるテック記事の連載がスタートしています!他社のオウンドメディアでも、エンジニアが自社技術やその開発手法を開示しているものがありますが、様々な技術内容が…

データの一意性を保証するとき、データベース側で Unique 制約をつけた方が良さそうな件

こんにちは。競プロで壁に跳ね返され続けているラクマの豊永です。 みなさんは、どんなときにデータベースに Unique 制約をつけるでしょうか。 私は過去に先輩とこんなやりとりをしたことがあります。 開発で新規追加するテーブル設計のレビューを受けている…

rails x puma-dev x puma のサーバ環境について

こんにちは。 ラクマでサーバーサイドエンジニアをやっている zoe です。 最近はスニーカーを磨くのが趣味になっています。 今回は、rails x puma-dev x puma のサーバ環境について記載してみます 元々はローカルの、どうにも調子が悪い。 何かしらのタイミ…

MySQL で ON DUPLICATE KEY UPDATE を使ってたら、カンスト(カウンターストップ)した話

こんにちは。日焼けしやすいラクマの豊永です。 いきなりですが、MySQL の INSERT ... ON DUPLICATE KEY UPDATE 構文 をご存知でしょうか。 大量のデータを1度に INSERT, UPDATE するという構文です。 ラクマのあるシステムで、1件ずつの処理だと処理時間的…