STORES Product Blog

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

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内の別プロダクト開発に従事してきました。 現場移行に伴ってやったこと、変えたこと、感…

Goのテストで GraphQL APIサーバのE2Eテストを書く方法

Go

はじめに こんにちは、STORESの高田です。 STORES には Go で実装した GraphQL API サーバがあり、そのプロジェクトでは Go のテスト内で E2E テストを行っています。今回はそのテスト方法についてご紹介します。 実装例 今回の E2E テストは CI でも実行し…

実装漏れをテストで防ぐ仕組み

実装漏れをテストで防ぐ仕組み STORES 予約 で Web エンジニアをしている osd です。 実装漏れの問題はプロダクト開発の中でも根本的な解決が難しい問題の一つだと思っていて、その問題を解決する一例として「複製機能の実装漏れを防ぐ仕組み」についてお話…

STORES レジにおけるSwift6移行対応

この記事は STORES Advent Calendar 2024 の16日目の記事です。 はじめに こんにちは、STORES レジ でアプリ開発している @nekowen です。 STORES のモバイルプロダクトは STORES レジ 以外に「STORES ブランドアプリ」「STORES 決済」「STORES 予約」が存在…

新卒1年目を振り返る!

こんにちは! STORES 決済 Androidチームのchukaです。 こちらはSTORES Advent Calendar 2024 16日目の記事です。 気がつけば12月ももう終わりですね。 2024年は私が新卒として STORES に入社し、たくさんの初めてに直面した1年でした。 せっかくなので、こ…

GraphQLの @oneOf ディレクティブの活用事例

STORES でバックエンドエンジニアをしている片桐です。 みなさんはGraphQLの@oneOfというディレクティブをご存知でしょうか? このディレクティブは、GraphQLの標準仕様においてBuilt-in Directivesへの追加が検討されている新しいディレクティブです。 RFC:…

go-cmp/cmp/cmpopts のオプション活用事例

Go

はじめに こんにちは、STORESの高田です。 今回は github.com/google/go-cmp/cmp のオプションの中から、実際のテストコードで使用頻度の高いオプションについてご紹介します。 基本的な使い方 cmp パッケージ用の汎用的なオプションは cmpopts package - gi…

net/http/httptest でHTTPクライアントをテストする方法

Go

はじめに こんにちは、STORESの高田です。 今回は net/http/httptest でHTTPクライアントをテストする方法についてご紹介します。 外部サービスのクライアントを含めたテストを実装する際には net/http/httptest を使うと、外部依存を排除しつつ再現性のある…

Dependabotを活用してライブラリのアップデートを効率化

はじめに こんにちは、STORESの高田です。 今回は Dependabot を用いてライブラリのアップデートに追従する方法についてご紹介します。 プロジェクト開始時に見落とされがちな物のうちの一つに、ライブラリのアップデートがあると思います。途中から更新に追…

一括登録機能実装における設計と実装

はじめに STORES 予約 で Web エンジニアをしている osd です。 今回は STORES 予約 で店舗一括登録を実装した際の設計、実装についてお話しします。 前提 なぜ必要とされているのか STORES 予約 では、事業者が店舗を追加する毎に開設手続きを行う必要があ…

2024年にチャレンジしたことを振り返るぞ

こんにちは! STORES 決済 Androidチームでお仕事しています。みっちゃんといいます。 こちらは STORES Advent Calendar 2024 の 12月19日の記事です! よろしくお願いします!! 12月なので2024年にチャレンジしたことを振り返ろうと思います。 2024年にチ…

データベースのJSON型をRailsらしく扱う方法の提案

データベースのJSON型をRailsらしく扱う方法の提案 この記事はSTORES Advent Calendar 2024の13日目の記事です。 はじめに STORES 予約のエンジニアの@ucksです。 なぜかブログはDBネタばかり書いていますが、今回もDBネタになります。 多くのRailsアプリケ…

Playwrightを活用したRESTful APIのシナリオテスト

はじめに こんにちは、STORESの高田です 今回は Playwright を用いて RESTful API のシナリオテストを実装したことについてご紹介します Playwright ではAPIの操作フローをプログラムで書けるため、想定利用ケースをコードで明示できる上、融通の効くテスト…

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

師走っ!! こちらは STORES Advent Calendar 2024 の 13日目の記事です。 product.st.inc なんだか毎日寒いですね! さて、毎年のように 決済 モバイルアプリのリリースから1年を振り返ってますが 今年もはりきって振り返りますよ。 ということで、こんにち…