サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 17
techblog.zozo.com
はじめに こんにちは、ZOZO New Zealandの中岡です。普段はZOZOMAT/ZOZOGLASSの運用・保守や計測技術を使った新規事業の開発をしています。 目次 はじめに 目次 ZOZOMATとは ZOZOMATの構成 移行の背景 検討したアプローチ 移行後の構成 レンダリングバックエンドの抽象化 ポインタによる抽象化 移行の際に当たった課題と工夫点 Objective-CとC/C++のメモリ管理の違い CFBridgingを使ったリソース管理 座標系の違い まとめ ZOZOMATとは オンラインで靴を購入する際に、サイズが合わないという問題を解決する仕組みです。1台のスマートフォンと紙製のZOZOMATだけで、正確に足のサイズを測れます。足をスキャンすると、高精度の3Dモデルが生成されます。最適なサイズの靴も表示されるので、すぐに靴を購入できます。 ZOZOMATの構成 ZOZ
はじめに こんにちは、データシステム部推薦基盤ブロックの上國料(@Kamiko20174481)とMA推薦ブロックの住安(@kosuke_sumiyasu)です。 私たちは2025年9月22日〜9月26日にチェコのプラハにて開催されたRecSys2025(19th ACM Conference on Recommender Systems)に現地参加しました。本記事では会場の様子や現地でのワークショップ、セッションの様子をお伝えすると共に、気になったトピックをいくつか取り上げてご紹介します。 はじめに RecSys とは 開催地のプラハについて 会場の様子 論文の紹介 Orthogonal Low Rank Embedding Stabilization 感想・考察 Suggest, Complement, Inspire: Story of Two-Tower Recommendatio
はじめに こんにちは、ECプラットフォーム部マイクロサービス戦略ブロックの半澤です。普段はアーキテクト領域のテックリードとして、ZOZOTOWNリプレイスにおける全体的な課題解決に注力しています。 今回は、複雑化したZOZOTOWNのマイクロサービス間通信を整理するため、レイヤ構成を定義し、ガイドライン化した取り組みについてご紹介します。 目次 はじめに 目次 背景と課題 ZOZOTOWNマイクロサービスガイドライン - レイヤ構成と通信ルール ゲートウェイ(Gateway) BFF(Backend for Frontend) 基盤(Platform) オーケストレーター(Orchestrator) コミュニケーター(Communicator) コア(Core) ユーティリティ(Utility) レイヤ構成から外れるマイクロサービスの種類 Privateサービス(Private Servi
こんにちは! ZOZOTOWN開発本部フロントエンドエンジニアの齋藤(@Jin_pro_01)です。9月21日に渋谷のAbema Towersにて「フロントエンドカンファレンス東京2025」が開催され、登壇者、当日スタッフを含めZOZOから5名が参加しました。本記事では、参加した経緯や、各参加者から印象に残ったトークについてご紹介します。 フロントエンドカンファレンス東京とは 社内での参加経緯と当日の取り組み 各参加者からの感想、印象に残ったトークの内容 日本語縦書きWebの現在地2025 "フロントエンドの技術"を移行する技術 爆速でプロダクトをリリースしようと思ったらマイクロフロントエンドを選んでいた 見た目は動く。でも使えない、、アクセシブルなUIの実装アンチパターン集 Web技術を最大限活用してRAW画像を現像する おわりに フロントエンドカンファレンス東京とは 「フロントエンドカ
はじめに こんにちは。商品基盤部・商品基盤2ブロックの小原です。私が所属するブロックではお気に入り機能のマイクロサービスを担当しています。 ZOZOTOWNではさらなる成長に向けて、さまざまなリプレイスプロジェクトが進行中です。本記事では、その中でもお気に入り機能のリプレイスについて紹介します。SQL ServerからAurora MySQLへ数十億レコードをゼロダウンタイムで移行するために設計したデュアルデータベース戦略を解説します。 こんな方に読んでもらいたい 段階的なマイクロサービス移行戦略を策定する担当者 ゼロダウンタイム移行の手法を探すアーキテクト Spring BootでマルチDataSourceを実装する開発者 数十億レコード規模の移行戦略に関心があるデータエンジニア オンプレミスからAWS移行でダウンタイム最小化に課題を抱えるチーム なぜデュアルデータベース構成を採用したの
はじめに こんにちは、ZOZOMO部OMOブロックの宮澤です。普段は「ZOZOMO」のブランド実店舗の在庫確認・在庫取り置きという機能の開発と保守を担当しています。 本記事では、LLMを駆使したSlackbotを活用して、アプリケーション例外のアラート調査・分析を自動化した試みについて紹介します。 SlackbotのバックエンドにLLMを導入し、LLMの汎用的な推論能力とMCPを通じたプロダクト知識の注入を用いて、より実践的な調査・分析の自動化を試みました。 本記事がLLMを活用した運用作業の自動化を検討されている方の参考になれば幸いです。 目次 はじめに 目次 試みの背景 LLM・MCPによるアプローチ 実装方法の検討 システム構成とアプリケーションの仕組み システムの全体構成 エージェントの構成 Strands Agentsの採用 エージェント構成 Worker Agent Media
はじめに こんにちは、データサイエンス部・検索研究ブロックの諸田です。私たちはZOZOTOWNのおすすめ順検索の品質向上を目指し、機械学習モデルの継続的な改善に取り組んでいます。 私たちは現状の検索体験に関する課題を分析して、改善に役立てています。本記事では課題分析の取り組みの中で、商品の再表示に関する内容について紹介します。同じような課題を抱えている方にとって、仮説の立て方や仮説が正しいかどうかをデータから明らかにする流れの参考になれば幸いです。 目次 はじめに 目次 「違う検索をしても同じ商品が出てくる」という課題 分析の前に仮説を立てる 仮説1: 購入される商品の方が各ユーザーのimp回数が少ないのではないか? 仮説2: 購入するユーザーの方がimp重複率が少ないのではないか? 仮説3: ヘビーユーザーの方がimp重複率が少ないのではないか? 仮説4: クリック率や購入率はimp回数
はじめに こんにちは、カート決済部カート決済サービスブロックの河津です。2025年度に新卒入社し、現在のチームに配属されました。ZOZOTOWN内のカート機能や決済機能の開発、保守運用を担当しています。 私たちのチームでは、取引先から受け取ったデータを外部サービスへ連携する作業を月2回実施しています。従来は全て手動運用で行っており、30分の作業負担とヒューマンエラーのリスクが課題となっていました。 本記事では、ChatOps構築により、作業時間を30分から数秒へ大幅短縮し、 運用の安全性・効率性・業務の自律性を同時に高めることができた仕組みについて紹介します。 目次 はじめに 目次 背景・課題 具体化している3つの課題 1. 作業負荷と属人化 2. ヒューマンエラーのリスク 3. コミュニケーションコストの増大 システムアーキテクチャの刷新 既存の業務フローの全体像 新システムの全体構成
はじめに こんにちは、MA部の林です。 ZOZOTOWNでは、プッシュ通知・LINE・メール・サイト内お知らせなどを通じてキャンペーン配信をしています。MA部ではそれらの配信を担うマーケティングオートメーション(MA)システムの開発を担当しています。一部のメンバーは直近3年ほど、マーケティングシステムのリプレイスプロジェクトZOZO Marketing Platform(ZMP)に注力しています。2025年7月にはパーソナライズ・リアルタイム処理のリプレイスが完了し、ZMPフェーズ2としてリリースしました。 しかし、ZMPフェーズ2のリリースには課題がありました。リプレイスプロジェクトに携わったメンバーとそれ以外のメンバーで、ZMPへの理解度に差が生じていたのです。MA部では全メンバーがローテーションでオンコール対応を担当しており、プロジェクトに関わっていないメンバーもZMPフェーズ2の障
はじめに こんにちは。MA部MA開発ブロックの平井です。 ZOZOTOWNでは、プッシュ通知・LINE・メール・サイト内お知らせなどを通じてキャンペーン配信をしています。 MA部ではそれらの配信を担うマーケティングオートメーション(MA)システムの開発を担当しています。 私たちは現在、マーケティングプラットフォーム「ZOZO Marketing Platform(ZMP)」の開発を進めています。 そのプロジェクトの一環として、リアルタイムマーケティングシステムのリプレイスを実施しました。 ZMPの詳細については、以下のテックブログをご参照ください。 techblog.zozo.com 本記事では、リプレイス後の新システムの概要と、安全に本番リリースをするために実施した「シミュレーション試験」についてご紹介します。 目次 はじめに 目次 リアルタイムマーケティングシステムのリプレイスについて
こんにちは、WEAR Webフロントエンドチームでテックリードを務めている冨川(@ssssota)です。2025年9月6日に北海道は札幌市、エア・ウォーターの森にてフロントエンドカンファレンス北海道2025が開催されました。本記事では、会場の様子や印象に残ったトークについてご紹介します。 フロントエンドカンファレンス北海道とは フロントエンドカンファレンス北海道は、Webフロントエンド領域に関心のあるエンジニアやデザイナーを対象とした技術イベントです。2024年に初開催され、今年で2回目の開催となります。 今回は、台風15号の影響で飛行機が遅延になるなどのハプニングもありましたが、無事に参加できました。 会場の様子 会場は札幌市にあるエア・ウォーターの森で、2024年12月にオープンしたばかりの新しい施設です。 施設中央は吹き抜けになっており、自然光が差し込んでいました。 トークの内容 ど
はじめに こんにちは、SRE部カート決済SREブロックの伊藤(@_itito_)です。普段はZOZOTOWNのカート決済機能のリプレイス・運用・保守に携わっています。また、データベース(以下DB)領域でのテックリードを担っており、DBREとしてDB周りの運用・保守・構築に関わっています。 弊社のDBRE活動については、以前次の記事で紹介しました。 techblog.zozo.com この活動の中で、DBのテーブル定義の設計レビューを行っています。この運用にAWSのBedrockを用いて自動化を組み込んだ取り組みを紹介します。 目次 はじめに 目次 背景・課題 DB設計レビューの課題 レビュー工数と「トイル化」の問題 開発者によるガイドライン遵守度のばらつき DBレビューフローの変更方針 自動レビューBotの設計・実装 技術選定 作成するレビューシステムとSlackとの連携 Confluen
こんにちは、カート決済部カート決済基盤ブロックの多田と三浦です。 普段はZOZOTOWN内のカート機能や決済機能の開発、保守運用、リプレイスを担当しています。 これまでにカート決済サービスのリプレイスでは在庫データのクラウドリフトやクレジットカード決済の非同期化を実現しています。 techblog.zozo.com techblog.zozo.com 本記事では、ZOZOTOWNにおける「カート投入から注文作成まで」のシステムを、Classic ASPからJavaへ移行した取り組みについてご紹介します。一部機能は既にリリース済みで、現在も段階的な移行を継続中です。 このプロジェクトは、モノリシックなアプリケーションからマイクロサービスアーキテクチャへと段階的に移行する取り組みの一環として進めてきました。その過程で、どこでサービスを分けるべきかという課題に直面しました。安易な分割は機能間の依
ZOZOTOWN開発本部でZOZOTOWN iOSの開発を担当しているらぷらぷです。例年プライベートのメイン機であるiPhoneをベータアップデートしてますが、いつまで正常に動作しつづけるのかヒヤヒヤしています。 今年のWWDC25も開催期間中には追いきれないほど数多くのアップデートがありました。みなさんはどのセッションが気になりましたか。 本記事では、ZOZOのiOSエンジニアが気になったセッションをご紹介します。この記事を読み終えたらぜひあなたの気になるセッションとともに感想をシェアして頂けると嬉しいです。 また、今回試したAIを活用したセッションのキャッチアップ効率化についてもご紹介します。 気になったセッション WebKit for SwiftUI こんにちは。WEAR by ZOZOのiOSアプリ開発を担当しているセータです。 今回の発表では、WebKitがSwiftUI向けにア
はじめに こんにちは、データシステム部MLOpsブロックの岡本です。 MLOpsブロックではWEAR by ZOZO(以下WEAR)やZOZOTOWNのレコメンドシステムを開発・運用しています。 WEARのコーディネート詳細画面には、表示しているコーディネートに関連性が高いコーディネートを表示する関連枠があります。今回、WEARのコーディネート詳細画面の関連枠におけるコーディネートの表示ロジックを、ルールベースからMLを使ったロジックに置き換えました。新たに開発したMLを使ったロジックを、以下では関連コーデレコメンド機能と呼んでいます。説明のため、以下では関連コーデレコメンド機能を本機能と記載します。 本機能の開発ではベクトル検索技術を利用しています。ベクトル検索の実装には、Google Cloudが提供するマネージドなベクトル検索サービスであるVertex AI Vector Searc
こんにちは。一番好きなマジックナンバーは 0x5F3759DF 1 な、技術戦略部CTOブロックの塩崎です。 先日、当社から以下のプレスリリースを発表いたしました。その中でも書かれているように、1人あたり月額200ドルの基準のもと、Claude CodeやGemini CLIをはじめとした各種AI開発ツールを利用可能になりました。 corp.zozo.com この記事ではAI開発ツールの1つであるGemini CLIを全社で使えるようにするため、Google Cloud管理者として実施したことを紹介します。Gemini CLIやClaude Codeなどに関しては以下のような記事がよく目立ちますが、この記事にはそのような内容が書かれておりません。 俺が考えたベストのGemini CLI設定 Gemini CLIを使って効率を上げる10の方法 Gemini CLIで開発効率が〇〇%アップ む
はじめに こんにちは。計測システム部研究開発ブロックの皆川です。普段はWebAssemblyを用いた身体計測Webアプリの開発や、AIを用いた身体計測アルゴリズムの改善に携わっています。 2025年の6月11日から15日にかけて行われたCVPR 2025に参加しました。この記事では、現地の様子と筆者が選んだ面白かったセッションについてご紹介します。例年通りだと、ほとんどの発表がカンファレンス後まもなくして公式サイトで動画公開されます。 はじめに CVPRとは 日本からナッシュビルまで 会場の様子 セッションレポート Googleのファッション分野での取り組み 技術概要 技術課題 2Dバーチャル試着以外の取り組み 感想 AIpparel 技術概要 応用 技術課題 感想 PromptHMR 技術概要 感想 VGGT: Visual Geometry Grounded Transformer 技
はじめに こんにちは、ZOZOMO部FBZブロックの杉田です。2025年7月3日・4日の2日間、JPタワーホール&カンファレンスにて「開発生産性Conference 2025」が開催されました。本記事では、会場や各ブースの様子に加え、特に印象に残ったセッションについてご紹介します。 開発生産性Conference 2025とは 本カンファレンスは、生成AIとの協働が不可欠な時代に、いかに開発生産性に取り組み事業価値を高めていくかをテーマに開催されました。3回目を迎える今年は、来場者数が3000人を超える盛況ぶりで、開発生産性への関心の高さがうかがえます。 会場の様子 会場は東京駅直結のJPタワーホール&カンファレンスでした。 会場から東京駅を一望できる エントランスのパネル セッションの合間には多くの参加者がスポンサーブースで情報収集したり、活発に交流したりしていました。皆さん、開発生産性
はじめに こんにちは、情報セキュリティ部の兵藤です。日々ZOZOの安全を守るためSOC業務に取り組んでいます。 ZOZOではGitHub Advanced Securityを導入、運用しております。本記事では、GitHub Advanced Securityに関する取り組みについて紹介します。 また、情報セキュリティ部ではその他にもZOZOを守るための取り組みを行っています。詳細については以下の「OpenCTIをSentinelに食わせてみた」をご覧ください。 techblog.zozo.com 目次 はじめに 目次 GitHub Advanced Securityとは GitHub Advanced Securityの導入の目的 導入の際に実施したこと CodeQLのAdvanced Setup設定 コンテナスキャンの設定 CodeQLの検知検証 CodeQLの得意な検知 CodeQLの
はじめに こんにちは。WEARバックエンド部SREブロックの春日です。 6月25日、26日の2日間にわたって開催されたAWS Summit Japan 2025に、今年もZOZOのSREが多数参加しました。この記事では、現地の様子とSREのメンバーが各自選んだ面白かったセッションについてご紹介します。 はじめに AWS Summit Japanとは 会場の様子 セッションレポート 生成 AI オブザーバビリティのベストプラクティス(AWS-49) コンポーネントレベルのメトリクス RAG、エージェント、チェーントレース 高度な指標と分析 エンドユーザーからのフィードバック 責任あるAIに向けて: 生成AIアプリケーション評価のアプローチ (AWS-52) セッションのテーマと課題 セッションのポイント1 生成AIアプリケーション自体の評価方法 セッションのポイント2 生成AIアプリケーショ
はじめに こんにちは、ZOZOMO店舗在庫取り置きサービスの開発を担当しているZOZOMO部OMOブロックの木目沢です。 現代のソフトウェア開発において、変化の激しい環境に柔軟に対応できるチーム作りは重要な課題です。特に複数のプロダクトを扱う開発チームでは、メンバー全員が自律的に動き、状況に応じて適切な判断ができる「自己組織化されたチーム」の実現が求められます。 ZOZOMO部OMOブロックでは、ZOZOMO店舗在庫取り置きを取り扱ってきましたが、現在は別のサービスの開発も行っています。そこで2つのプロダクトを扱う開発チームの自己組織化を目指し、昨年度に様々な取り組みを実施しました。結果的に、主要な取り組みは5つに整理されます。 本記事では、これらの取り組みがどのような背景から始まり、具体的にどのような方法で実践され、どのような成果をもたらしたかを詳しく紹介します。同じような課題を抱える開
はじめに こんにちは、データサイエンス部の朝原です。普段はZOZOTOWNにおける検索の改善を担当しています。 ZOZOTOWNには100万点を超える商品が存在し、毎日2700点もの新商品が追加されています。このような膨大な商品数を扱うZOZOTOWNにおいて、ユーザーが求める商品を見つけやすくするための検索機能は非常に重要です。 一方で、ファッションという日々ニーズが激しく変化するドメインにおいて、ユーザーのニーズを検索クエリから正確に把握し、適切な商品を提示することは困難を伴います。特に、検索システムにおいて検索結果が0件である(以下 0件ヒット)ことはユーザーにとって悪い体験となり、離脱を招いてしまいます1。実際にZOZOTOWNでは、日々0件ヒットが発生しており、大きな課題となっています。 本記事では、検索結果が0件になる主な原因と、その対策の1つであるクエリ書き換えについて紹介し
はじめに こんにちは、データシステム部推薦基盤ブロックの棚本(@i6tsux)です。 ZOZOTOWNには1,600のショップ、9,000以上のブランド、100万点を超える商品が集まり、毎日2,700点もの新商品が追加されています。この膨大な商品の中から、1,000万人以上のユーザーそれぞれに「これだ」と思える商品を見つけてもらうーーそのためにパーソナライズは欠かせない技術です。 私たちのチームでは、単に好みに合う商品を見せるだけでなく、「新しい商品との出会い」も提供できるパーソナライズを目指しました。ホーム画面のモジュールに表示する商品をユーザーごとに最適な順番で並び替える仕組みを構築し、その結果、モジュールのクリック商品数が58.3%増加、モジュール経由の受注金額が26.3%増加という成果を達成しました。 本記事では、この取り組みの背景となった課題から技術的な解決アプローチ、システム構
はじめに こんにちは、CTOブロックの堀江(@Horie1024)です。2025年5月20日〜5月21日にかけて、カリフォルニア州マウンテンビューにあるショアライン・アンフィシアターで開催されたGoogle I/O 2025(以下 I/O)に現地参加をしてきました。 Google I/Oとは Google I/Oは、Googleが毎年開催する開発者向けのカンファレンスで、最新の技術や製品、アップデートの発表、様々な領域についての技術セッションなどが行われる場です。私自身としては、2018年以来の現地参加となります。 今回のGoogle I/Oへの参加目的 今回のI/Oの参加目的は、Googleや他社の参加者との関係作りとGoogleの最新プロダクトおよび技術的なキャッチアップです。現在までにZOZOでは、ZOZOTOWNやWEAR by ZOZO、FAANSのAndroidアプリ開発を経験
Developer Engagementブロックの@ikkouです。2025年4月16日から18日の3日間にわたり愛媛県は松山市の愛媛県県民文化会館で「RubyKaigi 2025」が開催されました。ZOZOは例年通りプラチナスポンサーとして協賛し、スポンサーブースを出展しました。 technote.zozo.com 本記事では、前半はWEARのバックエンドエンジニアが気になったセッションを紹介します。後半では、ZOZOの協賛ブースの様子と各社のブースにおけるコーディネートを写真中心に報告します。 ZOZOとWEARとRubyKaigi ZOZOとWEARとMatzさん WEARのバックエンドエンジニアが気になったセッション Speeding up Class#new Automatically generating types by running tests Making TCPSoc
こんにちは。MA部MA施策推進ブロックの吉川です。 2025年4月9日〜11日に開催されたGoogle Cloud Next 2025へ参加してきました。去年に続きアメリカ・ラスベガスで開催され、弊社からはMA部の齋藤・吉川・富永の3名が参加しました。なお、去年参加した様子は以下のテックブログで紹介しています。 techblog.zozo.com 今年は生成AI、データ、セキュリティの最新情報を紹介したセッションが多かった印象でした。本記事では、現地での様子と特に興味深かったセッションをピックアップして紹介します。 また、今回のテックブログで紹介できなかった内容などを含め、Recapのオンラインイベントを2025/5/12に開催予定です。このイベントでは、Google Cloud Japanのエンジニアにもご登壇いただき、今回のGoogle Cloud Next 2025について詳しくお話
はじめに こんにちは、データシステム部MLOpsブロックの木村です。MLOpsブロックでは、継続的にGoogle Cloudのコスト削減に取り組んでいます。その一環として、夜間や休日といった利用されていない時間帯にも稼働し続けることで発生していた、開発・検証・テスト環境の余分なコストに着目しました。 この課題を解決するために、MLOpsブロックではKubernetes Event-driven Autoscaling(以下KEDA)を導入しました。KEDAは、Kubernetes環境でイベントドリブンによるオートスケールを実現するオープンソースのツールです。KEDAにより利用されていない時間帯のPodを停止させ余分なコストを削減しました。 本記事ではKEDAを導入したモチベーションや効果、導入する際に直面した課題や、加えて事故なく本番環境へ適用するために工夫した点をご紹介します。KEDAの
はじめに こんにちは! WEARバックエンド部バックエンドブロックの小島(@KojimaNaoyuki)です。普段は弊社サービスであるWEARのバックエンド開発・保守を担当しています。 WEARのバックエンドはRubyで動作しており、Ruby 3.3.6にアップデートしたことを機にYJITを有効化しました。本記事ではWEARにYJITを導入した際の効果とその考察をご紹介します。 目次 はじめに 目次 YJITとは パフォーマンス計測条件 事前準備 本番環境の計測結果 認可サーバー レスポンスタイム(99th percentile) メモリ使用量 リソースサーバー レスポンスタイム(99th percentile) メモリ使用量 計測結果についての考察 リソースサーバーのメモリ使用量の増加が大きいことについて さらにYJITを効果的に使うには まとめ 参考文献 お知らせ YJITとは YJI
はじめに はじめまして。2025年4月に株式会社ZOZOへ入社予定の坂元菜摘(@skysky0208)です。チームの皆さんにはもっちゃんと呼ばれています。 この記事では、約半年間WEARバックエンドチームにて参加した内定者アルバイトについての体験談をお話ししたいと思います。ZOZOに興味がある人はもちろん、内定者アルバイトに興味がある人、また入社に対して不安を抱いている人など、様々な方々の参考になれば幸いです! 目次 はじめに 目次 内定者アルバイトとは 私が内定者アルバイトに参加した目的 内定者アルバイトの概要 WEARバックエンドチームはどんなチーム? 内定者アルバイトの1日 実際に行なったタスク タスクの概要 企画共有と仕様検討 仕様検討MTGへの参加 ロジック検討のためのモック作成 実装方法の選定・検証 複数の実装案の比較検討 本番DBにおけるパフォーマンス検証 実装・リリース 学
次のページ
このページを最初にブックマークしてみませんか?
『ZOZO TECH BLOG』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く