タグ

ブックマーク / tech.gunosy.io (19)

  • AWSとGCP間でVPNを設定する方法 - Gunosy Tech Blog

    はじめに AWSのネットワーク構成 GCPのネットワーク構成 AWSGCP 間での通信 VPN設定手順 TGWを用いたルーティングの設定 (AWS) Shared VPC の設定 (GCP) Terraform まとめ はじめに こんにちは。DR & MLOps Group というところで働いている阿部といいます。Data Reliability & Machine Learning Operations の略で、データ基盤やML基盤を作って運用するグループです。 私はもともとは記事配信ロジックやデータ分析をやっているグループにいましたが、今年移ってきました。 こちらが紹介記事です: DREの使命とは?「数が神より正しい」と言うための正確性を求められる技術力 – Gunosiru 弊社のシステムは基的にはAWSで動いていますが、とあるプロジェクトGCPを使うことになりました。 そ

    AWSとGCP間でVPNを設定する方法 - Gunosy Tech Blog
  • ECSのログ管理にFirelensを導入してみた - Gunosy Tech Blog

    はじめに こんにちは。SRE部の板谷(@SItaya5)です。 Gunosyでは様々なプロダクトでECS(Amazon Elastic Container Service)を使用してタスクを実行しています。 ECSの起動タイプにはEC2とFargateの2種類がありますが、どちらのタイプも混在しています。 ログの送信先としては、主にPapertrailというサービスを使用しています。 しかし、Fargateで実行しているタスクに関しては、ログの送信先(Log Driver)に選択の余地がなく、Cloudwatch Logs一択でした。 そのため、EC2で実行しているタスクのログはPapertrailに送信されていましたが、一方のFargateで実行しているタスクはCloudwatch Logsに送信せざるを得ませんでした。 このように起動タイプ毎にログの送信先が分かれており、管理が煩雑にな

    ECSのログ管理にFirelensを導入してみた - Gunosy Tech Blog
  • 秒間3万リクエストをkubernetesでさばく - Gunosy Tech Blog

    こんにちは!スタンディングデスクを導入して快適な開発環境と運動不足の両方を解消できるようになったのではと感じている、広告技術部のUT@mocyutoです。 今回は半年ほどEKSを運用して秒間3万リクエストのトラフィックをさばくほどになりました。 秒間3万は広告システムだと割とあるとは思いますが、kubernetesでも運用できているので紹介しようと思います。 対象のEKSで構築したサービスは広告の配信サーバです。 広告配信サーバの要件として、まず50ms以内にレスポンスを返さなければいけません。 構築したk8sのレスポンスタイムの99パーセンタイルは10msほどで返せています。 以下は必要最小限のクラスタの構成図です。 全体像 API 弊社のサーバサイドはほぼGoで作られているので、例に漏れずGoで作られています。 pod構成はAPI、fluentd、envoyの サイドカーパターン です

    秒間3万リクエストをkubernetesでさばく - Gunosy Tech Blog
  • Swaggerでインタフェースの共有をしつつ社内管理画面を作る - Gunosy Tech Blog

    こんにちは、新規事業開発室の @hoshitocat です。こちらはGunosy Advent Calendar 2018、24日目の記事です。なお、昨日の記事は @s-jcs さんの Fast as C, Slick as Ruby - Gunosy Tech Blogでした。 何も書くことを考えていなかったので、直近僕が業務で実装した管理画面について書きたいと思います。 はじめに 社内の管理画面はRailsを使って作られることが多いのですが、今回はReact + Redux + Goという構成で作ることにしました。社内ではVue + Goという構成のものは実績がいくつかあります。 tech.gunosy.io 今回Goのフレームワークとして、goaを利用しましたが、goaについては上記の記事でも紹介されているので割愛します。 React, Redux, TypeScript 今回はRe

    Swaggerでインタフェースの共有をしつつ社内管理画面を作る - Gunosy Tech Blog
  • Digdag の Plugin をたくさん作ったので紹介するよ - Gunosy Tech Blog

    こちらは Gunosy Advent Calendar 2018、7日目の記事です。なお、昨日の記事は @yutanim さんの RxSwiftにおける孫からの祖父母孝行 でした。 qiita.com はじめに こんにちは、広告技術部の キヴィタスポ(人工知能) (@Civitaspo) / Twitter です。 Gunosy に入社してから早いもので1年が経ちました。昨年の Gunosy Advent Calendar では僕は読む専門だったのですが、『Gunosyのパーソナライズを支える技術 -ワークフロー編-』を読んで非常に感銘を受けたのを覚えています。 tech.gunosy.io ここではそのとき感銘を受けた言葉を紹介しておきます。 ワークフローは、いわばシステム上における兵站といってもいいでしょう。「戦争のプロは兵站を語り、戦争の素人は戦略を語る」という名言もあるくらいで

    Digdag の Plugin をたくさん作ったので紹介するよ - Gunosy Tech Blog
  • 人気のテスト管理ツール「qTest」と「PractiTest」を触ってみたよ - Gunosy Tech Blog

    こんにちは、QAチームのTeiiとakinkです。 この記事は Gunosy Advent Calendar 2018、14日目の記事です。 昨日の記事ははよんさんのUIデザインにおけるKPI設定の重要性でした。 はじめに テストプロセスをより良いものにするため、現在アジャイルチームと親和性の高いテスト管理ツール導入を検討しています。 そこで、Top 20 Best Test Management Tools (New 2023 Rankings) という記事で評価が高かったqTestとPractiTest を試しに触ってみたので、個人的な感想も踏まえて紹介したいと思います。 実際のプロジェクトでは利用していないため、探しても見つからなかった機能等あるかもしれませんが、ご了承ください。 はじめに qTest テスト計画 要件管理 テストケース管理 テスト実行 分析ダッシュボード 所感 良か

    人気のテスト管理ツール「qTest」と「PractiTest」を触ってみたよ - Gunosy Tech Blog
  • チームの継続的改善を支える制度: Kaizen Day - Gunosy Tech Blog

    広告技術部の toshimaru です。記事では広告技術部内で行っている取り組み、Kaizen Day制度についてご紹介いたします。 Kaizen Day制度とは Kaizenタスクとはどんなものか Kaizen Day制度を作ったモチベーション なぜKaizen Dayなのか Kaizen Dayをどのように運用しているか Kaizen Dayの成果 さいごに Kaizen Day制度とは Kaizen Dayとは開発チームが何らかの改善を集中して行う日のことです。 Kaizenタスクとはどんなものか 「何らかの改善」と書きましたが具体的にはどのようなものでしょうか? Kaizen DayでやるKaizenタスクは具体的に下記のようなタスクを想定しています。 負債返済 リファクタリング 小さなバグFix 小さなデザイン修正 既存のツールの改善 新しいツールの導入 コードベースの一部のモ

    チームの継続的改善を支える制度: Kaizen Day - Gunosy Tech Blog
  • 社内管理画面を Vue + Go で作る - Gunosy Tech Blog

    広告技術部のUTと呼ばれている @mocyuto です。 普段は広告配信のバックエンドを主に担当しています。 今回は社内管理画面を作った話をお伝えしたいと思います。 はじめに 設計 バックエンド goa 構成 フロントエンド 構成 TypeScript Vuex Atomic Design まとめ はじめに Gunosyの管理画面ではRailsが多いですが、社内用管理画面を新規で作ることになり、Vue + Go のSPA(Single Page Application)で作ることにしました。 管理画面をVueGoで作る事例は最近増えてきていますが、弊社でもすでにこの組み合わせで実績はあり、2つ目となりました。 今回の社内向けの管理画面の作成意図としては、ABテスト反映の高速化が目的です。 今までは、リリースフローは以下のようになっていました。 配信チームとロジックチームをまたいでファイル

    社内管理画面を Vue + Go で作る - Gunosy Tech Blog
  • 非エンジニアが最速でSQLをマスターする方法 - Gunosy Tech Blog

    こんにちは、データ分析部の石塚です。 Gunosyではエンジニア以外の職種でもSQLを叩いて自らデータを集計・分析するという習慣と全社員が各サービスのログ*1に触ることができる環境があります。 例えば、ユーザー獲得を担っているプロモーションチームはエンジニアが0名のチームなのですが、実際にSQLを叩いています。 それによって、自分たちの獲得したユーザーはどのような行動をしているのかを確認したり、分析することができています。 これはGunosyのみの事例ではなく、AWSのRedshiftやAthena、GCPのBigQueryが台頭してきたおかげで、どの会社も低コストにログをSQLで集計・分析できる基盤が整ってきています。 個人的にはアプリやウェブの業界で働くマーケターにはSQLは必須の知識と言える時代になってきたと感じています。 そこで今回は特別プログラミングなどの経験が無い人でも、SQL

    非エンジニアが最速でSQLをマスターする方法 - Gunosy Tech Blog
  • Gunosyの広告管理画面を支えるE2Eテスト - Gunosy Tech Blog

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

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

    広告技術部の toshimaru です。この記事はGunosy Advent Calendarの24日目の記事です。 qiita.com はじめに Gunosyではいくつかの管理画面においてRuby on Rails(以降Rails)を利用しています。具体的には下記の管理画面においてRailsが利用されています。 社内メンバー向け管理画面: 社内の担当者が記事の管理を行ったり、Gunosyアプリのユーザーの管理を行ったりできる管理画面です メディア様向け管理画面: Gunosyに記事を提供していただいているメディア様向け管理画面で、レポート閲覧や記事管理を行うことができます 広告主様向け管理画面: Gunosy Adsに広告を配信していただいている広告様向けの管理画面で、広告出稿やレポート閲覧を行うことができます 今日はそんなGunosy管理画面を支えているRails技術をいくつかピックア

    Gunosy管理画面を支えるRails技術 - Gunosy Tech Blog
  • 仮想通貨マイニングに関するまとめ - Gunosy Tech Blog

    こんにちは。 新規事業開発室の @mosa_siru です。 ブロックチェーンAdvent Calendar 14日目の記事です。 社内では新テクノロジーに対しての研究を一部で進めており、スマートスピーカーやVR/ARなどに加え、ブロックチェーンを現在調査しています。この研究・調査の一貫でマイニングについて調べてみました。 この記事では、マイニングの基礎知識と概観について、かなり平易に説明します。基から順に説明していくので、知ってる人はどんどん飛ばして読んでってください。 また、弊社が進めているブロックチェーン技術に関する研究内容は下記のブログで紹介しています。 blockchain.gunosy.io マイニングって? マイニング報酬 送金手数料 difficultyの調整 ハッシュレートと価格の関係 価格 => ハッシュレート ハッシュレート => 価格 ハッシュアルゴリズムとマシン

    仮想通貨マイニングに関するまとめ - Gunosy Tech Blog
  • Gunosyのパーソナライズを支える技術 -ワークフロー編- - Gunosy Tech Blog

    この記事は Gunosy Advent Calendar 2017 4日目の記事です qiita.com はじめに こんにちは、データ分析部のy-abeです。 パーソナライズシリーズの続きになります。 tech.gunosy.io tech.gunosy.io 今回はワークフロー編です。 パーソナライズにおいてユーザーや記事の素性抽出や、モデル作成をするコンポーネントや記事リストを生成するAPIが必要です。 それらのコンポーネント間でうまくデータを取り回すためにはワークフローが重要です。 ワークフローは、いわばシステム上における兵站といってもいいでしょう。 「戦争のプロは兵站を語り、戦争の素人は戦略を語る」という名言もあるくらいです。 さて、パーソナライズ記事配信のタスクの流れをざっくりいうと、 ユーザーと記事の素性を集めて整形(ベクトル化) -> 機械学習でモデルを作成 -> 素性とモデ

    Gunosyのパーソナライズを支える技術 -ワークフロー編- - Gunosy Tech Blog
  • Gunosyのパーソナライズを支える技術 -計算モデルとアーキテクチャ編- - Gunosy Tech Blog

    この記事は Gunosy Advent Calendar 2017 の1日目の記事です(フライング) qiita.com §1. はじめに こんにちは。データ分析部ロジックチームの @mathetakeです。いつもはデータ分析ブログにいるのでテックブログは初めてです。怖いです。Twitterとかやったことないですね。 最近は仕事でニュースパスというプロダクトの記事配信ロジックの改善を行っており、その一環としてパーソナライズロジックの開発プロジェクトに従事しています。 パーソナライズとはユーザーひとりひとりに対して別々の記事配信を行う事です。下記の記事でパーソナライズプロジェクト発足に至るまでの背景が語られているので、興味のある方はぜひご覧ください。 gunosiru.gunosy.co.jp この記事ではニュースパスの記事配信アルゴリズムのパーソナライズプロジェクトに関連して、 パーソナラ

    Gunosyのパーソナライズを支える技術 -計算モデルとアーキテクチャ編- - Gunosy Tech Blog
  • Blockchain.tokyoにてSolidityの話をしました - Gunosy Tech Blog

    こんにちは、Gunosyで新規事業担当兼CTOの松(@y_matsuwitter)です。 先日、弊社にてblockchain.tokyo#2を開催しましたが、まとめ記事はAnypayさんの方で書いていただいたようですので、イベントでトークさせていただいたSolidity with Test&CIについて簡易にこちらにも共有させていただこうかとおもいます。 medium.com トークでは、Ethereumの詳細面よりも、実際にEthereumに興味をもったデベロッパーの皆さんが簡単に開発環境を構築してコードを書き始めてもらうことを主眼に用意したものなので、Truffleによるテストをすでに進めているという方には物足りないかもしれません。 スライドはこちら。 Ethereum、EVM、そしてSolidity 今回の勉強会では個人的に調査・開発しているEthereum、およびその上でのア

    Blockchain.tokyoにてSolidityの話をしました - Gunosy Tech Blog
  • Elasticsearch5系で、シャードunassignedによるstatus redを強引に修復する方法 - Gunosy Tech Blog

    はじめまして、Gunosyでサーバーサイドエンジニアをしているmanoと申します。 最近ハマっていることは、Huluで安室奈美恵さんの特番をみることです。引退するなんて・・・当に惜しいですね。 私は現在ニュースパスというアプリのサーバーサイド開発を担当しています。 ニュースパスでは、記事検索機能等でElasticsearchを使っています。運用周りではcuratorを使っています。 最近そのあたりでハマってしまったことがあったので、今回はそれについて書こうと思います。 起こったこと 開発環境にて、Elasticsearchのノードインスタンスをシャットダウンしたときに、いくつかのシャードがunassignedになりステータスもredとなってしまうということがありました。 それでも検索機能は生きてはいたのですが、それによりレスポンスタイムが大幅に増加してしまっていました。 下の画像は当時の

    Elasticsearch5系で、シャードunassignedによるstatus redを強引に修復する方法 - Gunosy Tech Blog
  • DevFest Tokyo 2017で「Blockchain on Go」というタイトルで発表しました。 - Gunosy Tech Blog

    こんにちは、新規事業開発室のエンジニアの高橋(@__timakin__)です。 今回はDevFest Tokyo 2017というイベントに登壇者として行ってきました。 「golang.tokyo」枠で参加してきまして、一応Go関連の話をするということだったのですが、Goのコードの話はせず、Goを使っているブロックチェーン関連のプロジェクトの話をしました。 発表について スライドは以下です。 Blockchain on Go from Seiji Takahashi www.slideshare.net 発表の冒頭でブロックチェーンそもそもの概要を説明して、そのあとBlockchainとGoの関係について話す、という流れでした。 ブロックチェーンの概要部分について 個人的にはHyperledgerというのが好きなのですが、やはりEthereumが界隈では推されているんでしょうか。 極力その場

    DevFest Tokyo 2017で「Blockchain on Go」というタイトルで発表しました。 - Gunosy Tech Blog
  • blockchain.tokyo#1を開催しました。 - Gunosy Tech Blog

    はじめまして、新規事業開発室の生田です。 10/3(火)に開催したblockchain.tokyo#1について紹介します。 blockchain.tokyoは主に仮想通貨/ブロックチェーン/ICO関連の技術に関する発表を中心に行う勉強会です。 blockchain-tokyo.connpass.com 会場について 今回は、弊社のスキップヒルを使って実施しました。 天気がいい日には、バックに東京タワーが綺麗に見える開放感のあるスペースで、普段は全社の朝会などに利用しています。 発表について Payment Channel Introduction 弊社新規事業開発室の@mosa_siruより、送金確定までに時間がかかるというブロックチェーンが抱えている課題を解決するPayment Channelに関する発表です。 Payment Channel Introduction from mosa

    blockchain.tokyo#1を開催しました。 - Gunosy Tech Blog
  • 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
  • 1