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

UICollectionViewのCompositional Layoutsでセル全体にドロップシャドウをつける方法

はじめに こんにちは、フロントエンド部WEARiOSブロックの西山です。 iOS 13から登場したCompositional Layoutsを使うことで、App Storeのような複雑なUIが簡単に実現できるようになりました。 登場前は、UICollectionView in UICollectionViewまたは、UISta…

既存のAkamai設定をTerraformでIaC化して便利に

こんにちは、技術本部SRE部ZOZO-SREブロックの鈴木です。普段はSREエンジニアとしてZOZOTOWNの裏で動いているオンプレミスとクラウドの構築・運用・保守に携わっています。 ZOZOTOWNのインフラは大半がIaC化されていますが昔からあるリソースに関してはその…

SQL ServerにおけるXACT_ABORTのON/OFFによる挙動差異と注意点

はじめに こんにちは。カート決済部の林です。ZOZOTOWN内のカートや決済の機能開発、保守運用を担当しています。 過去に福袋販売イベントの負荷対策の記事を掲載しました。 techblog.zozo.com 上記の記事では、タイムアウトしたプロセスがロックを掴んだまま…

ZOZOMO開発チームのユニットテスト戦略とテスト駆動開発

はじめに ZOZOMO部プロダクト開発ブロックの木目沢です。 ZOZOMOで提供しているZOZOTOWN上での「ブランド実店舗の在庫確認・在庫取り置き」APIの開発に携わっています。 今回は、開発当初から現在に至るまでのユニットテスト戦略についてお話しします。

BigQueryでのデータ追記処理における冪等化の取り組み

こんにちは、MA基盤チームの田島です。私達のチームではMAIL、LINE、PUSH通知といったユーザへの配信をしています。その中でもマス・セグメント配信という一斉に行う配信では、配信対象者のセグメント抽出にBigQueryを利用しています。また、配信前に必要な…

#MIRU2022 参加レポート

こんにちは。ZOZO ResearchのResearcherの平川と古澤です。2022年7月25日(月)から7月28日(木)にかけて画像の認識・理解シンポジウムMIRU2022に参加しました。この記事では、MIRU2022でのZOZO Researchのメンバーの取り組みやMIRU2022の様子について報告…

Datadogの活用ノウハウを一挙に公開・それを支える全社管理者の工夫とは #datadog_japan_meetup

ZOZOTOWNはDatadogを活用しています。この数年で蓄積されたノウハウを惜しみなく大公開します。#datadog_japan_meetup

AndroidアプリをMaterial Designのガイドラインに準拠させるための取り組み

はじめに ZOZOTOWN開発本部ZOZOTOWNアプリ部Android2ブロックの鈴木(@s1u2z1u3ki)です。 本投稿ではZOZOTOWN Androidアプリを、Material Designに準拠したUI/UX1とするために取り組んでいる内容を紹介します。 目次 はじめに 目次 Material Designとは? M…

動画の音声を任意の別データに差し替えてエンコードする方法

こんにちは。WEAR部Androidチームの御立田です。先日、WEARチームでコーディネート動画を投稿できる機能を追加しました。 その際、WEARが提供する音楽リストから、ユーザーが好きな音楽を選択する機能を実装する必要がありました。今回は、動画ファイルの音…

WEARにおけるKubernetes導入と改善の歩み

はじめに こんにちは。ブランドソリューション開発本部 WEAR部 SREの和田(@wadason)です。普段は「ファッションコーディネートアプリ WEAR」のSREとしてクラウドの運用やリプレイスをおこなっています。 WEARはサービス開始から10年が経ち、クラウドやオン…

【オンラインMeetup イベントレポート】Jetpack Compose 導入事例【おいしい健康|Retty|ZOZO|アンドパッド】

こんにちは!ZOZOTOWN開発本部 Android1ブロックでAndroidテックリードを務めているいわたんです。 2022年6月30日のお昼時に、おいしい健康さん、Rettyさん、アンドパッドさんと4社合同でAndroidエンジニア向けオンラインイベント、「Jetpack Compose 導入事…

GitHub ActionsによるGoogle Play Consoleへのアプリ自動アップロードの取り組み

はじめに こんにちは、ブランドソリューション開発本部 WEAR部 Androidブロックの武永です。普段はファッションコーディネートWEARのAndroidアプリを開発しています。

コードレビューを通じたチームパフォーマンス向上のための取り組み

こんにちは。ECプラットフォームサービスSREチームリーダーの川崎(@yokawasa)です。本記事では、コードレビューを通じたチームのパフォーマンス向上のための取り組みについてご紹介します。なお、コードレビューそのもののテクニックに関する話はしないの…

ZOZOTOWNカート機能のリプレイスPhase1裏側を大公開

こんにちは、カート決済部の佐藤です。普段はZOZOTOWNカート決済サービスの新機能開発、既存改修、運用保守を担当しております。 弊社はモノリスからマイクロサービスへのリプレイスを進めており、カート決済サービスも先日リプレイスPhase1の記事を掲載いた…

EKS環境へArgo CD Image Updaterを導入し、デプロイ時間と管理コストを削減した話

はじめに こんにちは、計測プラットフォーム開発本部SREブロックの渡辺です。普段はZOZOMATやZOZOGLASSなどの計測技術に関わるシステムの開発、運用に携わっています。 先日私達のチームでは、Argo CDと拡張ツールArgo CD Image Updaterを導入した開発環境の…

WWDC Extended Tokyo 2022を開催しました #wwdc22 #wwdctokyo

こんにちは、ZOZO CTOブロックの@ikkouです。 WWDC Extendedとは WWDC Extendedは、WWDCのメインセッション(Keynote)をさらに楽しむためのイベントです。これまでのWWDC Extendedはヤフーが単独で開催していましたが、今年のWWDC Extended Tokyo 2022はヤ…

ZOZOTOWNホーム画面におけるパーソナライズの取り組み

はじめに こんにちは、ML・データ部推薦基盤ブロックの寺崎(@f6wbl6)と佐藤(@rayuron)です。 ZOZOTOWNのホーム画面は2021年3月にリニューアルされ、「モジュール」と呼ばれる単位で商品が表示されるようになりました。 本記事ではユーザーごとにパーソナ…

海外出張とオンライン参加で学び、楽しんだ - WWDC22参加レポート

こんにちは、ZOZOTOWNアプリ部の@inokinnです。 日本時間の6月7日から11日にかけてWWDC22が開催されました。 今年のハイライトは、iOS 16でのロック画面のアップデートをはじめ、WeatherKitやSwift Charts、Passkeysなどの、数多くの新機能の発表だったかと…

Elasticsearchのバージョンアップと検索基盤の改善

はじめに こんにちは、検索基盤部 検索基盤ブロックの可児(@KanixT)とSRE部 ECプラットフォーム基盤SREブロックの大澤です。 本記事では、ZOZOTOWNの商品検索で利用しているElasticsearchをバージョンアップした知見と、その際に実施した検索基盤の改善に…

ZOZOTOWNにおけるセッションストアのリプレイス完了までの道のり

こんにちは。技術本部SRE部ZOZO-SREブロックに所属している杉山です。SRE部のテックリードとして、オンプレ/クラウドのインフラを担当しています。 ZOZOTOWNでは、既存システムのリプレイスプロジェクトを進めています。各サービスのマイクロサービス化は進…

ZOZOでのリモート環境におけるオンボーディング改善の取り組み

はじめに 初めまして。ZOZOTOWN開発本部ZOZOTOWNアプリ部Android2ブロックの下川と申します。ZOZOTOWNアプリ部ではAndroidを担当するチームが今年の4月から2つになりました。1つのチームで運営するには人数が多くなってきたためです。そして私は新しくできた…

Vertex AI Pipelinesによる機械学習ワークフローの自動化

はじめに こんにちは。検索基盤部の倉澤です。 私たちは、ZOZOTOWNの検索機能の改善に取り組んでいます。ZOZOTOWNのおすすめ順検索ではランキング学習を用いた検索機能の改善に取り組んでおり、A/Bテストにて効果を測定しています。 ランキング学習やElastic…

Digdagのワークフローを動的に実行できる仕組みの導入

はじめに こんにちは、MA基盤の@gachi-muchi-engineerです。 私達のチームでは、Digdagを利用してユーザーにメールを配信したり、データ連携を定期的に行うような様々なワークフローを運用しています。今回その中でも特定の対象者にポイントを付与したり、メ…

オンプレDWHをBigQueryに移行した話

はじめに こんにちは。MA部MA施策・運用改善チームの辻岡です。MA部では、ZOZOTOWNのメルマガ・アプリPUSH通知などの配信・分析等の用途で約数十TBのデータを運用しています。今回は長年MAのデータ基盤として利用してきたオンプレDWHをBigQueryに移行したお…

リアルタイムなプッシュ通知を可能にした配信基盤の紹介

※2022-06-07 システムアーキテクチャの画像を修正しました。 はじめに こんにちは、MA部MA基盤ブロックの齋藤(@kyoppii13)です。 ZOZOTOWNではアプリ向けのキャンペーンやセール情報などの配信でプッシュ通知を利用しています。プッシュ通知で配信するキャ…

SQL ServerのChange Tracking機能をプロダクション環境で運用した際に生じた問題と対応策

SQL ServerのChange Trackingを有効にした環境で発生した問題と、その原因調査から対応策の実施までの流れを紹介します。

Goプログラム実行時間の短縮

こんにちは。生産プラットフォーム開発部の中嶋です。生産プラットフォーム開発部はアパレル生産のDXを進めている部門です。具体的には服作りのIT化を含めたアパレル生産の効率化の促進と「生産支援」のシステムを主にGoで開発しています。今回はその運用の…

データカタログを作成してZOZOTOWNデータベース定義をまとめた話

こんにちは。ZOZOTOWN開発本部 バックエンド1ブロックの山本です。普段はZOZOTOWNのバックエンドやマイクロサービスAPIなどの開発に携わっています。 ZOZOTOWNは膨大なデータを有しており、テーブルやカラムの数も膨大です。しかし、ER図やテーブル定義に関…

ZOZO Tech Talk #7 - Android

こんにちは、ZOZO CTOブロックの@ikkouです。 ZOZOでは、5/23にZOZO Tech Talk #7 - Androidを開催しました。 zozotech-inc.connpass.com 本イベントは、これまで夕刻に開催してきたMeetupとは異なり、ランチタイムに開催する「ZOZO Tech Talk」シリーズです…

【オンラインMeetup イベントレポート】ZOZO Tech Talk #6 - iOS

こんにちは、ZOZO CTOブロックの@ikkouです。 ZOZOでは、5/16にZOZO Tech Talk #6 - iOSを開催しました。 zozotech-inc.connpass.com 本イベントは、これまで夕刻に開催してきたMeetupとは異なり、ランチタイムに開催する「ZOZO Tech Talk」シリーズです。ZO…

カテゴリー