ラクマ
こんにちは。楽天ラクマ モバイルアプリケーショングループのdarquroです。 今回は「楽天ラクマ」iOSアプリのフルSwift化を、約4年かけてやり遂げた話を書きたいと思います。 ことの始まり 私は2018年10月1日に楽天グループに入社しました。 当時採用面接で…
(※この時だけマスクを外して撮影しました)(※左から Shogoさん / Ogaさん(メンター) / Nakayamaさん(インターン)) はじめに はじまして、Nakayamaです。フロント歴約1年半!趣味は洋画を観る事です!ラクマインターン2期生として、2022年2月半ばから3月…
みなさん、こんにちは。楽天大阪支社でお仕事させていただいているイデルと申します。今回は「ふりかえり」についてお話したいと思います。 数年前、私はソフトウェアエンジニアからプロジェクトマネージャーにキャリアパスを変更し、それから様々なフレーム…
みなさん、こんにちは。R-Hack編集室です。 楽天グループに2016年から参加したフリマアプリ「フリル」は現在、ラクマとして個人間売買のサービスインフラをユーザーのみなさまに提供しています。 このチームは現在、iOS/Androidアプリを中心としてフリマアプ…
みなさん、こんにちは。R-Hack編集室です。 楽天グループではさまざまな人々が働いています。この「働くかたち」のコーナーでは楽天コマースカンパニーの働き方やお仕事について、メンバーの活動を通じてお伝えいたします。 今回は2021年11月に中途入社され…
みなさんこんにちは。R-Hack編集室です。 本日は、11月13日(土)に開催されたDEVREL/JAPAN CONFERENCE2021(https://devrel.tokyo/japan-2021/ )にコマーステックのエンジニアであるTsuruさんが登壇されたので、お話を聞いてきました。 DEVREL / JAPAN CON…
ラクマの亀井です。こちらの記事ではサードパーティーの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を試…
(※この時だけマスク外して撮影しました) こんにちは。kagaffyです! 2021年1月 ~ 3月でラクマのiOSエンジニアとして働かせていただきました。実はラクマでは初めてのインターン生だったらしいのですが、みなさんの親切なご対応もあり、のびのびと開発に集中…
自己紹介 はじめまして。ラクマで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の仕組みを利用してログ出力を…
こんにちは、ラクマでサーバーサイドエンジニアをやっている岸です。 突然ですが、楽天ではひっそりとRubyコミュニティを開催しています。正しくは、楽天所有のコミュニティというよりは、社内で業務内/業務外限らずRubyを触っている人たちが集まって、社外…
こんにちは。ラクマの岸です。 ラクマでは、既存Webフロントエンドをよりモダンな技術にリプレースしようという動きが加速しており、サービスが発足した2012年から使われているjQueryベースのフロントエンドをVue.jsに置き換えようとしています。 www.wanted…
こんにちは。はじめまして。 ラクマでサーバーサイドエンジニアマネージャー的なことをしている iku です。 コロナ渦の環境で遠出もしづらい今日このごろ。 最近のブームは各地の名物グルメのお取り寄せ。牛タン・餃子に続いて今週は馬刺しがやってきます。 …
こんにちは、ラクマでサーバサイドエンジニアをやっている飯塚です。 最近は、バーピーチャレンジというダイエットトレーニングをやり始めました。1日たった4分の運動で済むと聞いてやり始めたのですが、、、自分にはかなり過酷です。ご興味ある方、是非やっ…
MySQLのオンラインDDLを実行する際にメタデータロックがかかってしまい困ったので、オンラインDDLとメタデータロックについて調べて手元で試したことをまとめました。 MySQLのバージョンは 5.6、ストレージエンジンは InnoDB です。
こんにちは、ラクマの岸です。 最近はマネージャ業の比率が多く、エンジニアリングの比率も下がってしまっているのでたまにこうしてひっそりと開発を楽しんでいます。 さて、ラクマではリリースオペレーションの一部にSlackとHubotによるChatOpsを利用してい…
こんにちは。ラクマでサーバーサイドエンジニアをやっているYuです。 最近、久しぶりの外出で日焼け止めを忘れて肌が赤くなりました。 みなさんは気をつけてください。 今回は、小数点を含む計算で発生する誤差と、Rubyでの対応方法についてお話したいと思い…
皆さん、こんにちは。R-Hack編集室です。 R-Hackでは2020年1月よりラクマの開発エンジニアによるテック記事の連載がスタートしています!他社のオウンドメディアでも、エンジニアが自社技術やその開発手法を開示しているものがありますが、様々な技術内容が…
こんにちは。競プロで壁に跳ね返され続けているラクマの豊永です。 みなさんは、どんなときにデータベースに Unique 制約をつけるでしょうか。 私は過去に先輩とこんなやりとりをしたことがあります。 開発で新規追加するテーブル設計のレビューを受けている…
こんにちは。 ラクマでサーバーサイドエンジニアをやっている zoe です。 最近はスニーカーを磨くのが趣味になっています。 今回は、rails x puma-dev x puma のサーバ環境について記載してみます 元々はローカルの、どうにも調子が悪い。 何かしらのタイミ…
こんにちは。日焼けしやすいラクマの豊永です。 いきなりですが、MySQL の INSERT ... ON DUPLICATE KEY UPDATE 構文 をご存知でしょうか。 大量のデータを1度に INSERT, UPDATE するという構文です。 ラクマのあるシステムで、1件ずつの処理だと処理時間的…