CodeDeployで構築するAutoScalingに追従可能なデプロイ環境

こんにちは。新事業創造部インフラチームの光野(kotatsu360)です。 先日、VASILY時代1から長らく使われていたCapistranoによるデプロイを見直し、CodePipeline+CodeDeployによるデプロイフローを導入しました。 CodeDeployはEC2 AutoScalingとよく統合され…

Lambda@EdgeでCloudFrontへのアクセスをいい感じに振り分ける

今回はLambda@EdgeというAWSのサービスを使って、CloudFrontへのアクセスを「細かいルール」を設定して振り分けてみたいと思います。

スタイルを基準としたコーディネートのクラスタリング

スタートトゥデイ研究所リサーチャーの中村です。 今回は、コーディネートからスタイルを自動抽出する技術に関するアイデアの紹介です。こちらは、企業研究所による研究発表カンファレンス (CCSE2018)でも同様の内容で発表させていただきました。 そのときに…

OpenAPIのschema定義からRubyのクラスを生成するgem「openapi2ruby」をつくりました

こんにちは。スタートトゥデイテクノロジーズ新事業創造部のid:takanamitoです。 今日はVASILY時代から活用されているOpenAPI(Swagger)の定義からRubyのクラスを自動生成するgemを作ったので、その紹介をしようと思います。 Swaggerの定義と実際のAPIが返す…

DigdagをHA構成にしてみた

こんにちは、最近のマイブームはマヌルネコ動画な新事業創造部バックエンドエンジニアの塩崎です。 今回のテックブログでは、以前にDigdagを紹介した記事の続編として、DigdagをHA構成にするためのTipsなどを紹介します。 Digdagとは Digdagはワークフローエ…

RubyKaigi2018参加レポート

こんにちは、バックエンドエンジニアの田島(@katsuyan121)です。 5/31〜6/2にかけて仙台で開催されたRubyKaigi2018に、スタートトゥデイテクノロジーズから5人が参加しました。 今年のRubyKaigiは3日間で50を超える講演があり、参加者も1000人を超える大変…

Google I/O 2018に参加して報告会を行いました

こんにちは!スタートトゥデイテクノロジーズ新事業創造部の堀江(@Horie1024)です。 2018年5月8日〜5月10日にかけて、カリフォルニア州マウンテンビューにあるショアライン・アンフィシアターで行われたGoogle I/O 2018(以下I/O)に新事業創造部の堀江、…

新卒エンジニアがカスタマーサポートを一度は経験しておくべき6つの理由

(Headphones icon credit *1) こんにちは、2018新卒エンジニアの田島(@katsuyan121)です。 新卒研修の一環としてZOZOTOWNカスタマーサポートセンターにてカスタマーサポート研修に参加しました。 研修を受けるまではエンジニアがカスタマーサポート研修を…

トラブルシューティングから学ぶSQL Server統計情報の更新タイミング

こんにちは。zozoバックエンド部の廣瀬です。 弊社のサービスではDBMSとしてMicrosoft社のSQL Serverを使用している箇所があります。 本記事では、過去に経験したSQL Server関連のトラブル及びその調査内容をご紹介し、最後にトラブルシューティングを通して…

iOSアプリの継続課金コンテンツに無料トライアル機能を導入する方法

こんにちは! 最近暑いのでビール最高と感じている新事業創造部バックエンドエンジニアのりほやんです。 今回はAppleが提供しているお試し価格の機能のひとつである無料トライアル機能を紹介します。 お試し価格とは お試し価格とは自動更新の定期購読に対し…

クラウド時代の監視ツールDatadogをあらためて紹介します

こんにちは。zozoフロントエンド部の大平です。さだまさし好きが昂じて社内では「さださん」と呼ばれています。 弊社内ではいくつかのサービスを開発運営しておりますが、サービスの安定稼働を実現するためにMonitoringツールを用いた監視を行っています。 …

CarthageでビルドしたフレームワークをGitにコミットせずに良さげに扱う

iOSチームの@hiragramです。 所属するプロジェクトでは依存管理にCarthageを使っていますが、Carthageの成果物である Carthage/ 以下をコミットするかどうかはよく議論になる話題かと思います。 私はコミットしない派なので、そのメリットを残しつつデメリッ…

VASILYテックブログはスタートトゥデイテクノロジーズテックブログとして生まれ変わります

VASILY CTOの今村です。 今日はこのブログを普段からご覧頂いている皆様にお知らせがあります。 本日発表させていただきました通り、スタートトゥデイ工務店、VASILY、カラクルの3社が統合され 新会社「スタートトゥデイテクノロジーズ」が誕生いたしました…

柔軟な開発を可能にするエンジニアチーム

こんにちは、フロントエンド開発部マネージャーの荒井です。今回はVASILYフロントエンドチームの体制、開発手法、マネージャーの役割について紹介したいと思います。

将来発生するトランザクション数を予測する方法

データサイエンティストの中村です。 webで発生するトランザクション(購買など)の中には、確率分布を仮定することで抽象化できる物があります。 今回は、トランザクションが発生する現象をモデリングする手法のひとつであるBG/NBDモデルと、この手法にもと…

ConstraintLayoutのレイアウト組み方実用例

こんにちは。フロントエンドエンジニアの遠藤です。 皆さん、ConstraintLayoutを使用していますか? 弊社では最近、ほとんどのレイアウトをConstraintLayoutを使用して実装しています。 今回はConstraintLayoutを使用してレイアウトを組んだ際に便利だなと思…

AlexaでAPKを配布するスキルの作り方

こんにちは、VASILYで主にAndroid開発を担当している@Horie1024です。先日potatotips #48で「Alexa、APKを配布して」というタイトルでLTさせて頂きました。 資料は以下になりますが、本投稿では、Alexaスキルの仕組みから最終的にAPKが配布されるまでを出来…

Androidアプリ開発にFluxアーキテクチャを導入したら保守性も品質も上がりました

こんにちは。フロントエンドエンジニアの茨木(@niba1122)です。 弊社のAndroidアプリ開発ではMVVMアーキテクチャを用いています。日々肥大化・複雑化していくViewModelが保守性や品質を担保する上で課題になっていましたが、Fluxアーキテクチャの導入によ…

UserData、OpsWorks、Lambdaを組み合わせ、常に新鮮なSpotFleetインスタンスでサービスを運用する

インフラエンジニアの光野(@kotatsu360)です。 今週のテックブログは豪華二本立てでお送りいたします。 一本目はバックエンドエンジニアの木曽による「福利厚生を使ってAWSソリューションアーキテクト アソシエイトを取得しました」でした。 二本目はUserD…

福利厚生を使ってAWSソリューションアーキテクト アソシエイトを取得しました

つい最近、中途入社しましたバックエンドチームのid:takanamitoです。 今回は入社してすぐに会社の福利厚生をつかってAWSソリューションアーキテクト アソシエイトレベルを取得した話をご紹介します。 Amazon - Badge Verification - CertMetrics

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

プログラミングをしていると頭を悩まされるものの1つにエラーハンドリングがあると思います。シンプルにできた実装に手を入れる必要が生じるなど、正直目を逸らしたくなることもあります。ですが、Androidアプリ開発を通して改めて考える機会があったので、…

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

こんにちは、インターンの@takewakaです。 もう春休みなのでほぼ毎日出勤してカスタマーサポートのAPIとUIを作る毎日です。 私は現在大学4年で4月からVASILYに就職する予定です。VASILYでのインターンは来月で丁度1年となります。 私は就職活動を始める前か…

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

こんにちは。 データチームの後藤です。 A/Bテストはサービス改善のための施策の効果測定に欠かせないツールですが、最近のVASILYでは、運用するサービスが増えてきたことに伴いA/Bテストの内容も多様化してきました。今回はそのA/Bテストにベイズ推論を用い…

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

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

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

こんにちは! 最近は熱燗にはまってます。 バックエンドエンジニアのりほやんです。 本記事では、最近2段階認証などにもよく使われているSMS認証のサーバーサイド実装についてご紹介します。 FacebookAccountKitを用いて実装しました。

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

iOSアプリチームの@hiragramです。 最近、ファーストリリース時からあった画面の大規模なリファクタリングを担当しました。 コードは遅かれ早かれ賞味期限が切れて少しずつ腐っていくものですが、その賞味期限を少しでも伸ばすために、普段コードを書く時にS…

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

こんにちは。インフラエンジニアの内山(@k4ri474)です。 弊社ではCloudFormationとOpsWorksを活用してインフラ構築をしています。 この両サービスではハマりどころが多く、中でもOpsWorksでインスタンスが複数のレイヤに所属する構成を構築した際にとても…

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

全文検索用のミドルウェアであるSolrをSolrCloudという構成で運用することにより、SPOFをゼロにし深夜のアラートに怯えずに済むようにする方法を紹介します。

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

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

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

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