k_osawaのブックマーク (166)

  • Spark Connectの検証における知見と課題 - MicroAd Developers Blog

    マイクロアドでサーバーサイドエンジニアをしている高橋です。 PySpark x Spark Connectの検証によって知見が溜まってきたので共有します。 検証に至った経緯は別の記事で紹介しています。 developers.microad.co.jp Spark Connect関連の情報は検索してもまだ少なく、試行錯誤しながら進めています。 この記事が少しでも参考になれば幸いです。 構成 知見 Spark Connect server起動時にオプションを全て渡さなければならない Decimal型の列同士の四則演算で精度が変わる Hiveのクエリ・UDFが使える 課題点 構成 今回想定する構成は概ね別記事で紹介されているものになります。 データ基盤移行計画とPySpark(Spark Connect)の検証 - MicroAd Developers Blog Kubernetes上でSpar

    Spark Connectの検証における知見と課題 - MicroAd Developers Blog
  • OTFSG Tokyo Meetup #2 で「Kafka ConnectのIceberg Sink Connector」をテーマに発表してきた - MicroAd Developers Blog

    マイクロアドの京都研究所からリモートで働いているインフラ開発ユニットの永富 id:yassan0627 です。 3/1に開催されたOpen Table Format Study GroupのMeetupの第2回目にて、「Kafka ConnectのIceberg Sink Connector」をテーマに話してきました。 今回は、その紹介です。 otfsg-tokyo.connpass.com Open Table Format Study Group(OTFSG) について 私の発表について Kafka Connectとは Iceberg Sink Connectorとは お試し環境について 私以外の発表について 最後に Open Table Format Study Group(OTFSG) について Open Table Format Study Groupは、以下を目的とする勉強会で

    OTFSG Tokyo Meetup #2 で「Kafka ConnectのIceberg Sink Connector」をテーマに発表してきた - MicroAd Developers Blog
  • CTOでもVPoEでもないエンジニアのポジションの取り方という発表をしてきました - BASEプロダクトチームブログ

    こんにちは、BASE BANK Divisionで事業責任者をしている柳川と申します。 今回はROSCAさん主催のROSCAFE TECH NIGHT #5で登壇させていただきました。 その登壇記録とレポートです。 rosca.connpass.com 柳川の登壇内容 イベントタイトルに反し、僕はCTOではないのに登壇させてもらうという若干の出オチ感のある登場でしたが、元気に発表させていただきました。 内容的に若干浮くかなとおもったんですが、今回参加者の選定がマッチしたのか、意外にも同系統の発表が並びました。 発表スライドは以下になります。 speakerdeck.com 発表の趣旨は、エンジニアのキャリアパスには事業責任者もあるよという話です。 僕のキャリアパスとしてはエンジニアPdM→事業責任者なのですが、 なんでそのようなキャリアパスを辿ったのだろうかと考えていた時に以下のようなつ

    CTOでもVPoEでもないエンジニアのポジションの取り方という発表をしてきました - BASEプロダクトチームブログ
    k_osawa
    k_osawa 2024/03/25
  • Vertex AI Pipelinesを用いたMLバッチのディレクトリ設計 - MicroAd Developers Blog

    はじめに こんにちは。マイクロアドで機械学習エンジニアをしている大庭です。 マイクロアドの機械学習チームでは機械学習関連のバッチ実行に Vertex AI Pipelines というGoogle Cloud Platformが提供するマネージドのワークフロー実行サービスを利用しています。 Vertex AI Pipelinesを利用した機械学習プロジェクトはワークフローを管理するためにディレクトリ構成を工夫する必要があるのですが、新しいサービスなため設計関連の情報が少ないと感じています。 そこで今回の記事ではディレクトリ設計の一例としてマイクロアド運用している構成を紹介します。 はじめに Vertex AI Pipelinesとは ディレクトリ構成 components pipelines src tests ルート直下 CI Dockerイメージ おわりに Vertex AI Pipel

    Vertex AI Pipelinesを用いたMLバッチのディレクトリ設計 - MicroAd Developers Blog
  • Protected Audience APIとK匿名性 - MicroAd Developers Blog

    はじめに Protected Audience API Protected Audience APIとは Protected Audience APIの処理フロー (1)InterestGroupの登録 (2)OnDeviceAuctionの実行 (3)FencedFrameで広告の表示 (4)Reportの送信 K匿名性 K匿名性とは Protected Audience APIにおけるK匿名性 もしK匿名性の制限がない場合 K匿名性サーバー K匿名性サーバの2つのエンドポイント Join Query AboveThresholdWithPeriodicRestartアルゴリズム Chromeにおける設定 さいごに はじめに こんにちは。京都研究所・Tech Labの中野(@tosametal)です。 2024年7月からChromeで3rd Party Cookie1の廃止が開始され、

    Protected Audience APIとK匿名性 - MicroAd Developers Blog
  • マイクロアドの広告配信アプリ開発チーム「RDU」を新卒視点で語りたい記事 - MicroAd Developers Blog

    この記事では、マイクロアドの広告配信アプリ開発を担うチーム RDU について 新卒入社者の視点から分かりやすく書いていきます。 どうぞお付き合いください。 はじめに 高橋と申します。昨年マイクロアドに新卒入社し、 現在は広告配信アプリ開発チームでアプリケーションエンジニアとして働いております。 部署には他にも高橋さんが多いため、名前で呼ばれています。 自己紹介 RDU歴:6ヶ月 趣味将棋(三段)/AtCoder(水)/ピアノ/ポケモンカード/フットサル部・テニス部・麻雀部所属など 最近の目標:Scalaをサラサラっと書けるようになること マイクロアドのシステム開発部には、BDU / RDU / UDU / DSU / Infra などのチームがあります。 これらのチームを簡単に説明すると、次のようになります。 BDU (Big-Data Development Unit: バッチ開発)

    マイクロアドの広告配信アプリ開発チーム「RDU」を新卒視点で語りたい記事 - MicroAd Developers Blog
  • Spring BootとKotlin開発における結合テストの自動化について - MicroAd Developers Blog

    はじめに はじめまして。マイクロアドシステム開発部UDU(UI/UX開発ユニット)でアプリケーションエンジニアをしている崎元です。 今回は、私の所属するユニットでの自動テスト推進についてお話していきます。 まずは、お話を始めるにあたってマイクロアドシステム開発部でのテスト方針について触れさせていただきます。 目次 はじめに 目次 自動テストピラミッド このように変えた時に得られるメリット このように変えた時のデメリットは短期的な工数 テスト自動化の対応状況 結合テスト自動化 開発環境 GETの結合テスト 使用例 説明 POSTの結合テスト 使用例 説明 注意事項 今後の展望 自動テストピラミッド 自動テストピラミッド マイクロアドでは、ユニット間のテストに関する認識齟齬を防ぐために上記の図を用いています。 ユニットテスト、統合テスト、システムテストと分類する中、図で示すように下に行くほどテ

    Spring BootとKotlin開発における結合テストの自動化について - MicroAd Developers Blog
  • 【新卒エンジニア向け】マイクロアドエンジニアの技術スタック(バッチ開発ユニット編) - MicroAd Developers Blog

    こんにちは! システム開発部BDU(BigData Development Unit)でアプリケーションエンジニアをしている高橋です。 主にマイクロアドが気になっている社外のエンジニアの方やマイクロアドの新入社員の方向けに、自分たちのユニットが使っている技術について共有します。 メインは大規模データを取り扱うバッチ開発の話になるので、広告配信に興味のある方は以下の記事をご覧ください。 developers.microad.co.jp BDU(以降「バッチ開発ユニット」と呼ぶ)では主にETL/ELT1処理のバッチを開発しています。 広告配信ログやアクセスログなどのデータを元にして、適切な形に加工した上で各データストアへと蓄積します。 ログの流れの詳細については以下の記事をご覧ください。 developers.microad.co.jp 大規模データを取り扱うバッチ開発に関連する技術への興味が

    【新卒エンジニア向け】マイクロアドエンジニアの技術スタック(バッチ開発ユニット編) - MicroAd Developers Blog
  • S3互換ストレージ Apache Ozoneについて - MicroAd Developers Blog

    はじめに マイクロアドのシステム開発部でインフラエンジニアをしているキガワです。現在マイクロアドではデータプラットフォーム事業を支える大規模な基盤(以下データ基盤)を移行計画中です。 現在のデータ基盤はHadoopエコシステムで実現されており、次期データ基盤ではコンピューティングとストレージを分離する構成を検討中です。 コンピューティング部分についてはマイクロアドで書かれた以前のブログ記事があるので、興味がある方はそちらをご覧ください。 ストレージ部分についてはS3互換のストレージ製品を検討しており、今回はその中で検証したApache Ozoneについて概要をご紹介します。 はじめに Apache Ozoneとは Ozoneの主要コンポーネントについて データのレプリケーション Containerについて Pipelineについて レプリケーションタイプについて おわりに Qiita Ad

    S3互換ストレージ Apache Ozoneについて - MicroAd Developers Blog
  • 2023年アドベントカレンダー完走記念におすすめ記事紹介 - MicroAd Developers Blog

    新年あけましておめでとうございます。 マイクロアドのシステム開発部で、広報委員会の委員長をしている キガワ(id:takahiro_kigawa)です。 年を跨いだ後でのご報告となりましたが、2023年のアドベントカレンダーも例年通り無事完走出来ました! qiita.com 前回同様、振り返りとして気になった記事を広報委員会メンバの中から代表3名が紹介していくスタイルでお送りさせていただきます! それではどうぞ! 広報委員会メンバの推しエントリー SONiCのイメージをビルドしてGNS3で使ってみた #Network - Qiita 大規模言語モデルを量子化してRustで動かしてみる Rust x Tauri に入門してみた Redashのクエリパラメータで実現するインタラクティブなデータ集計 おわりに 広報委員会メンバの推しエントリー SONiCのイメージをビルドしてGNS3で使ってみた

    2023年アドベントカレンダー完走記念におすすめ記事紹介 - MicroAd Developers Blog
    k_osawa
    k_osawa 2024/01/29
  • RKE2ノードのCiliumを使ったeBPFな帯域制限をする話 - やっさんメモ

    この記事は MicroAd Advent Calendar 2023Kubernetes Advent Calendar 2023 の5日目の記事です。 オンプレあるあるな悩みとして、データセンターと外の通信にはインターネットを経由する都合、1つのアプリで契約している帯域を専有してしまいインターネット通信が輻輳1 (ふくそう)し、他のシステムの番環境に影響させてしまう事があったりします。 今回は、RKE22 で構築したKubernetesノードにて、Pod発の通信に対して帯域制限をかける方法について紹介します。 環境 種明かし 利用できるか確認する Nodeのセットアップ RKE2のみの場合 Rancherを使ってクラスターをCreateする場合 CiliumのBandwidth Managerが有効になっているか確認 Podに帯域制限をかけるには? 実際に試してみてる 最後に お

    RKE2ノードのCiliumを使ったeBPFな帯域制限をする話 - やっさんメモ
    k_osawa
    k_osawa 2023/12/06
  • 広告キャンペーンの日予算分配の自動化 - MicroAd Developers Blog

    はじめに こんにちは. マイクロアドで機械学習エンジニアをしている福島です. 主にReal-Time-Bidding (RTB)における入札最適化の研究・開発などを担当しています. マイクロアドが提供する広告配信プラットフォーム(DSP)であるUNIVERSE Adsには予算管理の仕組みがいくつかあります. 今回はその中で配信制御のための自動予算分配について紹介します. はじめに UNIVERSE Adsにおける広告の構成 キャンペーン予算の最適分配 分配率最適化問題として定式化 予算分配後の配信制御 おわりに UNIVERSE Adsにおける広告の構成 UNIVERSE Adにおける広告は以下のような構成になっています. UNIVERSE Adsにおける広告構成 広告 広告の素材であるクリエイティブ1とランディングページ2の組み合わせで構成されます. ストラクト 広告に対し, 配信単価や

    広告キャンペーンの日予算分配の自動化 - MicroAd Developers Blog
    k_osawa
    k_osawa 2023/10/24
  • QPS制御の仕組みの改善 - MicroAd Developers Blog

    こんにちは。京都研究所・Tech Labの郭です。 今回は、マイクロアドが提供するCOMPASS(SSP1)の中に、取り組んでいるQPS制御仕組みの改善を紹介します。 COMPASS COMPASS紹介 QPS制御について 以前のQPS制御の仕組み 全体像 その仕組みの問題点 改善後のQPS制御の仕組み 全体像 詳細説明 ① 流量を書き込み ② 制御量を書き込み ③ 制御量を読み込み 結果 改善前 改善後 残課題 最後に COMPASS紹介 COMPASS マイクロアドのCOMPASSプロダクトは、メディアの広告配信の最適化と、包括的な管理をすることで広告収益を最大化する、次世代のサプライサイドプラットフォーム(SSP)です。 アドネットワーク広告、各DSP2から提供されるRTB3広告、メディア運営者が独自に販売する純広告や自社広告などを一元管理します。 リアルタイムで広告収益の最大化を実

    QPS制御の仕組みの改善 - MicroAd Developers Blog
    k_osawa
    k_osawa 2023/10/24
  • 運用作業を安全にするChrome拡張のススメ - MicroAd Developers Blog

    はじめに マイクロアドでサーバサイドエンジニア 兼 システム開発部の副部長をしている奈良橋です。 今回は社内運用が(わずかにですが)安全になるようなChrome拡張機能を作成しました。 この経験を通じて(差し出がましく恐縮ですが) わずかな手間でもChrome拡張機能が作成できるといった知見や、様々なWebUIを安全に運用するためのきっかけを提供させて頂きます。 ※ ブログの内容はDigdagのWebUIを例に書かれていますが、WebUIが存在するものは全般応用できるものになっております。 話のきっかけ 軽く前提にも触れますと、マイクロアドではバッチ処理のワークフローやジョブスケジューラーとしてDigdagを利用しています。 ※マイクロアドでのバッチ開発を詳しく知りたい方はこちら developers.microad.co.jp プロダクション環境での利用はもちろんですが、検証環境用とし

    運用作業を安全にするChrome拡張のススメ - MicroAd Developers Blog
    k_osawa
    k_osawa 2023/10/05
  • 共有アカウント管理について - MicroAd Developers Blog

    はじめに IT戦略グループの比嘉です。 今回はIT統制におけるアカウント管理で対応の必要がある共有アカウント管理について書きます。 developers.microad.co.jp はじめに 結論 前提 IT統制におけるアカウント管理とは 共有アカウントとは 共有アカウントの問題点 運用実施に向けて 共有アカウントの適切な管理に関する重要なポイント 共有アカウント利用状況の把握 運用方法 共有アカウントの利用を申請する。 月に1度、管理者は共有アカウントを整理する。 月に1度、共有アカウント整理状況をチェックする。 年に1度、共有アカウントの運用状況を評価する。 その他 パスワード管理ツールの検討 おわりに 結論 以下の運用を実施しています。 共有アカウントの利用を申請する。 月に1度、管理者は共有アカウントを整理する。 月に1度、共有アカウント整理状況をチェックする。 年に1度、共有アカ

    共有アカウント管理について - MicroAd Developers Blog
    k_osawa
    k_osawa 2023/09/15
  • 23卒の開発研修でスプリント計画アプリを開発した話 - MicroAd Developers Blog

    はじめまして! 23卒新卒チーム(天野、木村、澤田、高橋、藤田)です。 この度私たちは新卒開発研修にてスプリント計画アプリ「OtasK」を作成しました。 今回の技術ブログではスプリント計画アプリ「OtasK」完成までの軌跡を紹介していきます。 開発研修について マイクロアドシステム部のスプリント計画について なぜスプリント計画アプリ「OtasK」の開発に至ったか 成果物 開発の流れ システム設計 開発環境・アーキテクチャ 苦労したこと 面白かったこと 最後に 開発研修について まずはマイクロアドの新卒研修制度についてお伝えします。 マイクロアドでは4月にビジネス職・エンジニア職合同での全体研修を終えた後、エンジニア職の新卒社員は開発研修に移ります。 4月末から6月末の約二ヶ月間にかけて行われるこの研修ではエンジニア職の新卒社員で1つのプロダクトを作成するものとなっており、要件定義から開発、

    23卒の開発研修でスプリント計画アプリを開発した話 - MicroAd Developers Blog
    k_osawa
    k_osawa 2023/09/10
  • Nuxt 3で開発して特に良かった3つの機能を紹介します。 - MicroAd Developers Blog

    はじめに こんにちは。マイクロアドシステム開発部の東です。 業務では主に画面などのプロダクトを開発しています。 今回は新規プロダクトでNuxt 3を採用し、実際に開発してみて特に良かった機能を紹介します。 目次 はじめに 目次 Nuxt 3の採用 開発体験 Auto-imports serverディレクトリ composables おわりに Nuxt 3の採用 Nuxt 3はNuxt.jsの最新バージョンで、以下の利点が主にあります。 Nitroエンジンによる高速・軽量化 TypescriptVue 3(composition-api)のネイティブサポート 今回、新規プロダクト(catalyst-crossing)の開発をするにあたり、JavascriptのフレームワークにNuxt 3を採用しました。 主な採用理由としては、上記の他にも以下があります。 マイクロアドでは画面系プロダクトの

    Nuxt 3で開発して特に良かった3つの機能を紹介します。 - MicroAd Developers Blog
  • VictoriaMetrics 格納メトリクスをGrafanaで長期 表示したい話 - MicroAd Developers Blog

    はじめに インフラエンジニアのN村です。 マイクロアドではPrometheusとオープンソース版VictoriaMetricsを使って、データセンターにあるサーバ約1000台強をモニタしています。 利用開始からそろそろ4年。そこそこ安定稼働しています。 ですが、いま課題を抱えています。おそらくVicky1にありがちな話です。 目次 はじめに 目次 長期間グラフが表示できない ダウンサンプル機能がない 方法はないのか 1.スクレイプ頻度を落として集計サンプル数を減らす 2.さらにレコーディングルールも使う 3.GrafanaでQueryOptionを調整して荒く検索する 4.ダウンサンプル機能があるストレージに変える? 5.back to basic 6.蓄積されたサンプルの移行は? おわりに おまけ 長期間グラフが表示できない 運用をはじめて2、3年たった頃から、Grafanaダッシュボー

    VictoriaMetrics 格納メトリクスをGrafanaで長期 表示したい話 - MicroAd Developers Blog
  • データ基盤移行計画とPySpark(Spark Connect)の検証 - MicroAd Developers Blog

    マイクロアドでサーバサイドエンジニアをしているタカギです。 今回はデータ基盤移行とPySparkについての話になります。 目次 目次 データ基盤移行の概要 データ基盤移行後のバッチ処理 Spark Connectを導入する Spark Connectの問題点 まとめ 補足 データ基盤移行の概要 諸々の事情1により、データ基盤をHadoopから移行することになりました。 現在のデータ基盤でのETL/ELT処理はHadoopエコシステム(Hive、HDFSなど)を中心に構成されています。 ※Hadoopについてはこちらの記事が参考になります。 これらをKubernetes、PySpark、S3互換ストレージ(詳細未確定)を組み合わせたデータ基盤へ移行する計画です。 すぐにすべてを移行するのは難しく、完全移行までは新旧並行稼働がそれなりの期間続く予定です。 今回の記事では、PySparkを使用し

    データ基盤移行計画とPySpark(Spark Connect)の検証 - MicroAd Developers Blog
  • Chrome DevTools Protocolを用いるPlaywrightを活用した広告表示の監視について - MicroAd Developers Blog

    京都研究所・TechLabの石浦です。マイクロアドでは、広告配信システムの監視の整備に取り組んでいます。 最近では、社内にある監視基盤を活用し、広告配信システムから実際に配信されている広告そのものを監視対象にしながら配信が正常かをチェックするようにしています。 なお、監視基盤については以前ブログで紹介していますので、ご参照ください*1 外形監視と広告実配信 広告が表示されるまでには様々な手続きが行われていますが、その詳細は伏せて最終的な広告表示が正常に表示されているかだけをチェックしたいことがあります。 このようにシステムの内部状態を直接確認するのではなく、システムの外部から入力と出力の関係性に焦点を当てて監視するアプローチを外形監視と言います。 去年、自社の広告配信システムに対して、外形監視を行う仕組みを導入しました。 番の配信を経由しなければ見つけられない不具合があるという問題に取り

    Chrome DevTools Protocolを用いるPlaywrightを活用した広告表示の監視について - MicroAd Developers Blog