10X Product Blog

フィード

記事のアイキャッチ画像
10X SRE 現状報告 2025
10X Product Blog
お久しぶりです。SRE の @babarot です。2022年4月に書いた 10X に SRE Team ができるまでとこれから 以来、3年ぶり2度目の文章です。10X に SRE チームができてから3年以上が経ち、その間の活動や成果などについて沈黙しまくっていたのですが、振り返ると実に多くのことを達成してきました。最近は会社的にも嬉しいニュースがあり、これから更にやっていくぞ 🔥というフェーズに来ております。この3年間、黙々と頑張りすぎてアウトプットがなかなかできていなかったので、このブログ記事ではこれまでの SRE の取り組みを軽く紹介しつつ、今後はそれぞれのテーマに深ぼったネタを定期的に…
8日前
記事のアイキャッチ画像
イベント駆動設計を支える非同期処理について | お届けチーム取組紹介
10X Product Blog
前回記事で書いたように、お届けチームの扱うシステム領域ではさまざまな非同期処理が行われています。 product.10x.co.jp この記事では 非同期処理の採用するモチベーション 非同期処理の実現方法 を書いています。 非同期処理の採用するモチベーション 「領域間をまたぐ」 「同期処理をミニマルにしたい」 実現するためのoverview publish side subscriber side メッセージによる非同期処理を本番導入するまでに 1. gRPCのリクエストハンドラ内でプログラム上、同期的にイベントハンドラを実行する 2. gRPCのリクエストハンドラ内でプログラム上、非同期でイ…
1ヶ月前
記事のアイキャッチ画像
React Routerで始める新しい管理画面づくり
10X Product Blog
ソフトウェアエンジニアの金子(@naoty_k)です。 10Xでは、これまでネットスーパー事業者向けの管理画面(以下、管理画面v1)をNuxt.jsを使って開発・運用をおこなってきましたが、現在はReact Routerを用いた新しいアプリケーション(以下、管理画面v2)への移行を進めています。本記事では、なぜ移行することになったのか、どのように進めているのか、そして技術的な工夫とこれからの展望についてご紹介します。 移行の背景 これまで開発してきた管理画面v1はNuxt.jsをベースとしており、当時は迅速な開発に大きく貢献してくれていました。 しかし、数年の運用を経て将来的な拡張性やメンテナ…
2ヶ月前
記事のアイキャッチ画像
検索の並び順改善を加速する道のり
10X Product Blog
10X のソフトウェアエンジニア @metalunk です。 このブログでは、10X が提供する小売チェーン向け EC プラットフォーム Stailer での検索改善について説明します。今回は特に “並び順” にフォーカスした内容です。 対象読者は主に検索エンジニアですが、「並び順改善の下準備が大事」の章以外は専門知識は出てこないため、検索以外を専門とするソフトウェアエンジニアのみなさんにも読んでいただけるはずです。 また、Stailer を使っている小売事業者の方も、使っていない小売事業者の方にも、ネットスーパーにおける検索機能はどう改善されているのか、なにが難しいのかをこの記事を通じて知っ…
2ヶ月前
記事のアイキャッチ画像
LLMを活用した商品検索タグ自動生成とRecall改善の取り組み(BigQuery × Gemini)
10X Product Blog
はじめに 課題:情報不足による検索ヒット率の低さ 施策:LLMによる検索タグの自動生成と活用 なぜタグ生成か? 設計 JANコード単位での生成と管理 タグデータの更新について タグ生成の品質とリスク プロジェクトの進め方 1. PoC:タグ自動生成の実現可能性と品質検証 2. インデキシングの実装 3. 商品検索ロジックの評価とプロンプトチューニング 4. 検索ロジックの修正と本番リリース 5. 本番リリース後の効果測定 おわりに はじめに こんにちは、10Xで検索推薦の機能・基盤の開発運用を担当している安達(id:kotaroooo0)です。 10Xでは小売チェーン向けECプラットフォームS…
2ヶ月前
記事のアイキャッチ画像
技術的チャレンジへつながるピックパックのモジュール化 | お届けチーム取組紹介
10X Product Blog
はじめに 10X ソフトウェアエンジニアの鈴木です。 これからしばらく「お届けチーム取組紹介」と題して「イベント駆動アーキテクチャ」につながることを複数の記事に渡ってお伝えしていきます。 product.10x.co.jp お届けチームでは、 「ピックパック」というお客様から承った内容を元に、商品を売り場や在庫置き場からとってきて(ピック)、箱詰め(パック)する業務領域(以下ピックパック)のシステムを疎結合化することで、技術的な課題を解決することを目指してきました。 社内では「モジュール化」という言葉を使用して取り組んできましたが、これは「ピックパック領域のコードをお客様へ対面するためのコード…
3ヶ月前
記事のアイキャッチ画像
アプリを起動せずにアプリを開発して品質と生産性を上げる
10X Product Blog
先日、Flutter Tokyo #6 で同タイトルの発表をさせてもらいました。10分ほどの発表でしたが、割と良い反応をいただけたので、少し内容を補足してブログとしても公開します。 発表時のスライドは以下です。 前提 一般的に、モバイルアプリは自動テストしづらい箇所が多いと言われます。たしかに、画面から素朴に実装していくと、自動テストでは確認が難しくなりやすいです。そうなってしまうと、アプリを起動して手動で動作確認するしかなくなってしまいます。 一方で、設計やツールを適切に使えば、モバイルアプリであっても広範囲が自動テストで検証可能になります。手動での動作確認を完全になくすことはできませんが、…
3ヶ月前
記事のアイキャッチ画像
お届けチームがイベント駆動アーキテクチャを採用した理由
10X Product Blog
ネットスーパーで注文された商品が効率よく確実にお客さまのもとに届くためには、店舗でのピッキングやパッキング、配送といった業務が必要となります。この業務を支えるStailer上のアプリケーション開発を担っているのが、お届けチームです。 10x.co.jp お届けチームは昨年「イベント駆動アーキテクチャ」を導入する取り組みを行いました。イベント駆動アーキテクチャをどんな狙いで導入し、どんな成果が得られたのか。お届けチームの開発メンバーである鈴木さんに聞いてみました。 イベント駆動アーキテクチャ: イベント駆動アーキテクチャは、システム内で発生するイベントをトリガーにして処理を実行する設計パターン。…
3ヶ月前
記事のアイキャッチ画像
Devin AIの商品データパイプラインへの適用
10X Product Blog
はじめに 10X ソフトウェアエンジニアの野々村です。元々アプリケーション開発者としてサーバーサイドを中心に仕事をしてきましたが、最近は協業する小売事業者様から受領したデータをネットスーパーに掲載できる状態へ加工する商品データパイプラインの開発に主に携わっています。 10x.co.jp 10XでもDevin AIを利用し始めて1ヶ月程度が経ったので、適用事例と展望について紹介します。 前提 Devin AI とは Cognition AI社によって提供されるAIエージェントSaaSです。2024年12月に一般利用が開始され、各所で導入事例が紹介されています。 devin.ai Devin AI…
3ヶ月前
記事のアイキャッチ画像
アーキテクチャの変更をどうやって完遂するか
10X Product Blog
既存のアーキテクチャの問題が見えると、アーキテクチャを変更して解決すると思います。 それ自体は素晴らしいことなのですが、変更が全体に浸透し切らず古いアーキテクチャと新しいアーキテクチャが混在したままになってしまうと、状況はさらに悪化します。そのため、アーキテクチャを変更する時には、「どうやって完遂するか」もセットで考えるべきでしょう。 10Xの現状は? 混在しています。 自然と移行を完遂できる日は来なかったので、完遂する努力をしています。 完遂するための取り組み アーキテクチャの限界を漸進的に押し上げる取り組み で紹介した通り、10Xでは 以下の4ステップのサイクルを回してアーキテクチャを改善…
4ヶ月前
記事のアイキャッチ画像
しなやかなデータ連携に向けたdatacontract-cliへの貢献について紹介します
10X Product Blog
データ基盤チームに所属しているデータエンジニアの吉田(id:syou6162)です。10X社内のデータマネジメントの仕事をしています。 最近、チーム内外でData Contractを取り扱う機会が増えています。本エントリでは、Data Contractの実践にあたり利用しているdatacontract-cliというOSSをなぜ選定したのか、業務で利用するにあたり不足していた機能にpull requestを送って貢献した話を紹介します。 Data Contractの必要性: しなやかなデータ連携を実現したい datacontract-cliを通じて、しなやかなデータ連携を実現したい dataco…
5ヶ月前
記事のアイキャッチ画像
セキュリティチームの日々の取り組みの紹介 (10X アドベントカレンダー 2024)
10X Product Blog
10xall.notion.site 10Xセキュリティチームの沢田(@swdyh)です。10Xアドベントカレンダー2024 の26日目の記事です。昨日は@yutatatatata さんの「商品データの裏側を覗く:意外に知らない商品IDの世界」という記事でした。自分も商品データに関する開発をしていた時期がけっこうあったので、奥が深くて面白いなと思って読みました。 先日、情報処理安全確保支援士の試験を受けたのですが、今日が結果の発表日でした。結果は不合格でした。JavaScriptのコードができてたり、画面を描く問題あったりして面白く解いてたはずだったんですが、午後の点数が57点で、あと1歩でし…
6ヶ月前
記事のアイキャッチ画像
商品データの裏側を覗く:意外に知らない商品IDの世界
10X Product Blog
本記事は10Xアドベントカレンダー2024の25日目の記事になります。メリークリスマス!🎄 🎁 🎅 🤶 🧑‍🎄 昨日はエンジニアの@futaboooさんが、『10Xも子育ても4年目のソフトウェアエンジニアが人生初EMになった話』という記事を公開されています。 膨大な商品データを眺めていて思うこと 意外に知らない「バーコード」の話 JANコードとは GTINコードとは 違いのまとめ と、思うじゃろ? 商品の価格推移を出してみた 小売データは堀り甲斐がある 膨大な商品データを眺めていて思うこと こんにちわ!商品データチームの吉田(@yutatatatata)です。 私が所属するチームでは、ネットス…
6ヶ月前
記事のアイキャッチ画像
人生初の在職エントリー
10X Product Blog
この記事は10Xアドベントカレンダー2024の22日目の記事になります。 昨日はSREの栗原さんが、Google Cloud IAM一時付与システムを「作らなかった」話という記事を公開しています。 こんにちは。10X 在籍1年目のQAエンジニア、こじしょー @KojiShaw です。 私の10Xの推しポイントは「オープンチャンネルが多く透明性の高いSlack環境」です。 実は今日、誕生日を迎えました。新しい1年に新しいチャレンジということで「人生初の在職エントリー」と題して、1月に10Xに入社してからのこの1年を振り返ってみたいと思います。(記念すべき初めてのブログ記事執筆です。) 入社の経緯…
6ヶ月前
記事のアイキャッチ画像
Google Cloud IAM一時付与システムを「作らなかった」話
10X Product Blog
この記事は10Xアドベントカレンダー2024の21日目の記事になります。 昨日はBizdevの勝谷さんが「 全国のスーパーマーケットを回る10XのBizdevが出張で出会った美味しかったもの3選 | Notion 」の記事を公開しています。 はじめに こんにちは、10X在籍3年目のSREの栗原です。 今回は、以前に検討していたGoogle Cloud IAMの一時付与システムについて、その設計思想と最終的に「作らなかった」理由についてお話ししたいと思います。 作ろうとした理由と、作らなかった理由 弊社では、Google CloudのIAM管理をTerraformで一元管理しています。Terra…
6ヶ月前
記事のアイキャッチ画像
検索エンジニアとして入社して1年でやったこと
10X Product Blog
この記事は10Xアドベントカレンダー2024の18日目の記事になります。 昨日はJOJOさん(@joj0hq)が「10Xのエンジニアとして入社から2年目を振り返る」という記事を公開しているので、そちらもぜひご覧ください。 はじめに 取り組んだプロジェクト 類似商品検索の実装 新しい検索精度モニタリングの導入 トップ画面での推薦枠A/Bテスト アルゴリズム アーキテクチャ 検索系RPCのレイテンシ改善 ボトルネック 効果 Elasticsearchのバージョンアップ 課題 互換性の調査 リリース手順 バージョンアップによるパフォーマンス改善 これからの取り組み LLMの活用 リランキング おわり…
6ヶ月前
記事のアイキャッチ画像
「スピード」と「こだわり」を両立したい!shadcn/uiとTailwind CSSを活用したゼロからのコンポーネントライブラリ構築
10X Product Blog
こんにちは、10X プロダクトデザイナーの日比谷(@suuminbot)です。 現在10Xでは新規プロダクトを複数開発している真っ只中ですが、私もその一環でshadcn/uiとTailwind CSSを活用しつつ、SaaSのサービス画面(管理画面)用のコンポーネントライブラリをゼロから構築していました。 少し前に一通り最低限必要なコンポーネントをFigma・実装ともに作りきり、現在は実際にそのコンポーネントライブラリを使って自分自身が複数のプロダクトのUIを作ったり、開発が進んでいる様子を見ているところです。 このブログでは、今回取り組んだことや学びをご紹介していこうと思います。 新規構築の経…
6ヶ月前
記事のアイキャッチ画像
入社2年目QAの濃厚な日々
10X Product Blog
はじめに 個人的10Xの推しポイント これはどんな記事なの? 入社してからのざっくりとした経歴 各チームの特色とQAとしてやってきたこと お届けチーム 3Dセキュア対応 売場 / お客様体験 / お会計チーム 店舗 / 商品データチーム おわりに はじめに こんにちは。10X 在籍2年目のソントプ(@sontob8802)です。品質管理チームの一員としてQA業務に従事しています。 この記事は10Xアドベントカレンダー2024の13日目の記事になります。昨日はUraさんが、プロダクトマネージャー向け野良ダッシュボードの活用方法という記事を公開しています。 個人的10Xの推しポイント 今年のアドベ…
7ヶ月前
記事のアイキャッチ画像
プロダクトマネージャー向け野良ダッシュボードの活用方法
10X Product Blog
はじめに なぜ野良ダッシュボードを作ったのか? どうやって野良ダッシュボードを作ったのか? 作ったダッシュボードの一部紹介 1.特に役に立ったものたち 顧客体験系 生産性・店舗分類系 2.ちょっと役に立ったものたち ABテストモニタリング 新機能モニタリング 具体的に役に立った事例 評価と結果 得られた学び さいごに はじめに 10X在籍4年目、プロダクトマネージャーの@ysk_urです。 この記事は10Xアドベントカレンダー2024の12日目の記事です。 プロダクトマネージャーとして、機能をリリースした直後(翌日)や、企画案を検討しているときなどに直接データをいじって確認したくなる瞬間が多々…
7ヶ月前
記事のアイキャッチ画像
アーキテクチャの限界を漸進的に押し上げる取り組み
10X Product Blog
10X在籍8年目、取締役CTOのishkawaです。 この記事は10Xアドベントカレンダー2024の3日目の記事です。 メイン事業であるStailerは現在5年目です。 自分はプロダクト開発を統括する立場として、プロダクト戦略立てたり、開発プロセスの整備の旗振りをしたり、開発体制を調整したり、採用活動に奔走したりと、色々な取り組みをしてきました。そして今、何に注力しているかというと、コードの立て直しです。 なぜコードの立て直し? プロダクトを5年くらい開発していると、開発速度は当初と比べて落ち着いてきます。その要因は色々あると思いますが、自分は「事業やプロダクトのフェーズの変化による規模や複雑…
7ヶ月前
記事のアイキャッチ画像
10Xのプロダクトデザインの近況と、プロダクトデザイナー募集のお知らせ
10X Product Blog
10X プロダクトデザイナーの日比谷( @suuminbot )です。 10Xではしばらくプロダクトデザイナーの新規募集をクローズしていましたが、この度新たにプロダクトデザイナーを募集することになりました! しばらく外部発信できていなかったこともあり、この記事では最近のStailer、そして10Xでのデザインの近況についてまとめようと思います。 TL;DR Stailerのプロダクト開発はフェーズが変わり、新たなイシューを探索できるようになった Stailerの「価値の源泉」の1つはやはりUXにある 実は新規プロダクトも複数開発している デザイナーの専門性を持って「良いUX」を作るためのプロセ…
7ヶ月前
記事のアイキャッチ画像
プロダクトビジョンとプロダクト指針の作成
10X Product Blog
こんにちは、10Xでプロダクトマネージャーをしている@ysk_urです。社内のみんなの頭の中ではだいたい同じものを見ていたと思うのですが、改めてプロダクトビジョンとプロダクト指針を作成した話を今回は書こうと思います。 個人的には、「直接の顧客はtoBだけどtoCの生活をより便利に」、「ネットスーパーの歴史的経緯からの制約の設定」、「継続的なアップデートが必要」などのポイントが気に入ってます。 プロダクトビジョンとプロダクト指針作成の背景 プロダクトビジョン・プロダクト指針の作成プロセス 実際に作成したプロダクトビジョンとプロダクト方針の一部 プロダクトビジョン プロダクト指針 プロダクトが提供…
7ヶ月前
記事のアイキャッチ画像
trufflehogを活用したGitHub Organizationのcredentialsスキャン
10X Product Blog
こんにちは、セキュリティチームの@sota1235です。 突然ですが、ソフトウェアエンジニアの皆さんに質問です。他者に漏らしてはいけないAPI keyやSSHのprivate keyを誤ってGitHubにpushしてしまったことはありますか?私はあります。*1 日々、スピード感を持ってものづくりに臨んでいく中で本当はcommitしてはいけないものを間違ってcommitしたり、それに気づかずにGitHubにpushしてしまうなんてことは人間がミスをする生き物である以上、誰にでも起きえる事故です。 今回はそんな事故を検知するのにtrufflehogを活用しているお話をします。 なお今回は事故を未然…
7ヶ月前
記事のアイキャッチ画像
10X の推薦を作るチームと ML platform
10X Product Blog
10X ソフトウェアエンジニアの @metalunk です。ネットスーパー、ネットドラッグストアのプラットフォームである Stailer 事業で、機械学習(ML)と検索を専門として働いています。 2024年4月からいま(2024年8月)までの5ヶ月間で6つの推薦機能をリリースできました。この成果を支えたのはチームと ML platform(機械学習の基盤システム)です。このブログではチームの取り組み、ML platform の機能、および具体的な成果についてご紹介します。 このブログは技術ブログの体ではありますが、さまざまな業界、職種の方に読んでいただくことを目指して執筆しました。 (3) 章…
10ヶ月前
記事のアイキャッチ画像
GitHubで扱うPersonal access tokenの利用方法をセキュアにする
10X Product Blog
こんにちは、セキュリティチームの@sota1235です。 セキュリティチームでは昨年の夏頃からGitHub上のセキュリティリスクを洗い出し、順に対応や改善を行っています。 そのうちの1つとして、昨年の秋ごろからGitHubのPersonal Access Tokenの取り扱いの改善を行ってきました。 具体的には以下の取り組みを行いました。 CI等で利用されているPersonal Access Tokenの利用廃止 OrganizationにおけるPersonal Access Token(classic)の利用禁止設定 今回はこの2つの取り組みについて、どのような課題設定を行い、どんな手順で完…
10ヶ月前
記事のアイキャッチ画像
GKEでArgo WorkflowsにWorkflow Archiveを導入する
10X Product Blog
データエンジニア業務委託のjcです。 今回は、GKEでArgo WorkflowsにWorkflow Archiveを導入する話を共有します。 Argo Workflowを利用している方・利用検討中の方のご参考になればと思います。 Argo Workflowsとは Argo Workflowsは、Kubernetes上でJobを実行するためのワークフローエンジンです。 Kubernetesネイティブであるため、リソースの管理やスケールが容易であり、Airflowなどの他のワークフローエンジンとは異なり、別途計算リソースを用意したり、schedulerを設定したりする必要がありません。 ただし、…
1年前
記事のアイキャッチ画像
Stailerがスクリーンリーダーに対応するまでの道のり~Flutterでのスクリーンリーダー対応について、あるいはユーザビリティやユーザー獲得の話~
10X Product Blog
こんにちは、ソフトウェアエンジニアの@futaboooです。 先日スクリーンリーダーへ対応したプレスリリースを配信しました。今日はその裏側について紹介です。 10x.co.jp はじめに とあるパートナーのネットスーパーシステムをStailerへリプレイスして少しすると、お客様から「今まで使えていたのに使えなくなった!」という切実な声が届きました。この問い合わせを通じて、視覚障害者のお客様がスクリーンリーダーを使って買い物をしていたこと、そしてStailerがそのニーズに応えていないことに気づきました。 そこで、我々は視覚障害者のお客様へのヒアリングを開始し、どのような環境でアプリを使っている…
1年前
記事のアイキャッチ画像
GKE CronJobとcloud-sdk-goでElasticCloudのスケーリングを自動化しコスト削減した
10X Product Blog
はじめに 前提 背景と課題 対応方針 StailerのElasticsearchに関する特性 要件 スケールイン・アウトではなくスケールアップ・ダウン リソース負荷トリガーではなくスケジュールトリガー 設計 cloud-sdk-goでの処理 モニタリング おわりに はじめに こんにちは、検索エンジニアの安達(id:kotaroooo0)です。 10Xで検索基盤・検索機能の開発運用をしています。 最近は推薦システムの開発もちょっとやり始めました。 負荷に合わせてElasticsearch(ElasticCloud)をスケーリングする機能を作りコスト削減したので、その取り組みについて経緯と内容を紹…
1年前
記事のアイキャッチ画像
ディメンショナルモデリング勉強会を実施しました
10X Product Blog
データ基盤チームに所属しているデータエンジニアの吉田(id:syou6162)です。10X社内のデータマネジメントの仕事をしています。 最近、社内でディメンショナルモデリング勉強会を行なったですが、なぜ勉強会を行なったのか、どのように行なったのか、勉強会を行なった結果何が得られたかについてまとめます。 ディメンショナルモデリング勉強会開催の背景 勉強会の進め方やスコープ 勉強会の参加者 勉強会で学んだ内容 Four-Step Dimensional Design Process キーの設計について 複数スタースキーマを適切に利用し、ファントラップを避ける コンフォームドディメンション まとめ:…
1年前
記事のアイキャッチ画像
データマネジメント成熟度アセスメントを実施しました(2024年版)
10X Product Blog
データ基盤チームに所属しているデータエンジニアの吉田(id:syou6162)です。10X社内のデータマネジメントの仕事をしています。 10X社内では2022年10月にデータマネジメント成熟度アセスメントを実施していましたが、それから約一年半が経過し、データマネジメント上の課題が進捗 / 変化した箇所が出てきました。そこで、最近の成果を振り返りつつ今後のデータマネジメントの方針を改めて見直すため、データマネジメント成熟度アセスメントを再度行なうことにしました。本エントリではその内容についてまとめます。 前回のデータマネジメント成熟度アセスメントへの取り組み 今回のデータマネジメント成熟度アセス…
1年前