STORES Product Blog

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

TRICK 2025 の mame のプログラムを語る

こんにちは、遠藤(@mametter)です。RubyKaigi 2025 では、変なコードで競い合う TRICK 2025 を開催しました。あらためまして、たくさんの投稿をいただき、本当にありがとうございました。 いまさらですが、自分が書いたプログラムについて語りたくなったの…

Compose Multiplatform における iOS ネイティブ実装の取り組み

こんにちは。STORES でiOSエンジニアをしている榎本 (@enomot_ )です。 STORES では、 KMP/CMP を用いて Android, iOS のマルチプラットフォームアプリ開発を行なっています。 *1 本記事では、Kotlin Multiplatform(KMP)と Compose Multiplatform (CMP) を…

クエリを用いたプロダクトの値決めシミュレーション

こんにちは、STORES でデータアナリストをしているsueshigeです。 STORES では2025/3から従来のプロダクト単位の料金プランとは大きく異なる複数プロダクトをまとめた新料金プランの提供を開始しました。 料金プランを決定するにあたり月額料金と決済手数料…

意外と知らないホームアプリの作り方

夏のような日差しの日があったり、大雨の日があったり、忙しい天候ですね。子どもたちと昆虫採集に行く機会が増えてきたのですが、飛んでいる虫はなかなか捕まえられず、思い付きで虫取り網をDIYしました。アルミワイヤーで枠を作り、網部分は洗濯ネットをぬ…

プルリク数を増やすために考えたこと、やったこと、思ったこと。

開発速度を上げよう こんにちは、STORES 決済 Androidエンジニアのみっちゃんです。 2025年上期、STORES テクノロジー部門では、目標の一つに「開発速度向上」を掲げていました。 この方針を踏まえ、個人としてどのような目標を立てるか考えた際、自分のプル…

決済アプリの SwiftUI 導入に伴う取り組み 〜 アーキテクチャ変更について 〜

はじめに @kotetu こと栗山です。今年の 4 月に STORES に入社しました。今回が、入社して初めての担当記事となります。 今回は、筆者が開発を担当している STORES 決済 の iOS アプリ (以後、 "決済アプリ" と記載) の開発チームで現在進行形で実施している…

`Ractor::Port` ― Ractor の API を一新した話

本稿では、Ruby で並列処理を手軽に実現するための機構 Ractor の API について、以前から気になっていた部分を最近になって一新し、`Ractor::Port` というものを導入したので、その内容をご紹介します。

生成AI×社会課題 Tech Conferenceに協賛します

STORES は6月21日(土)に開催される 生成AI×社会課題 Tech Conference に協賛します! wake-career-socialai-hackathon-2025.studio.site スポンサーブース 当日は STORES のスポンサーブースを出展します。 ブースでは、STORES を利用されているhanami sem…

たまにはTLVのLについて語る

はじめに はじめまして、こんにちは。STORES 決済 でAndroidエンジニアをしている n-seki です。 というわけでAndroidの技術記事……を書こうと思ったのですが、決済に携わっているエンジニアとして、たまにはTLVについて書いてみようと思います。 TLVとはなに…

WWDC25に参加してきました!〜現地参加編〜

こんにちは! STORES レジ・STORES 予約 の開発をしている iOS / Android エンジニアの @satoryo056 です。 なんとこの度 WWDC に当選しまして、約1週間アメリカに出張してきました! 本記事では、WWDC25 に参加してきた様子を現地の写真を添えながら振り返…

iOS アプリからローカルサーバーへ接続する道のり

STORES ブランドアプリの iOS アプリ側を開発している Megabits です。 STORES ブランドアプリはアプリとサーバーの連動で成り立っています。なので、アプリを開発するとき、サーバーへ接続してデバッグすることがほどんどです。逆に、バックエンドを開発す…

2ヶ月の『開発合宿』で見えたもの - 出社を銀の弾丸にしないため

はじめに STORES株式会社でエンジニアをしています id:HolyGrail です 2025年2月から4月頭にかけて、私たちのチームは普段のリモートワーク主体の働き方から一転、全員出社での開発を行いました。ミッションは、3月27日にリリースするSTORES の新プランの開…

STORES 決済 アプリを譲渡したら最後に落とし穴があった

もう夏なんですかねー。 夏大好きです。 こんにちは! STORES 決済 モバイルチームの Engineering Manager、 iOS アプリ・SDKの開発を担当しております。 いわいです。 なぜアプリ譲渡したのか STORES 株式会社は、 複数の事業会社が集まった会社です。 STOR…

STORES レジで遭遇した 12 桁バーコード読み取りの謎

こんにちは、 yu です。前回はインターン生としてブログを書きましたが、今回は内定者アルバイトとしてブログを書いていきます。 STORES レジには、会員バーコードやアイテムのバーコードを読み込むスキャン機能があります。 しかし、そのスキャン機能では 1…

潜在的なデータ競合をなくすための取り組み

こんにちは、STORES 決済 でiOSアプリを開発している @nekowenです。 マルチスレッドプログラミングは難しいと言われますが、その理由の1つとして、データ競合(data race)があります。 データ競合は複数のスレッドが同じ共有データに同時にアクセスし、少な…