STORES Product Blog

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

2024-01-01から1年間の記事一覧

複数の検索条件をリアルタイムに判定するスマートリストの設計

こんにちは、STORES でエンジニアをしているmochizukiです。 STORES 予約 では、5月に「スマートリスト」という新機能をリリースしました。 このブログでは、このスマートリストを実現するために採用した設計と、その背景についてお話しします。 スマートリ…

基盤システムへの移行という複雑なプロジェクトに立ち向かっている話

こんにちは。情熱に駆動される世の中にしていきたいnasaです 最近エアコンをつけ忘れたまま眠りました。無事、熱中症になりました。36℃ ~ 38℃ を行き来する日々を過ごしていましたが、復活したので最近取り組んでいるプロジェクトについて書きます。 この記…

STORES 予約 をモジュラモノリス化しました!

STORES 予約 は 10 年モノの 45 万行、380テーブルある大きなモノリスの Rails アプリケーションです。 業種にとらわれない汎用的な予約システムであり、それらに対応するように複雑なコードベースになっています。また、ここ 1~2 年はプロダクト間連携を進…

データベースの値をちょっとだけ書き換えたら検索に数十分かかる様になって障害になった裏話

はじめに 2024年1月にリテール(ネットショップ・レジ)部門からサービス(予約)部門に異動になった @ucks です。 異動してからはスマートリストという機能の開発を行っていて、5月6日に無事リリースできたのと、開発途中で障害に至ってしまった部分があるので…

Remix x Cloudflare Workersで0->1

こんにちは、うしろのこです。直近1年ではVueから離れて、maja と呼ばれる組織管理基盤の新規プロダクトの開発をしていました。 プロダクトの話はこちら(maja)↓ note.st.inc 今回は、0->1における技術選定や開発中の工夫、結果どうだったかなどを書きます。 …

STORES ブランドアプリ のサポートOSを引き上げる取り組み

こんにちは、私は STORES ブランドアプリでiOSエンジニアをしている @marcy731 です。 STORES ブランドアプリ のiOSアプリではこの度、サポートする最低OSバージョンを iOS 15.0 から iOS 16.0 に引き上げることになりました。 本記事ではサポートするOSを変…

予約システムとひとつになったPOSレジアプリの技術的なチャレンジを振り返る

こんにちは! STORES レジ の開発をしている iOS / Android エンジニアの @satoryo056 です。 STORES レジ は今年1月に STORES 予約 との連携を開始しました! リリースから約半年が経ってしまいましたが、私が業務で iOS 開発を開始して以降初めての大型プ…

JJUG CCC 2024 Spring に参加しました!

こんにちは! STORES 決済 のバックエンドエンジニアをしているしまだ(mii)です。 6月16日に開催されたJJUG CCC 2024 Springに STORES のメンバーで参加してきました! 前回の2023 Fallに引き続きスポンサーブースを出展したほか、今回は STORES から2名が…

モバイルだより 2024夏号

みなさんこんにちは、モバイル開発本部の 坂田 / @huin です。 最近さまざまな方面から Creepy Nuts の R-指定さんに似てるといわれています。 存在自体が文化財な脳味噌っていわれてみたい人生でした。 いや、ワンチャンまだ余白はあるはず。 さて、前回の …

小さな PR を作成するための Tips

タイトル こんにちは! STORES 株式会社でエンジニアをしています、永尾です。 突然ですが、過去誰しもが不適切に大きな Pull Request によって悲しい気持ちになったご経験があるかと思います。 自分にもその経験があります。 皆様もご存知の通り、大きな Pu…

Ruby で一番呼ばれたり定義されたりするメソッドはなんでしょう、調べてみました!

テクノロジー部門で Ruby インタプリタ開発をしている笹田です。 Ruby ではメソッドを駆使してプログラミングをします。そんな Ruby を使っていると、一番使われているメソッド や 一番定義されているメソッド を知りたいと思ったことはありませんか? 私は…

JJUG CCC 2024 Springに登壇しました

概要 こんにちは。STORES のみなみ(nannany)です。 先日 JJUG CCC 2024 Spring で PCI DSSの観点から見たセキュアなJavaアプリケーション というタイトルで発表をさせていただきました。 この記事では、発表の内容には触れず、登壇するまでの出来事やふりか…

STORES でのGitHub Copilot Enterprise活用方法

2024年4月18日に『GitHub Copilot Enterprise 使ってますか? STORES での活用風景』を開催しました。イベントでお話した内容を文字起こし形式で紹介します。 hey.connpass.com Copilot Enterpriseを導入した経緯 hogelog:簡単に自己紹介させていただきます…

STORES でインターン、そして入社しました!

こんにちは!STORES 決済 チームでAndroidアプリ開発をしています、chukaです。2023年10月より内定者としてインターンし、2024年4月に STORES に新卒入社しました! 今回は、どうして STORES に入社を決めたのか、インターンや正社員として入社してみて実際…

Generative AI for Everyoneを受講してみた

こんにちは。STORES 開発企画室の上杉です。 なんとなく個人的なテーマで、生成AIの利用を社内に広めたいと思っています。この度、Courseraで公開されている Generative AI for Everyone という生成AIのコースを受けてみたので紹介してみたいと思います。 は…

Kotlin Fest 2024参加レポート

2022年から2年ぶりの開催となりました、Kotlin Fest 2024 に参加しました。 今回はオフライン開催のみということで、STORESでKotlinを活用しているAndroidエンジニアで、ブースに回ったり、セッションを見たり、参加しているほかのKotlinエンジニアと交流し…

RubyKaigi 2024で発表してきました & 発表できなかったこと

はじめに こんにちは、id:ahogappaです。 ここ最近ずっとRubyスクリプトのワンバイナリ化ついて模索しており、 zenn.dev zenn.dev 先日、ついにRubyKaigi 2024でこれまでの成果を発表してきました。 https://rubykaigi.org/2024/presentations/ahogappa0613.…

issueやPRに貼る動画を編集しよう!

蒸し暑い日々が続きますね。 こんにちは! STORES 決済 モバイルチームの Engineering Manager、 iOS アプリ・SDKの開発を担当しております。 いわいです。 みなさん、issueやPRを作成する時に動画を貼ったりしますよね? 折角貼るなら、ファイルサイズを軽く…

TypeScript v4.9からv5.5で追加された機能のおさらい

STORES 予約 エンジニアの水野です。STORES 予約 の店舗管理画面で利用しているTypeScriptをv4.8からv5.5にアップグレードしたので追加された主な機能をおさらいしようと思います。 satisfies (v4.9) v4.9で実装されました。 型アノテーションのように型付け…

コマンドラインでSVGファイルをVectorDrawableに変換する

こんにちは、STORESの @tomorrowkey です。STORES ブランドアプリの開発に携わっています。STORES ブランドアプリはお店ごとにオリジナルアプリを作れるサービスを提供しており、新しいアプリを作る機会が多くあります。そのため、スピーディに新しいアプリ…

WWDC24 に現地参加しました

はじめに こんにちは、STORES レジ予約アプリのエンジニアをやっている @nekowenです。 私は2024年6月8日から6月15日の間 WWDC24 に現地参加のためサンフランシスコへ渡航しました。 本記事では現地入りする前の事前準備から、一連のイベントを終えるまで、…

STORES社内でAndroidエンジニアが取り組んでいる勉強会

こんにちは、STORESの @tomorrowkey です。 STORESのモバイルチームでは社外向けに ebisu.mobile などの勉強会を主催していますが、社内においても盛んに勉強会がおこなわれる文化があります。 この記事ではSTORES社内でAndroidエンジニアが取り組んでいる勉…

RubyKaigi 2024で託児サポートを実施しました〜準備から実施までの記録〜

こんにちは、技術広報のえんじぇるです。STORES はRubyKaigi 2024でNursery Sponsorとして、0歳(首すわり完了、生後3・4ヶ月頃)~12歳までを対象とした託児所の企画運営をしました。3日間で合計23名のお子さんをお預かりし、保護者の方がRubyKaigiに集中で…

Android処理切り替え大全

はじめに STORES 決済 のAndoridアプリを開発している id:n-seki です。 突然ですが、Androidアプリ開発をしていると何かしら「処理を切り替えたく」なることって多くないですか? 「debuggable = trueのときだけXXしたい......」 「バリアントAでビルドした…

STORES から2名がJJUG CCC 2024 Springに登壇&ブーススポンサーをします

こんにちは、技術広報のえんじぇるです。 STORES は6月16日に開催されるJJUG CCC 2024 Springに STORES から2名が登壇&ブーススポンサーとして協賛します! ccc2024spring.java-users.jp この記事では、登壇者、ブースでの企画やノベルティについて紹介しま…

Compose Compiler Metricsを使った実践的なコードレビュー

はじめに こんにちは、STORESの @tomorrowkey です。STORESでは STORES ブランドアプリ の開発を行っています。 4月19日に開催された Ebisu.mobile #5〜モバイルアプリの品質改善どうしてる?〜 でお話しした「Compose Compiler Metricsを使った実践的なコー…

STORES 決済 Androidチーム式 Composeルールブック!

STORES 決済 Androidチームは今、絶賛Compose中です! こんにちは、STORES 決済 Androidチームのみっちゃんです。 最近、決済AndroidチームではUIをAndroid ViewからJetpack Composeに移行し始めました。まだ始めたばかりで、チーム全員がComposeに精通して…

DatadogのCustom Instrumentationを活用した話

STORES 予約 でバックエンドエンジニアをしているaao4seyです。 先日、 STORES 予約 でスマートリスト1という機能をリリースしました。この機能の中で、一部パフォーマンス懸念があり、DatadogのCustom Instrumentationを活用し該当処理の実行時間を計測しま…

STORES はGo Conference 2024にBronzeスポンサーとして協賛します

こんにちは、技術広報のえんじぇるです。 STORES は、6月8日に開催されるGo Conference 2024にBronzeスポンサーとして協賛します。 Go Conference 2021 Autumn、Go Conference 2022 Spring、Go Conference 2023に続き、今回で4回目の協賛です。 gocon.jp STO…

予約フローのリニューアルを行いました

こんにちは、STORES 予約 でエンジニアをしている@tontokoです。 STORES 予約 では、お客さまが予約を入れるための予約フローをリニューアルしました。この記事ではその内容を少しご紹介します。 予約フローとは STORES 予約には大きく2つの画面があります。…