STORES Product Blog

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

STORES はRubyKaigi 2026に参加したい学生さんを支援します

こんにちは、技術広報のえんじぇるです。 4月22日(水)〜24日(金)にRubyKaigi 2026が北海道函館市で開催されます。 STORES では、RubyKaigi 2026に参加したい学生さんを支援させていただくことにしました!2025年に引き続き2度目です。 このブログでは、…

STORES 予約 i18n 翻訳対応 powered by GitHub Copilot

はじめに こんにちは、 STORES でエンジニアをやっている yuta07 です。 すでに1年のうち12分の1が終わりそうなことに絶望を感じています。 今回は UX 改善の一環として、 STORES 予約で長らく放置してしまっていた i18n 対応の翻訳作業を GitHub Copilot を…

fastlane match リポジトリを開発者証明書ダッシュボードに変える

fastlane match リポジトリを 開発者証明書ダッシュボードに 変える STORES ブランドアプリチームで iOS エンジニアをしている榎本 ( @enomot_ ) です。 以前、「fastlane match の内部実装を活用して複数の iOS 開発者証明書の期限を一括チェックする方法」…

App Links / Universal LinksにWeb対応してモバイル端末でネイティブアプリを開く

こんにちは。STORES でWebエンジニアをしていますosdです。 今回はHTTP URLを介してユーザーにネイティブアプリを起動させる仕組みについて実装をしたので、仕様を交えつつWebサーバーとして配布する項目を中心に解説します。 App Links / Universal Links …

外部連携をイミュータブルに設計する:状態を持たず、事実を残す

はじめに こんにちは。STORES でエンジニアをしているmochizukiです。 Webアプリケーションの開発では、外部システムと連携した機能を実装することがあると思います。 例えばAPIで外部システムのリソースを取得したり、Webhookで通知を受け取ったりして、業…

プロと読み解くRuby 4.0 NEWS

プロと読み解くRuby 4.0 NEWS テクノロジー部門技術推進グループの笹田(ko1)と遠藤(mame)です。Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 …

Ruby::Box ダイジェスト紹介(Ruby 4.0.0 新機能)

こんにちは、遠藤(@mametter)です。 Ruby 4.0.0 では Ruby::Box が導入されました([Feature #21311])。 Ruby::Box は導入提案時には Namespace と呼ばれていたもので、Matz が「Namespace か ZJIT が入れば次のリリースを Ruby 4.0.0 とする」と RubyKai…

Ruby on Rails と Spring に実務で携わっての開発体験の比較

Ruby on Rails と Spring に実務で携わっての開発体験の比較 RailsエンジニアとしてWebアプリケーション開発を続けてきた自分が、 はじめて本格的に Springのプロダクトに参加しました。 この記事では Rails, Spring のフレームワークの解説はせず、 Rails …

DroidKaigi 2025に登壇しました!振り返り!!

こんにちは、STORES 決済のAndroidアプリを開発しているchukaです。 12月ももう残りわずかですね…! 今回は、今年あった個人的最大の出来事、DroidKaigi 2025登壇について振り返っていきたいと思います! はじめに 私はDroidKaigi 2025で「はじめてのMateria…

複数端末間でのリアルタイム・ステータス同期の機能開発

メリークリスマス!Android エンジニアの naberyo(@error96num)です。 この記事は STORES Advent Calendar 2025 の 24 日目の記事です。 私が現在開発に携わっている STORES モバイルオーダー では、この1年間で多くの機能をリリースしてきました。イート…

育休中の過ごし方と、育休前後の働き方の変化について

はじめに こんにちは。STORES でBPRアーキテクチャグループでエンジニアをしているみなみ(nannany)です。 2025年4月に第一子が産まれました。そのため、今年4月から育児休暇を取得し、2025年10月に復帰しました。つまり、育休を6ヶ月いただきました。 育休、…

STORES Tech Conf 2025 参加レポートまとめ

こんにちは、技術広報のえんじぇるです。 2025年11月26日にSTORES Tech Conf 2025 “What Would You Do?” を開催しました! STORES Tech Conf 2025 “What Would You Do?” 開催レポート - STORES Product Blog 今回のSTORES Tech Confでは、学生のみなさんが参…

SFA環境を1つのSalesforceに統合する際のデータ移行時に考慮したこと

はじめに こんにちは、データ本部でデータエンジニアをやっている@takaHALです。 STORES では2025年8月、これまで2つ存在していたSalesforce組織と7個のkintoneアプリを、1つのSalesforce組織に統合しました。 今回は、この組織統合プロジェクトにおいて発生…

STORESにおけるTROCCOの導入と活用事例

こんにちは、データ本部のssxotaです。STORES でデータエンジニアをやっています。 STORES のデータ基盤では、2025年7月からデータ転送ツールである TROCCO を導入しました。 今回のブログでは、TROCCO導入の背景、ツール選定の理由、活用事例について紹介し…

iOS 26 で SwiftUI の ナビゲーションが壊れた - 非推奨 API が抱えていたリスク -

はじめに こんにちは、@marcy731 です。 STORES レジ のモバイルチームのマネージャー兼iOSエンジニアをしています。 この記事は STORES Advent Calendar 2025 の 19 日目の記事です。 stores.fun STORES レジ は、2019/9/11 にファーストコミットされ、 202…

モバイルアプリのリリースから振り返る STORES 決済 の 2025年

今年も気づけば師走っ!! こちらは STORES Advent Calendar 2025 の記事です。(何日目の記事なのかな?) product.st.inc 毎年恒例です 毎年師走に STORES 決済 のモバイルアプリのリリースを振り返っています。 product.st.inc product.st.inc product.st.in…

STORES におけるセキュリティエンジニアの仕事 - 検討、推進および執行

STORESのセキュリティ本部が担う業務範囲と、脆弱性診断の内製化・修正PR提出などの取り組みを紹介。あわせて、セキュリティベンダーから事業会社へ転職した際のギャップをまとめます。

ビルドプロセスを見直して Next.js 製アプリケーションのビルド時間を 10 分短縮

この記事は STORES Advent Calendar 2025 の 19 日目の記事です。 はじめに こんにちは、 id:sushichan044 です。 この記事では、直近で取り組んだ Next.js 製アプリケーションのビルドの高速化を振り返ります。 対象となったのは STORES 予約を利用する事業…

決済端末の開発を支えるディストリビューションツールを作った

こんにちは、@tomorrowkeyです。 STORESでは先日STORES 決済端末2をリリースしました。 www.st.inc 私もこのプロジェクトに関わっており、そのなかでSTORES App Distributionというツールを作った話を紹介します。 そもそもSTORES 決済端末2はどういう端末な…

「ひとつのSTORES」を目指す「Webエンジニア」としての働き方

STORES でWebエンジニアをしている kitapashi です。 この記事は STORES Advent Calendar 2025 の 18 日目の記事です。 STORES のプロダクト開発にとって、2025年は非常にドラスティックな変化を伴う1年だったと思います。この変化の中心にあったのは、下の…

社内イベントを撮影する技術

みなさんこんにちは。モバイル開発本部シニアマネージャーの @huin です。今日はモバイルと全く関係ない話です。 突然ですが私はカメラが趣味でして、真冬の北海道に流氷を撮りに行ったり、梅雨の男鹿半島に紫陽花を撮りに行ったりしています。また、長年ス…

Cloud Runのメモリが3日で枯渇!犯人は10万のGoroutineとgRPCクライアントだった話

はじめに この記事はSTORES Advent Calendar 2025の17日目の記事です。 顧客向けIdPを開発している佐野です。 本記事では、Cloud Run上で動作するGoサーバーで発生したメモリリークの問題と、その解決までの道のりを紹介します。 ある日、デプロイ後わずか3…

DependabotのPRをAIにマージさせよう

この記事はSTORES Advent Calendar 2025の16日目の記事です。 こんにちは。Webエンジニアをしているotariidaeです。今月は調子に乗って3つも記事を書いています。 この記事では、先日開催されたSTORES Tech Conf 2025 “What Would You Do?”でのポスター発表…

現在のページ状態を保持したまま別ウィンドウで決済を行う

こんにちは。STORES で Webエンジニアをしております、takeuchiです。 Webアプリケーションで決済を提供する場合、ユーザーはアプリから決済代行業者 (PSP) が用意した決済画面へ遷移します。 この決済画面でユーザーが支払い情報を入力し、クレジットカード…

脆弱性診断の取り組み

こんにちは。セキュリティ本部の yokoyama です。 セキュリティ本部では、「STORES プラットフォームに内在するセキュリティリスクを適切にコントロールする」をミッションに、日々さまざまな活動に取り組んでいます。 その活動の一環として、全サービスを対…

モバイルオーダーのエンジニアがお店にディープダイブするまで

この記事は STORES Advent Calendar 2025 の 11 日目の記事です。 STORESでWebアプリケーションエンジニアやってる染谷(somezi)です。現在はモバイルオーダーを開発しています。 STORES モバイルオーダーでは2025年4月時点で下記の課題を抱えていました。 店…

DMARC の取り組み

こんにちは。セキュリティ本部の yokoyama です。 セキュリティ本部では、「STORES プラットフォームに内在するセキュリティリスクを適切にコントロールする」をミッションに、日々さまざまな活動に取り組んでいます。 少し時間が経ってしまいましたが、2025…

アプリの行動ログを活用して静かな不具合を検知する

この記事は STORES Advent Calendar 2025 の 8 日目の記事です。 こんにちは、 STORES でレジアプリのモバイルオーダー周りの開発をしている yu です。 レジアプリでは、 Firebase Analytics を用いて以下のような粒度で行動ログを取得しています。 画面Aを…

データ基盤のメタデータ拡充をDevinに任せる

はじめに この記事は STORES Advent Calendar 2025 の10日目の記事です。 こんにちは、STORES でデータアナリストをしているyougaiです。 STORES ではデータの民主化を進めており、誰でも BigQuery や Metabase などのBIツールを触ることができます。また、…

Gitの代わりにJujutsuを使い始めて1ヶ月

この記事はSTORES Advent Calendar 2025の9日目の記事です。 こんにちは。Webエンジニアをしているotariidaeです。呪術廻戦は未履修です。 個人的にgitコマンドの代わりにJujutsu(jjコマンド)を使い始めてから1ヶ月ほどが経ちました。 この記事では実際に…