STORES Product Blog

こだわりを持ったお商売を支える「STORES」のテクノロジー部門のメンバーによるブログです。

Aurora V3(MySQL8.0)への移行を振り返る

こんにちは。STORES 予約 で開発エンジニアをしているmyahagiです。 11月の頭にSTORES 予約 のDBをAurora V2(MySQL5.7互換)からAurora V3(MySQL8.0互換)へ移行しました。 Aurora V2(MySQL5.7互換)の標準サポートが10月末で終了しましたが、サポート終了後、2…

スクリーンリーダーを業務で活用する

こんにちは @tomorrowkey です。 この記事は STORES Advent Calendar 2024 の10日目の記事です。 突然ですが、スクリーンリーダーという機能をご存じでしょうか。 Wikipediaによると次のように定義されています。 スクリーンリーダー(英語: screen reader)…

STORES ブランドアプリ AndroidのE2Eテストの実装 - Robotパターンの活用

こんにちは、naberyo (@error96num) です。今年の4月に STORES へ入社し、 STORES ブランドアプリ のAndroidエンジニアをしています。 前回の記事では、 STORES ブランドアプリ におけるE2Eテスト(End-to-Endテスト)導入の背景とプロセスについて紹介しま…

STORES ブランドアプリ でE2Eテストはじめました

こんにちは、naberyo (@error96num) です。今年の4月に STORES へ入社し、 STORES ブランドアプリ のAndroidエンジニアをしています。 本記事では、STORES ブランドアプリ にE2Eテストを導入した話について書きます。 なお、 STORES Advent Calendar 2024 の…

STORES ネットショップのバッチ基盤を振り返る

こんにちはこんにちは。技術基盤グループの Shia です。開発の妨げになるものを排除していく仕事をしています。 入社してからいろんなことをしてきてますが、本日は年末ということで STORES ネットショップの ECS 移行時で作ったバッチ基盤の話とともに当時…

RSpec で書くひとにやさしいテストコード

こんにちは。 STORES ネットショップ の開発をしている、hsm_hx です。 この記事は STORES Product Blog Advent Calendar 2024 8日目 の記事です。 わたしと RSpec STORES ネットショップ チームでは、ネットショップの注文データを保存するために作られたモ…

データ移行の話で RubyWorld Conference 2024 で発表してきました

テクノロジー部門リテール GTM B グループの @phayacell と申します。 RubyWorld Conference で発表してきましたので、その報告投稿としての STORES Advent Calendar 2024 7日目の記事です。 どんな発表してきたの? 以下の発表をしてきました。 speakerdeck…

マネジメントはシミュレーションゲーム、Rubyのお気に入りポイント、仕事だと障害対応が一番楽しい【Rubyistめぐりvol.5 onkさん 後編】

Rubyist Hotlinksにインスパイアされて始まったイベント『Rubyistめぐり』。第5回はonkさんをゲストに迎えて、お話を聞きました。こちらは後編です。(前編はこちら) hey.connpass.com 最先端で障害対応ができる自負がある 藤村:最近はどんなことしてるん…

プログラミングのきっかけは『ゆいちゃっと』、こんな楽しいことだけやっていてお金をもらえるんだ【Rubyistめぐりvol.5 onkさん 前編】

Rubyist Hotlinksにインスパイアされて始まったイベント『Rubyistめぐり』。第5回はonkさんをゲストに迎えて、お話を聞きました。こちらは前編です。 hey.connpass.com 漫画禁止、ひたすら本を読む小学生時代 藤村:今回はonkさんに来ていただきました。よろ…

K2移行、やるぞ!

こんにちは。STORES 決済 でAndroidエンジニアをしているn-sekiです。 つい最近まで暖かな気候で「今年は紅葉が遅いなぁ」なんて思っていましたが、気がつくと師走です。困ったものですね。 今回はK2移行について書こうと思います。 なお、この記事は STORES…

Jetpack Compose移行に手間取ったボタンの話

はじめに こんにちは! STORES 決済 のAndroidアプリを開発しているchukaです。 こちらはSTORES Advent Calendar 2024 4日目の記事です。 突然ですが、みなさんボタンは好きですか? Material3の公式ドキュメントを覗いてみると、そこには9種類ものボタンが…

edge-to-edge対応Tips

最近やったDIYは二重窓です。余っていた配線カバーを窓枠の上下に両面テープで固定して、表面にアルミシートを貼って断熱性を増したプラダンをはめこみました。リモートワーク環境が窓の真横で寒かったので、かなり改善されました。 こんにちは。 STORES 決…

OpenID Connect Session Management について

概要 nannany です。 この記事ではOpenID Connect Session Managementについての説明と、実際にサンプルを実装して得た気づきを記述しました。 Authorization Code Grantがどのようなフローで行われるかなど、OIDCのベースとなる説明は割愛しています。 Open…

STORES全体の技術課題の意思決定をするSystem Design Meetingについて

こんにちは、うしろのこです。STORES アドベントカレンダーの1日目ということで、本当は別の内容を書く予定だったんですがリリースの都合などもあり、今回は STORES における System Design Meeting という会議体について書こうと思います。 System Design M…

SECCON CTF 13 予選を開催しました (スコアサーバー編)

STORES 株式会社 技術基盤グループの id:atpons です。2024/11/23 〜 2024/11/24 にかけて、SECCON CTF 13 予選 のスコアサーバーの構築、運用を行いました。今回はその活動についてご紹介します。 SECCON について SECCON は日本の情報セキュリティコンテス…

IT 管理者が MacBook のバッテリー状態を知るためにやったこと

こんにちは、 STORES でコーポレートエンジニアをしている佐々木です。 コーポレートエンジニア が所属する IT 本部は、人事や労務といったいわゆるバックオフィスの部署と同じ PX 本部の中にあります。 PX は People Experience の略で、プロダクト開発がユ…

チームで定期的なプロダクト監視の取り組みをしている話

はじめに STORESでエンジニアをしているtommyです。 直近は、STORES レジ というプロダクトの開発に携わっています。 STORES レジ を開発しているPOSレジグループは、今年のはじめにできた組織です。 新しい組織には元々レジアプリに関わったことがないメン…

GraphQL のスキーマ更新を自動化する

GraphQL のスキーマ更新を自動化する こんにちは! STORES でソフトウェアエンジニアをしている @m0nch1 です。 STORES ではいたるところで GraphQL が採用されており、今や STORES のものづくりにおいては欠かせないものになっています。 GraphQL 関連の記…

JJUG CCC 2024 Fall に参加しました!

こんにちは! STORES 決済 のバックエンドエンジニアをしているしまだ(mii)です。 10月27日に開催された JJUG CCC 2024 Fall に参加してきました。STORES からは2名がセッション登壇、1名がLTをしました。 このブログでは、参加したメンバーの感想や印象に…

RubyConf 2024 参加レポート

こんにちは。2024年11月13日から15日にかけて、アメリカ・シカゴで RubyConf 2024 が開催され STORES からは3名が登壇しました。 ホテル内の立て看板 (photo by ko1) RubyConf はアメリカのタンパで 2001 年から開催されているシリーズとしては最も長い Ruby…

graphql-ruby エラーの設計と実装

yubrot です。2024年11月14日に、STORES.rb Railsのはなしというイベントでgraphql-ruby エラーの設計と実装について話しました。内容がブログ記事向きだろうということで、ブログで改めて解説したいと思います。 本記事で取り上げているコードを含めた、gra…

ストアーズはECの会社、ではなくこんな開発をしています

STORES でエンジニアリングマネージャーをしている morihirok です。 ストアーズはECの会社、ではない でも話したとおり、今でも STORES は EC の会社として認知されていることが多いです。 その誤解を解くべく、2024年1月にリリースされた 「予約システムと…

Go と GraphQLで作る組織管理基盤

こんにちは。プロダクト基盤グループの inari111 です。STORES の各プロダクトへ導入する共通基盤を開発しています。 私の部署内で2つ目の基盤プロダクトとなる組織管理基盤を作ったのでご紹介します。 社内では「maja(マヤ)」と呼ばれています。 この記事…

STORES Advent Calendar 2024 #STORESアドカレ

今年もアドベントカレンダーの時期がやってきました! 去年はかなりフライングしていましたが、今年は暦通り?やっていきます。 更新はXでもお知らせしますので、Xもフォローいただけると嬉しいです! https://twitter.com/storesinc_tech カレンダー 各記事…

STORES レジ ~ iOSインターン 体験記 ~

前座 始めまして,ちゃんくろです。 普段は大学に通いながらiOSエンジニアとしてインターンに参加させていただいたり,IT系学生団体Tech.Uniの運営をさせていただいたりしている中で2024年春のサポーターズ1on1できっかけをいただき,10月中旬から11月中旬に…

STORES Tech Conf 2024 "New Engineering"の映像制作の裏側【ep.32 #論より動くもの .fm】

CTO 藤村がホストするPodcast、論より動くもの.fmの第32回を公開しました。今回はSTORES Tech Conf 2024 New Engineeringのデザインを担当した遠藤と音楽を担当したykpythemind(以下、ykpy)と話しました。 podcasters.spotify.com 論より動くもの.fmはSpot…

GitHub OrganizationのSAML認証とSCIM統合を設定しました

こんにちは、コーポレートエンジニアの伊藤(ito2)です。PX部門 IT本部 コーポレートエンジニアリンググループに所属しています。 PXは、人事、採用、労務、広報、社内ITからなる部門で、人事はプロダクト開発と同じ、従業員と考えるのではなく、ユーザーと捉…

Kaigi on Rails 2024 参加レポート

Kaigi on Rails 2024、お疲れさまでした!STORES からは18名(+託児サポートとして4名)で参加、hogelogがランチタイムにワークショップをしたり、ykpythemindが登壇しました! ゴールドスポンサーとして託児サポートを提供したり、女性Rubyist向けのランチ…

Railsのテストコードで使われているNamed Routesを実行時に文字列に直した話

CTOの藤村です。最近はぜんぜんRailsを書いていません。ふとSuggestion: Use string literals instead of named routes or URL helpers in tests · Issue #328 · rubocop/rails-style-guideというIssueを見て、2年ほど前にやったことを思い出したので、今更…

STORES レジ の長年の負債を宣言的UIのエッセンスを取り入れて改善してみた

POSレジグループで STORES レジ という製品の開発をしている片桐といいます。今年の2月から、POSレジグループにサーバーサイドエンジニアとして参加したのですが、現在はサーバーサイドの開発と並行してアプリの開発にも参加しています1。 STORES レジ は、i…