STORES Product Blog

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

Action Mailerに学ぶ闇の魔術と闇の魔術に対する防衛術

はじめに STORES 予約でエンジニアをやっている@ucksです。 大体年内にやりたかったタスクが捌けてきたので空いた時間でブログを書いています。 Railsからのメール送信でお世話になるAction Mailer。 インスタンスメソッドを定義しているのにクラスメソッド…

ジオコーディングとGeolocation APIを用いて店舗と現在地との距離を計算する

はじめに 初めまして、STORES でエンジニアをしているhiromu617です。この度、STORES では、STORES モバイルオーダーというサービスをリリースしました。 www.st.inc 今回は、STORES モバイルオーダー内に現在地から店舗までの距離を表示してみようと思いま…

モノレポでのVSCode Dev Container

STORES 予約 でエンジニアをしている水野です。VSCode Dev Containerを利用すると開発環境のセットアップが迅速化されたり必要なライブラリ、ツールをコード化できたりとメリットが多いため導入している現場も多いかと思います。 STORES 予約 でもVSCode Dev…

AlloyDBを業務システムのバックエンドとして利用するためのアイデア

はじめに fujiuです。この記事ではGoogle CloudのフルマネージドPostgreSQL互換データベースであるAlloyDBについて、業務システムのバックエンドとして利用する方法を紹介します。 AlloyDBはPostgreSQL互換なインターフェースを備えているためOLTPのユースケ…

モバイルオーダーを開発する中で役立った5つの取り組み

始めに STORES エンジニアの waniji です。このたび STORES では STORES モバイルオーダー というサービスをリリースしました。 www.st.inc 価値の高いプロダクトをスピード感を持って開発するため、チームでさまざまな取り組みを実施してきました。その中で…

GitHub の Sub-issues はいいぞ

GitHub の Sub-issues はいいぞ はじめに こんにちは! STORES でソフトウェアエンジニアをしている @m0nch1 です。 今回は GitHub issues に新しく追加された Preview 機能の1つである Sub-issues について紹介しようと思います。 Sub-issues は GitHub Pr…

自動化でスクラムを後押しする

こんにちは。STORES ブランドアプリ のバックエンドエンジニアをしているotariidaeです。2024年4月に新卒入社して初めてブログを書きます。 リモートワーク環境下でのスクラムイベントの課題 みなさんはスクラムをやっていますか?透明性・検査・適応を日々…

Oktaの SMS/音声認証終了に対応しました

こんにちは、コーポレートエンジニアの伊藤(ito2)です。 今回は、先日対応した Okta のSMS/音声認証の停止について書いていきます。同様のケースを検討される際の参考になれば幸いです。 以下、前置きです。 私は、PX 部門 IT 本部コーポレートエンジニアリ…

スクラム開発で行った改善の話

はじめに こんにちは、STORES のエンジニアの takeuchi です。 私が現在所属しているチームは2024年の春に新規に編成され、現在まで新規プロダクトの開発に取り組んできました。 このチームでは、スクラム開発を採用しています。2週間スプリントごとにスプリ…

KMP / CMPを使った新規プロダクトの開発

このたび STORES では STORES モバイルオーダー というサービスをリリースしました。 www.st.inc 名前からも想像できるように、店頭から離れた場所からもスマートフォンでテイクアウト注文できる特徴をもったサービスです。 注文するお客様にとって、移動中…

プロと読み解くRuby 3.4 NEWS

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

STORES レジ のビルド時間を改善したかった話

こんにちは! STORES レジ の開発をしている iOS / Android エンジニアの @satoryo056 です。 今回は STORES レジ のビルド時間を短縮するために実験したことを紹介します。 STORES レジ について STORES レジ (以下、レジアプリ)は iPadOS 専用のモバイル…

enableEdgeToEdge のデフォルト引数を理解しよう

こんにちは、naberyo(@error96num)です。今年4月に STORES へ入社し、 STORES ブランドアプリ のAndroidエンジニアをしています。 Androidエンジニアのみなさま、アプリのターゲットSDKは35に上げましたか? もし上げたなら、エッジツーエッジ対応もお済みで…

Passkeyの作成・取得に関するWebAuthn APIの重要オプション解説

はじめに こんにちは!@m11oです。 この記事はSTORES Advent Calendar 2024の17日目の記事です。今回はWebAuthn APIにおけるPasskeyの作成・取得に関する主要なオプションを網羅的に解説しようと思います。 というのも、自分がPasskeyを実装した際に、WebAut…

STORES 決済から別の現場に異動した話

はじめに こんにちは。 @nannanyです。 この記事はSTORES Advent Calendar 2024の12/20の記事です。 2024年の4月より、STORES 決済 のバックエンド開発を離れ、STORES内の別プロダクト開発に従事してきました。 現場移行に伴ってやったこと、変えたこと、感…