タグ

gunosyに関するMukeのブックマーク (6)

  • Gunosyの広告管理画面を支えるE2Eテスト - Gunosy Tech Blog

    広告技術部のサンドバーグと星です。 普段の業務は、主に広告の管理システムの開発をしています。管理画面はRuby on Railsで作られており、今回は煩雑になりがちなE2Eのテストをきれいに書けたので、それについて話します。 背景 Gunosyの広告システムは4年以上前にリリースされ、これまで多くの機能が追加されてきました。 配信システムは一度リプレースされましたが、私達が運用している管理画面に関してはリプレース などはされず、現在も拡張され続けています。長く運用されているシステムのため 開発するメンバーの入れ替わりもあり、もちろん思想やコードスタイルも変わってきたため、 バグが発生しやすい環境になってしまっています。 ただ、外部のお客様も使う機能も含まれるため、バグが無いことを担保する必要があり、 テストがより重要になってきます。 また、複雑なデータ構造と画面操作があるため、単体テストで

    Gunosyの広告管理画面を支えるE2Eテスト - Gunosy Tech Blog
  • Goのパッケージ構成の失敗遍歴と現状確認

    この記事は Gunosy Advent Calendar 2017の5日目の記事です。前回の記事はGunosyのパーソナライズを支える技術 -ワークフロー編-でした。 GoAPIを書くときの問題僕の在籍するGunosyはGoを昔(?)から番採用しておりまして、ノウハウも潤沢に溜まっている企業だと言えます。 しかし、contextの扱いやベストなパッケージ構成、テスト、net/httpでAPIを書くノウハウなどなど、迷うことは多々あります。 これは弊社特有の事情ではなく、Goのサーバーサイドエンジニア全員にとっての問題です。中でも、パッケージ構成をどうすればいいのか(相互参照せずに快適に開発を進められるパッケージ構成とは)を見つけるのは結構難しく、各々のチームにお任せ、という状況です。 今回は上記の問題のうち、パッケージ構成に踏みこんで見たいとおもいます。会社でもよくパッケージ構成をどう

    Goのパッケージ構成の失敗遍歴と現状確認
  • Gunosy広告配信を支えるGo ~キャッシュ編~ - Gunosy Tech Blog

    広告技術部の今川です。 わたしは主にGoを使って広告配信APIの改修を担当しています。 今回はAPIの高速化のためにキャッシュを使った話をご紹介します。 データベースへのアクセス頻度を減らすための努力 広告技術部では、広告配信APIのCTRの予測で利用する特徴ベクトルをAmazon Auroraに保存しています。 しかし、単純にデータ取得時に毎回Auroraに問い合わせていては処理速度が遅くなってしまうので、以下の二種類の方法で高速化を図っています。 1. キャッシュする 予測ロジックで利用するデータの中でも、ユーザーに関するベクトルはユーザーIDをキーにユーザー数だけのデータが存在する反面、すべてのユーザーが同じ時間帯にアクセスするとは限らず、一度訪問したユーザーが続けて何回もアクセスする場合が多いという特徴があります。 このため、利用したいデータがキャッシュに無ければAuroraに問い

  • データ分析部が開発・運用するバッチ アプリケーション事情 - Gunosyデータ分析ブログ

    はじめに こんにちは、データ分析部の森です。 この記事ではGunosyデータ分析部がどのような視点に基づいてバッチアプリケーション(以下、バッチ)を開発・運用しているかしているのかを紹介します。 クライアントアプリ開発やAPI開発と比較してバッチ開発のノウハウなどをまとめたWeb記事の数は少なく感じます。 また、言語に関わらずWebフレームワークの数に対して、バッチフレームワークの数も少数です。 このような点を踏まえると一般的には難易度の高くない(ノウハウを必要としない、フレームワークに頼る必要のない)、もしくはニーズがあまりないなどの印象があるのかもしれません。 一方で我々は日々バッチ開発を行い、数多くの地雷を踏んできました。 これらの経験を踏まえてどのような点に気をつけているのかについて共有します。 理想的には多くの方の経験を共有して、建設的な議論に発展するとうれしいです。 はじめに

    データ分析部が開発・運用するバッチ アプリケーション事情 - Gunosyデータ分析ブログ
  • Go APIサーバーの設計について、golang.tokyo#9で話しました。 - Gunosy Tech Blog

    どうも、Gunosyの新規事業開発室エンジニア、高橋(@__timakin__)です。 先日行われたgolang.tokyo#9にて、GoAPIサーバーの設計についてトークをする機会を頂いたので、いってきました。 スライドはこちらです。全編英語となっておりますが、ご覧頂けると幸いです。 speakerdeck.com 概要 アジェンダの前の序文にも書いてあるのですが、GoAPIが大企業で試験的に導入するというフェーズを超え、スタートアップなどでも「Goって最近トレンドだよね」という声が聞こえ、小規模のチームでも積極的に登用されるようになってきたように感じます。 あくまで個人の観測範囲での話なのでバイアスがあるとは思いますが、「試してみた」というトークが界隈でも最近少なくなったように思います。 そんな中、参考例となるGoAPIのOSSは非常に少ないため、新規に始めるハードルは、学習コス

    Go APIサーバーの設計について、golang.tokyo#9で話しました。 - Gunosy Tech Blog
  • Gunosyのデータ分析基盤、ログ基盤の全容

    Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything

    Gunosyのデータ分析基盤、ログ基盤の全容
  • 1