読者です 読者をやめる 読者になる 読者になる

レコメンドアルゴリズム(BPR)の導出から実装まで

こんにちは、エンジニアの中村(@tn1031)です。弊社のプロダクト「iQON」には「for You」というレコメンド機能が実装され、個々のユーザに毎日おすすめのファッションアイテムを届けています。今回はこの「for You」に関連して、レコメンドを実現するアルゴリ…

フロントエンドチームでのインターンシップのすすめ

エンジニアの荒井です。現在VASILYではサマーインターンシップを開催しています。募集開始後、さっそく多くの方からご応募いただいています。 インターンコースのひとつにフロントエンド開発コースがあるのですが、HTMLを書くのか、サーバーサイド言語を書く…

データサイエンスチームでのインターンのすすめ

VASILYでは夏のインターンを募集しています。データサイエンスチームでは、機械学習やプログラミングが得意な方、iQONのデータでサービスを開発してみたい方など募集中です!

alpine linuxベースのdocker imageに移行したはなし

こんにちは、神崎(@tknzk)です。ElasticBeanstalk w/ multi-container Docker で構成しているad-serverのdocker image を alpine linuxベースのimageに置き換えました。 alpine linuxは、非常に軽量なdistributionで、DockerHubに登録されているmiddlewareな…

AndroidのCI環境をCircleCIからWerckerに移行しました

こんにちは、エンジニアの堀江(@Horie1024)です。先日行われたAndroid Testing Bootcamp #2で「AndroidのCI環境をCircleCIからWerckerにした話」という内容で発表させて頂きました。発表に使用したスライドはこちらになります。 この投稿では、スライドでは…

Androidチームでのインターンシップのすすめ

Androidエンジニアのnissiyです。学生のみなさん!インターンシップに参加していますか? 近年インターンシップに参加する学生が増えているそうですが、VASILYでも2014年からエンジニア向けインターンシップのプログラムを組んで学生を受け入れています。 募…

自社管理のpostfixメールサーバーをSendGridに移行してみた

自社管理していたpostfixサーバーをSendGridに完全移行しました。移行の時に起こったゴタゴタなどを紹介します。

DynamoDBの並列処理によるデータの欠損とProvisioning超過の対策

こんにちは。iQONのバックエンドエンジニアを担当しているjoeと申します。 最近、iQONのお知らせ機能のDBをMySQLからDynamoDBへ移行しました。 移行する際に発生した問題点である並列処理によるデータ欠損とProvisioning超過の対策を書きます。 間違っている…

iPhoneでテザリング中にレイアウトが崩れる問題の解決方法

iOSアプリを開発しているエンジニアの庄司です。 今回は、iPhoneでのテザリング中や通話中に、ステータスバーの高さが変わることによる表示崩れの対応について紹介します。 TL;DR iPhoneでテザリング中、UITabBarが画面からはみ出したりすることへの対応方法…

HTMLメールのテスト工数を短縮する

今回はHTMLメールのテスト工数を短縮するEmail Testing Serviceを紹介したいと思います。 はじめに HTMLメールと聞くと、気が重くなるエンジニアも多いのではないでしょうか。テーブルレイアウトとインラインCSSという普段と違う開発が求められますし、各メ…

UIPageViewControllerをつかって無限スクロールできるタブUIを実装してOSSとして公開しました

こんにちは、エンジニアの遠藤です。 最近iQONアプリのホーム画面のデザインをリニューアルしました。 タブを使ったデザインにすることで、iQON内にある多くのコンテンツが見やすくなりました。 今回はこのタブ機能の実装についてざっくりと紹介しようと思い…

SequenceTypeの利便性 in Swift 2.2

Making Sequences work for you こんにちは! VASILYのiOSエンジニアにこらすです。 SwiftのコントリビューターとSwift EvolutionSE-0053の作者です。 他のOSSプロジェクトにも貢献してるので興味があればGithubでフォローしてください。 今回のトピックはSw…

Fashion Tech meetup #2を開催しました

2016年3月22日、第二回目となるFashion Tech meetupを開催しました。前回はMERYを運営する株式会社peroli様との開催でしたが、今回はFRILを運営する株式会社Fablic様が加わり、VASILYを含め3社での開催となりました。 イベント公開開始時、参加枠70席のとこ…

Adobe XD(Adobe Experience Design)は実際にアプリ開発の現場に取り入れられそうか使ってみた

こんにちは。デザイナーの権です。 先日、何かと話題のAdobeのプロトタイピングツール「Adobe XD(Adobe Experience Design)」 のプレビュー版がリリースされました。 早速いろいろと触ってみたところ、プレビュー版ということもありまだシンプルな機能のみ…

Facebook ネイティブアドのスマホサイトへの導入方法

Web

Facebookがモバイルページ向けのAudience Networkをオープンβで開始していたので、提供されている形式の一つであるネイティブアドを試してみました。

ディープラーニングを活用したマイクロサービスを構築し、画像から商品カテゴリの分類をしてみる

ディープラーニングを使って商品画像から商品カテゴリーの分類を行うマイクロサービスの設計・製作を行い、クローラーに組み込みを行いました。 その結果、分類精度99.7%を達成しました。

ディープラーニングで洋服を整理してみました

畳み込みニューラルネットワークによる画像生成モデル(DCGAN)に弊社のワンピース画像10万枚を学習させてみました.

アプリのAPIリクエストのトレースはどうするのが効率的か?

こんにちは。iOSエンジニアの庄司です。 普段のアプリ開発において、バックエンドチームから「○○のページで△△のデータ取得するためにリクエストしているURLってどんなの?」と聞かれることがよくあります。 その都度、APIリクエストとリクエスト結果をprint…

効率的なアプリ開発のためにデザインガイドラインを作成した話

こんにちは。デザイナーの権です。 アプリ開発に関わるデザイナーの方々は、仕様とデザインが決まって実装に移る際、どのようにチームでやりとりしていますか? それぞれの開発体制や状況に合わせて進めていくので、会社によって様々だと思います。弊社でも…

RecyclerViewのGridLayoutManagerでフッターにProgressBarを出す方法

RecyclerViewが発表されて1年半ほど経ちましたが、みなさんRecyclerViewは活用していますか? これまではListView・GridViewを頑張って使っていたiQONも、直近のリリースから少しずつRecyclerViewに置き換えはじめました。 RecyclerViewはListView・GridView…

データ分析基盤としての BigQuery 運用のベストプラクティス

あけましておめでとうございます。データサイエンティストの金田です。現在 iQON では、データ分析の基盤として BigQuery を利用しており、データ分析や計算負荷の高いバッチ処理等に活用しています。しかしながら、通常のデータベースとは若干異なる点があ…

3ヶ月でDAUを倍にしたサイト最適化の話

Web

Merry Christmas! フロントエンド開発の荒井です。今回はフロントエンド開発陣が3ヶ月で行ったサイト最適化を紹介したいと思います。短期間で多くの変更を施したため、今回は取り組みやすく、特に大きなインパクトがあったと思われる内容2つを紹介します。 …

コーポレートサイトのリニューアルで学んだ、デザイナーとして大切だったこと

こんにちは。VASILYデザイナーの文山です。入社して1年が経つタイミングで、弊社のコーポレートサイトリニューアルを経験しました。今日はそれを例に、コンセプトをキーワードまで分解しデザインに落とし込むまでの過程や、デザイナーとして大切だったことを…

【iOS】一定以上スクロールするとタブの位置が固定されるUIの実装について

iOS

こんにちは。iOSエンジニアの遠藤です。 最近のiQONはコンテンツ量が増えてユーザーの詳細ページに表示する情報が多くなってきました。今のデザインでは情報量が多すぎて詳細ページが見づらい状況になっています。そこで以下のようなコンテンツをタブで管理…

「伝わる写真」を撮るためにしていること

こんにちは。VASILYデザイナーの半澤です。今回はデザインに必要不可欠な写真についてご紹介します。 クオリティの高い写真素材はネットにたくさんありますが、自社のコーポレートサイトや求人用となると、自分たちで撮影せざるを得ません。 VASILYでは撮影…

Carthageクイックスタートガイド

Carthageとは? こんにちはVASILYでiOSエンジニアをしているニコラスです。今回はCarthageの紹介をしたいと思います。 CarthageはiOS / OS X開発のための分散型の (decentralized) パッケージマネージャーです。 既にプロジェクトでCocoaPodsを使っていても…

アドサーバーをElasticBeanstalk with Dockerに移行した話

こんにちは、神崎です。今年の6月頃にアドサーバーのアプリケーションサーバ群をAWS ElasticBeanstalk w/ Dockerに置き換えをおこないました。 これにより、アプリケーションレイヤーのauto-scaling環境の構築、deployのフローの自動化、rubyなどのMiddlewar…

TerraformとAtlasとGitHubを使ってインフラを構築、自動化してみた話

みなさんこんにちは、今村(@kyuns)です。今回は弊社の新規サービス開発にて、Hashicorp製品を中心にインフラ周りを整えたお話をしていきたいと思います。今回はTerraformとAtlasの話が中心になります。 今回実現したこと TerraformでAWS上のリソースをコード…

SORACOM Airでアプリの動作確認

先日、弊社がAndroid版iQONの開発に使用しているサービスとツールについて紹介させていただきました。 Android版iQONの開発で利用しているサービス&ツールを紹介します その中でアプリの動作確認にSORACOM Airを導入したとご紹介しましたが、今回SORACOM ユ…

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

こんにちはVASILYエンジニアの松本です。先日MERYを運営する株式会社ペロリと合同でFashion Tech meetup #1と題した勉強会を開催しました。 当日は約100名のエンジニアの方々に集まっていただき、Fashion × Technologyを題材として各社のエンジニアが、お互…

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

こんにちはVASILYエンジニアの松本です。VASILYではクローラーの仕組みを大幅に見直した際にDynamoDBの導入を行いました。今回はその導入方法とDynamic DynamoDBを用いた運用方法について話したいと思います。

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

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

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

こんにちは。VASILYでインターンとして働いている永井です。大学では統計の研究をしていて、VASILYでは主にデータ分析に取り組んでいます。今回は先月の10月13日にβ版で提供開始となったGoogle Cloud Datalabを試してみたので、その紹介をしたいと思います。…

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

Web

VASILYのWebフロントチームがWeb版iQONのエラーレートを0.1%から0.003%以下まで減少させた際に、行った取り組みについて紹介します。今回行った取り組みはAPIモックを用いたテストの廃止、テストの高速化、New Relicの活用です。

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

こんにちは。iOSエンジニアの庄司(@WorldDownTown)です。 最近のiQONのアップデートで、コーデのタグ表示のUIを変更しました。 この変更では、ユーザーがテキストで無制限に埋め込んだタグを選択できるようになりました。 例えば「#スニーカー」をタップする…

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

こんにちは、VASILYエンジニアの塩崎です。 今回はiQONを支えているクローラーの並列処理について紹介したいと思います。 並列処理の効率化をする過程でresqueを見限りsidekiqに移行した理由、移行時に書き換えた部分などについてもお話ししたいと思います。…

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

VASILYの自動化大好きAndroidエンジニア堀江(@Horie1024)です。今回、GitHubとCircleCIを利用したAWS Device Farmでのテストの自動化ついてご紹介しようと思います。 概要 Calabashで書いたAndroidアプリのE2EテストをAWS Device Farmで実行する GitHub + Ci…

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

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

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

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

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

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

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

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

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

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

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). ad…

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

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

アプリを使わなくてもPush通知が来る!

VASILYでインターンをしている茨木です。 3月9日に発表されたGoogle Chromeの最新ベータ版v42.0.2311.22でPush APIがサポートされニュースになりました。ブラウザからスマホにプッシュ通知が送れるというものです。 スマホ向けウェブサービスをやっている方…

iQONのアニメーションの裏側ちょっと紹介します

はじめに iQONではアニメーションなどのアプリとしての演出の部分にこだわりを持っています。 突然ですが皆さんiQONでコーディネート画像をタップしたことはありますか?

VASILYデザイナーが選ぶ、アプリデザイン効率化のためのツール7選

プロダクト開発においてスピードも重視するVASILYでは、効率的・効果的にデザインを行えるよう様々なツールを活用しています。 今回は、これまで使ってきた中でオススメのアプリやサービスをいくつかご紹介したいと思います。 プロトタイピングをつくる アプ…

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

VASILYでは、より良いアウトプットをするためにもデザインインプットの時間を週1回設けています。画面遷移であったり、ちょっとしたアニメーションなど優れたUIをチームで共有し、実際にiQONのUIやUXという部分に反映しようと日々、試行錯誤しております。 …

iQONの広告配信システム

「iQON AD」 VASILYでは2014年10月から、インフィード型ネイティブ広告「iQON AD」をiQONのiOSとAndroidアプリ、スマートフォンサイトに向けて配信しています。 国内最大級のファッションアプリ「iQON」、 女性向けネイティブ広告「iQON AD」を開始。 「iQON…

デザイナー必見!チームで取り入れるべき効果的なスキルアップの方法3つ

社内にデザイナーが複数人在籍する場合、チーム内でのデザインクオリティの担保やスキルアップはどのように行われていますでしょうか?VASILYでは、デザインレビューや、インプット、セミナー参加など、チームでも個人レベルでも常に積極的に行いながら制作…