ブックマーク / techblog.zozo.com (10)

  • Ruby on Lambdaを使ってRubyKaigi用のデモアプリを作った話 - ZOZO TECH BLOG

    こんにちは、開発部の塩崎です。 最近はCloudFormation・Embulk・Digdagを使った仕事をすることが多く、一番使う言語がYAMLになりました。 今年福岡で開催されたRubyKaigi 2019ではZOZOテクノロジーズはRubyスポンサーとして協賛させていただきました。 カンファレンス中のスポンサーブースの出し物として、DroidKaigi 2019と同様にファッションチェックアプリの展示を行いました。 DroidKaigiの展示と全く同じでは芸がないと考え、今回のRubyKaigiのためにRuby on Lambdaランキング機能を作成しました。 記事では、そのランキング機能の説明をしたいと思います。 ファッションチェックアプリのランキング機能とは まず、ファッションチェックアプリの説明をします。 このアプリはDroidKaigi 2019のために作成されたデモアプ

    Ruby on Lambdaを使ってRubyKaigi用のデモアプリを作った話 - ZOZO TECH BLOG
  • 分散キャッシュサーバーのSplitBrainの再現とその調査 - ZOZO TECH BLOG

    こんにちは。ZOZOテクノロジーズ開発部SREの田島(@katsuyan121)です。 弊社ではJBoss Data Grid(以下JDG)という分散キャッシュサーバーをマーケティングオートメーションシステムに導入し、キャンペーンのリアルタイム配信を実現しています。 JDGは複数台のサーバーでクラスタを組んでおり、先日そのクラスタがSplitBrainを起こしました。 SplitBrainとは、1つのクラスタが2つ以上のクラスタに分断することをいいます。 例えば、クラスタのノード間で通信が分断された場合などに、ノード同士で通信できなくなりSplitBrainが発生します。 調査の過程でJDGはどのような仕組みで動作しているのか、どのような原因でSplitBrainが発生したのか知見が溜まったのでそれを紹介します。 また、実際にSplitBrainの再現を行い対策を行ったのでそれについても紹

    分散キャッシュサーバーのSplitBrainの再現とその調査 - ZOZO TECH BLOG
  • OpenCV, GoCV, Go言語における画像処理のパフォーマンスの比較 - ZOZO TECH BLOG

    Gopher's design for Ryuta Tezuka(@Tzone99) こんにちは、ZOZOテクノロジーズ開発部の池田(@ikeponsu)です。 記事では、 Go言語における画像処理の可能性を、ベンチマークを通して探ってみたいと思います。 はじめに 業務内でGo言語での画像処理を行う機会があり、Goの標準パッケージやGoCVについて調べていました。 ただ、画像処理に関する記述はまだまだ少なく、実装している人自体も少ないのかなという印象でした。 今回行った「Go言語での画像処理の速度はどの程度か」のベンチマークが、これからGo言語で画像処理の実装を行おうとしている方の参考になればと思います。 ベンチマークの内容 比較対象 C++OpenCV内のバイリニア補間 GoCV内のバイリニア補間 Go言語とimageパッケージを使って実装したバイリニア補間 処理内容 画像入出力 バ

    OpenCV, GoCV, Go言語における画像処理のパフォーマンスの比較 - ZOZO TECH BLOG
  • Kubernetes CronJobを使ったクラウドSQL Databaseの監視と運用 - ZOZO TECH BLOG

    こんにちは。ZOZOテクノロジーズ リプレイスチームの杉山です。 記事では、ZOZOTOWNリプレースで行っている「マルチクラウド環境への移行」を目指したデータベースの監視システムを「Kubernetes CronJob」と、監視SaaS「Datadog」を使用して構築した事例をご紹介したいと思います。 マルチクラウドを見据えた設計と監視システムの構築 弊社のリプレースプロジェクトでは、マルチクラウド環境構築での運用を目標としているため、データベースの監視システムも各クラウドベンダー(Azure・AWSGCPの3クラウドベンダーということで、以下、3Cといいます)のリソースを横断的に監視できる必要があります。 各ベンダーでは、そのクラウドサービスのリソースを監視する機能が提供されています。 しかし、各々のツールを使用して監視運用をすると運用の手間がかかるため、これらを一元管理する必要が

    Kubernetes CronJobを使ったクラウドSQL Databaseの監視と運用 - ZOZO TECH BLOG
  • 開発支援サーバー(GitBucket、Redmine、Jenkins)を退役させてSaaSに移行させた話 - ZOZO TECH BLOG

    こんにちは。ZOZOテクノロジーズ開発部の田島です。 今時のシステム開発ではさまざまなツールを利用することが当たり前になっています。 そして各種ツールは日々新しいものが開発され、今まで当たり前だったものがレガシーなツールと呼ばれることも珍しくありません。 弊社では、GitHubCircleCISlackなど様々なツールを利用しています。 私達のチームでもこれらのツールを利用していますが、それ以外にもGitBucketやJenkins・Redmineを独自で管理し利用していました。 今回ある理由からそれらのツールをSaaSへ移行しました。その経緯と移行手順を紹介します。 概要 開発支援サーバの紹介 利用しているGitBucket・Jenkins・Redmineは開発支援サーバと呼ばれる一台のEC2インスタンスの上で動作していました。 やったこと これらのツールを以下の図のように、「Git

    開発支援サーバー(GitBucket、Redmine、Jenkins)を退役させてSaaSに移行させた話 - ZOZO TECH BLOG
  • アドサーバーをElasticBeanstalk with Dockerに移行した話 - ZOZO TECH BLOG

    こんにちは、神崎です。今年の6月頃にアドサーバーのアプリケーションサーバ群をAWS ElasticBeanstalk w/ Dockerに置き換えをおこないました。 これにより、アプリケーションレイヤーのauto-scaling環境の構築、deployのフローの自動化、rubyなどのMiddlewareの入れ替えが比較的容易にできる環境になりました。 既存の環境は、以前ブログで紹介したとおり、EC2上にruby2.0でunicorn+sinatraで構築していました。 - iQONの広告配信システム - VASILY DEVELOPERS BLOG 構成 Containerの内部構成は下記のようになっており、中央にある、ad-serverがアプリケーションの実態のContainerになります。それ以外は、nginx,mackerel,fluentdのContainerがあり、それぞれが特定

    アドサーバーをElasticBeanstalk with Dockerに移行した話 - ZOZO TECH BLOG
  • Docker / Apache Mesos / Marathon による3倍速いIQONクローラーの構築 - ZOZO TECH BLOG

    わーい!コンテナたのしー!🐾 こんにちは。流行りには積極的に乗っていきたい。インフラエンジニアの光野です。 弊社が運営するファッションサイトIQONでは、日々200以上の提携ECサイトから100万のオーダーで商品をクロールしています。 新商品の追加・商品の在庫状況・セールの開催など情報は日々変化するため、弊社において「正しくクロールすること」と「速くクロールすること」は肝心カナメの要素です。 記事では、特に「速くクロールする」という目的で構築したコンテナベースの新クローラーシステムを紹介いたします。 このクローラーシステムは、最終的にクロール時間67%減、 維持コスト70%減という成果が得られました。 キーワード: コンテナ, Docker, Apache Mesos, Marathon, AWS Lambda, Amazon EC2 SpotFleet 問題解決手段の検討 -> コン

    Docker / Apache Mesos / Marathon による3倍速いIQONクローラーの構築 - ZOZO TECH BLOG
  • コーポレートサイトをリニューアルしました - ZOZO TECH BLOG

    こんにちは、フロントエンドエンジニアの権守です。 既にお気づきの方も多いと思われますが、こちらのテックブログは今月から装いを新たにしています。これは先日行った弊社コーポレートサイトのリニューアルに合わせたものです。 この記事では、今回行ったコーポレートサイトリニューアルについて実装面から紹介します。 特徴 今回のリニューアルの特徴は以下の3つです。 Vue.jsによるSPA (Single Page Application)としての実装 レスポンシブ対応 アニメーションによるリッチな表現 それぞれについて詳しく紹介していきます。 Vue.js Vue.jsはユーザーインタフェースを構築するためのJSフレームワークの1つです。Reactなどのフレームワークと同様にSPAの実装に使えますが、段階的に導入していくことも可能な点が特徴です。 その段階的に導入可能という点が、既存のサービスへの導入を

    コーポレートサイトをリニューアルしました - ZOZO TECH BLOG
  • インターン生がデータ転送基盤を一から設計する、VASILYバックエンドインターンの紹介 - ZOZO TECH BLOG

    こんにちは、バックエンドエンジニアの塩崎です。 先日、VASILYバックエンドチームにインターン生が来てくれました。 この記事では彼がインターンで作ってくれた機能や、インターン中のスケジュールなどを紹介します。 インターンに来たのはこんな学生 インターンに来たのはこの春に大学4年生になったばかりの、柴犬大好き系エンジニアのT君です。 好きな言語はClojureというなかなかギークな学生さんでした。 インターンに来てもらう前に提出してもらった事前課題では、コードの綺麗さが光っていました。 この課題はRuby on Railsで「とあるお題」に従ったWeb APIを作るものなのですが、Rubyでありながら変数の再代入を嫌う傾向はさすが関数型に慣れているだけのことはあるなと感じました。 やってもらったタスク 目標 今回のインターンでT君にやってもらったタスクはMySQLからBigQueryのデー

    インターン生がデータ転送基盤を一から設計する、VASILYバックエンドインターンの紹介 - ZOZO TECH BLOG
  • 機械学習とデータ分析を支えるAWSとGCPを利用したマルチクラウドアーキテクチャのお話 - ZOZO TECH BLOG

    はじめに こんにちは、CTOの今村です。 先日弊社のiQONが3年連続でGoogle Play「2016年ベストアプリ」に選ばれました。また、今回ベストイノベーティブ部門の大賞を受賞しました。 イノベーティブ部門ということなので、Androidアプリの品質だけでなく、アプリの中にある様々な機能の技術的な取り組みも評価してもらった背景があるのかなと個人的には感じています。 さて、ちょうど先日Minami Aoyama Night #1にて、弊社のデータまわりのアーキテクチャについてお話させていただく機会がありました。 今回は2016年12月時点での、機械学習データ分析を支えるAWSGCPを利用したマルチクラウドアーキテクチャについて紹介したいと思います。 最近のデータまわりの取り組み 今年になってからVASILYは過去のテックブログでも紹介したように、データまわりの取り組みを一層強化して

    機械学習とデータ分析を支えるAWSとGCPを利用したマルチクラウドアーキテクチャのお話 - ZOZO TECH BLOG
  • 1