Gunosy Tech Blog

Gunosy Tech Blogは株式会社Gunosyのエンジニアが知見を共有する技術ブログです。

2020-01-01から1年間の記事一覧

事業部制組織とCTO

こんにちは。GunosyでCTOをしています、koidです。こちらの記事は Gunosy Advent Calendar 2020 - Adventar の最終日の記事となります。 今回は、事業ごとに Product Owner を中心とした Product Team で組成している Gunosy において、CTOである自分は何を…

Istioの構成管理の話

この記事は Gunosy Advent Calendar 2020 の 24日目の記事です。Gunosy Adsチームのリードエンジニアの会田です。Gunosy Adsチームでは昨年から配信システムのEKS移行などのシステムのインフラ改善に取り組んおり、この一年はEKSとKubernetes漬けの一年でし…

スプリントの振り返りでKPTをやめた話

本記事は、Gunosy Advent Calendar 2020 23日目の記事です。 Miroで作ったKPTボード こんにちは。広告技術部の石田です。 みなさんはスプリントの振り返りでKPTをやっていますか? KPTで話が脱線して時間が長引くうちにKPTで話すこと自体がつらくなるKPT疲れ…

Fitbitのカスタムレポートを作成してLINEに通知する

本記事は、Gunosy Advent Calendar 2020 21日目の記事です。 昨日の記事はUT@mocyuto さんの「既存システムをkubernetesに移行して大きくコストカットした話」でした。 はじめに 必要なもの Fitbitのデータを取得するためのトークンを発行する LINE Notifyの…

既存システムをkubernetesに移行して大きくコストカットした話

この記事は Gunosy Advent Calendar 2020 の 20日目の記事です。 広告技術部のUT @mocyuto です。 チームの話 移行への決断 実際の移行 移行先のアーキテクチャ 移行の際ハマったところ 各種新規機能投入 移行後のコスト推移 まとめ 今回は既存システムをイ…

Amazon AthenaのPartition Projectionを使ったALB Access Logの実例 (w/ terraform & glue catalog)

こんにちは、グノシー広告技術部、Adnwチームでマネージャーをやっているサンドバーグです! この記事は Gunosy Advent Calendar 2020 18日目の物となります。 昨日はsyouitさんの変更に強いリスト面とUICollectionViewの話でした。 内容としては弊社のiOSア…

変更に強いリスト面とUICollectionViewの話

UICollectionViewを利用した変更に強いリスト面の作成について書きました。

歴史と向き合い既存機能の棚卸しをした話

こんにちは、QAチームのakinkです。今年買ってよかったものは「リファ グレイス ヘッドスパ 」です。 この記事は Gunosy Advent Calendar 2020 15日目の記事です。 昨日はgumigumi4fさんのGoでSIMDを駆使して高速な内積演算を行うでした。

GoでSIMDを駆使して高速な内積演算を行う

Go

本記事は、Gunosy Advent Calendar 2020 14日目の記事です。 昨日はeastさんの「RedisでEVALを使うとこんなにお得!GunosyでのEVAL活用例 - Gunosy Tech Blog」でした。 最近、確率統計のことを考えながらパチンコを打つと面白いことに気づきました。 @gumig…

RedisでEVALを使うとこんなにお得!GunosyでのEVAL活用例

この記事はGunosy Advent Calendar 202013日目の記事です。昨日は大曽根さんの不確実性と向き合うデータ分析でした。 Gunosyでネットワーク広告系のプロダクトを扱っているeastです。今回はRedisでEVALを使うことの優位性を、具体的な事例を交えて紹介できれ…

Terraform のエラーに落ち着いて立ち向かうために

本記事は、Gunosy Advent Calendar 2020 11 日目の記事です。 前回は Shohei Hida さんの「Argo RolloutsによるKubernetesでのCanary Deploy」でした tech.gunosy.io はじめに はじめまして.20 卒で GTL 所属の山本です. 入社して半年以上が経ち,出社は輪…

Argo RolloutsによるKubernetesでのCanary Deploy

この記事は Gunosy Advent Calendar 2020 10日目の記事です。 昨日はjohnmanjiroさんの TerraformでLaunch Templateを使ったManaged Node Groupを導入する でした。 こんにちは、広告技術部のhidappleです。普段は広告配信サーバや管理画面の開発をしていま…

TerraformでLaunch Templateを使ったManaged Node Groupを導入する

この記事はGunosy Advent Calendar 2020の9日目の記事です。 前回の記事は大関さんの「ゼロから始めるEKS事始め(後編)」でした。 EKS関連の内容が続きますが、仕込みじゃありません! tech.gunosy.io はじめに Managed Node GroupでLaunch Templateを使う …

ゼロから始めるEKS事始め(後編)

本記事は、Gunosy Advent Calendar 2020 8日目の記事です。 前回の続きとなります。 tech.gunosy.io 今回は後編として、実際にEKSクラスター構築の途中からアプリをデプロイする環境を整える流れをご案内し、最後に運用管理フェーズで必要となるであろうオス…

ゼロから始めるEKS事始め(前編)

本記事は、Gunosy Advent Calendar 2020 7日目の記事です。 前回は、しゅんけー君の「その実験、再現できますか?pyenvとpoetryによる “そんなに頑張らない” 再現可能な実験環境構築」でした data.gunosy.io はじめに 前提条件 目指すクラスター像 使用する…

goで作るfirehoseのデータ変換lambda

こちらの記事は Gunosy Advent Calendar 2020 の5日目の記事です。 昨日の記事はコウ(@yuanzhi.ke)さんの 新卒入社して半年が経ちました vol.4 〜クーポン改善〜でした!! おはようございます!こんにちは!こんばんは! 最近は goでlambda ばかり書いて…

AWS GameDayのイベントに参加し入賞しました

この記事はGunosy Advent Calenar 2020 3日目の記事です。 昨日はazihsoynさんの管理画面にGraphQL + Flutter Webを採用してみたでした。 こんにちは、新規事業開発室のjkatagiです*1。 2020/11/27にAWS GameDayのイベントがありました。 その参加報告をした…

管理画面にGraphQL + Flutter Webを採用してみた

アドベントカレンダーの担当日を早めにしてさっさと終わらせてしまえば気持ちが楽だと思ったのに前日になっても書き終わっていないのは一体誰でしょう?そう、私(ふそやん@azihsoyn)です。 こちらの記事は Gunosy Advent Calendar 2020 の2日目の記事です。 …

長年稼働しているサービスの全体感をすばやく把握するには

かとうです。よく行くサウナは鶯谷のサウナセンターです。*1 こちらの記事はGunosy Advent Calendar 2020の1日目の記事です。 昨年最後の記事はkoid CTOの Lead Engineer はじめました でした。 今年もよろしくお願いいたします。 さて、今回は「長年稼働し…

AWS Node Termination Handlerの新機能について

はじめに こんにちは。SRE部の板谷(@SItaya5)です。 Gunosyでは様々なプロダクトでEKS(Amazon Elastic Kubernetes Service)を運用しています。 Worker Nodeはスポットインスタンスを含めたEC2をASG(Auto Scaling Groups)で管理しています。 そのため、インス…

秒間3万リクエストをkubernetesでさばく

こんにちは!スタンディングデスクを導入して快適な開発環境と運動不足の両方を解消できるようになったのではと感じている、広告技術部のUT@mocyutoです。 今回は半年ほどEKSを運用して秒間3万リクエストのトラフィックをさばくほどになりました。 秒間3万は…

今すぐ始められるOSS活動

はじめに Github Help Wantedでissueを選ぶ OSSのコントリビュート方法を確認する 実装 既存コードの動作確認 機能実装 プルリクを出す マージされる 最後に はじめに こんにちは。広告技術部のjohnmanjiroです。普段は広告配信のAPIや管理画面を作っていま…

新卒入社したサーバーサイドエンジニアは1年でなにをしてきたか

昨年4月にGunosyに入社し、サーバーサイドエンジニアをして働き始め1年が経ったので入社から今まで何をしてきたかについてお話します。

Goでインメモリキャッシュを取り扱う時にハマった話

Go

こんにちは、Gunosy Tech Labの片木(@jkatagi)です(普段はGunosyデータ分析ブログの方に生息しています)。 本記事では社内のとあるAPI(Go製)の改修をしていたときに遭遇したインメモリキャッシュの落とし穴について共有します。 普段からGoを書いてい…

ECSのログ管理にFirelensを導入してみた

はじめに こんにちは。SRE部の板谷(@SItaya5)です。 Gunosyでは様々なプロダクトでECS(Amazon Elastic Container Service)を使用してタスクを実行しています。 ECSの起動タイプにはEC2とFargateの2種類がありますが、どちらのタイプも混在しています。 ログ…

embulk-filter-unnest を作った

はじめに 背景 使ってみた 作り方 embulk new コマンドでひな形を作成 embulk-gradle-plugins を使うようにする ライセンスを確認しておく CIの設定 (今回は GitHub Actions を利用) 実装する テストを書く READMEを書く リリース RubyGemsに登録 https://pl…

digdag の retry と for_each を使う時のハマりどころをなんとかして回避したお話

はじめに ハマりどころ詳細 ワークアラウンド ワークアラウンド詳細 Require Operator で for_each を含む Workflow を別 attempt で実行する Require Operator の retry_attempt_name にランダム文字列を渡す retry_attempt_name をretry 後毎回評価し、静…

新卒入社したiOSエンジニアは1年でなにをしてきたか

昨年4月にGunosyに入社し、iOSエンジニアをして働き始め1年が経ったので入社から今まで何をしてきたかについてお話します。

Athenaのクエリ課金額をSlack通知する

はじめに こんにちは!DR&MLOps グループの阿部です。 Gunosyには社内警察と呼ばれる人がおり、たとえばデータ可視化の際に円グラフを使うと正しい使い方を教えてくれる、母数という言葉の使い方を正してくれる、方々がいます。 今回はAthenaで課金額の高い…

突撃!隣の自宅作業環境 Gunosy 2020

こんにちは。Gunosy広告技術部の mocyuto です。 緊急事態宣言が発令されて、在宅勤務されている方も多いのではないでしょうか? Gunosyでは、もともと在宅勤務の制度は特になかったのですが、コロナウイルスの感染が日本で始まったころから、在宅勤務制度が…