株式会社ZOZO の技術ブログ

Androidアプリにおけるエラー時のユーザーフィードバックについて

こんにちは、フロントエンドエンジニアの権守です。 プログラミングをしていると頭を悩まされるものの1つにエラーハンドリングがあると思います。シンプルにできた実装に手を入れる必要が生じるなど、正直目を逸らしたくなることもあります。ですが、Androidアプリ開発を通して改めて考える機会があったので、そこで得られた知見を紹介しようと思います。 本記事

就職活動としての実務型インターンのすすめ

こんにちは、インターンの@takewakaです。 もう春休みなのでほぼ毎日出勤してカスタマーサポートのAPIとUIを作る毎日です。 私は現在大学4年で4月からVASILYに就職する予定です。VASILYでのインターンは来月で丁度1年となります。 私は就職活動を始める前からwebエンジニアとして働く希望があったので、一般的な就職活動はあまりせず実務型インターンを通じてwebエンジニア

PyMC3を使ったベイズ推論によるA/Bテスト

こんにちは。 データチームの後藤です。 A/Bテストはサービス改善のための施策の効果測定に欠かせないツールですが、最近のVASILYでは、運用するサービスが増えてきたことに伴いA/Bテストの内容も多様化してきました。今回はそのA/Bテストにベイズ推論を用いた具体的な例を紹介します。 問題設定 あるサービスのコンバージョン率を上げるため、コンバージョンの前提

10代エンジニアが思う、インターンに応募してよかった5つのコト

こんにちは、VASILYでエンジニアインターンをしている劉です。 僕は昨年の四月、大学一年生になりました。その後、自分でプログラミングを学ぼうとしましたが行き詰まり、六月に思い切ってVASILYのインターンシップに応募しました。それから半年以上働いてみて、あの時思い切って応募してよかったと思うことが多くありました。今日はそのいくつかを紹介したいと思

FacebookAccountKitを用いたSMS認証(サーバーサイド編)

こんにちは! 最近は熱燗にはまってます。 バックエンドエンジニアのりほやんです。 本記事では、最近2段階認証などにもよく使われているSMS認証のサーバーサイド実装についてご紹介します。 FacebookAccountKitを用いて実装しました。 SMS認証とは SMS認証とは、SMS(ショートメッセージ)を利用した認証方法です。 ユーザーが入力した電話番号に対してショートメッセージ

大規模リファクタリングで痛感したSwiftのOptionalとの正しい付き合い方

iOSアプリチームの @hiragram です。 最近、ファーストリリース時からあった画面の大規模なリファクタリングを担当しました。 コードは遅かれ早かれ賞味期限が切れて少しずつ腐っていくものですが、その賞味期限を少しでも伸ばすために、普段コードを書く時にSwiftのOptionalについて意識していることを記事にします。 「とりあえずOptional」をやめる SwiftのOptionalは便利で

OpsWorksにおける複数レイヤ構成の構築Tips

こんにちは。インフラエンジニアの内山(@k4ri474)です。 弊社ではCloudFormationとOpsWorksを活用してインフラ構築をしています。 この両サービスではハマりどころが多く、中でもOpsWorksでインスタンスが複数のレイヤに所属する構成を構築した際にとても苦戦しました。 そこで今回は、私が上記構成でインフラ構築をした際に悩んだ点の解決法をTipsとして公開します。 目次

検索システムだって高可用性にしたい!SolrCloudを用いた高可用性構成の紹介

こんにちは、バックエンドエンジニアの塩崎です。 最近のTECH BLOGではMatzさんのインタビュー記事を書いたり、RubyKaigiの発表まとめを書いたりして、他人の褌で相撲を取っていました。 今回は心を入れ替えて(?)、自分自身が取り組んだ内容について書きます。 VASILYでは検索用のミドルウェアとしてApache Solr(以下、Solr)を使用しています。 全文検索や、ファセット機

6年半のテックブログ運用を振り返って気づいたメリットと長く続けるコツ

あけましておめでとうございます、CTOの今村( @kyuns )です。 このテックブログを購読してくださっている読者の皆さん、いつもありがとうございます。 VASILYテックブログも記事を投稿し始めてから約6年半が経ちました。 今回はテックブログを長年続けてきた振り返りと、長く続けるコツについて紹介したいと思います。今年はテックブログを始めてみたい、という方

コーディネートの自動生成

この服装に合う靴を選んでコーディネートを完成させたいと思います。皆さんはどの靴を選びますか? データサイエンティストの中村です。今回、このようなタスクを解くためのシステムを開発しました。本記事ではシステムと裏側の要素技術について紹介したいと思います。 概要 ファッションにおいて、コーディネートは何より大事な要素です。安物の服でもコーデ

本番DBと開発DBが乖離した無法地帯の整備

こんにちは。バックエンドエンジニアインターンの田島です。弊社ではIQONの運用を7年間続けています。長年の運用から技術的負債が溜まってきていました。その中の1つに、IQONの本番DBと開発DBの状態が乖離しているという問題があります。この問題をどのように解決したかについて紹介します。 IQONについて IQONはRuby on Railsで運用されており、以下のような環境で動作し

BigQueryによるデータ分析のための前処理Tips

こんにちは。 使うSQLが200行を超えるのが当たり前になってきたデータチームの後藤です。 本記事では、VASILYデータチームで利用しているBigQueryによるデータの前処理のTipsを紹介します。 VASILYではサービスのマスタデータやログデータをGoogle BigQueryに集約して分析に活用しています。機械学習やデータ分析のための前処理を行う際、軽量なデータであれば抽出結果をPython

S3の からにこもる ぼうぎょりょくが 100あがった

こんにちは。インフラエンジニアの光野です。 AWS re:Invent 2017で次々と新発表があり、ワクワクがとまりません。また最近はACMがDNS検証で証明書を発行できるようになったり、SpotFleetがELB Auto Attachできるようになったり、個人的に嬉しいアップデートが続いています。来年もますますAWSのファンになりそうです。 さて、そんなキラキラ(?)した話題は一旦おいて、本記事

第1回VASILY開発合宿をおんやど恵で行いました!

こんにちは! 食欲の秋でいつもお腹が空いているバックエンドエンジニアのりほやんです。 VASILYでは11月の13,14日に第1回開発合宿を開催しました! とても楽しい合宿になったため、本記事では開発合宿の様子をレポートします! 出発 今日はエンジニアとデザイナーで開発合宿です!湯河原いくよー! #VASILY開発合宿 — キュン/今村雅幸 (@kyuns) 2017年11月13日 品川駅に全

大事故防止!iOSの自動更新購読型と消耗型の課金を共存させるときのサーバーサイドTipsまとめ

課金とPush通知攻略に邁進中のじょーです。 今回は、ひとつのアプリに自動更新購読型と消耗型を共存させたときのサーバーサイドで行うレシート検証のTipsを紹介します。 自動更新購読型課金のサーバーサイド実装について 自動更新購読型課金単体で実装する場合はこちらの記事が参考になります。 (昔書いた記事で古い情報がある場合があります) 下記の記事では月額