株式会社ZOZO の技術ブログ

SonarCloudと始める静的コード解析 〜ソフトウェア品質向上のための第一歩〜

はじめに こんにちは。FAANSバックエンドエンジニアの浜口( @xlgorbylx )です。普段はFAANSのバックエンドシステムの開発をしています。 FAANSとは、弊社が2022年8月に正式ローンチした、アパレル店舗のショップスタッフの販売サポートツールです。例えば、ZOZOTOWN上で実店舗の在庫取り置きができる機能や、コーディネート投稿の機能などを備えています。投稿されたコー

【イベントレポート】After RubyKaigi 2023〜メドピア、ZOZO、Findy〜を開催しました

こんにちは。ZOZO DevRelブロックの @wiroha です。RubyKaigiではじめて協賛ブースに立ち、知り合いも増えて嬉しく感じている今日この頃です。 はじめに 5/18に After RubyKaigi 2023〜メドピア、ZOZO、Findy〜 をオフライン・オンラインのハイブリッドで開催しました。RubyKaigi 2023のスポンサー企業であるメドピア株式会社、株式会社ZOZO、ファインディ株式会社の3社合同でのRubyKaigi After

LookerStudioでDevOpsのレポーティングを自動化する

はじめに こんにちは。ZOZOTOWN開発本部アプリ部バックエンドの髙井です。普段は筋肉のビルドが趣味のエンジニアをやっています。私のチームではZOZOTOWNアプリのバックエンド全般の開発から運用までを行っています。 突然ですが、皆さんご存知でしょうか? ZOZOTOWNはカスタマーサポートセンターの運営管理や従業員のマネジメント等を総合的に評価する「HDI五つ星認証

Spring Boot 3.0へのバージョンアップで発生した問題点と対応内容

こんにちは。カート決済部カート決済基盤ブロックの高橋です。 カート決済部では、現在Spring BootのJavaプロジェクトを運用しています。今回Spring Bootのバージョンアップを実施した際に発生した問題点と対応内容、注意点をご紹介します。加えて、使用しているライブラリなどのバージョンも上げているのでご紹介します。 アップデート前後のバージョン 種類 前バージ

RailsConf 2023 参加レポート

こんにちは、バックエンドエンジニアの近です! 4/24〜4/26にかけてアトランタで開催されたRailsConf 2023にWEARバックエンドブロックから近・小山・高久の3人が参加しました。 去年はコロナの影響もあってオンラインの開催だったのですが、今年はオフラインでの開催となり、大勢が参加していて大盛況でした。 我々が開発・運営しているファッションコーディネートアプ

マーケティングオートメーションシステムを支えるリアルタイムデータ連携基盤をリプレイスした話

こんにちは、MA部の谷口( case-k )と @gachi-muchi-engineer です。 私達のチームではマーケティングオートメーションシステムの開発や運用をしています。ZOZOTOWNではマーケティングオートメーションによって、メールやPush、LINEなど各チャンネルに対して日々配信しています。配信方法は大きく2種類に分けられ、特定のユーザーセグメント向けの「マス配信」と、個別のユー

パーソナライズ配信におけるルールベースの最適化改善

はじめに こんにちは、技術本部・MA部・MA開発1ブロックでマーケティングオートメーションのシステムを開発している長澤( @snagasawa_ )です。この記事ではパーソナライズ配信におけるルールベースの最適化を改善した事例を紹介します。 ZOZOTOWNでは、マーケティングオートメーションによってキャンペーンやセール情報などの配信を日々行なっています。配信はその対

フィッシングハントの始め方

はじめに こんにちは、CISO部の兵藤です。日々ZOZOの安全のためにSOC対応を行なっています。 本記事では、世間で横行しているフィッシング詐欺に関する情報を収集し、ZOZOを騙ったフィッシングを検知する取り組みについて紹介します。 目次 はじめに 目次 背景と概要 フィッシングハント - ドメイン編 ドッペルゲンガードメイン openSquat 構築 概要 特徴 運用 フィッシング

配信システムの障害を撲滅してみんなで幸せになった話

こんにちは、MA部の谷口( case-k )です。私達のチームでは配信システムの開発や運用をしています。 ZOZOでは配信システムを内製化しており、メルマガやPush通知、LINEメッセージ配信などを自社で実施しています。本記事では配信システムの障害対応の取り組みについてご紹介します。 現在の障害の発生頻度は週に数件程度ですが、1年ほど前までは連日障害が発生してい

kintoneとBigQueryをリアルタイム連携してみた

こんにちは。ML・データ部 データ基盤ブロックの塩崎です。最近はつちのこフェスタが4年ぶりに開催されたというニュース 1 でアフターコロナの訪れを感じています。 さて、データ基盤のためのデータ転送パイプライン構築といいますと、多くの方はMySQLなどのデータベースからのデータ連携を思い浮かべるかと思います。実際にシステムの保有する多くのデータはデ

KubeCon + CloudNativeCon Europe 2023 参加レポート

こんにちは。SRE部ECプラットフォーム基盤SREブロックの亀井です。 4月18日から4月21日にかけてKubeCon + CloudNativeCon Europe 2023(以下、KubeCon)が行われました。今回弊社からはZOZOTOWNのマイクロサービス基盤に関わるメンバー2名で参加しました。 本記事では現地の様子や弊社エンジニアが気になったセッションについてレポートしていきます。 目次 目次 KubeCon EU 2023の概要 参

リアルタイムマーケティングシステムにおける行動ログの活用方法とログ収集機能を移行した話

こんにちは、MA部MA開発1ブロックの齋藤( @kyoppii13 )です。 ZOZOTOWNではユーザ行動に基づくキャンペーン配信を実施しています。この配信はリアルタイムマーケティングシステム(以降、RTM)と呼ばれるシステムによって実現しており、RTMでは配信トリガーや配信タイミングの最適化等にユーザの行動ログを利用しています。 この行動ログは、ユーザがZOZOTOWNのページへア

Swift 6に向けた準備:Strict Concurrency CheckingをTargeted設定にした際に発生した問題と解決方法

こんにちは、フロントエンド部の中島です。FAANSのiOSアプリの開発を行なっています。 FAANSの由来は「Fashion Advisors are Neighbors」です。「ショップスタッフの効率的な販売をサポートするショップスタッフ専用ツール」で2022年8月に正式ローンチしました。 はじめに FAANS iOSチームではAPI通信においてSwift Concurrencyを利用しています。Swiftに限らず並行処理を扱う場合には実装

10年続くWEARにおける、デザインシステム事始め

こんにちは、WEAR Webフロントエンドチームの吉田と大脇です。 現在 WEAR ではNext.jsでのリプレイスが進行中です。今回はリプレイスのデザイン面における課題と解決に向けて行った取り組みを紹介します。 リプレイスの経緯や技術選定については、弊社の藤井の記事をご覧ください。 techblog.zozo.com 10年の歴史のあるアプリケーションと向き合う リプレイスにおける課題 他

nginx TCP Load Balancerで複数RDSへの接続をProxyする

こんにちは、技術本部SRE部ZOZOSREチームの斉藤です。普段はZOZOTOWNのオンプレミスとクラウドの構築・運用に携わっています。またDBREとしてZOZOTOWNのデータベース全般の運用・保守も兼務しております。 ZOZOTOWNではSQL Serverを中心とした各種DBMSが稼働しています。その中で、Amazon RDS for SQL Server(以下、RDS)を使用したデータベースが存在します。これらは、トラフィックの