株式会社ZOZO の技術ブログ

ZOZOTOWN AndroidへのJetpack Compose導入の取り組み

こんにちは。ZOZOTOWN本部 ZOZOアプリ部 Androidチームの高橋です。ZOZOTOWN Androidチームでは、 Jetpack Compose を導入しました。 この取り組みは、つい先日、 Android Meetup【ZOZOテクノロジーズ × サイバーエージェント × GMOペパボ】 でもご紹介しています。 この記事は、上の資料を補完するものです。資料の内容に加えて、登壇ではお話できなかった技術的な補足をいたします。 Jetp

マルチAZ化から学んだ無停止でインフラを変更するために考慮すべき3点

はじめに こんにちは。ブランドソリューション開発部の蔭山です。普段は Fulfillment by ZOZO (以下FBZ)というサービスを担当しています。FBZはZOZOTOWNの倉庫や物流システムをブランドさんの自社ECでご利用いただけるサービスです。 先日、FBZが稼働しているシステムについて、サービスを停止することなくマルチAZ化しました。サービスを停止せずにシングルAZ環境からマル

座席管理ツールRobin Desksの製品選定からAPIの活用事例

こんにちは、コーポレートエンジニアリング部の竹田です。ZOZOテクノロジーズでは昨今の情勢を受け、日本全国どこに居住していても就業可能な 全国在宅勤務制度 を導入しています。また、ZOZOにおいてもアフターコロナを見据えた 週2出社・週3リモート というハイブリッドな働き方の導入を予定しています。 座席管理システム導入の経緯 そのような新しい働き方に対

ITCSSを採用して共同開発しやすいCSS設計をZOZOTOWNに導入した話

こんにちは。ZOZOTOWN部フロントエンドチームの菊地( @hiro0218 )です。 2021年3月、ZOZOTOWNは10年ぶりのリニューアルをしました。この記事では、そのリニューアルで再考したCSS設計について紹介します。 背景 今回のリニューアルでは、ウェブとアプリが部分的に共通のデザインになりました。 アプリ ウェブ このデザイン刷新には、CSSの大規模変更が必要です。チーム内で

Elasticsearchのマッピング設定最適化によるインデキシングパフォーマンス改善への取り組み

こんにちは。EC基盤本部 検索基盤部 検索基盤チームの有村( @paki0o )です。 みなさん、Elasticsearchのマッピングはどこまで厳密に管理されているでしょうか。 弊社では以前のテックブログでご紹介した通り、一部を除き Explicit Mapping にてデータを管理しています。 techblog.zozo.com 設定している項目は、フィールド名・タイプ・適用するアナライザなど一般的な項目であり、

【オンラインMeetup イベントレポート】マイクロサービス化に取り組む、16年目のZOZOTOWN

こんにちは、ZOZOテクノロジーズ 技術戦略室の池田( @ikenyal )です。 ZOZOテクノロジーズでは、7/28に ZOZO Tech Meetup〜マイクロサービス化に取り組む、16年目のZOZOTOWN〜 を開催しました。 zozotech-inc.connpass.com 本イベントでは、ZOZOテクノロジーズが進めてきたリプレイスプロジェクトの中で、特に「マイクロサービス化」にフォーカスし、各担当者からお伝えしました。 登壇

急成長するLINE配信対象ユーザー数にGCPアーキテクチャの改善で立ち向かった話

はじめに こんにちは、EC基盤本部・MA部・MA基盤チームでマーケティングオートメーションのシステムを開発している長澤( @snagasawa_ )です。この記事では、社内で運用しているLINEメッセージ配信基盤の課題を、アーキテクチャ改善によって解決した話をご紹介します。 当時、LINEメッセージ配信基盤では、配信処理を担っていたApp Engineで2つの課題を抱えていました。「

EKSのマルチテナント化を踏まえたZOZOGLASSのシステム設計

こんにちは。計測プラットフォーム本部バックエンド部SREチームの市橋です。 私たちのチームではZOZOSUIT、ZOZOMAT、ZOZOGLASSといった計測技術に関わるシステムの開発、運用を担当しています。現在のZOZOMATとZOZOGLASSは、どちらも独立したEKSクラスタ上で動いていますが、ZOZOGLASSの環境を構築する際に将来のマルチテナント化を踏まえ大きく設計を見直しました。今回は、この

Flex Slotsを用いたBigQueryのコストパフォーマンス改善と運用

こんにちは、SRE部の谷口( case-k )です。私たちのチームではデータ基盤の開発や運用をしています。1年ほど前からBigQueryのコストパフォーマンス改善を目的にFlex Slotsを導入しています。 本記事ではFlex Slotsの導入効果や運用における注意点、ワークフロー設計についてご紹介します。BigQueryのコストやパフォーマンスで課題を抱えているチームや管理業務を行っている方

ZOZOTOWNアプリHome画面再設計の軌跡~10年以上歴史を持つアプリはどのようにして生まれ変わったのか~

はじめに こんにちは、ZOZOアプリ部でZOZOTOWN iOSアプリを開発している小松です( @tosh_3 )。 気づけば、ZOZOテクノロジーズに新卒入社して1年が過ぎていました。オフィスの近くに引っ越したのですが、オフィスに出社する前に、オフィスが移転しました。 さて突然ですが、最近ZOZOTOWNに大きな変化があったことをみなさんお気づきでしょうか。2021年3月18日よりZOZOTOWN全体が

Chrome 92以降のSharedArrayBuffer警告に対するZOZOTOWNが実施した調査と解決策

こんにちは、ZOZOTOWN部フロントエンドチームの高橋( @anaheim0894 )です。 Chrome 92から 「SharedArrayBuffer」の仕様が変更 されます。それに伴い、 ZOZOTOWN の対応方針と解決策をご紹介いたします。そもそも「SharedArrayBuffer」が何のことなのか分からず困っている方も多いかと思います。本記事で紹介するZOZOTOWNの取り組みが対応時に皆様の参考になれば幸いです。 取り組みのき

ZOZOTOWN検索機能のマイクロサービス化への取り組み

はじめに こんにちは、検索基盤部 検索基盤チームの可児( @KanixT )です。以前は通勤に片道2時間ほどかかっていましたが、フルリモートワークの環境になり空いた時間で生後4か月の娘の子育てに奮闘中です。 本記事では、検索基盤チームが取り組んだZOZOTOWN検索機能のマイクロサービス化の事例・工夫点を紹介します。これから検索機能のマイクロサービス化にチャレ

意思決定の理由の可視化が可能なグラフ構造の学習アルゴリズムの紹介

ZOZO研究所 の清水です。弊社の 社会人ドクター制度 を活用しながら、「社内外に蓄積されているデータからビジネスへの活用が可能な知見を獲得するための技術」の研究開発に取り組んでいます。 弊社の社会人ドクター制度に関しては、以下の記事をご覧ください。 technote.zozo.com 私が現在取り組んでいるテーマの1つに、「機械学習が導き出した意思決定の理由の可視化

MySQL実行計画の簡易検査ツールの開発とCIへの組み込み

こんにちは、ECプラットフォーム部の権守です。普段はID基盤やAPI Gatewayの開発を行い、ZOZOTOWNのリプレイスに携わっています。 本記事では、ID基盤で開発・導入したMySQL実行計画の簡易検査を行うツールを紹介します。 ツール開発の経緯 RDBにおけるテーブル設計は利用するクエリに応じて適切なインデックスを設定するなど専門的な知識を必要とし、設計できる人が限ら

Datadog APMで実現するサーバーレスアーキテクチャの分散トレーシング

はじめに こんにちは。ブランドソリューション開発部 プロダクト開発チームの杉田です。 Fulfillment by ZOZO (以下、FBZ)が提供するAPIシステムの開発・運用を担当しています。 本記事では、サーバーレスアーキテクチャを採用しているFBZのAPIを例に、Datadog APMを使った分散トレーシングの導入手順と運用する際のポイントを紹介します。 「サーバーレスアーキテクチャを