ブックマーク / note.com/dd_techblog (26)

  • GitHubの新機能Push protectionを試してみた|Dentsu Digital Tech Blog

    電通デジタル 事業戦略室 開発部の佐藤です。 コードのバージョン管理システムとしてGitHubを利用する企業も増えるなか、機密情報の漏洩も増加傾向にあります。そこで、GitHubのEnterpriseプランへ加入してセキュリティの強化について試してみました。 ※IoT OT Security News「GitHub 調査:不適切なソースコード管理によりパスワードなどの機密情報が漏洩」 EnterpriseプランではSecret scanningというセキュリティ機能に加えて、今年の4月より利用可能になったSecret scanningの機能の一部であるPush protectionという強力なセキュリティ機能が使えるようになります。Secret scanningについてはすでに具体的な記事がいくつかあがっている一方、Push protectionに関してはまだ具体的な記事があがっていなかっ

    GitHubの新機能Push protectionを試してみた|Dentsu Digital Tech Blog
    chaosm3h
    chaosm3h 2022/07/06
  • 「データマネジメント知識体系ガイド」社内勉強会 - データモデリングで解決する問題を意識する|Dentsu Digital Tech Blog

    こんにちは、電通デジタル開発部エンジニアのリチャードです。この記事は、Dentsu Digital Advent Calendar 2021の2日目の記事です。 現在弊社の開発部内では、データマネジメント知識体系ガイド(以下DMBOK)というに注目していて、同書籍に関する社内勉強会を不定期で開催しています。 データ基盤などの開発経験が豊富なエンジニアからは、DMBOKに対して以下のような好意的な意見があがっています。 - 「手探りで取り組んでいた課題が体系化されているので理解しやすい」 - 「自分たちのデータマネジメントの取り組みで、何が足りないのかわかる」 - 「概念を整理した図表が見やすく、コミュニケーションの助けになりそう」 一方でDMBOKはデータマネジメントに関する知識を網羅的に扱っているので、672ページ、17章と、その分量に圧倒されそうになる書籍です。経験豊富なエンジ

    「データマネジメント知識体系ガイド」社内勉強会 - データモデリングで解決する問題を意識する|Dentsu Digital Tech Blog
    chaosm3h
    chaosm3h 2021/12/02
  • エンジニアのための図解テクニック入門 - 図を分割する|Dentsu Digital Tech Blog

    こんにちは!電通デジタル開発部エンジニアのリチャードです。 技術ドキュメントを書く際に効果的な図解を用いると、文章だけの場合より内容も見やすくなります。 また図の見やすさだけでなく、描き変えやすさも重要です。その理由はソフトウェア開発の現場における技術ドキュメントは、継続的に更新し続けることが多く、図もそれに従って描き変えるからです。 この記事では見やすく描き変えやすい図解を作成するテクニックとして「図の分割」を紹介します。数ある図解テクニックの中でも、すぐに使えて効果の大きいものなのでぜひ利用してみてください。 1つの図に情報を詰め込みすぎない図の分割テクニックの詳細をお話しする前に、その反対である、たくさんの情報を1つの図に詰め込んでしまう例を紹介します。 以下はAWS上に構築した架空のアプリケーションのインフラ全体図です。図中の要素の数が多いので、見て理解するには時間がかかりますし、

    エンジニアのための図解テクニック入門 - 図を分割する|Dentsu Digital Tech Blog
    chaosm3h
    chaosm3h 2021/11/15
  • 機械学習のデータドリフト検知を自動化する方法|Dentsu Digital Tech Blog

    電通デジタルでデータサイエンティストを務める吉田です。 記事では、機械学習においてモデル学習時点でのデータと推論時点でのデータが経時的に乖離を起こしていく、いわゆるデータドリフトの検知を自動化するために構築したワークフローについてご紹介いたします。 データドリフトによる機械学習モデルの劣化とは機械学習モデルを実運用していく際に課題になる事象の1つとして、データドリフトの問題があります。 一般的に、機械学習ではいくつかの特徴量Xに対する目的変数Yとの隠れた関係を定式化します。XとYの関係は時間が経つにつれて変化していくことがしばしばあり、これに伴って一度作成したモデルの推論精度も低下していきます。 簡単な例として、あるWebサービスにおいてサイト上の行動ログを元にユーザーごとにコンバージョンの発生を予測する機械学習モデルを作成したとします。このモデルは、「平均的に10分以上閲覧しているユー

    機械学習のデータドリフト検知を自動化する方法|Dentsu Digital Tech Blog
  • AWS CLI短縮構文をシェルスクリプトから使うときに陥りやすい罠|Dentsu Digital Tech Blog

    電通デジタルでSREをしている神田です。突然ですが、みなさんAWS CLI短縮構文をご存知でしょうか? awsコマンドを使っているときに、コマンドのオプションとしてfoo=bar や foo,bar,baz といった構造を持ったパラメータを要求されることがあります。このパラメータを記述するための構文が短縮構文(shorthand)です。 記事では、普段なんとなくお世話になっている短縮構文をシェルスクリプトから使ったときに陥りやすい罠を紹介します。 AWS CLI短縮構文の簡単な例 短縮構文は、JSONと等価な値を簡潔に表現するための構文です。JSONとの対応をみると内容を理解しやすいです。 例えば、 ["foo","bar","baz"]というJSONの配列は、短縮構文では、 foo,bar,bazと書くことができます。 また、 {"key1": "val1", "key2": "val

    AWS CLI短縮構文をシェルスクリプトから使うときに陥りやすい罠|Dentsu Digital Tech Blog
  • Appleの新しいクロスサイト計測規制:Private Click Measurement(PCM)の内容と運用型広告に与える影響|Dentsu Digital Tech Blog

    Appleの新しいクロスサイト計測規制:Private Click Measurement(PCM)の内容と運用型広告に与える影響 「アンチトラッキング」の潮流電通デジタルでソリューション開発のプロマネをしている三谷です。Ads Data HubをはじめとしたData Clean Roomを活用した分析パッケージの開発であったり、ADとCRMデータを連携した新しい広告運用”X-Stack”や広告の因果推論評価を行う新指標”True Lift Model®”の考案など、広告主の事業成果を向上させるための新規ソリューションの開発を担当しています。 今回は10年に1度の大変動であるアンチトラッキングの実情と電通デジタルの対応についてご紹介します。 近年、Cookieやモバイル広告ID(ADID/IDFA)の利用に制限がかかる、というニュースが多く報じられています。デジタルマーケティング業界内では

    Appleの新しいクロスサイト計測規制:Private Click Measurement(PCM)の内容と運用型広告に与える影響|Dentsu Digital Tech Blog
  • スクラムとアジャイル開発の本を12冊一気に読んでみた!その中から初心者、中級者、上級者向けのおすすめを紹介|Dentsu Digital Tech Blog

    スクラムアジャイル開発のを12冊一気に読んでみた!その中から初心者、中級者、上級者向けのおすすめを紹介 こんにちは電通デジタル開発部エンジニアのリチャードです。弊社で開発している社内プロダクトEASIではスクラム開発を採用しており、開発部内には認定スクラムマスターも在籍しています。一方で私個人はこれまでスクラム開発を経験してはいたものの、断片的な知識と経験で乗り切っていた部分が強く、改めてスクラムアジャイル開発の基を学び直そうと思い立ち、12冊のを一気読みしました。ちょうど数ヶ月前に電通デジタルへと転職したばかりだったので、よい機会だったと思います。 今回読んだの一覧はこちらです!過去に読んで改めて今回読み直したもあるため、冊数は多くなっています。 初心者向け 1. いちばんやさしいアジャイル開発の教 2. SCRUM BOOT CAMP THE BOOK 中級者向け 3.

    スクラムとアジャイル開発の本を12冊一気に読んでみた!その中から初心者、中級者、上級者向けのおすすめを紹介|Dentsu Digital Tech Blog
  • 2020年秋、ビルドトラップに浸かりました。|Dentsu Digital Tech Blog

    こんにちは。電通デジタルでEMをしている河内です。 電通デジタルアドベントカレンダー2020の23日目の記事になります。前回の記事は「ECS Fargate 楽々構築テンプレート」でした。 今回は初日の記事でもありますが、我々の開発組織にはプロダクトを開発するチームがあります。このチームのスクラム開発でスクラムマスターという立場から今年学んだ失敗・課題をお伝えしたいと思います。 背景となるチームコンディション弊社でエンジニアの組織が立ち上がって2年ほどでほぼ中途のエンジニアで構成されています。組成してから内製で初めてのチームによるプロダクト開発を行い、途中からスクラムを導入して1年が経過しています。スクラムのプラクティスはほぼ全て実施。ベロシティは増加傾向。 スクラム導入初期はチャレンジングで概ねチームは上手く回りました。ただ1年も経つと課題は積もるものです。 課題見えてきた課題として、

    2020年秋、ビルドトラップに浸かりました。|Dentsu Digital Tech Blog
    chaosm3h
    chaosm3h 2020/12/23
  • ADH APIを効率的に呼び出すために開発したHooksの紹介|Dentsu Digital Tech Blog

    こんにちは。電通デジタルでデータサイエンティストをしている長島です。 Advent Calendar 21日目となる記事では、GoogleのAds Data Hub(以下ADH)を利用するためのRest APIを効率的に呼び出すために開発したPython Hooksをご紹介したいと思います。 ADHが何かというと、Googleが提供する、ユーザープライバシーに配慮したクラウドベースの分析基盤です。 詳しい内容は、公式サイトをご参照ください。 ADHにはWebUIAPIが提供されていますが、弊社では、ADHのREST APIをhttprequest経由でPythonから効率的に呼び出せるよう、hook化して利用しています。 そのために必要なcredential取得方法も最後に記載しています。 公式のAPIリファレンスはこちら 初期化initimport httplib2 import t

    ADH APIを効率的に呼び出すために開発したHooksの紹介|Dentsu Digital Tech Blog
    chaosm3h
    chaosm3h 2020/12/22
  • ECS Fargate 楽々構築テンプレート|Dentsu Digital Tech Blog

    この記事は電通デジタルアドベントカレンダー2020の22日目の記事になります。前回の記事は「ADH APIを効率的に呼び出すために開発したHooksの紹介」でした。 改めましてこんにちは! Docker使ってますか? AWSDockerを使おうと思うと以下の3つの選択肢があります。 ・Elastic Container Service ・Elastic Kubernetes Service ・EC2に構築する この中でもECSいいですよね、僕も好きです。運用に手間もかからなくて気軽に使えるところに好感もてます。さすがAWSのマネージドサービス。 ただし実際にECSで構築しようとすると周辺のリソースが色々と必要になるので初心者にとってハードルが高く見えるのも事実です。そんなわけで初心者にも使えるようなテンプレートを提供したいと思います。 このテンプレートでは最低限の機能しか提供しません。何

    ECS Fargate 楽々構築テンプレート|Dentsu Digital Tech Blog
    chaosm3h
    chaosm3h 2020/12/22
  • grpc-gateway を実運用で使うための追加実装|Dentsu Digital Tech Blog

    電通デジタルでバックエンドの開発をしている平沼です。 Dentsu Digital Advent Calendar 2020 の 18 日目の記事になります。前回の記事は「Micro Frontends 導入の覚書」でした。 弊社では、社内 / グループ会社向けのデジタル広告運用実績管理システムのバックエンドサービスに gRPC を利用しています。また Web などから HTTP によるアクセスができるように、 gRPC から HTTP に変換して API を提供する grpc-ecosystem/grpc-gateway も利用しています。 grpc-gateway を利用するとき、 README.md 通りの使い方ではサービス運用上困ることがあります。今回はそのうち下記 3 点を取り上げて対応方法を紹介します。 ・grpc-gateway サーバ自身のヘルスチェックをしたい ・認証情報

    grpc-gateway を実運用で使うための追加実装|Dentsu Digital Tech Blog
  • 広告出稿プランニング業務におけるセグメントのマッピングと表示改善|Dentsu Digital Tech Blog

    電通デジタルでバックエンド開発をしている長内です。 記事では電通デジタル内で開発されている業務アプリケーション内において、セグメントを取扱う仕組みを改善したのでその内容をご紹介します。 弊社の業務の中に広告出稿のプランニングがあり、業務アプリケーション上から興味・関心に関するセグメントを指定する操作があります。 前提として、この操作に関連する従来の実装ではユーザがアプリケーション上で任意のセグメントを抽出する際、ユーザ入力に対して関連性の低いものを含む大量のセグメント候補のリストに対して目視で選択を行っていました。 当然、我々は大量の要素から任意の1件を目視で探すという行為に非効率さを感じます。 であれば画面上に部分一致判定を行うような抽出用のフォームを用意し、入力した文字列によって目的のセグメントを抽出すればよい、と考えるかもしれませんが、この解決方法では質的な解決には至れませんでし

    広告出稿プランニング業務におけるセグメントのマッピングと表示改善|Dentsu Digital Tech Blog
  • Google Colabで統計的因果探索手法LiNGAMを動かしてみた|Dentsu Digital Tech Blog

    電通デジタルでデータサイエンティストをしている中嶋です。 前回の記事は「Airflow 2.0でDAG定義をよりシンプルに!TaskFlow APIの紹介」でした。 Advent Calendar 10日目となる記事では因果探索の一手法であるLiNGAM(Linear Non-Gaussian Acyclic Model)の解説及び、Google Colabでの分析例について紹介します。 因果探索とは最近のトレンド 最近、広告配信やマーケティング分析の文脈で施策の効果を適切に評価する手法として実験計画法や因果推論が注目を浴びています。産業界でも株式会社ソニーコンピュータサイエンス研究所、クウジット株式会社、株式会社電通国際情報サービスの三社が提供するCALCという要因分析ツールや、最近はNECの因果分析ソリューション causal analysisも出ていたりと盛り上がりを見せています。

    Google Colabで統計的因果探索手法LiNGAMを動かしてみた|Dentsu Digital Tech Blog
  • データサイエンティストでもできるサーバーレスなWebフォーム開発|Dentsu Digital Tech Blog

    電通デジタルで機械学習エンジニアをしている今井です。 前回の記事は「GoogleColabで統計的因果探索手法BMLiNGAMを動かしてみた」でした。 Advent Calendar 14日目となる記事では、AWSでサーバーレスなWebフォーム開発を行うための方法について紹介します。 データサイエンティストの日常 データサイエンティスト業務に従事してる多くの方は以下のような経験をしたことがあるのではないでしょうか? 依頼者がエンジニア職であれば、作成したテンプレートクエリなどを渡して「パラメータ部分を適宜修正して使ってください」というコミュニケーションで完結しますが、大抵の場合は非エンジニア職のため都度手を動かす必要があります。 こんなとき、パラメータ入力用のWebフォームを作成すれば依頼者の入力に応じて自動集計されるようなシステムがあればいいなと思うことでしょう。 入力用UIだけであれ

    データサイエンティストでもできるサーバーレスなWebフォーム開発|Dentsu Digital Tech Blog
  • Reactアプリケーション内でGoogle Analytics計測をする際、react-gaを使わず、gtag.jsを利用した方法とその選択理由|Dentsu Digital Tech Blog

    Reactアプリケーション内でGoogle Analytics計測をする際、react-gaを使わず、gtag.jsを利用した方法とその選択理由 電通デジタルのエンジニア、西山です。 この記事は、電通デジタルアドベントカレンダー2020の3日目の記事です。前回の記事は「2020年に作ったDevOps内製ツール」でした。 この記事ではReactGoogle Analyticsの計測コードを埋め込む方法についてお話しします。他のブログなどですでに何度も紹介されているテーマですが、ブログによって用いられる手法は様々で、どれを採用すればいいか迷う人も多くいるのではないかと思いますし、中には情報が古くなっているものもあります。 そこで最新の状況を調査した上で、私たちが採用した手法を紹介しますので、ReactGoogle Analytics計測コードを埋め込む際の参考にしていただければと思います。

    Reactアプリケーション内でGoogle Analytics計測をする際、react-gaを使わず、gtag.jsを利用した方法とその選択理由|Dentsu Digital Tech Blog
  • 電通デジタル社内システム「EASI」のデザイン原則を公開します|Dentsu Digital Tech Blog

    こんにちは、電通デジタル開発部のフロントエンドエンジニア石原です。前回の記事は「データサイエンティストでもできるサーバーレスなWebフォーム開発 」でした。電通デジタルアドベントカレンダー 15日目は、デザインシステムの話をお届けします。 はじめに − EASI とは 開発部では、デジタル広告の運用業務全般の各種自動化・最適化を実現する「EASI」という社内向けプラットフォームを開発しています。 そのプラットフォームの下に、デジタル広告のプランニング用のプロダクトや過去実績の確認用プロダクトなど、様々なプロダクトが存在しています。 ※ここからは各プロダクトを総称して「EASI プロダクト」と呼びます。 EASI プロダクト開発における課題 開発部では、開発パートナー様と一緒に EASI プロダクトの開発しています。あるプロダクトは開発部で設計・実装し、また別のプロダクトは開発パートナー様が

    電通デジタル社内システム「EASI」のデザイン原則を公開します|Dentsu Digital Tech Blog
  • Airflow 2.0 でDAG定義をよりシンプルに! TaskFlow APIの紹介|Dentsu Digital Tech Blog

    電通デジタルでバックエンド開発をしている松田です。 前回の記事は「広告出稿プランニング業務におけるセグメントのマッピングと表示改善」でした。 Dentsu Digital Tech Advent Calendar 2020 9 日目の記事になります。この記事ではAirflow 2.0で追加された機能の一つであるTaskFlow APIについて、PythonOperatorを例としたDAG定義を中心に1.10.xとの比較を交え紹介します。 弊社のAdvent Calendarでは、Airflow 2.0に関するものはこれまでにHAスケジューラの記事がありました。Airflow 2.0で提供される新しい機能について詳しく知りたい場合はAirflow Planningを参照ください。 TaskFlow APIとは?TaskFlow APIとはざっくり言うと、タスク間の暗黙的なデータ連携を明示的に

    Airflow 2.0 でDAG定義をよりシンプルに! TaskFlow APIの紹介|Dentsu Digital Tech Blog
  • 【心得3箇条付】全員テレワーク環境でKaizenDay(ハッカソン)を開催してみたゾっ|Dentsu Digital Tech Blog

    記事は、Dentsu Digital Advent Calendar  7日目の記事となります。 こんにちは、電通デジタルでバックエンド開発をしている関です。普段は技術寄りの話題が多い当ブログですが、今回は『オンラインハッカソンの開催を検討、運営を担当する方々』に向けて、 を主題として弊社開発部内の取り組みの様子とその結果についてお話させていただきます。 まずはじめに、業務で忙殺されている方に向けて心得3箇条からお伝えしていきます。 【オンラインハッカソン開催の心得3箇条】 1. ハッカソン期間中は外界との交流を完全シャットアウトすべし! 2. 運営の事前準備、お題策定には時間をかけるべし! 3. 当日の「霊圧問題」に対処すべし!それではハッカソン開催に至った経緯、事前準備や当日の様子等の詳細について順を追って、お話していきます。少し長めの文章となりますが、お時間ある方は最後までお

    【心得3箇条付】全員テレワーク環境でKaizenDay(ハッカソン)を開催してみたゾっ|Dentsu Digital Tech Blog
  • SPOFとはもう呼ばせない!Airflow 2.0で生まれ変わったHAスケジューラー|Dentsu Digital Tech Blog

    電通デジタルでSREをしている神田です。 この記事は電通デジタルアドベントカレンダーの4日目の記事です。前回の記事は「Reactアプリケーション内でGoogle Analytics計測をする際、react-gaを使わず、gtag.jsを利用した方法とその選択理由」でした。 電通デジタルのいくつかの開発プロジェクトでは、データ処理のためのワークフローエンジンとしてAirflowが採用されています。 この記事では、Airflow 2.0で改善された機能の1つである、スケジューラーのHA(High Availability)対応について解説します。 Airflow 2.0で提供される機能について詳しく知りたい方はAirflow 2.0 Planningを参照してください。 そもそも、スケジューラーって何をしているの?スケジューラーは、DAGやタスクを監視し依存関係をもとに実行可能なTaskIns

    SPOFとはもう呼ばせない!Airflow 2.0で生まれ変わったHAスケジューラー|Dentsu Digital Tech Blog
  • 2020年に作ったDevOps内製ツール|Dentsu Digital Tech Blog

    電通デジタルでSite Reliability Engineer(SRE)をしている齋藤です。 電通デジタルアドベントカレンダー20202日目の記事になります。前回の記事は「Dentsu Digital Tech Advent Calendar 2020開始します!」でした。 記事では2020年にSREチームで作ったDevOps内製ツールについてご紹介させていただきたいと思います。内部プロダクトのユーティリティーなど細々したものは色々あるのですが、今回は日常的に利用頻度の高い以下2つのツール ・Auth0をIdPにしたAWSマルチアカウントSSOのクレデンシャル取得ツール(auth02aws) ・オンデマンドでBastionホストを起動して使うツール(bastion-session.sh) を紹介させていただきます。 Auth0をIdPにしたAWSマルチアカウントSSOのクレデンシャル取

    2020年に作ったDevOps内製ツール|Dentsu Digital Tech Blog