株式会社ZOZO の技術ブログ

Fashion Tech meetup #1開催しました!

こんにちはVASILYエンジニアの松本です。先日 MERY を運営する株式会社ペロリと合同で Fashion Tech meetup #1 と題した勉強会を開催しました。   当日は約100名のエンジニアの方々に集まっていただき、Fashion × Technologyを題材として各社のエンジニアが、お互いのサービスを支える技術について発表しました。今回はFashion Tech meetup #1でのVASILYの発表資料をご紹介します。 iQONを支

DynamoDBの導入とDynamic DynamoDBを用いたプロビジョニング量自動調整

こんにちはVASILYエンジニアの松本です。VASILYではクローラーの仕組みを大幅に見直した際にDynamoDBの導入を行いました。今回はその導入方法とDynamic DynamoDBを用いた運用方法について話したいと思います。   DynamoDBを導入した理由 iQONではクローラーで取得したデータをDynamoDBに保存しています。DynamoDBを導入した理由は以下の通りです。 ・ ECサイトごと、さらには商品ごと

Android版iQONの開発で利用しているサービス&ツールを紹介します

Androidアプリを効率良く開発する上で各社様々な外部サービスやツールを利用していると思います。今年の6月にGoogleからトップデベロッパーに選ばれた弊社VASILYでも効率化のため多くのサービスやツールを利用しています。 今回は 2015年11月 の今、実際にAndroid版の iQON で利用しているサービスやツールを紹介したいと思います。 ログ解析 ・ Puree ・ BigQuery 数ヶ月前までア

Google Cloud Datalabを使ってBigQueryのデータを分析する

こんにちは。VASILYでインターンとして働いている永井です。大学では統計の研究をしていて、VASILYでは主にデータ分析に取り組んでいます。今回は先月の10月13日にβ版で提供開始となったGoogle Cloud Datalabを試してみたので、その紹介をしたいと思います。 1.Cloud Datalabとは? 2.準備 3.Notebookの作成 4.BigQueryからのデータ取得 5.取得したデータの可視化 という流れで紹介してい

iQONのエラーレートを0.003%以下まで減らした話

エンジニアの権守です。今回は、VASILYのWebフロントチームがWeb版iQONのエラーレートを0.1%から0.003%以下まで減少させた際に、行った取り組みについて紹介します。 概要 今回行った取り組みを、ひとことで言うと、テストとデバッグの強化です。 具体的には、次の3つの取り組みを行いました。 APIモックを用いたテストの廃止 テストの高速化 New Relicの活用 各項目について

【iOS】UITextViewの任意の文字列にリンクを埋め込む

こんにちは。iOSエンジニアの庄司( @WorldDownTown )です。 最近のIQONのアップデートで、コーデのタグ表示のUIを変更しました。 この変更では、ユーザーがテキストで無制限に埋め込んだタグを選択できるようになりました。 例えば「#スニーカー」をタップすると、「スニーカー」タグが付いたコーデが表示されます。 他のアプリでも見かけるUIなので、簡単にUITextViewで実装

クローラーの並列処理でresqueを捨ててsidekiqに移行した話

こんにちは、VASILYエンジニアの塩崎です。 今回はiQONを支えているクローラーの並列処理について紹介したいと思います。 並列処理の効率化をする過程でresqueを見限りsidekiqに移行した理由、移行時に書き換えた部分などについてもお話ししたいと思います。 iQONのクローラーの並列処理の仕組み iQONでは毎日数100万点のアイテムのクローリングを行っています。 一度クロ

GitHub + CircleCIでAWS Device Farmでのテストを自動化

VASILYの自動化大好きAndroidエンジニア堀江( @Horie1024 )です。今回、GitHubとCircleCIを利用したAWS Device Farmでのテストの自動化ついてご紹介しようと思います。 概要 Calabash で書いたAndroidアプリのE2Eテストを AWS Device Farm で実行する GitHub + CircleCIでAWS Device Farmでのテストの実行を自動化した Hubotを利用して実行中テストの監視とSlackへの通知をやってみた Cloud Test Lab を早く試した

多腕バンディットを活用したプッシュ配信の最適化施策

こんにちは。VASILYに入社して、オシャレぶるようになったと周りにイジられているデータサイエンティストの金田です。 VASILYでは、プッシュ通知の開封数を上げるために様々な施策を行っていますが、その一つとして、多腕バンディット問題を応用し、複数の異なるタイトル文の配信比率を動的に最適化することで、開封数を高めるといった取り組みを行っています。今

iQONを支える、400サイトのクローラーの裏側

こんにちはVASILYエンジニアの塩崎です。 iQONでは提携先ECサイトからアイテム情報をクロールしています。 クローラーの仕組みを大幅に変更することによって、1ヶ月間で400サイト分のクローラーを製作することができるようになりました。 今までの仕組みですと、2年間で80サイト分ですので、製作速度は100倍になりました。 今回はその仕組みをざっと紹介したいと思いま

iQONでクロールしたアイテム画像がコーディネートに使われるまで

こんにちはVASILYエンジニアの松本です。VASILYが運営しているiQONというサービスの大きな特徴の一つに、ユーザーがファッションアイテムを組み合わせてコーディネートを作り、それを投稿できるという機能があります。それを実現するために、iQON内では様々な画像処理が行われているのですが、それらを最近大幅に改善したのでその内容を紹介したいと思います。 iQONの

新卒デザイナーにおすすめ!読んでおきたいデザイン本5選

4月ということで、先日VASILYでも 入社式 をとり行い、エンジニア/デザイナーの計6名が新たに加わりました。 やる気に満ち溢れたフレッシャーズを見ると、我々も気の引き締まる思いです! 今回は、自分が新卒デザイナーだった頃に読んだ本、読んでおけば良かったなと思う本をご紹介したいと思います。 1.  欧文書体―その背景と使い方 [ 欧文書体―その背景と使い

VASILYデザイナーチームがインスピレーションを受けたファッションアプリまとめ(2015年3月)

最近ではFASHION×ITという話題がネットや雑誌などで注目され、ファッションアプリも増えてきている印象を受けます。 ファッションアプリも、日々のコーディネートをサポートするアプリや、使わなくなったアイテムを売ることのできるものなど様々です。 今日はVASILYデザイナーチームが3月に インスピレーションを受けた ファッション アプリ をいくつかご紹介したい

Functional Ruby

Modern Ruby: Functional Ghost in an imperative shell Ruby is a language designed in the following steps: take a simple lisp language (like one prior to CL). remove macros, s-expression. add simple object system (much simpler than CLOS). add blocks, inspired by higher order functions. add methods found in Smalltalk. add functionality found in Perl (in OO way). So, Ruby was a Lisp originally, in theory. Let's call it MatzLisp from now on. ;-) matz. Buzzwords such as "Functional Programming", "Curr

Keynoteプロトタイピングの効率的な取り入れ方

前回の記事 で、アプリデザイン効率化のためのツールのご紹介をさせていただきましたが、VASILYではその他にも Keynoteによるプロトタイピング を取り入れています。 プロトタイピングを効率的に進めるにあたって、どの段階でどのツールを取り入れるかはとても重要な判断になってきます。 Keynoteによるプロトタイピングは導入コストが低いこともあり、話題にあがって