サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
note.com/dd_techblog
スクラムとアジャイル開発の本を12冊一気に読んでみた!その中から初心者、中級者、上級者向けのおすすめを紹介 こんにちは電通デジタル開発部エンジニアのリチャードです。弊社で開発している社内プロダクトEASIではスクラム開発を採用しており、開発部内には認定スクラムマスターも在籍しています。一方で私個人はこれまでスクラム開発を経験してはいたものの、断片的な知識と経験で乗り切っていた部分が強く、改めてスクラムやアジャイル開発の基本を学び直そうと思い立ち、12冊の本を一気読みしました。ちょうど数ヶ月前に電通デジタルへと転職したばかりだったので、よい機会だったと思います。 今回読んだ本の一覧はこちらです!過去に読んで改めて今回読み直した本もあるため、冊数は多くなっています。 初心者向け 1. いちばんやさしいアジャイル開発の教本 2. SCRUM BOOT CAMP THE BOOK 中級者向け 3.
こんにちは。電通デジタルでEMをしている河内です。エンジニアにおける採用・評価、スクラムマスターなどを担当しています。今回はすこし実装プラクティスから離れた話題になりますがお付き合いくださいませ。 弊社もご多分に漏れず完全テレワークを実施しており、かれこれ4か月が経ちます。その中で見えてきた課題とエンジニアチームとしてどう対峙したか、そしてそこで得た気づきを綴っていきたいと思います。この内容は、過去に開催したオンラインイベントでお話した内容になります。 テレワーク環境で私たちのエンジニア部門で急務と感じた課題テレワークが開始された2月後半、プログラミングやシステム開発プロジェクトを生業とする私たちの部では「リモート?全然OK。支障無いっす。」とタカを括っておりました。しかし開始されて間もなく、やっぱり慣れていない事が判明・・・。テレワークを経験されている読者の多くの方が感じていることと同様
電通デジタルでSite Reliability Engineer(SRE)をしている齋藤です。 先日(8/5)に7/22開催のAWS Black Belt Online Seminar「AWSアカウント シングルサインオンの設計と運用」の資料が公開されました。 資料中では以下の内容を説明しています。 ・AWSではアカウントに個別のIAMユーザを作成してログインする代わりに、IDプロバイダ(IdP)を使用し、シングルサインオンができること ・シングルサインオンは組織に独自のID基盤がある場合や、複数のAWSアカウントを使用している場合に有効であること ・シングルサインオンの実現の方法にはいくつかパターンがあり、運用をふまえながら何を選択するのがよいかであること 弊社の自社開発部署もAWSをマルチアカウント構成-シングルサインオンで運用しています。今回はその事例を上記資料の選定パターンチャート
Reactアプリケーション内でGoogle Analytics計測をする際、react-gaを使わず、gtag.jsを利用した方法とその選択理由 電通デジタルのエンジニア、西山です。 この記事は、電通デジタルアドベントカレンダー2020の3日目の記事です。前回の記事は「2020年に作ったDevOps内製ツール」でした。 この記事ではReactでGoogle Analyticsの計測コードを埋め込む方法についてお話しします。他のブログなどですでに何度も紹介されているテーマですが、ブログによって用いられる手法は様々で、どれを採用すればいいか迷う人も多くいるのではないかと思いますし、中には情報が古くなっているものもあります。 そこで最新の状況を調査した上で、私たちが採用した手法を紹介しますので、ReactでGoogle Analytics計測コードを埋め込む際の参考にしていただければと思います。
この記事は電通デジタルアドベントカレンダー2020の22日目の記事になります。前回の記事は「ADH APIを効率的に呼び出すために開発したHooksの紹介」でした。 改めましてこんにちは! Docker使ってますか? AWSでDockerを使おうと思うと以下の3つの選択肢があります。 ・Elastic Container Service ・Elastic Kubernetes Service ・EC2に構築する この中でもECSいいですよね、僕も好きです。運用に手間もかからなくて気軽に使えるところに好感もてます。さすがAWSのマネージドサービス。 ただし実際にECSで構築しようとすると周辺のリソースが色々と必要になるので初心者にとってハードルが高く見えるのも事実です。そんなわけで初心者にも使えるようなテンプレートを提供したいと思います。 このテンプレートでは最低限の機能しか提供しません。何
電通デジタルで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のクレデンシャル取
でご紹介したGo言語でのgRPCコード生成の状況の続報(2020年末)をお伝えしたいと思います。 概要としては前回の記事に記載した通りで ・Protocol Buffer側のレポジトリは golang/protobuf から protocolbuffers/protobuf-go に移行 ・gPRC側のレポジトリのgrpc/grpc-goに新たにprotoc-gen-go-grpcコマンドができた なのですが、以下が追加になりました。 ・gPRC用のコードを生成するには Protocol Buffersのメッセージやシリアライズに protocolbuffers/protobuf-go のprotoc-gen-go、gPRCのサーバ/クライアントに grpc/grpc-goのprotoc-gen-go-grpc、と両方を使うことになった 以降で詳細をご紹介します。 経緯2020年3月のpr
電通デジタルでデータサイエンティストを務める吉田です。 本記事では、機械学習においてモデル学習時点でのデータと推論時点でのデータが経時的に乖離を起こしていく、いわゆるデータドリフトの検知を自動化するために構築したワークフローについてご紹介いたします。 データドリフトによる機械学習モデルの劣化とは機械学習モデルを実運用していく際に課題になる事象の1つとして、データドリフトの問題があります。 一般的に、機械学習ではいくつかの特徴量Xに対する目的変数Yとの隠れた関係を定式化します。XとYの関係は時間が経つにつれて変化していくことがしばしばあり、これに伴って一度作成したモデルの推論精度も低下していきます。 簡単な例として、あるWebサービスにおいてサイト上の行動ログを元にユーザーごとにコンバージョンの発生を予測する機械学習モデルを作成したとします。このモデルは、「平均的に10分以上閲覧しているユー
こんにちは、電通デジタル開発部のフロントエンドエンジニア石原です。前回の記事は「データサイエンティストでもできるサーバーレスなWebフォーム開発 」でした。電通デジタルアドベントカレンダー 15日目は、デザインシステムの話をお届けします。 はじめに − EASI とは 開発部では、デジタル広告の運用業務全般の各種自動化・最適化を実現する「EASI」という社内向けプラットフォームを開発しています。 そのプラットフォームの下に、デジタル広告のプランニング用のプロダクトや過去実績の確認用プロダクトなど、様々なプロダクトが存在しています。 ※ここからは各プロダクトを総称して「EASI プロダクト」と呼びます。 EASI プロダクト開発における課題 開発部では、開発パートナー様と一緒に EASI プロダクトの開発しています。あるプロダクトは開発部で設計・実装し、また別のプロダクトは開発パートナー様が
電通デジタル エンジニアの おのきです。前回の記事は「SQLスクリプト上でのテーブルや共通テーブル式の依存関係を可視化する」でした。 今回はDentsu Digital Tech Advent Calendar 17 日目の記事になります。 私たちの開発チームでは、社内向け業務システム「EASI」においてデジタル広告のプランニングツールや過去実績のレポーティングツールを日々開発、運用しています。 「EASI」では MicroServices アーキテクチャーを採用し開発を進めており、バックエンドだけでなくフロントエンドについても Micro Frontends という仕組みを取り入れてサービス提供を行っています。 私たちのチームで Micro Frontends を導入してからちょうど一年になるので、ここで改めて導入の目的や選択した技術、導入手順、運用上の注意点や課題と対策をこの記事で覚書
電通デジタルで機械学習エンジニアをしている今井です。 本記事では、BigQueryで傾向スコア分析を行うための方法について紹介します。 広告効果ってあったの?広告効果とは、広告に接触した場合と接触していない場合とのその後のコンバージョン(例えば、購入金額や継続期間など)の差である、と言えます。 しかしながら、同一ユーザーにおいて、広告に接触した場合と接触していない場合とを同時に観測することはできません。 これを反実仮想(counterfactual)と呼びます。 そこで提案されたのが平均処置効果(average treatment effect, ATE)です。 広告に接触したユーザー群(𝑤=1)と接触していないユーザー群(𝑤=0)とのその後のコンバージョン(𝑦 )の差を広告効果とするものです。 ここで、介入(広告に接触する)の有無以外の条件が公平になるようにユーザー郡が分かれていれ
この記事について電通デジタルでデータサイエンティストをしている中嶋です。今回の記事では統計的仮説検定における検出力や効果量の概念及び、それらを考慮した事前のサンプルサイズ設計について説明します。読者層としては、既に統計的仮説検定の基本的な使い方を理解している方を主な対象としていますが、そうでない方にもわかるように最初に簡単な復習をします。 統計的仮説検定について 概要 統計的仮説検定(以下、仮説検定)とは、性質の異なるグループ間で平均や分散など各グループを代表するような数値を比較する際に、その差が偶然生じたものか、そうでなく何かしら必然性がありそうかを検証するための統計手法です。例えば比較分析したい2つの群(ex. ユーザーグループ)があった時にある指標(ex. 各群の年齢の平均値)を比較して、統計的に偶然ではないレベルで差異が生じているかを判定したいときに仮説検定を使うことができます。
電通デジタルでデータサイエンティストを務める吉田です。 これはDentsu Digital Advent Calendar 2021の3日目の記事です。 今回の記事では、今年出てきたばかりのddc.vimというVimの自動補完プラグインを試しに使ってみたので、基本的な実装例と使用感について紹介したいと思います。執筆時点ではまだBeta版とのことですが、動作は安定していて個人的にかなり使用感がよかったので紹介します。 エディタの自動補完についてこの記事での「自動補完」とは、入力中のテキストに応じてそのバッファでの既出単語やプログラミング言語の文法に沿った単語の入力候補を自動で表示し、選択できるようにする入力補助機能のことです。これがあるとコーディングスピードが上がったり、型や文法のヒントが表示されるので便利ですね。最近の高級エディタではデフォルトの状態でも自動補完機能が付いているものもありま
Appleの新しいクロスサイト計測規制:Private Click Measurement(PCM)の内容と運用型広告に与える影響 「アンチトラッキング」の潮流電通デジタルでソリューション開発のプロマネをしている三谷です。Ads Data HubをはじめとしたData Clean Roomを活用した分析パッケージの開発であったり、ADとCRMデータを連携した新しい広告運用”X-Stack”や広告の因果推論評価を行う新指標”True Lift Model®”の考案など、広告主の事業成果を向上させるための新規ソリューションの開発を担当しています。 今回は10年に1度の大変動であるアンチトラッキングの実情と電通デジタルの対応についてご紹介します。 近年、Cookieやモバイル広告ID(ADID/IDFA)の利用に制限がかかる、というニュースが多く報じられています。デジタルマーケティング業界内では
電通デジタルで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
電通デジタルで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
こんにちは、電通デジタル開発部エンジニアのリチャードです。この記事は、Dentsu Digital Advent Calendar 2021の2日目の記事です。 現在弊社の開発部内では、データマネジメント知識体系ガイド(以下DMBOK本)という本に注目していて、同書籍に関する社内勉強会を不定期で開催しています。 データ基盤などの開発経験が豊富なエンジニアからは、DMBOK本に対して以下のような好意的な意見があがっています。 - 「手探りで取り組んでいた課題が体系化されているので理解しやすい」 - 「自分たちのデータマネジメントの取り組みで、何が足りないのかわかる」 - 「概念を整理した図表が見やすく、コミュニケーションの助けになりそう」 一方でDMBOK本はデータマネジメントに関する知識を網羅的に扱っているので、672ページ、17章と、その分量に圧倒されそうになる書籍です。経験豊富なエンジ
電通デジタルでバックエンド開発をしている松田です。 前回の記事は「広告出稿プランニング業務におけるセグメントのマッピングと表示改善」でした。 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とはざっくり言うと、タスク間の暗黙的なデータ連携を明示的に
Go Protocol Buffer Message API V2 のReflectionとgRPC Server-side Interceptorを使ってAPIの呼び出し権限チェックを実現する 電通デジタルでバックエンド開発をしている齋藤です。弊社では社内/グループ会社向けのデジタル広告運用実績の管理システムのバックエンドAPIにgRPCを利用しています。 そこに、今年(2020年)の3月2日にGo公式のブログでGo Protocol Buffer Message API V2 の発表があり、4月13日にgolang/protobuf に Message API V2 対応版の v1.4.0 が正式リリースされました。これにより Go でも Reflectionが使えるようになりました。ブログ中で紹介されている、FieldOptionsを読み取ってフィールドをクリアする条件に使うなどより
帰ってきた optional - Protocol Buffers v3.12 から Field presence が導入 電通デジタルでバックエンド開発をしている齋藤です。 今回は Protocol Buffers v3.12 のリリースで追加された Field presence 機能について調べたことをご紹介します。 前提:v3.12 以前の Protocol Buffers v3 における optional な値の扱いProtocol Buffers v3 (proto3) では v2 (proto2) にはあった optional ながなくなり、optional を扱うにはひと工夫必要でした。加えて、Message の Filed に値を入れなかった場合は、Fieldの型のディフォルト値が送られてきたとみなす仕様になっています(各型のディフォルト値はこちら)。 そのため、開発者は
電通デジタルでバックエンドの開発をしている平沼です。 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 サーバ自身のヘルスチェックをしたい ・認証情報
電通デジタルでバックエンドの開発をしている齋藤です。弊社では社内/グループ会社向けデジタル広告運用実績の管理システムバックエンド API に gRPC を利用しています。 本記事では gRPC サーバ内で発生したエラーを gRPC Server Interceptor で gRPC Error Status にマッピングする試作をご紹介します。 ユースケースgRPC を使った API サーバでエラーが発生した場合、エラーハンドリングとロギングをした後に gRPC クライエントへのエラーを伝えます。ここで、サーバのエラーを gRPC クライアントに伝えるエラーに変換する処理が発生します。クライアントに伝えるエラーメッセージはサーバで発生したことそのままではなく、クライアントに必要な情報にする必要があります。この処理は全ての gRPC のメソッド呼び出しで実施します。そこで、本処理を gRPC
こんにちは。電通デジタルでEMをしている河内です。 電通デジタルアドベントカレンダー2020の23日目の記事になります。前回の記事は「ECS Fargate 楽々構築テンプレート」でした。 今回は初日の記事でもありますが、我々の開発組織にはプロダクトを開発するチームがあります。このチームのスクラム開発でスクラムマスターという立場から今年学んだ失敗・課題をお伝えしたいと思います。 背景となるチームコンディション弊社でエンジニアの組織が立ち上がって2年ほどでほぼ中途のエンジニアで構成されています。組成してから内製で初めてのチームによるプロダクト開発を行い、途中からスクラムを導入して1年が経過しています。スクラムのプラクティスはほぼ全て実施。ベロシティは増加傾向。 スクラム導入初期はチャレンジングで概ねチームは上手く回りました。ただ1年も経つと課題は積もるものです。 課題見えてきた課題として、
電通デジタル 事業戦略室 開発部の佐藤です。 コードのバージョン管理システムとしてGitHubを利用する企業も増えるなか、機密情報の漏洩も増加傾向にあります。そこで、GitHubのEnterpriseプランへ加入してセキュリティの強化について試してみました。 ※IoT OT Security News「GitHub 調査:不適切なソースコード管理によりパスワードなどの機密情報が漏洩」 EnterpriseプランではSecret scanningというセキュリティ機能に加えて、今年の4月より利用可能になったSecret scanningの機能の一部であるPush protectionという強力なセキュリティ機能が使えるようになります。Secret scanningについてはすでに具体的な記事がいくつかあがっている一方、Push protectionに関してはまだ具体的な記事があがっていなかっ
電通デジタルの中野です。 今回は、Google Analytics 4(GA4)をBigQueryで分析する際によく使うSQLをまとめました。 自身の業務でもよく使用するため備忘録的な側面もありますが、参考までに活用いただければと思います。 前提BigQueryに連携したGA4データにはいくつか前提条件があります。 その中で最も大きな点は、GA4のレポート画面と数値が一致しない場合がある、ということです。 詳細については、こちらのページに記載があります。 ユーザー数やセッション数といったユニーク数を算出する場合、データ量が多いと計算に時間がかかります。そこでGA4レポートではHyperLogLogというアルゴリズムを使用して近似値を算出しています。 精緻な値を計算する場合は、現状BigQuery以外に手段がありません。こういった制約からもBigQuery上でSQLを使った分析をする場面は増
電通デジタルで SRE をしている神田です。この記事は、電通デジタルアドベントカレンダー2021 17日目の記事になります。 私は、BOT BOOSTaR® というチャットボットツールの開発・運用に携わっています。BOT BOOSTaR®ではサーバーレスアーキテクチャを採用しており、AWS Lambda を利用する機会が多いです。また、私が所属する開発部ではもともとバックエンドサービスの開発言語として Go を採用することが多かったので一部テスト的に Go を使い始めています。本日は、Go で AWS Lambda 関数を開発する際のローカル環境でのテストについて話します。 GoでAWS Lambda関数を実装するときの問題 AWS Lambda 関数を開発する場合、開発言語ごとに用意されているランタイム から適当なバージョンを選びます。Go で Lambda 関数を開発しようとした場合、
電通デジタルでバックエンド開発をしている平沼です。 私は、4/1(水) に電通デジタルに中途入社しました。初日のオリエンテーション以降、入社 2 日目から今までリモートワークをしてきた中で感じたことをお伝えします。私としては、このままリモートワークが続いてもよいと考えています。 入社までの話私は、前職までは SIer として仕事をしており、今までリモートワークをしたことはありませんでした。プロジェクトでは、Mattermost という Slack ライクなチャットツールを立ててやり取りをすることはありましたが、基本的にはメールや対面での打合せがほとんどを占めていました。 今回転職するにあたって、入社直前までフルリモートワークになるということは全く想像していませんでした。弊社は、働き方改革を推進しており、そのなかでリモートワークの導入を計画していたことから、新型コロナウィルスの影響下でも比較
電通デジタルでバックエンド開発をしている長内です。 本記事では電通デジタル内で開発されている業務アプリケーション内において、セグメントを取扱う仕組みを改善したのでその内容をご紹介します。 弊社の業務の中に広告出稿のプランニングがあり、業務アプリケーション上から興味・関心に関するセグメントを指定する操作があります。 前提として、この操作に関連する従来の実装ではユーザがアプリケーション上で任意のセグメントを抽出する際、ユーザ入力に対して関連性の低いものを含む大量のセグメント候補のリストに対して目視で選択を行っていました。 当然、我々は大量の要素から任意の1件を目視で探すという行為に非効率さを感じます。 であれば画面上に部分一致判定を行うような抽出用のフォームを用意し、入力した文字列によって目的のセグメントを抽出すればよい、と考えるかもしれませんが、この解決方法では本質的な解決には至れませんでし
電通デジタルで機械学習エンジニアをしている今井です。 本記事では、BigQueryを用いて二重頑健(doubly robust)推定量による効果検証を行うための方法について紹介します。 この記事は過去記事[1]の続編となります。 IPW推定量による効果検証 因果効果とは、仮に介入があった場合のコンバージョン値(例えば購入金額など)と、介入がなかった場合のコンバージョン値の差です。 当然ながら、同一ユーザーにおいてこれらを同時に観測することはできません。 そこで提案されたのが、実際に介入があったTreatment群のコンバージョン値の平均と介入がなかったControl群のコンバージョン値の平均の差分が因果効果である、という平均処置効果(average treatment effect, ATE)です。 しかしながら、現実には交絡因子と呼ばれる介入とコンバージョン値のいずれにも影響を与える要因
次のページ
このページを最初にブックマークしてみませんか?
『Dentsu Digital Tech Blog|note』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く