テック
今回は私たちが運営する「楽天ペイ」での高可用性/耐障害性 (以下、HA/DR)を向上させるための具体的な取り組みを紹介していこうと思います。 前回の記事では、私たちが第一弾として「楽天ペイ」という大規模サービスを運営・管理する中で培ってきたアプロー…
今回から2記事に分けて、私たちが取り組んでいる高可用性/耐障害性 (以下、HA/DR) の仕組み作りについて紹介していきます。 今回の記事では、私たちがこれまで「楽天ペイ(オンライン決済)」という大規模サービスを運営・管理する中で培ってきたHA/DRを高め…
こんにちは。楽天ラクマ モバイルアプリケーショングループのdarquroです。 今回は「楽天ラクマ」iOSアプリのフルSwift化を、約4年かけてやり遂げた話を書きたいと思います。 ことの始まり 私は2018年10月1日に楽天グループに入社しました。 当時採用面接で…
みなさん、こんにちは。楽天大阪支社でお仕事させていただいているイデルと申します。今回は「ふりかえり」についてお話したいと思います。 数年前、私はソフトウェアエンジニアからプロジェクトマネージャーにキャリアパスを変更し、それから様々なフレーム…
ラクマの亀井です。こちらの記事ではサードパーティーのdependencyを最新に保つことの重要性とどうやって最新に保っていくべきかを記載します。 サードパーティーdependencyはすぐに古くなる ほとんどのソフトウェアはサードパーティーdependencyを使います…
業務の中でSwiftUIを使って画面構築出来る機会がありましたので、実際に構築し終えての所感をまとめておきたいと思います。 やったこと 昨年、アプリの対応バージョンがiOS13以上となったので、SwiftUIが導入できるようになりました。 ちょうどUITableViewCo…
前書き 初めまして、ラクマのTsurutaです。 ラクマのアプリでは「保存した検索条件」の一覧が、ホームのタブから見られるようになったことをご存知でしょうか? この画面を構成するのにあたり、ラクマではiOS12以下のサポートを行っていないため、iOSの新し…
こんにちは、ラクマで主にAndroidを担当している@shin_nosakaです。 ラクマAndroidでは、v7.34.0でバーコード出品の機能で使用されるCamera APIをCameraXへの移行を行いました。 今回は、Android界隈では鬼門と言われる、ラクマでのカメラ機能の実装と、Came…
みなさんこんにちは。ラクマでiOSエンジニアをしているdarquroです。 ラクマは去年12月のリリースでサポートOSをiOS13以上にしました。 それに伴い、Combine Frameworkの利用もプロダクションコードに本格導入しました。 ラクマiOSアプリのアーキテクチャはM…
はじめに こんにちは、ラクマの@itinaoです。 E2Eテストについて、概要からお手軽に試す方法までを全5編で記載しています。 E2Eテスト: 導入の必要性・何を導入するのか E2Eテスト: TestCafeを試す E2Eテスト: Github Actions上でTestCafeを試す(PCブラウザ…
はじめに こんにちは、ラクマの@itinaoです。 E2Eテストについて、概要からお手軽に試す方法までを全5編で記載しています。 E2Eテスト: 導入の必要性・何を導入するのか E2Eテスト: TestCafeを試す E2Eテスト: Github Actions上でTestCafeを試す(PCブラウザ…
はじめに こんにちは、ラクマの@itinaoです。 E2Eテストについて、概要からお手軽に試す方法までを全5編で記載しています。 E2Eテスト: 導入の必要性・何を導入するのか E2Eテスト: TestCafeを試す E2Eテスト: Github Actions上でTestCafeを試す(PCブラウザ…
はじめに こんにちは、ラクマの@itinaoです。 E2Eテストについて、概要からお手軽に試す方法までを全5編で記載しています。 E2Eテスト: 導入の必要性・何を導入するのか E2Eテスト: TestCafeを試す ← 今回はココ E2Eテスト: Github Actions上でTestCafeを試…
はじめに こんにちは、ラクマの@itinaoです。 E2Eテストについて、概要からお手軽に試す方法までを全5編で記載しています。 E2Eテスト: 導入の必要性・何を導入するのか ← 今回はココ E2Eテスト: TestCafeを試す E2Eテスト: Github Actions上でTestCafeを試…
自己紹介 はじめまして。ラクマでAndroidエンジニアをしている者です。 趣味は筋肉トレーニングです 環境 Android Studio 4.1.1 記事の目的 ラクマAndoridは、2014年から続くサービスのため、レガシーなコードもいくつかありますが、基本的なアーキテクチャ…
自己紹介 はじめまして。ラクマでAndroidエンジニアをしている者です。 趣味は筋肉トレーニングです 環境 Android Studio 4.1.1 記事の目的 ラクマAndoridは、2014年から続くサービスのため、レガシーなコードもいくつかありますが、基本的なアーキテクチャ…
こんにちは、冬になると首がつりやすくなるラクマの高橋です。 ラクマではRubyを主に使って開発しており、テストフレームワークはRSpecを採用しています。 RSpecの書き方について、最近躓いた3選を今回はお届けします。 検証環境 ruby: 2.6.5 rails: 6.0.3.…
初めまして、ラクマでサーバサイドエンジニアをやっているtatsumiです。 普段は業務で Ruby on Railsを使っています。 業務で、サードパーティー製のgemのモンキーパッチを行ったのでいくつか方法を紹介しようと思います。 参考文献 この記事を作る上で、参…
こんにちは。ラクマの豊永です。 ラクマでは複数のリポジトリに分けてソースコードを使っており、それぞれのリポジトリが共通して利用している社内gemがあります。 最近、Rails Upgrade のプロジェクトをやったのですが、そのとき困ったことがありました。 …
こんにちは、ラクマのKeitaです。 Webアプリケーションでは実装初期にフロントエンド周りの設計やコーディングルールの取り決めをしなかったことによりレガシーとなってしまったJavaScript達に目を向けなければならない時があると思います。 今回はそんなレ…
はじめに はじめまして!ラクマの小田です。 大量のデータにアクセスして処理を行う場合、 メモリ不足で処理が中断されないよう、少しずつメモリに展開したい 途中で処理が中断されても問題ないよう、一定件数ごとにコミットをしたい と考えることがあると思…
みなさんこんにちは。ラクマでiOSエンジニアをしているdarquroです。 今回はiOSアプリの、セミモーダル/ハーフモーダル(以降セミモーダル)の実装について紹介したいと思います。 はじめに 昨今のアプリではセミモーダルを用いたUI/UXが主流となってきまし…
動作確認したRailsのバージョン 6.0.3.4 よくある話として こんにちは、ラクマのshoです。 NginxなどのWebサーバのログとunicornやpumaなどのアプリサーバのログを同じIDで検索するため、X-Request-IDをアプリサーバのログに仕込んだりします。Railsに予め用…
こんにちは。たびたび、Rails の cache に悩まされているラクマの豊永です。 今回、Rails のキャッシュ機構で、Active Record のオブジェクトを保存すると "色々、大変なことがあるぞ" ということについて書いていきたいと思います。 ちなみにここでいうキャ…
はじめまして。ラクマでモバイルエンジニアをやっているkurapyです。 iOSアプリを作るうえでよく利用されるUIButtonのimageViewは左、titleLabelは右に配置されるのが一般的です。 その配置を逆にしようとした時に少し苦戦したので、どう対応したのかをお話…
はじめに こんにちは。ラクマでサーバーサイドエンジニアをやっているYuです。 このあいだ半年ぶりに出社したら、強いノスタルジーを感じてしまいました。 業務時間の10%を委員会活動に使えるのですが、私は半年以上KubernetesなどのCNCFのプロジェクトを触…
こんにちは、ラクマのshoです。 Ruby on Railsはデフォルトでいろいろなログを出力しています。Railsで作ったサービスを運用していると、出力を止めたいログも出てくることと思います。 本記事ではRuby on RailsのLogSubscriberの仕組みを利用してログ出力を…
こんにちは、Tetsuです。 アプリ開発に従事している皆様は、日ごろ、上司やビジネス担当者の方々からユーザのニーズへの対応や競合サービスに先んじるために迅速なアプリ開発を求められることがあるかと思います。とりわけ昨今、新型コロナウイルス感染の拡…
こんにちは、ラクマでサーバーサイドエンジニアをやっている岸です。 突然ですが、楽天ではひっそりとRubyコミュニティを開催しています。正しくは、楽天所有のコミュニティというよりは、社内で業務内/業務外限らずRubyを触っている人たちが集まって、社外…
こんにちは。ラクマの岸です。 ラクマでは、既存Webフロントエンドをよりモダンな技術にリプレースしようという動きが加速しており、サービスが発足した2012年から使われているjQueryベースのフロントエンドをVue.jsに置き換えようとしています。 www.wanted…
こんにちは。はじめまして。 ラクマでサーバーサイドエンジニアマネージャー的なことをしている iku です。 コロナ渦の環境で遠出もしづらい今日このごろ。 最近のブームは各地の名物グルメのお取り寄せ。牛タン・餃子に続いて今週は馬刺しがやってきます。 …
こんにちは、ラクマでサーバサイドエンジニアをやっている飯塚です。 最近は、バーピーチャレンジというダイエットトレーニングをやり始めました。1日たった4分の運動で済むと聞いてやり始めたのですが、、、自分にはかなり過酷です。ご興味ある方、是非やっ…
MySQLのオンラインDDLを実行する際にメタデータロックがかかってしまい困ったので、オンラインDDLとメタデータロックについて調べて手元で試したことをまとめました。 MySQLのバージョンは 5.6、ストレージエンジンは InnoDB です。
こんにちは、ラクマの岸です。 最近はマネージャ業の比率が多く、エンジニアリングの比率も下がってしまっているのでたまにこうしてひっそりと開発を楽しんでいます。 さて、ラクマではリリースオペレーションの一部にSlackとHubotによるChatOpsを利用してい…
レジャープロダクト部は楽天GORA、楽天競馬、楽天競輪、楽天Beauty、楽天totoなどいくつものサービスを抱えています。 それらを引っ張るYasuさんの挑戦とは!?これを読めばレジャープロダクト部についてがわかるはず!
こんにちは。ラクマでサーバーサイドエンジニアをやっているYuです。 最近、久しぶりの外出で日焼け止めを忘れて肌が赤くなりました。 みなさんは気をつけてください。 今回は、小数点を含む計算で発生する誤差と、Rubyでの対応方法についてお話したいと思い…
今回はECマーケットプレイスビジネスサポート開発部(通称ECBD) 部長のKaneさんにインタビューをしてきました。楽天市場のビジネスを支えるECBDとはどんな部署なのかご紹介します。
皆さん、こんにちは。R-Hack編集室です。 R-Hackでは2020年1月よりラクマの開発エンジニアによるテック記事の連載がスタートしています!他社のオウンドメディアでも、エンジニアが自社技術やその開発手法を開示しているものがありますが、様々な技術内容が…
今回は、楽天としてコロナウイルスに対して何か世の中に貢献出来る事は無いかという熱い想いで自主的な取り組みを行った楽天トラベルのエンジニア達のレポートです。 彼らがたった数日という短い時間の中で挑戦したものは何だったのかぜひ御覧ください。
こんにちは。競プロで壁に跳ね返され続けているラクマの豊永です。 みなさんは、どんなときにデータベースに Unique 制約をつけるでしょうか。 私は過去に先輩とこんなやりとりをしたことがあります。 開発で新規追加するテーブル設計のレビューを受けている…
こんにちは。 ラクマでサーバーサイドエンジニアをやっている zoe です。 最近はスニーカーを磨くのが趣味になっています。 今回は、rails x puma-dev x puma のサーバ環境について記載してみます 元々はローカルの、どうにも調子が悪い。 何かしらのタイミ…
皆さん、こんにちは。R-Hack編集室です。 会社に就職して、長く同じ部署に勤めていると「そろそろ他のことにもチャレンジしてみたいな」とか「あそこの部署の仕事に興味があるな」と思うこと、社会人なら誰でも一度はあるのではないでしょうか? 今回は社員…
楽天コマーステックでは多くの部署で構成されていますが、今回は、ECロジスティックス開発部の部長Kさんにご自身の経歴や楽天の物流システムについて、どんな人に加わってほしいのかについて詳しくお話をお聞きしました。ぜひ楽天に興味のある方、物流システ…
こんにちは。日焼けしやすいラクマの豊永です。 いきなりですが、MySQL の INSERT ... ON DUPLICATE KEY UPDATE 構文 をご存知でしょうか。 大量のデータを1度に INSERT, UPDATE するという構文です。 ラクマのあるシステムで、1件ずつの処理だと処理時間的…
楽天市場の「楽天スーパーSALE」の裏側でエンジニアがどのように活躍しているのかをご紹介します。エンジニアにとっての「楽天スーパーSALE」とは国内最大級のトラフィックに耐えるために改善と挑戦を繰り返す場です。今日はその舞台裏を解説 !
みなさんこんにちは、楽天福岡支社でお仕事させていただいているSasamonと申します。 楽天は福岡にも支社があり、そこでバリバリ活躍されているエンジニアがいるんです! 今回はその中の1人、データプラットフォームエンジニアとして活躍されているDaigoroさ…
コマースカンパニーでは 「楽天市場」をはじめ「ラクマ」や「楽天ブックス」「楽天ビューティ」「楽天GORA」など 非常に多様なサービスを展開をしており ユーザーの皆様に日々快適に御利用頂く為に、これらのサービスには非常に高い品質が求められます。 我…
コマースカンパニーでは 「楽天市場」をはじめ「ラクマ」や「楽天ブックス」「楽天ビューティ」「楽天GORA」など多様なサービスを展開をしておりユーザーの皆様に日々快適に御利用頂く為に、これらのサービスには非常に高い品質が求められます。我々はこの品…
品質を担保する仕事をクオリティー・アシュアランス(Quality Assurance 以下、QA)と呼んでおり 「QAエンジニア」について 3回に渡って連載させていただきます。 第一回 コマースカンパニー レジャー・サービスプロダクト部 レジャーサービス開発課 サービ…