STORES Product Blog
https://product.st.inc/
こだわりを持ったお商売を支える「STORES」のテクノロジー部門のメンバーによるブログです。
フィード

STORES Tech Conf 2026 “World 2” の見どころ紹介その3! 交流企画編
STORES Product Blog
またまたこんにちは!STORES でエンジニアをしている kitapashi です。STORES Tech Conf 2026 の運営メンバーでもあります。 さて、そんな STORES Tech Conf 2026 “World 2” の開催が今月末に迫って来ております! storesinc.tech TechConf内のコンテンツについて順に紹介している当ブログ企画。 初回の記事↓ではトーク・ポスター・ZINEといったコンテンツについて、 product.st.inc 前回の記事↓では 体験・展示ブースの内容とその見所について紹介がありました。 product.st.inc 第3回となる今回…
20日前

STORES は iOSDC Japan 2026 に協賛します!
STORES Product Blog
みなさんこんにちは STORES の @huin です。 8月にはいりいよいよ #新型iPhoneの足音 が近づいてきました(ように感じています)。 今年はどのモデルを買うか、みなさますでにお決まりでしょうか? はい、違いますね。 iOSDC Japan 2026 の季節がやってまいりました! iosdc.jp 今年も STORES はスポンサーとして応援させていただきます。 2020年?から通算6度目のスポンサーになります。 今年は諸般の事情でスポンサーブースは出さないのですが、カンファレンスを盛り上げたい!という気持ちは全く変わってません。 モバイルエンジニアはいつも通り全力参加させていた…
21日前

STORESはDroidKaigi 2026に協賛します!
STORES Product Blog
STORESはDroidKaigi 2026に協賛します! こんにちは!STORESでAndroidエンジニアをしている@tomorrowkeyです。 今年もこの季節がやってきました。STORESは2026年9月1日(火)〜9月3日(木)に開催されるDroidKaigi 2026 にスポンサーとして協賛します! 2026.droidkaigi.jp STORESは2022年から数えて、今年で5年連続の協賛になります。STORESではSTORES 決済、STORES 予約、STORES ブランドアプリ など複数のプロダクトでAndroidアプリを提供しています。STORES モバイルオーダー の…
21日前

今さらながら Liquid Glass 対応を話します
STORES Product Blog
気づけばもう iOS 27 が出る今になって、ようやく iOS 26 についての記事を公開します。STORES ブランドアプリの対応をする時、iOS 26 の不具合がどれもこれもかなり厄介で、本当に OS 側の問題なのか、そもそも自分がちゃんと直せているのかすら確信が持てないことが多かったからです。今やっとリリースして安定したため、その経験を共有します。 UIBarButtonItem もしあなたのアプリが SwiftUI ではなく UIKit で作られていて、かつ customView で UIBarButtonItem を組んでいるなら、あたりです。ここでは簡単なサンプルを用意して、何が起…
23日前

STORES Tech Conf 2026 “World 2” の見どころ紹介その2! 体験・展示ブース編
STORES Product Blog
こんにちは!STORES でエンジニアをしている kitapashi です。STORES Tech Conf 2026 の運営メンバーでもあります。 さて、そんな STORES Tech Conf 2026 “World 2” の開催が今月末に迫って来ております! storesinc.tech 前回の記事↓ではトーク・ポスター・ZINEといったコンテンツについて紹介がありましたが、STORES Tech Conf 2026では会場で見て・体験して楽しめるブースも多数用意しています! product.st.inc この記事では体験・展示ブースの内容とその見どころを紹介していきます。 プロダクト体…
1ヶ月前

STORES Tech Conf 2026 “World 2” の見どころ紹介その1!トーク・ポスターセッション・ZINE
STORES Product Blog
こんにちは!カンファレンスオーガナイザーを務める naberyo です。 いよいよ、STORES Tech Conf 2026 “World 2” の開催まで残り1ヶ月となりました。 storesinc.tech この記事では、当日の発表の見どころと、開催に向けた準備の様子をご紹介します。 発表の見どころ トーク キーノートを含む9名のスピーカーが登壇します。AI の時代にエンジニアリングとどう向き合うか。それぞれの視点から語られる、実践と思索をお楽しみください。さらに、登壇者に質問・相談ができる Ask the Speaker のコーナーもご用意します。 また、今回は新しい試みとして「直前枠…
1ヶ月前

人間業の充実と意思決定の質/フロントエンドのコードを人が見る時代を終わらせたい【ep.37 #論より動くもの .fm】
STORES Product Blog
CTO 藤村がホストするPodcast、論より動くもの.fmの第37回を公開しました。今回は2026年新卒入社エンジニアのsushichan044と、AIネイティブ世代の仕事の仕方、人間業の充実とフロントエンドのコードの品質について話をしました。 論より動くもの.fmは、Spotify、Apple Podcast、YouTubeで配信しています。フォローしていただくと、新エピソード公開時には自動で配信されますので、ぜひフォローしてください。 ページ移植職人とdotfiles駆動開発 藤村: こんにちは、論より動くもの.fmです。論より動くもの.fmは STORES のCTO 藤村が技術や技術じ…
2ヶ月前

新卒2年目のものづくり/最適化しやすい言語仕様を作りたい/市場に出回っていない野菜を育てるように自作ツールを作る【ep.36 #論より動くもの .fm】
STORES Product Blog
CTO 藤村がホストするPodcast、論より動くもの.fmの第36回を公開しました。今回は2025年新卒入社エンジニアの大塚と、ものづくりについて話をしました。 論より動くもの.fmは、Spotify、Apple Podcast、YouTubeで配信しています。フォローしていただくと、新エピソード公開時には自動で配信されますので、ぜひフォローしてください。 ホームディレクトリでClaude Codeを動かす日は来るか 藤村:こんにちは、論より動くもの.fmです。論より動くもの.fmは STORES のCTO 藤村が技術や技術じゃないことについてざっくばらんに話すポッドキャストです。今日は S…
2ヶ月前

STORES は iOSDC Japan 2026 に参加したい学生さんを支援します
STORES Product Blog
みなさまこんにちは、STORES モバイル開発本部の @marcy731 です。 今年もモバイル開発者にとってのお祭り、iOSDC Japan 2026 が 9月11日 (金) ~ 9月13日 (日) の期間で東京の有明セントラルタワーホール&カンファレンスで開催されます。 STORES では昨年に引き続き、iOSDC Japan 2026 に参加する学生のみなさんを対象とした参加支援を実施します。 iOSDC Japan は、全国のiOSエンジニアやモバイルアプリ開発者が集まる日本最大級の技術カンファレンスです。 iosdc.jp 全国の学生に、iOSDC Japan、iOSコミュニティの楽…
3ヶ月前

214ファイル、13,500行のHamlをERBに移行しReActionViewを採用
STORES Product Blog
こんにちは。Webエンジニアのotariidaeです。 STORES の一部システムでReActionViewをレンダリングエンジンに採用しました。この記事ではその導入の経緯と過程をご紹介します。 RubyKaigi 2026会場で導入を決意 ReActionViewはActionView互換のERBエンジンです。Herbツールチェーンを基盤としているため、HTMLとERBの構造を統一的に解析できるのが特長です。 最初にReActionViewを知ったのは昨年のKaigi on Rails 2025でした。作者のMarco氏のトークを聞いて強く惹かれたものの、当時はリリース直後の新しいツールで…
3ヶ月前

Herb LinterのカスタムルールでERBのよくあるミスを防ごう
STORES Product Blog
こんにちは。Webエンジニアのotariidaeです。 ERBの静的解析、していますか? Ruby on Railsを採用したシステムでも、最近ではフロントエンドはReactなどのUIライブラリで書くことが多くなりましたが、Railsの標準であるERBも引き続き使われています。 AIがソフトウェアの実装者になった現代において、アンチパターンや見落としやすい問題を弾く仕組みはますます重要です。そこで便利なのがHerb Linterです。 Herb Linterとは Herb Linterは、ERBツールチェイン Herbで構築された静的解析ツールです。先日のRubyKaigi 2026で作者のM…
3ヶ月前

Spinel で Optcarrot が動いた(暫定)
STORES Product Blog
こんにちは、フルタイムで Ruby の開発をしている遠藤(@mametter)です。 Spinel で Optcarrot を走らせることができた!?ので、その結果をご報告します。 Spinel とは 先日の RubyKaigi 2026 では、Ruby の AOT コンパイラである Spinel が発表されました。 Spinel は抽象解釈に基づいて Ruby コードの型を推定し、それに最適化した表現で Ruby コードを C 言語コードに変換します。 Matz 自ら作っていること、全面的に AI に作らせていることなどが話題です。 Spinel は TypeProf に着想を得て作られてい…
3ヶ月前

RubyKaigi 2026 に総勢35名で参加しました!みんなで書く感想レポート
STORES Product Blog
こんにちは、ima1zumiです。RubyKaigi 2026 お疲れさまでした!函館の海鮮が恋しい日々を送っています。 STORES はNursery Sponsorとして、託児所の企画・運営をしました。また、会期中にRubyKaigi 2026 STORES Quizを出題したり、STORES CAFE for WomenとSTORES CAFE at RubyKaigi 2026を開催したりと、盛りだくさんな3日間でした。エンジニア30名、PX4名、内定者1名の総勢35名で参加しました! このブログではRubyKaigi 2026に参加したメンバーから印象に残ったセッション、出来事につい…
4ヶ月前

RubyKaigi 2026 STORES Quiz 全問ネタバレ解説
STORES Product Blog
こんにちは。遠藤 (@mametter) です。 STORES は Nursery and Scholarship Sponsor として RubyKaigi 2026 に協賛していましたが、さらに "Ruby One-Liner Challenge" というゲームを公開しました。 会場で QR コード付きのカードを配布する形でこのゲームを配っていました。 受け取っていただいた方、遊んでいただいた方、ありがとうございました。 フレーズをドラッグ&ドロップで並べ替え、指定された出力を出す Ruby ワンライナーを組み立てるパズルです。 ブラウザ上で ruby.wasm が動いていて、実際に ev…
4ヶ月前

try! Swift Tokyo 2026に参加しました
STORES Product Blog
はじめに STORES 決済の iOS アプリ開発を担当している栗山(@kotetu)です。 try! Swift Tokyo 2026 が終了して 1 週間以上が経過しましたが、 3 日間お疲れ様でした!フル参加した自分にとっては今回も非常に濃い時間を過ごすことができました。 本日は、「STORES メンバーから見た try! Swift Tokyo 2026」というテーマで try! Swift Tokyo 2026 を振り返りました。 try! Swift Tokyo について try! Swift Tokyo は、Swift を利用する開発者向けの国際的なカンファレンスです。 Swif…
4ヶ月前

AI エージェント kuro の裏側
STORES Product Blog
こんにちは。技術推進本部の @shia です。前回は kuro の活動事例を紹介しましたので、今回はその裏側を解説していきます。 なぜ自作したのか 前回の記事を読んで「既存の SaaS やマネージドなエージェントサービスを使えばいいのでは?」と思った方もいるかもしれません。一応、いくつかの理由から自作という判断に至っています。 まず、開発着手した 2 月時点では利用できるサービスの選択肢がそもそも多くありませんでした。使えると考えたのは Devin くらいで、実際使ってもいましたが、 GitHub 上のやり取りに制約があったり、開発環境の都合などで当時はやや物足りなさを覚えてました。 次に汎用…
5ヶ月前

STORES Tech Conf 2026 “World 2” を2026年8月31日(月)に開催&学生向け参加支援をします
STORES Product Blog
こんにちは、技術広報のえんじぇるです。 2024年、2025年に引き続き STORES Tech Conf を今年も開催することになりました! 開催日時:2026年8月31日(月)13:00開始 開催場所:浅草橋ヒューリックホール&カンファレンス 参加費用:無料 参加申込みフォーム:https://forms.gle/ijyynGHpKmWuXo2z9 今年のテーマは“World 2”です。テーマについては、後述します。 前回の開催について STORES Tech Conf 2025 では、“What Would You Do?” をテーマに開催しました。オープン枠(学生・女性向け)を設けて、…
5ヶ月前

AI エージェント kuro が入社しました
STORES Product Blog
こんにちは。技術推進本部の shia です。最近はエーアイというやつと向き合っておりまして、その話の一つとして2月入社した新入 AI 社員の話をします。 AI エージェント とは、LLM(大規模言語モデル)に自律的に行動させる仕組みのことで、指示を受けたら自分でツールを使ったり判断したりしながらタスクをこなしてくれるものです。 この話は二つの記事で構成される予定で、今回は活動事例、次回はその裏側を紹介していきます。 社員紹介 kuro は 2026年2月入社しており、Slack と GitHub で活動しながら、我々の事業推進を多岐にわたる方法で手伝ってくれています。 わかりやすいので Git…
5ヶ月前

RubyKaigi 2026にSTORESから5名が発表、STORES Quiz でアクキーをプレゼントします
STORES Product Blog
こんにちは、STORES のえんじぇるです。 今年も STORES は RubyKaigi 2026 にNursery Sponsor および Scholarship Sponsor として協賛します! Nursery Sponsor は2024年から3年連続で、今年も小さなRubyistのみなさんに会えるのが楽しみです! Scholarship Sponsor として記載されているのは今年が初ですが、昨年度も学生支援を実施していました。 先日下見に行ったので、写真をまじえながら、STORES のRubyKaigi 2026への関わり方を紹介します。 函館空港でお出迎えしてくれたクマ🐻 登壇 …
5ヶ月前

Girls AI Scholarship by STORES 第3期生を募集します!
STORES Product Blog
プログラミング学習をたのしみながら続けるための支援として、AI活用によるプログラミング学習継続支援 Girls AI Scholarship by STORES の第3期生を募集します! STORES は、「2030年までに、エンジニア職における女性採用比率を30%以上にする」を目標に掲げ、これまでもSTORES Tech Girls Camp、Rails Girls Japanの協賛などテクノロジーのたのしさに「出会う」プログラムと、テックカンファレンスでの託児サポートや女性エンジニア向けランチ会など仲間と共に学びを「深める」ための活動をしてきました。 Girls AI Scholarshi…
6ヶ月前

WebMockでヘッダーにRSpecマッチャーは効かない
STORES Product Blog
こんにちは。Webエンジニアをしているotariidaeです。 「ひとつのSTORES」としてプロダクトの統合を進めてきた結果、システム間通信の実装が増えています。多くのシステムをRuby on Railsで構築している STORES では、こうした機能をテストする際、外部リクエストの扱いとしてWebMockやRSpecのテストダブルが主な選択肢となります。STORES では可能な限り実際の挙動に近い形で検証したいというスタンスから、原則としてWebMockを採用しています。 STORES はWebMock多用企業です。 RSpecのマッチャーが効く WebMockの .with ではRSpe…
6ヶ月前

STORES から1名が福岡Rubyist会議05で登壇&スポンサーとして協賛します
STORES Product Blog
こんにちは、技術広報のえんじぇるです。 STORES は、2026年2月28日に福岡で開催される福岡Rubyist会議05にスポンサーとして協賛します! この記事では、当日登壇するメンバーとブースについて紹介します。 登壇者の紹介 STORES からは、公募セッションとスポンサーセッションの2つの枠でメンバーが登壇します! セッション登壇 スピーカー: Shia 時間: 11:10-11:25 タイトル: 型を書かないRuby開発への挑戦 「型を書かなくても十分有用な型情報を得られる」を目標に開発中の LSP「type-guessr」について話します。 完全さを諦めることでいい感じの体験を目指…
6ヶ月前

計82登壇!2025年下半期 STORES エンジニアの登壇まとめ
STORES Product Blog
こんにちは、技術広報のえんじぇるです。 STORES では、登壇塾という登壇支援のワーキンググループがあり、エンジニアのみんなが社外で発信することを奨励しています。 2025年下期は27のカンファレンス・学会・イベントに82登壇しました!複数回登壇しているメンバーもいるのですが、ユニークで49名が登壇しました!各登壇の詳細をご紹介します。 7/8 第11回中部Tableauユーザー会 7/11 SRE NEXT 2025 7/13 CoLab Conf 2025 夏 7/30 技育CAMPアカデミア『Kotlin Multiplatform / Compose Multiplatform を活…
7ヶ月前

STORES はRubyKaigi 2026に参加したい学生さんを支援します
STORES Product Blog
こんにちは、技術広報のえんじぇるです。 4月22日(水)〜24日(金)にRubyKaigi 2026が北海道函館市で開催されます。 STORES では、RubyKaigi 2026に参加したい学生さんを支援させていただくことにしました!2025年に引き続き2度目です。 このブログでは、支援の概要と応募方法について案内します。 RubyKaigi とは RubyKaigiは、プログラミング言語 Ruby に関する世界最大級の国際カンファレンスです。Rubyの生みの親であるまつもとゆきひろさんをはじめ、世界中のRuby開発者、Rubyを利用しているエンジニアが集まります。 rubykaigi.or…
7ヶ月前

STORES 予約 i18n 翻訳対応 powered by GitHub Copilot
STORES Product Blog
はじめに こんにちは、 STORES でエンジニアをやっている yuta07 です。 すでに1年のうち12分の1が終わりそうなことに絶望を感じています。 今回は UX 改善の一環として、 STORES 予約で長らく放置してしまっていた i18n 対応の翻訳作業を GitHub Copilot を用いて対応したことについて書いています。 背景 STORES 予約の管理画面では、以前より i18n 対応を進めていました。 日本語以外に英語での利用も可能にはしていましたが、歴史的な経緯もあり、i18n 対応が十分とは言えない状態が続いていました。 *1 その結果、言語設定を外国語に切り替えても、多く…
7ヶ月前

fastlane match リポジトリを開発者証明書ダッシュボードに変える
STORES Product Blog
fastlane match リポジトリを 開発者証明書ダッシュボードに 変える STORES ブランドアプリチームで iOS エンジニアをしている榎本 ( @enomot_ ) です。 以前、「fastlane match の内部実装を活用して複数の iOS 開発者証明書の期限を一括チェックする方法」という記事で、暗号化された証明書ファイルから有効期限を取得する方法を紹介しました。この方法により、fastlane match で管理している証明書の期限をプログラムで確認できるようになりました。 product.st.inc 本記事では、前回紹介した証明書の期限取得の仕組みを発展させ、 fas…
7ヶ月前

App Links / Universal LinksにWeb対応してモバイル端末でネイティブアプリを開く
STORES Product Blog
こんにちは。STORES でWebエンジニアをしていますosdです。 今回はHTTP URLを介してユーザーにネイティブアプリを起動させる仕組みについて実装をしたので、仕様を交えつつWebサーバーとして配布する項目を中心に解説します。 App Links / Universal Links とは WebのURL エンドポイントを用いてシームレスにネイティブアプリを起動する仕組みです。 従来のディープリンクと呼ばれる技術は存在しましたが、以下の点で App Links / Universal Linksに優位性があります。 シームレスなアプリ起動が可能。(起動確認ダイアログなどのユーザーアクショ…
8ヶ月前

外部連携をイミュータブルに設計する:状態を持たず、事実を残す
STORES Product Blog
はじめに こんにちは。STORES でエンジニアをしているmochizukiです。 Webアプリケーションの開発では、外部システムと連携した機能を実装することがあると思います。 例えばAPIで外部システムのリソースを取得したり、Webhookで通知を受け取ったりして、業務ロジックに組み込むようなケースです。 このような開発を行う上で、「取得した情報をどう扱うか」は重要な論点の一つです。 少し分解すると、「取得した情報をこちらのシステムでも保持するのか」「保持するならどのような形で持つのか」といったことを考える必要があります。 私は今回、外部リソースの"状態"を「上書きして持つ」のではなく、受け…
8ヶ月前

プロと読み解くRuby 4.0 NEWS
STORES Product Blog
プロと読み解くRuby 4.0 NEWS テクノロジー部門技術推進グループの笹田(ko1)と遠藤(mame)です。Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、恒例のクリスマスリリースとして、Ruby 4.0.0 がリリースされました(Ruby 4.0.0 リリース | Ruby)。今年も STORES Product Blog にて Ruby 4.0 の NEWS.md ファイルの解説をします(ちなみに、STORES…
8ヶ月前

Ruby::Box ダイジェスト紹介(Ruby 4.0.0 新機能)
STORES Product Blog
こんにちは、遠藤(@mametter)です。 Ruby 4.0.0 では Ruby::Box が導入されました([Feature #21311])。 Ruby::Box は導入提案時には Namespace と呼ばれていたもので、Matz が「Namespace か ZJIT が入れば次のリリースを Ruby 4.0.0 とする」と RubyKaigi などで宣言していたくらい、肝いりの機能です。 ということで「なにやらすごい機能」という雰囲気だけは知っている人もいるかもしれませんが、実際のところ何ができるか、現状はどうか、は知らない人がほとんどだと思います。 そこで、遠藤が Ruby::Bo…
8ヶ月前