株式会社ZOZO の技術ブログ

1コマンドで本番サーバと開発サーバ (のVMイメージ)を作る話

こんにちは、インフラエンジニアの光野(@kotatsu360)です。 開発をしていると本番サーバと開発サーバの乖離が問題になると思います。これについて、先日行われた UZABASE Meetup#4 〜大規模サービスを支えるインフラ〜 にて「1コマンドで本番サーバと開発サーバ (のVMイメージ)を作る話」という発表をさせていただきました。 この記事では、時間とスライドの都合上、省略し

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

こんにちは、エンジニアの中村( @tn1031 )です。弊社のプロダクト「iQON」には「for You」というレコメンド機能が実装され、個々のユーザに毎日おすすめのファッションアイテムを届けています。 press.vasily.jp 今回はこの「for You」に関連して、レコメンドを実現するアルゴリズムのひとつである Bayesian Personalized Ranking (BPR) を紹介したいと思います。 本記事ではひとつの手法

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

エンジニアの荒井です。現在VASILYでは サマーインターンシップ を開催しています。募集開始後、さっそく多くの方からご応募いただいています。 インターンコースのひとつにフロントエンド開発コースがあるのですが、HTMLを書くのか、サーバーサイド言語を書くのか等、業務範囲に興味がある方が多いようです。そこで今回は、VASILYフロントエンドチームの役割と、イ

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

データサイエンスチームの後藤です。 学生のみなさんはそろそろ夏のインターンの時期ですね。 私も、ちょうど一年前に学生の立場でVASILYのインターンに参加して熱い夏を過ごしたことを思い出します。 本記事では、データサイエンスチームの実際の仕事と夏のインターンについてご紹介します。 記事の最後に、インターン募集の案内も貼っていますので、インターン

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

こんにちは、神崎( @tknzk )です。ElasticBeanstalk w/ multi-container Docker で構成しているad-serverのdocker image を alpine linuxベースのimageに置き換えました。 alpine linuxは、非常に軽量なdistributionで、DockerHubに登録されているmiddlewareなどの公式のdocker imageでも採用が進んでいるOSです。 http://www.alpinelinux.org/ 以前の ブログ にも書いたとおり、ad-serverは ElasticBeanstalkで管理された

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

こんにちは、エンジニアの堀江( @Horie1024 )です。先日行われた Android Testing Bootcamp #2 で「AndroidのCI環境をCircleCIからWerckerにした話」という内容で発表させて頂きました。発表に使用したスライドはこちらになります。 この投稿では、スライドでは単にリンクを貼って終わらせてしまったなど、詳細を紹介しきれなかった点についてご紹介しようと思います。 移行前に利用

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

Androidエンジニアのnissiyです。学生のみなさん!インターンシップに参加していますか? 近年インターンシップに参加する学生が増えているそうですが、VASILYでも2014年からエンジニア向けインターンシップのプログラムを組んで学生を受け入れています。 募集は通年行っていますが、まとまった時間が取れる夏休みを利用して参加される方が多い傾向にあります。 今回は

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

こんにちは、VASILYバックエンドエンジニアの塩崎です。 社会人2年目にも突入し、優秀な後輩たちに抜かされないかと日々ひやひやしています。 さて、今回は1ヶ月程前に完了した、メールサーバーのSendGrid移行について紹介したいと思います。 移行のきっかけ そもそも、なぜVASILYでメール配信の自社管理をやめてクラウドサービスであるSendGridに移行する必要がでたので

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

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

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

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

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

今回はHTMLメールのテスト工数を短縮するEmail Testing Serviceを紹介したいと思います。 はじめに HTMLメールと聞くと、気が重くなるエンジニアも多いのではないでしょうか。テーブルレイアウトとインラインCSSという普段と違う開発が求められますし、各メーラー、Webメールの表示対応が必須となります。 2016年になっても何かが解決するどころか、確認するデバイスだけが

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

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

SequenceTypeの利便性 in Swift 2.2

Making Sequences work for you こんにちは! VASILYのiOSエンジニア にこらす です。 SwiftのコントリビューターとSwift Evolution SE-0053 の作者です。 他のOSSプロジェクトにも貢献してるので興味があれば Github でフォローしてください。 今回のトピックはSwift2.0以降の SequenceType というプロトコルと、その内部的な動きについて紹介します。 class や struct を SequenceType プロトコルに準拠さ

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

2016年3月22日、第二回目となる Fashion Tech meetup を開催しました。前回は MERY を運営する株式会社peroli様との開催でしたが、今回は FRIL を運営する株式会社Fablic様が加わり、VASILYを含め3社での開催となりました。 イベント公開開始時、参加枠70席のところ120名を超える申し込みがあり、増枠を設けるほどの大盛況となりました。 最終的に180人を超える申し込みを頂き、Fashion

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

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