PATも秘密鍵も管理せずにGoogle CloudからGitHub APIにアクセスする

Google Cloud上のアプリケーションからGitHub APIにアクセスするとき、PATあるいはGitHub AppのInstallation Access Tokenが必要となります。しかしPATはユーザに紐付くため管理が厄介ですし、Appを作れば秘密鍵の管理について考えなければなりません。 この…

GitHubへのメンバー追加をConftestでバリデーションする

GitHubのユーザーをTerraformで管理しているときの問題点 GitHubの組織メンバーやリポジトリのアクセス権限をTerraformで管理すると、誰がどのリポジトリにアクセスできるかがコードとして可視化され、変更にはPRとレビューが必要になります。手作業でポチポ…

GitHub Appの秘密鍵をGitHub Secretsから追い出す

10Xでは、GitHub Actionsのセキュリティ改善を段階的に進めてきました。もともとPAT(Personal Access Token)を使っていたところをGitHub App Tokenに移行し、さらにOcto STSを使ったToken運用の改善にも取り組んでいます。 そうした中で、まだGitHub Secre…

ネットスーパーでのLLM活用:お買い物AIのPoCから本番リリースまで

はじめに お買い物AIの概要 どんな機能か なぜ作るか 設計 LLMの責務 アプリケーションへのLLMの組み込み LLMモデルの選定 UX オンボーディング フィードバック セキュリティ 個人情報保護とログ設計 プロンプトインジェクションへの対策 ハルシネーションへ…

業務利用してるSaaSやWebサービスを把握する「ITサービスカタログ」について

こんにちは、こんばんは、おやすみなさい。id:sota1235です。 私は組織図上、セキュリティチームに所属しています。 ですが次の記事でも言及しているとおりここ1年弱の間はCorpIT業務も担っています。 10x.co.jp 本日はCorpIT業務を引き継ぎ、改善していく過…

Octo STSで実現する"いい塩梅"のGitHub App Token運用

10X Product Blog読者の皆さん、こんにちはこんばんは、セキュリティチームのyagihashです。 この記事は、10X 新春ブログリレー 2026の1月31日の記事です。 本日は掲題の通り、10Xで導入したOcto STSというGitHub App Tokenの管理のための仕組みについて、背…

セキュリティチームの輪読会についてご紹介

こんにちは、こんばんは、おやすみなさい。id:sota1235です。 この記事は10X 新春ブログリレー 2026の29日目の記事です。 新春というにはもう2月が目前に迫っている気もしますが細かいことは気にせず、今回は私が所属するセキュリティチームの取り組みである…

SRE×セキュリティ合同『技術改善キャンプ』で、Terraformレビューの一部をAIに任せられないか考えた話

SRE

10X SREの栗原です。 この記事は10X 新春ブログリレー 2026の1月28日分の記事です。 株式会社10Xでは、SREチームとセキュリティチームが合同で「技術改善キャンプ」を定期的に開催しています。 事業の優先度や日々の対応に押されがちな…でも大事なタスクへ、…

イベント駆動な非同期処理を支える運用について紹介 (CQRS+ES conf 2026の補足)

この記事は、10X 新春ブログリレー 2026の記事です。 鈴木です。2026年1月に開催されたCQRS+ES Conference 2026にて「ネットスーパー事業におけるCQRS+ES的アプローチの取り組み紹介」というタイトルで登壇しました。 cqrs-es-con.jp CQRS+ES conf 2026の当…

10Xが求めるQAエンジニア像と10Xで得られる体験〜「なぜJSTQBの資格保有が必須ではなく推奨なの?」の回答〜

QA

はじめに 品質管理チームのEMのブロッコリーです。 この記事は10X 新春ブログリレー 2026の1月25日分の記事です。 現在、品質管理チームではQA(Quality Assurance, 品質保証)エンジニアの募集をしています。 QAエンジニア / 株式会社10X 本記事では、今回…

ソフトウェアエンジニアとして今 10X に入社する理由

この記事は、10X 新春ブログリレー 2026 の 1月24日の記事です。 2026年1月 にソフトウェアエンジニアとして入社した @omuomugin です。 入社してまだ1ヶ月も経っていませんが、早くも毎日が新しい発見と刺激に満ちています。 この記事では、私が 10X に入社…

複雑なKubernetes Manifestに立ち向かうためのHelm移行と運用の工夫

SRE

この記事は10X 新春ブログリレー 2026の1月23日分の記事になります。 SREチームのid:horimislimeです。今回はチームでこれまでに取り組んできたことの1つとして、弊社Stailerの機能提供に使っているKubernetesのmanifest改善について紹介します。

チーム境界をメンテナンスし続ける営み

この記事は10X 新春ブログリレー 2026の1月22日分の記事です。 ドメインベースの開発体制から3年 10Xの開発チームがドメインベースの開発体制へ移行してから、約3年が経過しました。 product.10x.co.jp 改めて当時と比較してみると、認知負荷の増大やオーナ…

Cloud Pub/Sub の Ordering Key によるレースコンディションの解消(Firestore -> Elasticsearchのデータ同期)

この記事は、10X 新春ブログリレー 2026 の1月21日の記事です。 はじめに CXチームでソフトウェアエンジニアとして働いている@kotaroooo0です。 本記事では、FirestoreからElasticsearchへのリアルタイムデータ同期において発生したレースコンディションの問…

ドメインイベントのデータ上の扱いについて紹介 (CQRS+ES conf 2026の補足)

この記事は、10X 新春ブログリレー 2026の記事です。 鈴木です。2026年1月に開催されたCQRS+ES Conference 2026にて「ネットスーパー事業におけるCQRS+ES的アプローチの取り組み紹介」というタイトルで登壇しました。 cqrs-es-con.jp CQRS+ES conf 2026の当…

"攻めの開発"を支える安全安心なリリース

この記事は、10X 新春ブログリレー 2026の記事です。前日は、jojoさんによる「バージョンアップ手作業のつらみから解放された4つの自動化施策」でした。自動化って尊い! もう1月中旬!早いですね。 id:hisaichi5518 です。 2025年は、Stailer ネットスーパ…

バージョンアップ手作業のつらみから解放された4つの自動化施策

十数パートナーにまたがるdbt共通パッケージのバージョンアップ運用を、Renovate・Claude Code Review・差分検証・通知で自動化。手作業とレビュー負荷をほぼゼロにした4施策を紹介。

conftestによる自動レビュー

conftest は、Open Policy Agent (OPA) の Rego 言語を使って、構造化データ(YAML、JSON、Terraform、Dockerfile など)に対するポリシーテストを実行するCLIツールです。 よくあるユースケースとして、Kubernetes マニフェストや Terraform の設定ファイル…

OpenSSL x509 コマンドはPEMのフォーマットの検証まで行っていない

SRE

10X SREの栗原です。 この記事は10X 新春ブログリレー 2026の1月7日分の記事です。 OpenSSLのコマンドではエラーにならなくても、Google Cloud側の証明書アップロードで弾かれることがあるため、PEMを厳密に検証するステップを追加して再発を防いだ、という…

フルスタックDartからRustバックエンドへ

この記事は10X 新春ブログリレー 2026の1月5日分の記事です。 弊社が提供するネットスーパーのサービスは、モバイルアプリとWebはFlutterアプリ、バックエンドはDartのgRPCサーバーで実装されています。isomorphicではないですが、言語統一がされたフルスタ…

10X の CX (Cool Experience) チームで働きませんか

10X の CX (Cool Experience) チームの @metalunk です! この度、CX チームのバックエンドエンジニアの求人をはじめました。 バックエンドエンジニア(検索、推薦) / 株式会社10X このブログは当ポジションの魅力を紹介するための文章です。 その中で、CX …

イベントを活用したアプリケーション実装 | お届けチーム取組紹介

これまでシリーズの記事で書いたように、お届けチームの扱っているシステムはイベントを扱って非同期処理をしています。 product.10x.co.jp 非同期処理でイベントを扱うということは、イベントをモデルとして扱うのとセットです。 イベントは書き込み系で作…

「デフォルト値」の罠containerdのFD上限変更が教えてくれたk8sの教訓

SRE

10X SREの栗原です。 弊社ではGKEを利用しています。 GKEでは1.33からcontainerdが1.xから2.xにバージョンアップします。 Migrate nodes to containerd 2 | Google Kubernetes Engine (GKE) | Google Cloud Documentation それによる影響の調査をしていたと…

セキュリティチームの専門性を高める業務委託との協働

みなさんこんにちは、セキュリティチームの@sota1235です。 久々の会社ブログ投稿な気がしますが、今回は今までの記事とテイストを変えてセキュリティチームの成果にフォーカスしたいと思います。 背景から丁寧に書いていこうと思っているので前提パートが長…

10X SRE 現状報告 2025

SRE

お久しぶりです。SRE の @babarot です。2022年4月に書いた 10X に SRE Team ができるまでとこれから 以来、3年ぶり2度目の文章です。10X に SRE チームができてから3年以上が経ち、その間の活動や成果などについて沈黙しまくっていたのですが、振り返ると実…

イベント駆動設計を支える非同期処理について | お届けチーム取組紹介

前回記事で書いたように、お届けチームの扱うシステム領域ではさまざまな非同期処理が行われています。 product.10x.co.jp この記事では 非同期処理の採用するモチベーション 非同期処理の実現方法 を書いています。 非同期処理の採用するモチベーション 「…

React Routerで始める新しい管理画面づくり

ソフトウェアエンジニアの金子(@naoty_k)です。 10Xでは、これまでネットスーパー事業者向けの管理画面(以下、管理画面v1)をNuxt.jsを使って開発・運用をおこなってきましたが、現在はReact Routerを用いた新しいアプリケーション(以下、管理画面v2)へ…

検索の並び順改善を加速する道のり

10X のソフトウェアエンジニア @metalunk です。 このブログでは、10X が提供する小売チェーン向け EC プラットフォーム Stailer での検索改善について説明します。今回は特に “並び順” にフォーカスした内容です。 対象読者は主に検索エンジニアですが、「…

LLMを活用した商品検索タグ自動生成とRecall改善の取り組み(BigQuery × Gemini)

はじめに 課題:情報不足による検索ヒット率の低さ 施策:LLMによる検索タグの自動生成と活用 なぜタグ生成か? 設計 JANコード単位での生成と管理 タグデータの更新について タグ生成の品質とリスク プロジェクトの進め方 1. PoC:タグ自動生成の実現可能性…

技術的チャレンジへつながるピックパックのモジュール化 | お届けチーム取組紹介

はじめに 10X ソフトウェアエンジニアの鈴木です。 これからしばらく「お届けチーム取組紹介」と題して「イベント駆動アーキテクチャ」につながることを複数の記事に渡ってお伝えしていきます。 product.10x.co.jp お届けチームでは、 「ピックパック」とい…