株式会社ZOZO の技術ブログ

Kotlinのsuspend関数のバイトコードを読んでみた

こんにちは。福岡研究所の岩本( @odiak_ )です。 みなさん、Kotlinのコルーチンを使っていますか? 私は、最近久しぶりにAndroidのコードを触る機会があり(3年ぶりくらいでしょうか)、以前から存在は知っていたものの詳しく知らなかったコルーチンを少し使ってみました。まずドキュメントを読んでみたのですが、よくデザインされているなと感じました。今回は使っ

【ZOZOTOWN UI/UX改善PJ】「改善を自分達で考えて実装・リリースするPJ」の作り方

こんにちは、ZOZOTOWN部フロントエンドチームの高橋( @anaheim0894 )です。 2020年5月からZOZOTOWN部では、「UI/UX改善プロジェクト」を立ち上げ、小さなUI改善を進めるチームを発足しました。 そこでこのプロジェクトの紹介をしながら、その工夫したポイントをお伝えします。新しいプロジェクトを立ち上げる際の参考になれば幸いです。 なぜプロジェクトを立ち上げたか 現

ZOZOTOWNのPUSH配信基盤をFCMにシームレスに移行するための考慮ポイント

こんにちは、MA基盤チームの田島です。ZOZOTOWNでは、ユーザコミュニケーションの手段としてLINE、MAIL、アプリへのPUSH通知を利用しユーザへのお知らせを実現しています。 その中でも、現在ユーザへのコミュニケーション強化の一環としてアプリPUSH通知(以降、PUSH通知)の強化をしようと考えています。ZOZOTOWNのPUSH通知は今まで、とある外部SaaS(本記事で出てくるSaaSは

High Level Rest ClientによるElasticsearch本番運用ガイド

こんにちは。ZOZOテクノロジーズZOZOTOWN部 検索チーム 兼 ECプラットフォーム部 検索基盤チームの有村( @paki0o )です。 ZOZOTOWNではこれまで度々紹介してきた通り、検索エンジンとしてElasticsearchを利用しています。リクエスト元のサーバーサイドのアプリケーションはJava(Spring Boot)で書かれており、クライアントにはHigh Level Rest Client(以下、HLRC)を使用しています。 www.elas

Hardening 2020 H3DXから学ぶ「インシデント対応訓練」の重要性

こんにちは。SRE部の横田・秋田です。普段はZOZOTOWNのリプレイスや運用に携わっています。 私たちは2020年11月13日から14日にかけてフル・オンラインで開催された Hardening 2020 H3DX に参加しました。本記事では、過去にオフライン開催のHardening Projectに参加経験のある秋田と、今回が初のHardening Project参加となった横田の体験を振り返り、「サービスを守る訓練」の重要性を再

BigQueryの監査ログをリアルタイムに監視して使いすぎを防止してみる

こんにちは。SRE部の塩崎です。七味唐辛子の粉末を7種類に分類するという趣味を発展させて、おっとっとを新口動物と旧口動物に分類するという趣味を最近発明しました。 BigQueryは非常にパワフルなData WareHouse(DWH) SaaSであり、大容量のデータを一瞬で分析できます。しかし、課金額がスキャンしたデータ量に比例するという特徴があるため、意図せずに大量のデータをス

【2020年テックブログ100本突破記念】ZOZOテクノロジーズがテックブログを続ける理由とその運用方法

こんにちは、ZOZOテクノロジーズ CTO室の池田( @ikenyal )です。 2020年のZOZOテクノロジーズのテックブログは、本記事で100本目に到達しました。1年間の公開記事数としては、過去最多であり、百の大台に乗れたことを嬉しく思います。 それを記念し、この記事ではテックブログに力を入れる理由であったり、どのような運用をしているか・何に気をつけているのかについて

リアルタイムマーケティングシステム検証環境の構築ビフォーアフター

はじめに こんにちは。2020年5月に入社しましたMA基盤チームの辻岡です。 MA基盤チームでは、マーケティングに関わる様々なプロダクトやシステムの施策開発・運用を行っています。その中の1つにリアルタイムマーケティングシステムというものがあります。 これまでこのシステムには検証環境が存在しませんでした。そこで、検証環境を新たに作る事でシステムの開発

アドベントカレンダー 記事100本公開 - 年末恒例アウトプット強化月間

こんにちは、ZOZOテクノロジーズ CTO室の池田( @ikenyal )です。 エンジニアが12月に思い浮かべるキーワードは何でしょう。「アドベントカレンダー」ですね。 弊社も毎年アドベントカレンダーに参加しており、今年も記事100本の公開を完走しましたので、概要をお伝えします。 ZOZOテクノロジーズ Advent Calendar 2020 今年は合計4個のカレンダーを実施したため、12/1-25の期間
OSS, SRE

GitHub ActionsによるWindowsタスクスケジューラの自動反映

はじめに こんにちは。SRE部BtoBチームの田村です。BtoBチームが担当してるサービスには、クラウドで構成されているFBZ、オンプレ環境で稼働しているブランド様の自社ECシステム支援事業もあります。その自社ECシステムでは、バッチ処理が多数稼働しています(執筆時点でバッチ214本)。 バッチ処理のスケジュールはWindowsのタスクスケジューラで管理しており、定期メ

ZOZOテクノロジーズの2020年の振り返りと現状

こんにちは、ZOZOテクノロジーズ CTOの今村( @kyuns )です。この記事はZOZOテクノロジーズ Advent Calendar 2020 #3の25日目の記事になります。今年はZOZOテクノロジーズとして4つのアドベントカレンダー、全100個の記事がありますので、ぜひご覧ください。ちなみに前日の記事は @sashihara_jp の「 コロナ禍の中のリモートワークでの弊社各チームのマネジメントの工夫について 」でし

AWS re:Invent 2020 注目リリース5選 〜2020開催分より〜

こんにちは、CTO室兼SRE部テックリードの光野(kotatsu360)です。AWS・ウィスキー・葉巻が好きです。 普段はAWSのアカウントが複数ある状況(マルチアカウント環境)において、セキュリティや品質の維持をどのように行うかについて取り組んでいます。色々と資料も公開しているので、よろしければご覧ください。 speakerdeck.com さて、本記事では AWS re:Invent 2020 を取り上げ

【ZOZOTOWNマイクロサービス化】API Gatewayを自社開発したノウハウ大公開!

はじめに こんにちは。ECプラットフォーム部のAPI基盤チームに所属している籏野 @gold_kou と申します。普段は、GoでAPI GatewayやID基盤(認証マイクロサービス)の開発をしています。 ZOZOテクノロジーズでは、2020年11月5日に ZOZO Technologies Meetup〜ZOZOTOWNシステムリプレイスの裏側〜 を開催しました。その中で発表された API Gatewayによるマイクロサービスへのアクセス制御 に関

近傍探索ライブラリ「Annoy」のコード詳解

はじめまして、ZOZO研究所福岡の家富です。画像検索システムのインフラ、機械学習まわりを担当しています。 今回は画像検索システムでお世話になっているAnnoyについてじっくり紹介したいと思います。 目次 目次 Annoyについて 近傍探索について Annoyのソースコードを読むときのポイント AnnoyIndexというクラスのインスタンスを作る インストール過程について PythonのC/C++

パスワード管理ツール1Passwordの全社導入から運用まで

コーポレートエンジニアリング部ITサービスチームの高橋です。コーポレートエンジニアリング部ではスタッフや組織の課題をテクノロジーの力で解決するということをビジョンに掲げています。その中でも私が所属するITサービスチームでは、ZOZOグループ全体の生産性を上げるため、部門や組織の課題をテクノロジーの力で解決に導く役割を担っています。クラウドベー