ビルドバリアントによる複数バージョンのAPKのビルド

f:id:vasilyjp:20171012144649p:plain

アプリエンジニアの堀江(@Horie1024)です。

先日、1つのコードベースからアプリ名やアプリアイコン、アプリの挙動を変更した複数のバージョンのAPKをビルドする必要があり、その際どのように対応したかをご紹介しようと思います。

続きを読む

iOSアプリに導入したプロトコル指向なAPI抽象レイヤーの設計

iOSアプリエンジニアの@hiragramです。VASILYにジョインしてだいたい3か月経ちました。

今回は、僕がジョインしたプロジェクトに導入した、APIリクエストの抽象レイヤーの設計について紹介します。また、記事の最後にこの抽象レイヤーのコードをフレームワークとして切り出したもののリンクがありますので、興味がある方は見てみてください。

課題と方針

当プロジェクトでは、リアクティブフレームワークにRxSwift、通信ライブラリにAPIKit、JSONマッパーにHimotokiを採用しています。

従来のアプリの実装には、

  • ViewModelが直接APIKitをインポートして通信しており、通信のトリガーやレスポンスの処理が画面によってバラバラ
  • APIが取得対象のリソースを常にresultsというキーに配列で返すようになっており、必ず1個しか返さないAPIのレスポンスもresults.firstとOptionalになる形で取り出している
  • ある画面で取得したデータ(例えば自分のユーザーデータなど)を他の画面に反映するための仕組みが整備されておらず、反映漏れが多発

といった課題がありました。

続きを読む

RubyKaigi2017参加レポート(全日分)とスライドまとめ

こんにちは、VASILYのバックエンドエンジニアの塩崎です。 9/17〜9/20にかけて広島で開催されたRubyKaigi2017に、VASILYから4人が参加しました。

3日間で約50個の講演があり、参加者も数百人を超えるであろう大変大規模なカンファレンスでした。 たくさんの講演の中で、VASILYのエンジニアが興味を持ったものを、この記事でいくつか紹介いたします。

続きを読む

iOSDC Japan 2017参加レポート

こんにちは。iOSエンジニアの遠藤です。 9/15〜17にかけiOSDC Japan 2017が開催され、VASILYでもiOSチーム全員で参加しました。

f:id:vasilyjp:20170919203138j:plain

また、私はLTとしてShift_JISのURLデコードについて発表させていただきました。 以下、発表資料です。 speakerdeck.com M”e (@re___you) | Twitter

スタッフ、スポンサー、スピーカー、参加者の皆さんお疲れ様でした。 とても楽しかったです!

今年はトラック数も多く、幅広いジャンルの発表がありました。 どの発表も面白く興味深い内容でしたが、今回はVASILYでも実装やプロダクトに組み込んでいきたい内容を含んだ発表についていくつか紹介します。

続きを読む

アニメーションのイージングを自由に作る

f:id:vasilyjp:20170914231952j:plain

iOSエンジニアの庄司です。最近Android開発をはじめて、Android Studioのコード補完力の高さに驚かされています。
iOS11のリリースが間近ですが、今回は最近開発したiOSアプリで実装したアニメーションについてご紹介します。

こんなものを作りました

curving_progress_bar.gif
GitHubにサンプルプロジェクトを上げておきました。 https://github.com/WorldDownTown/CurvingProgressBarSample

ポイント残高や、工程の進捗率を表現したりするのに使えるViewです。 一見すると動きはシンプルなのですが、意外と複雑な実装になっているため説明していきます。

続きを読む

RubyのパパMatzさんに、RubyKaigi2017の見所を聞いてみた

こんにちは、VASILYバックエンドエンジニアの塩崎です。 RubyKaigi2017の開催時期が間近に迫っていますが、皆さんの広島グルメ探訪の予定はいかがでしょうか?

今年のRubyKaigiにはVASILYから4人が参加する予定で、そのうちの3人は初参加です。 発表の要旨はすでに公開されていて以下のページで確認できますが、まだどれを見て回ろうかを決めかねている人もいるかと思います。 http://rubykaigi.org/2017/schedule

そこで、Rubyのパパであり、VASILYの技術顧問でもあるまつもとゆきひろさん(以下、Matzさん)にRubyKaigi2017の見所を聞いてみました。 この記事がRubyKaigiに参加をされる方々の参考になれば幸いです。

f:id:vasilyjp:20170907190118p:plain

続きを読む

CloudFormationとOpsWorksでインフラを育てる

こんにちは。インフラエンジニアの光野です。 弊社ではネットワークの構築と管理にAWS CloudFormationAWS OpsWorksを導入しました。 本記事では、その効果と導入に際しての工夫について紹介いたします。

目次

  1. Before / After
  2. 効果
  3. CloudFormarionとは
    • CloudFormation or Terraform
  4. OpsWorksとは
    • SSH/sudo管理
  5. CloudFormationとOpsWorksの役割分担
  6. CloudFormationテンプレートの分離方針
  7. OpsWorksマルチレイヤーによるインスタンスの管理
  8. OpsWorksでのdry-runとdiff
  9. YAML版CloudFormationでOpsWorks(Chef)を定義する場合の注意点
  10. まとめ
続きを読む