株式会社ZOZO の技術ブログ

OpenAPI3を使ってみよう!Go言語でクライアントとスタブの自動生成まで!

はじめに こんにちは! 2019年2月にZOZOテクノロジーズへサーバーサイドエンジニアとして入社した籏野( @gold_kou )と申します。 Qiita でも少し記事書いてます。 いきなりですが、皆さんはAPI仕様書をどのように管理されていらっしゃいますか? Confluence、Wiki、Markdown、Spreadsheet、Excelなど色々手段やツールはあると思います。私が担当しているプロジェクトではOpenAPIを導入

データ基盤を支えるSQL Serverのデータ転送を安定化させた話

こんにちは! ZOZOテクノロジーズ開発部の中坊( e_tyubo )です。 私の所属しているマーケティングオートメーション(MA)チームでは、ZOZOTOWNやWEAR等の各サービスで蓄積されたデータを集約したデータ基盤の運用を行なっております。我々MAチームはこの集約されたデータを用いて顧客分析を行いマーケティングに活用しています。 今回はその運用の中で生じた問題とその

TalendをDigdagとEmbulkに移行した

はじめまして! ZOZOテクノロジーズ開発部の平田( @TrsNium )と申します。 業務ではデータ基盤の開発・運用を行っています。 よろしくお願いいたします。 今回複数のツールが混在していたデータ基盤を「Digdag・Embulk」に統一したので、その取り組みを紹介します。 概要 弊社のデータ基盤は注文情報や顧客情報などをSQL Serverから取得しBigQueryに転送しています。 以前の

GraphQLにおけるエラーハンドリングの仕方

こんにちは、サーバーサイドエンジニアの竹若です。今回GraphQLにおけるエラーハンドリングを調査、Ruby on Railsと graphql-ruby を使って実装する機会があったので、そこで得られた知見を共有させていただきたいと思います。(なお今回の実装はプロダクション環境には出ていません) GraphQLの仕様とプラクティス それではまず初めに、GraphQLが仕様に定めているレスポンスの返

FlutterとFirebase ML Kitを使ってカンファレンス用デモアプリを作った話

DroidKaigiで展示したファッションチェックアプリについて こんにちは。ZOZOテクノロジーズ開発部山田( @yshogo87 )です。 DroidKaigi 2019ではプラチナスポンサーとして、ブースを出展させていただきました。 DroidKaigi 2019 そのコンテンツとしてファッションチェックアプリを展示させていただきました。 今回はファッションチェックアプリがどのような仕組みになっているかを説

開発支援サーバー(GitBucket、Redmine、Jenkins)を退役させてSaaSに移行させた話

こんにちは。ZOZOテクノロジーズ開発部の田島です。 今時のシステム開発ではさまざまなツールを利用することが当たり前になっています。 そして各種ツールは日々新しいものが開発され、今まで当たり前だったものがレガシーなツールと呼ばれることも珍しくありません。 弊社では、GitHubやCircleCI・Slackなど様々なツールを利用しています。 私達のチームでもこれらの

AI-assistedテストへの挑戦 vol.1

こんにちは。 最近愛猫にトイレの出待ちをされるようになった、品質管理部エンジニアリングチームの高橋です。 品質管理部ではアプリの自動テストを主に担当しております。 本記事はAI(Artificial Intelligence, 人工知能)を活用したテスト自動化の奮闘記となっております。 内容的にはお世辞にも先進的と言えるものではありませんが、是非あたたかい目で見て頂けると

iOSで構築しているCIのWorkflow紹介

こんにちは。iOS担当の荒井です。 今回はiOSチームで構築しているCI/CDのWorkflowについて紹介します。 CI/CD環境 はじめに、ZOZOテクノロジーズのiOSチームがどのようなCI/CD環境を整えているかを簡単に説明します。ZOZOテクノロジーズではZOZOTOWNやWEAR、プライベートブランドZOZOなど様々なサービスを運営しています。プロダクトによりCI/CD環境は違うのですが、多くのプロダク

Google Cloud TPUを使った計量学習の高速化事例の紹介

ZOZO研究所の後藤です。本記事ではGoogle Cloud TPUを使った計量学習の高速化の事例を紹介します。 はじめに 深層学習を用いたプロダクトを開発・運用する上で、モデルの学習にかかる膨大な時間はボトルネックの1つです。 ファッションにおける深層学習を用いた画像認識技術にも同じことが言えます。 今回はファッションの分野において定番のタスクであるStreet2shopの課

CloudFormationテンプレートに秘密情報を渡す方法

こんにちは! ZOZOテクノロジーズ開発部の塩崎です。 この記事ではCloudFormationにDBのマスタパスワードなどの秘密情報を渡す3つの方法を説明いたします。 前提 我々のチームではAWSインフラリソースのプロビジョニングにCloudFormationを使用しています。 CloudFormationのテンプレートファイルはGitHubでバージョン管理されており、スタックに対するチェンジセットの作成をCircleCI

Go言語を用いてdxfファイルを一括で画像化する

前書き こんにちは、スマートファクトリー向け制御ソフトウェア開発チームの高石( @ksk_taka )です。 本記事では、アパレル業界や製造業界など、CADを取り扱う業界で広く使われているdxfファイルを 一括で画像ファイルに変換する 手法について記載します。 dxfファイルとは そもそも dxfファイルとは何ぞや? という方のために簡単に説明をします。 dxfファイルは CAD間

Go言語でケアラベル発行の自動化

こんにちは!ZOZOテクノロジーズ開発部の池田( @yuji_ikepon )です。 本記事では、 ケアラベルデザイン発行を自動化した際に使用したパッケージの紹介と、プロトタイプ開発までのプロセスを紹介したいと思います。 ケアラベルとは ケアラベルとは上記の様な、繊維製品になくてはならない品質表示のことを指します。ケアラベルは、品質表示法の下に適切で明確な表示

小売業界も「AI」はバズワードではなく当たり前になる(NRF2019参加レポート)

こんにちは、ZOZOテクノロジーズでプロジェクトマネージャーをしている 新井(@masamasaking) です。 最先端の小売業界のトレンドを体験できる全米最大のリテール向けのイベント「 NRF Big Show 」が今年も1月13日から開催されました。現地視察を通じて感じたことをレポートします。 この記事では気になった出展企業や全体を通して感じたことをご紹介します。 NRF Big Showと

Web UIテスト自動化の実行環境をSelenium Gridで

どうも品質管理部エンジニアチームの木村です。 最近の話ではないんですがWeb UIテスト自動化をしようとなった時の事を書きます。 まずは初期段階の実行環境についてです、自動テストスクリプトの構築や処理そのものはまた次回。 Seleniumでテストを自動化したい! ZOZOTOWN に限らず最近のサービスはなんでもリリース頻度が高いです。 そして何故なのか、いついかなる

ZOZO大忘年会でFirebaseを使った1,000人規模のリアルタイムアンケートを制作した話

こんにちは! ZOZOテクノロジーズ フロントエンドエンジニアの高橋(ニックネームはQ)です( @anaheim0894 ) 昨年12/26、毎年年末に行われる大忘年会(ZOZOCAMP2018)で、 グループ会社 も含めた1,000人規模でのリアルタイムアンケートを、FirebaseとVue.jsを使って制作しました。 当日会場にて弊社の昨年の事業紹介や、「楽しく働く」というコンセプトの動画を流し、動画の合間