タグ

ブックマーク / tech.vasily.jp (22)

  • Android版iQONの開発で利用しているサービス&ツールを紹介します | 株式会社VASILY(ヴァシリー)

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

    Android版iQONの開発で利用しているサービス&ツールを紹介します | 株式会社VASILY(ヴァシリー)
    invent
    invent 2015/11/10
    “SORACOMの使い方おもしろい”
  • Google Cloud Datalabを使ってBigQueryのデータを分析する | 株式会社VASILY(ヴァシリー)

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

    Google Cloud Datalabを使ってBigQueryのデータを分析する | 株式会社VASILY(ヴァシリー)
    invent
    invent 2015/11/05
  • GitHub + CircleCIでAWS Device Farmでのテストを自動化 | 株式会社VASILY(ヴァシリー)

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

    GitHub + CircleCIでAWS Device Farmでのテストを自動化 | 株式会社VASILY(ヴァシリー)
    invent
    invent 2015/10/15
    Cloud Test Lab楽しみ
  • iQONでクロールしたアイテム画像がコーディネートに使われるまで | 株式会社VASILY(ヴァシリー)

    iQONでクロールしたアイテム画像がコーディネートに使われるまでを解説したブログこんにちはVASILYエンジニアの松です。VASILYが運営しているiQONというサービスの大きな特徴の一つに、ユーザーがファッションアイテムを組み合わせてコーディネートを作り、それを投稿できるという機能があります。それを実現するために、iQON内では様々な画像処理が行われているのですが、それらを最近大幅に改善したのでその内容を紹介したいと思います。 iQONのコーディネートに使われるアイテム画像について コーディネートを作る過程 下の図のようにユーザーは検索画面からアイテムを検索し、それをキャンバスに配置してコーディネート画像を作っていきます。 iQON内の画像のほとんどは提携先ECサイトからクロールして取得している画像なので、コーディネートに使う画像については以下の2点を実現する必要があります。

    iQONでクロールしたアイテム画像がコーディネートに使われるまで | 株式会社VASILY(ヴァシリー)
    invent
    invent 2015/09/01
  • アプリの離脱率を劇的に下げるために!iOSアプリの離脱ページの計測テクニック | 株式会社VASILY(ヴァシリー)

    ウェブサービスに限らず、アプリの継続率を上げるためには離脱率や離脱ページの計測は重要です。 離脱率の高いページを知り、改善することでアプリの継続率やコンバージョン率の向上につなげることができます。 特に新規ユーザーの離脱ページを改善すると継続率への影響は大きいでしょう。 今回は、iOSアプリの離脱ページ計測について3点にわけて紹介します。 1. iOSアプリにおける離脱とは 2. 最...ウェブサービスに限らず、アプリの継続率を上げるためには離脱率や離脱ページの計測は重要です。 離脱率の高いページを知り、改善することでアプリの継続率やコンバージョン率の向上につなげることができます。 特に新規ユーザーの離脱ページを改善すると継続率への影響は大きいでしょう。 今回は、iOSアプリの離脱ページ計測について3点にわけて紹介します。 1. iOSアプリにおける離脱とは 2. 最前面のUIV

    アプリの離脱率を劇的に下げるために!iOSアプリの離脱ページの計測テクニック | 株式会社VASILY(ヴァシリー)
    invent
    invent 2015/08/26
  • はじめてのAndroid Wear | VASILY DEVELOPERS BLOG

    VASILYではエンジニア海外で行われるカンファレンスに参加できる制度があり、毎年iOSアプリのエンジニアが WWDC に、AndroidアプリのエンジニアGoogle I/O に参加しています。 今年もAndroidアプリのエンジニアである私、 @yoichinishimura が6月25日、26日に行われた Google I/O に参加してきました。 今年のI/Oでは、 Material Design やAndroid関連の多くの発表がありましたが、その中で私が一番に関心を持ったのが Android Wear でした。 半年ほど前に公開されたPreview版のSDKにはさほど興味は湧かなかったのですが、正式なSDKが公開されたのと、会場で参加者に配られた Samsung Gear Live を身につけていたら急に興味が湧いてきました。 今回は Android Wear とはい

    invent
    invent 2014/07/15
  • BehaviorクラスによるiOSアプリケーションの設計 | VASILY DEVELOPERS BLOG

    こんにちは。VASILYのiOS開発チームの松です。 今回はiOSアプリケーションの設計について、非常に有益な記事を見つけたのでご紹介します。 Behaviors in iOS Apps 内容はBehaviorクラスの導入によって、ViewControllerに記述するコードの量を削減しようというものです。 多くのiOSアプリケーションの開発者はViewConrollerにすべてのロジックを書いてしまうため、プロジェクト全体が重いViewControllerに埋め尽くされてしまいます。ViewControllerは再利用しづらく、単体テストもしづらいためこのような設計を続けてしまうと、コードの品質を担保していくことが困難になってしまいます。そこでViewControllerに実装されている各機能(delegatesやdata source)をBehaviorクラスに分割して設計する

    BehaviorクラスによるiOSアプリケーションの設計 | VASILY DEVELOPERS BLOG
    invent
    invent 2014/06/14
  • ネイティブスピーカーが選ぶ!使える英語コミットコメント10選 | VASILY DEVELOPERS BLOG

    VASILY新入りエンジニアのEricと申します。 フィラデルフィアから来ました。好きな漫画はHUNTER x HUNTERです。 今回は使える英語コミットコメントを10個紹介します。 Fix, Change, Reviseなど、日人の方には違いが分かり辛いものも、実際の使い所が分かるようにしてみました。 是非知って、使ってみてください! 1. Fix 意味: 直す, 修理する 使い方: バグなどが出たためコードを書き直す必要があう場合に使います。何か問題を直して、正確な操作に戻すニュアンスが強いです。 例:  Fix inequality in LinesComponent 訳: LinesComponentにおける不等式を書き直す 2. Revise 意味: 変更する、修正する 使い方: バグは出ていませんが、不十分なところや修理が必要としたところがあって、コードをより

    ネイティブスピーカーが選ぶ!使える英語コミットコメント10選 | VASILY DEVELOPERS BLOG
    invent
    invent 2014/06/13
  • WWDCの現地に来るべき7つの理由 [2014年版] | VASILY DEVELOPERS BLOG

    VASILY iOSエンジニアの庄司です。 同じくiOSエンジニア荒井とチーム全員(2名)でサンフランシスコで開催中のWWDCに来ています。 今回のKeynoteは既にご存知の通り、「OS X Yosemite」, 「iOS 8」, 新言語「Swift」など盛りだくさんの内容でした。 SwiftRubyと似たような記法があり、Rubyを使っている会社の一員としてはとっつきやすくていい感じです。 さて、WWDCの開催期間は5日間ありますが、大きく報道されているKeynote以外にもたくさんのセッションが開かれています。 そのセッションの様子はWWDC2014の公式サイトで見ることができます。 Keynoteもセッションも現地に行かずに見れるのに、なぜ高い参加費を払って現地に来るのでしょうか。 今回は「現地に来るべき理由」をいくつか紹介します。 WWDCの現地に来るべき理由 1. L

    WWDCの現地に来るべき7つの理由 [2014年版] | VASILY DEVELOPERS BLOG
    invent
    invent 2014/06/06
  • 【Android】「挫折しないユニットテスト」を始めるための3つのポイント | VASILY DEVELOPERS BLOG

    Androidエンジニアの村田です。チームメンバーが増えてきてますますテストコードの必要性を感じています。 ということでAndroidアプリの開発でユニットテストを導入しました。 挫折しないでユニットテストを始めるための3つのポイントを紹介していきたいと思います。 なぜ始めたか? まずはじめにそもそもなぜ始めたのかの理由を3つ紹介します。 プロダクトの品質を仕組みとして保ちたかった コードレビューはしてるが、あくまで人の目の確認となり抜け漏れが生じてしまいます。クラスやメソッド単位での品質は仕組みとして担保したいと思いました。 チーム内でクラス、メソッドの仕様についての共通認識を高めたかった そのコードは何を受け取ったらエラーとするのか?テストコードを書けばわかりやすくなると思います。自分のためにもチームメイトのためにもなると思います。 仕様変更によるバグ発生の回避 たくさんの機

    【Android】「挫折しないユニットテスト」を始めるための3つのポイント | VASILY DEVELOPERS BLOG
    invent
    invent 2014/05/07
  • 最強のプッシュ通知には必要不可欠!グロースハックの為のAPNs Feedbackサービス導入方法 | VASILY DEVELOPERS BLOG

    バックエンドエンジニアのBoBです。 今回はiOSプッシュを最適化するためには必要不可欠な、Apple Push Notification service(以下APNs)のFeedbackサービスについて紹介したいと思います。 はじめに iPhoneAndroidにはプッシュ通知という仕組みがあることは皆さんもよくご存知かと思いますが、より洗練された、効果的なプッシュ通知を送るために自分たちのプロダクトが送っているプッシュ通知を分析する事はとても重要な事です。 今回はiPhoneのFeedbackサービスを利用して、プッシュ通知を送れていないユーザーを把握する事に関して 1. プッシュ通知の意義 2. Feedbackサービスの説明 という2点から紹介しようと思います。 プッシュ通知の意義 iPhoneAndroidプッシュ通知は、ユーザーのRetention(再訪率)を

    最強のプッシュ通知には必要不可欠!グロースハックの為のAPNs Feedbackサービス導入方法 | VASILY DEVELOPERS BLOG
    invent
    invent 2014/02/17
    gem使えばもう少し簡単に済むのに。 最強のプッシュ通知には必要不可欠!グロースハックの為のAPNs Feedbackサービス導入方法 | VASILY DEVELOPERS BLOG
  • Redis::DistMutex – 時限付き分散ロックで効率良くサイトクロールをしよう | VASILY DEVELOPERS BLOG

    はじめまして。バックエンドエンジニアの吉田です。 2013年5月末の入社以降、大量のEC2インスタンスのVPC移行を担当した後、今はiQONの商品DBを支えるクローラーの改善に取り組んでいます。今回はその改善の1つとして開発したRedis::DistMutexという分散ロック機構のruby実装を紹介をしようと思います。 Redis::DistMutex 開発の経緯や細かい設計の話は後述するとして、まずはつくったgemの紹介をします。 Redis::DistMutex Redisベースの分散ロック機構 rubyのライブラリにあるMutex互換 スレッド間だけでなく、プロセス間・ホスト間でも共有できるMutex 時限つきロックの作成が可能(redisのsetnxとexpireを活用) namespaceを指定できるので、特定の処理ごとにロックの作成が可能 redis2.6以上のみサポート(1秒

    Redis::DistMutex – 時限付き分散ロックで効率良くサイトクロールをしよう | VASILY DEVELOPERS BLOG
    invent
    invent 2013/11/27
  • Androidアプリの開発効率が◯倍になるツール | VASILY TECH BLOG

    はじめまして!2013年7月にVASILYにJOINした西村と申します。VASILYでは主にiQONのAndroidアプリの開発を行っています。 先週からAndroid4.4搭載のNexus5を使っているんですが動きがかなり向上されたため、これからAndroidの快進撃が起こる予感がしてワクワクです。Androidの快進撃といえば最近iQONでも起こりはじめています。少し前まではAndroidアプリよりもiOSアプリの方が評価が高かったiQONですが、この半年でAndroidアプリのユーザーレビューが0.8ほど上がりiOSアプリに追いつきつつあります。先月にはGoogle Playの「今週のおすすめ」枠に掲載していただきました。 今回はそんなAndroidアプリの開発で使用しているツールを紹介します。 Android Studio 現在、IDEは「Android Studio」を使用してま

    invent
    invent 2013/11/13
  • iOS7に最適化して新しくなったiQONのiOSアプリの新機能 | VASILY TECH BLOG

    2013年も終盤にさしかかり、年内に+10kgに到達しそうなiOSエンジニアの庄司です。 先日、iQONのiOSアプリをiOS7にデザインを最適化してリニューアルしました。 今回は新しくなったiQONの新機能とUIについてご紹介します。 まずはあたらしくなったiQON v2.0.0をこちらでインストールしてみてください。 新しくなったiQONの新機能 アプリのデザインをリニューアル iOS7にマッチしたシンプルで明瞭なデザインに変更しました。(あえてフラットデザインとは言いません) iOS7のトーンに合わせるだけでなく、ユーザーインターフェース部分の装飾を最低限必要なものだけにしました。 そうすることで、投稿されるコーディネートや掲載商品などのコンテンツを引き立てるように設計されています。 ↓v1.8.2 と v2.0.0 ホーム 今回新たに追加された「ホーム」は、iQONの利用

    invent
    invent 2013/11/11
  • サーバのパフォーマンスが気になる人に嬉しいツール2つ | VASILY TECH BLOG

    初めまして。加藤と申します。 2013年6月からVASILYで主にAPIフロントエンドのプログラムをいじっています。 今回はAPIサーバのパフォーマンスが気になる人に嬉しい便利ツール2つ紹介します。SiegeとHTTPingです。 目新しい訳ではないですがいずれもライトなので、小規模の受託や1人開発のサービスなんかでも試しやすい筈です! Siege Siege is an http load testing and benchmarking utility. Siege(スィージ)はHTTP負荷テストツールです。 ベーシック認証,cookies,HTTP,HTTPSサポート。 仮想ユーザを大量に作って、インターネットからのアクセスをそれっぽくシミュレートしてくれます。 インターフェースはApache Benchに近いので、ABを使った事ある人なら直感的に使える筈です。 インス

    invent
    invent 2013/11/06
  • 【iOS】Viewの再利用性が確実に高まるiQONアプリのView構成 | VASILY TECH BLOG

    はじめに こんにちは、iOSエンジニアの荒井です。 先日、株式会社Rettyエンジニアの方々と技術勉強会を開催しました。 今回はiOSアプリについて、自分たちが使用している技術を紹介し合いました。 その場でXcodeを立ち上げ、instrumentsを起動してのLIVEメモリリーク調査など、 通常の勉強会とは違った形式で、とても有意義な技術交流の場になったと感じています。 僕からも「iQONのVIew構成」というお題でお話させて頂いたので、 今回はその資料を公開したいと思います。 スライドと補足 資料はslideshareにて公開していますが、まずスライドの流れを簡単に紹介したいと思います。 iQONでは現在多くのViewController・Xibがあります。 その数は100を超え、複雑な画面設計も相まって、工夫をしないと開発工数がかさんでしまいます。 ViewControll

    invent
    invent 2013/09/13
    Storyboardの画面数すごい。 【iOS】Viewの再利用性が確実に高まるiQONアプリのView構成 | VASILY TECH BLOG
  • Capistrano – デプロイ自動化ツール | VASILY TECH BLOG

    はじめまして。 最近結婚しましたVASILYのエンジニア庄司です。 VASILY では最近、アジャイル開発を取り入れ始めました。 アジャイル開発では開発工程の早い段階でのデプロイ自動化が推奨されています。 ・開発の終盤でデプロイスクリプトを書くより安全・安心 ・自動化されていることで細かく頻繁なアップデートが可能 そこで、Rails定番で利用実績の多いCapistranoを選択しました。 今回はRailsアプリケーションの自動デプロイツールCapistranoを紹介します。 Capistranoとは Railsアプリケーションに特化したデプロイ自動化ツールです。 以下のような特徴があります。 ・Rubyで書かれたRails定番のデプロイツール ・デプロイ/リストアがコマンド一発 ・デプロイのバージョン管理 ・複数サーバにインストール可能。 ・配信先サーバには何もインスト

    invent
    invent 2013/09/06
    Capistrano – デプロイ自動化ツール | VASILY TECH BLOG
  • iQON Rails4.0への移行に関して① ~MySQLのgemを修正~ | VASILY TECH BLOG

    みなさん初めまして! 体を引き締めるため、強い漢になるために最近キックボクシングをはじめたボブです。 4月1日からvasilyでバックエンドエンジニアとして働きはじめ、今回Techブログを初めて書かさせていただきます。よろしくお願い致します。 今回は自分が今担当している、iQONのRails4.0移行について書きたいと思います。その中でも今回は「mysqlのgemの設定」に焦点を当てて記載していきたいと思います。 はじめに VASILYでは約2年ほど前に、PHPで構成されていたiQONをRuby on Railsで書き直しました。 しかし一度実装して以来、プロダクトの新規システム実装や運用に時間をとられてしまい、Railsやミドルウェアのバージョンをあげるなどの作業を行うことができていませんでした。 待望のRails4.0が正式リリースされたこのタイミングにあわせて、Rails

    invent
    invent 2013/07/17
    iQON Rails4.0への移行に関して① ~MySQLのgemを修正~ | VASILY TECH BLOG
  • iQONにおけるiPhoneアプリのメンテナンスページ実装方法 | VASILY TECH BLOG

    こんにちは、体重の管理を怠り、緊急で大メンテナンス中の荒井です。 今回はiQONのメンテナンスページについて紹介したいと思います。 実装の経緯 アプリをリリースしてから、幸いなことにiQONは大規模なサービスダウンを していませんが、サービスの成長が早く、インフラが嬉しい悲鳴を上げる事がありました。 その都度DBAPIなどをスケールアウトしてきましたが、より快適なサービスを提供するために、 大規模なシステム構成の変更を考えなくてはいけないという話が技術内であがっています。 そこで、いつサービスメンテナンスを実施しても良いように、メンテナンス時に使用する ページを用意しておこうというのが事の発端です。 概要 Webではユニークな404ページを見かけますが、iQONで用意しているメンテナンスページも 可愛い画面になっています。もちろん可愛いだけではなく、メンテナンス内容もきちん

    invent
    invent 2013/04/11
    iQONにおけるiPhoneアプリのメンテナンスページ実装方法 | VASILY TECH BLOG
  • iQONのバックエンドの非同期処理について(具体的な実装編) | VASILY TECH BLOG

    はじめに こんにちは、じゃがいもの皮はもっぱらキレイにむいてべるエンジニアの村田です。 前回のエントリ iQONのバックエンドの非同期処理について ではざっくりとした方針とかを書きましたが今回は具体的な実装方法や運用方法などについて紹介したいと思います。 使用技術 iQONではResqueという仕組みを採用して、メール送信やDBの重たい更新処理などを非同期処理しています。 ResqueはRedisにキューを出し入れして遅延処理を実現する仕組みです。シンプルだし導入しやすいと思い採用しました。 このResqueの仕組みをdaemon-spawnというgemでデーモン化して運用しています。 イメージにするとこんな感じです。 導入方法 1.Gemfileに記述 gem 'resque' gem 'daemon-spawn', :require => 'daemon_spawn' 2. in

    invent
    invent 2013/02/08
    iQONのバックエンドの非同期処理について(具体的な実装編) | VASILY TECH BLOG