STORES Product Blog

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

チキチキSwiftData入門

この記事は STORES Advent Calendar 2023 の29日目の記事です。 はじめに こんにちは、 STORES レジ iOSエンジニアmonolithic-adamです。 今日は誕生日の祝いでアドベントカレンダーの記事を書いています! 最近SwiftDataを遊んでみる時間作って、軽くSwiftD…

STORES 予約 におけるFullCalendarの活用事例

この記事は STORES アドベントカレンダーの12月20日の記事となります。 はじめに こんにちは、 STORES 予約 でエンジニアをしているyuta07です。 この度 STORES 予約 では、12月に予約カレンダーを正式リリースしました。 突然ですが、Web上でカレンダーの開…

オフラインカンファレンスのすゝめ

はじめに この記事は STORES Advent Calendar 2023 の28日目の記事です。 こんにちは! STORES 株式会社 リテール本部でエンジニアをしています、永尾です。 気がつけば 2023 年も残すところ 1 週間と少しです。 今年は感染症による規制が緩和され、オフライ…

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

師走!! こちらは STORES Advent Calendar 2023 の 28日目の記事です。 product.st.inc 年末ですね! さて、去年も年末に モバイルアプリのリリースから1年を振り返ったので 今年も振り返ります。 ということで、こんにちは! STORES 決済 モバイルチームの…

STORES 予約 コンテナ化への道のり 後編

はじめに この記事は STORES Advent Calendar 2023の 27日目の記事です。 STORES 予約 でバックエンドエンジニアをしているaao4seyです。 昨年 STORES 予約 はアプリケーション実行基盤をEC2からECS環境に移行しました。(以下ECS化と呼びます。)その際の設計…

認識を合わせるって難しい

この記事は STORES Advent Calendar 2023 の27日目の記事です。 こんにちは! STORES レジ ・ STORES 予約 のモバイルアプリを開発している iOS / Android エンジニアの @satoryo056 です。 先日、新卒1年目の頃以来久しぶりにストレングスファインダーを実…

サービス間でのpub/sub通信と一貫性

STORES でサーバーサイドエンジニアをしている片桐と申します。 STORES は元々別々の会社であったプロダクトが集まってできた会社です。各プロダクトのサービスは元々それぞれ独立したアプリケーションとして動いており、STORES プラットフォームとしてこれ…

STORES 予約 のデプロイフロー今昔

はじめに こちらは STORES アドベントカレンダーの12/15日分の記事となります。 STORES 予約 のバックエンドエンジニアをしている矢作です。 私がこのプロダクトの開発に携わり出してから約3年半ほど経過しております。 その中で何度かデプロイパイプライン…

STORESで異動した話

STORESで異動した話 * 本記事は STORES Advent Calendar 2023 25日目の記事です こんにちは、STORES でバックエンドエンジニアをやっている id:ahogappa です。 今年の10月からブランドアプリチームからネットショップチームへ異動したのですが、同じ STORES…

Passkeys を完全に理解するために Rails で実装してみた with Remix

昨今 Passkeys が各サービスで導入されており、勢いを感じています。Passkeys の実際の挙動や導入する時の開発コストを知りたく、ガチャガチャ触ってみよう!ということで完全に理解するために Rails で実装してみた with Remix 編をやっていきます!

プロトタイプを作って問題を早期に発見していく

STORES のバックエンドエンジニアとして働いている sgr です。 今回は機能開発時にプロトタイプを作ることで不確実性を減らしたよーという話をします。 この記事は STORES Advent Calendar の 12 日目です。 プロトタイプを作って問題を早期に発見していく …

SRE チームがバックエンドチームと合流した話

はじめに こんにちは、エンジニアの shibuya です。STORES では2023年アドベントカレンダーを連載しており、その中の12/08分の記事となります。 STORES のネットショップ部門では 元々 SRE チームと バックエンドチーム、フロントエンドチームが分かれていま…

顧客詳細リニューアルでの予約来店履歴のcache tableを作成した話

はじめに この記事はSTORES Advent Calendar 2023 20日目の記事です。 こんにちは。STORES 予約 のweb開発をしていますosdです! 今年の10月に STORES 予約 では顧客詳細画面のリニューアルしました。 顧客詳細画面 左:旧 右:新 そこで今回は顧客詳細画面の…

Visual regression testingを導入してみた

はじめに この記事はSTORES Advent Calendar 2023 19日目の記事です。 こんにちは、 STORES 予約 でエンジニアをしている@tontokoです。 STORES 予約 の開発チームでは月に1回、コードクリーニングタイムと呼ばれる日を設けています。 これは普段なかなか手…

RealmからGRDB.swiftへリプレイスした話

はじめに この記事はSTORES Advent Calendar 2023 19日目の記事です。 こんにちは、STORES レジ チームのnekowenです。 STORES レジ アプリでは一部の設定値をRealm Swiftを使って管理していましたが、この度GRDB.swift(以下、GRDB)へ置き換えてリリースしま…

BeerBashおよびRookiesCafeを開催しました

BeerBashおよびRookiesCafeを開催しました! この記事は STORES Advent Calendar 2023 の18日目の記事です。 こんにちは、私は STORES ブランドアプリでiOSエンジニアをしている @marcy731 です。 iOSアプリ開発だけでなく、エンジニアの中途採用やポテンシ…

開発者向けAPIのリリースに向けて検討したこと

* 本記事は STORES Advent Calendar 2023 15日目の記事です こんにちは。STORES ネットショップ のエンジニアをしております、takeuchiです。 STORES ネットショップ では2021年10月から開発者向けAPIを提供開始しました。 officialmag.stores.jp この記事で…

オーダーデータの再設計と移行

* 本記事は STORES Advent Calendar 2023 14日目の記事です STORES でバックエンドエンジニアをやっている @ucks です。 Advent Calendar やろうぜとなって取り敢えず参加表明したものの、全然ネタが思い付かず。 どうでも良いことを書いてやろうと思ってた…

新しいGoogle Play Developer APIを使えるようにする方法と誰もハマらない罠

この記事はSTORES Advent Calendar 2023の14日目の記事です。 こんにちは、@tomorrowkey です。 STORES ブランドアプリでは、オーナーさんのアプリを作成しリリースの管理まで担っています。 全アプリを手作業でやっていてはコストがかかりすぎるので、Andro…

RubyKaigi登壇のきっかけ。締め切り駆動から楽しい駆動へ。【Rubyistめぐり vol.4 ima1zumiさん 後編】

Rubyist Hotlinksにインスパイアされて始まったイベント『Rubyistめぐり』。第4回はima1zumiさんをゲストに迎えて、お話を聞きました。こちらは後編です。 hey.connpass.com フィヨルドブートキャンプでのつまずきポイントはRails 藤村:フィヨルドブートキ…

メインフレームの世界の面白さ。初めてのプログラミングは紙?!【Rubyistめぐり vol.4 ima1zumiさん 前編】

Rubyist Hotlinksにインスパイアされて始まったイベント『Rubyistめぐり』。第4回はima1zumiさんをゲストに迎えて、お話を聞きました。こちらは前編です。 hey.connpass.com メイプルストーリーでタイピング力を鍛える 藤村:Rubyist Hotlinksってコンテンツ…

Cloud SQL Enterprise Plus エディションにおけるマイナーバージョンアップ時のダウンタイムについて

SRE

はじめに テクノロジー部門プロダクト基盤本部の石坂です。 この記事は STORES Advent Calendar 2023の11日目となります。 2023年7月13日に Cloud SQL の Enterprise Plus のエディション (以下、Enterprise Plusと記載) が一般公開となりました。ドキュメン…

年末に向けた大掃除 〜Androidアプリのライブラリバージョンアップ〜

こんにちは、モバイルアプリエンジニアのnekoです。 今回は STORES ADVENT CALENDAR 10日目の記事として、先日行ったKotlinを始めとしたAndroidアプリのライブラリバージョンアップの話を書きたいと思います。 概要 まず、概要として、主なバージョン変更箇…

Javaで書かれたライブラリをKotlinに書き換えるときに考慮したいこと

はじめに こんにちは、STORES 決済 の Androidアプリ・SDKの開発をしている id:n-seki です。 ......この一文はよく使う紹介文なのですが、気がついたことはありませんか? そうです、アプリだけではなくSDKの開発もしています! STORES ではこのSDKを「決済…

#rubykaigi_uragawa で伝えたかったこと。RubyKaigi 2023 スポンサーとしてのふりかえり

こんにちは、技術広報のえんじぇるです。STORES ADVENT CALENDAR 8日目を担当します。 先日11/16に開催された『各社の技術広報が明かす「RubyKaigiスポンサーの裏話」運営ノウハウやコミュニティへの想い』に登壇しました。今回は登壇でお話した内容と質疑応…

STORES はKaigi on Rails 2023に参加しました!みんなの感想ブログ

STORES はKaigi on Rails 2023に16名で参加&スポンサーをしました! こんにちは、 STORES のかつまたです。Kaigi on Rails 2023お疲れさまでした! STORES はゴールドスポンサーとして協賛しました。オフラインでの参加も可能なイベントということで STORES…

STORES 決済 の MySQL をバージョンアップしました

こんにちは! STORES 決済 のバックエンドエンジニアをしているしまだ(mii)です。 先々週はバックエンドのみんなで JJUG CCC*1 に参加してきました。お祭りのようでとても楽しかったです。 気付いたらアドベントカレンダーの時期になっていたので、9月に実…

スマホアプリの脆弱性診断って何するの?(iOS編)

公開ナレッジの少ない「スマホアプリ診断」の内製化。本記事では、「スマホアプリ診断って実際何をすればいいのか」と疑問を持つ方をターゲットとして、一般的なスマホアプリ診断の検証要件や検証方法について解説します。

Sentry の fingerprint を活用してエラー整理をした話

*本記事は STORES Advent Calendar 2023 5日目の記事です こんにちは。リテール開発本部に所属しています、tommy です。 STORES では、エラー監視ツールとして Sentry を導入して、日々開発をしています。 sentry.io 今回は、直近外部サービスのAPIを利用す…

パスキーは何を解決するのか

近年、パスワードレス認証として「パスキー」が話題です。実際パスキーは他の認証要素と比較してどんな点が優れているのでしょうか。 この記事では、パスキーと他の認証要素のセキュリティ面での比較などを行い、パスキーの利点について解説します。