187 Views
February 12, 25
スライド概要
DeNA TechCon 2025 DeNA Tech Community Lightning Talks Speaker #2
DeNAでは、言語や技術領域を軸とした、技術コミュニティ活動が活発に行われています。このセッションは各技術コミュニティに所属するエンジニアが各言語・技術領域に関するLightning Talk セッションを行います。
◆ チャンネル登録はこちら↓
https://www.youtube.com/c/denatech?sub_confirmation=1
◆ X(旧Twitter)
https://x.com/denaxtech
◆ DeNA Engineering
https://engineering.dena.com/
◆ DeNA Engineer Blog
https://engineering.dena.com/blog/
◆ DeNA × AI Day ‖ DeNA TechCon 2025 公式サイト
https://techcon2025.dena.dev/
DeNA が社会の技術向上に貢献するため、業務で得た知見を積極的に外部に発信する、DeNA 公式のアカウントです。DeNA エンジニアの登壇資料をお届けします。
Go と Googleスプレッドシートでの マスタデータ管理 Koya Nagata 02/05/2025 DeNA.go 1 © DeNA Co., Ltd.
⾃⼰紹介 永⽥ 浩⽮ ソリューション本部 ● 2023年新卒⼊社 ● バックエンド‧インフラの設計‧開発 ● よく触る技術 ○ Go ○ Terraform ○ GCP 2 © DeNA Co., Ltd.
発表内容 1. マスタデータとは 2. スプレッドシートを利⽤したマスタデータ管理 3 © DeNA Co., Ltd.
発表内容 1. マスタデータとは 2. スプレッドシートを利⽤したマスタデータ管理 4 © DeNA Co., Ltd.
マスタデータとは アプリケーションで繰り返し利⽤される基本となるデータ ● 例: 商品リスト、ゲーム内の静的な情報‧設定値 ● サービス運⽤に⽋かせない基本データを⼀元管理する必要がある ● 更新ミスやデータ不整合が全体に影響を及ぼす可能性 5 © DeNA Co., Ltd.
マスタデータとは アプリケーションで繰り返し利⽤される基本となるデータ ● 例: 商品リスト、ゲーム内の静的な情報‧設定値 ● サービス運⽤に⽋かせない基本データを⼀元管理する必要がある ● 更新ミスやデータ不整合が全体に影響を及ぼす可能性 マスタデータをいかに効率的に 管理するかは、運⽤において重要 6 © DeNA Co., Ltd.
発表内容 1. マスタデータについて 2. スプレッドシートを利⽤したマスタデータ管理 ○ 背景 ○ 利点 ○ 運⽤の流れ 7 © DeNA Co., Ltd.
背景 ● 当初はエンジニアが管理できれば⼗分だった ● ⼿っ取り早く仕組みを構築したかった 8 © DeNA Co., Ltd.
スプレッドシートを利⽤したマスタデータ管理 スプレッドシートの利点 ● ⼿軽さ: チーム全員が使い慣れている ● リアルタイム性: 変更が即座に反映され共有可能 ● 柔軟性: 追加‧変更が簡単 9 © DeNA Co., Ltd.
スプレッドシートを利⽤したマスタデータ管理 運⽤の流れ 1. 2. 3. 4. 10 スプレッドシートにデータを⼊⼒ Sheets APIを使い、データを取得 YAML形式のファイルに変換 データベースへ挿⼊ © DeNA Co., Ltd.
Sheets APIを使い、データを取得 スプレッドシートに⼊⼒されてい るデータを取得 ● google.golang.org/api/sheets /v4 パッケージが利⽤可能 11 © DeNA Co., Ltd.
yamlファイルに変換 github.com/goccy/go-ya ml で yaml の decode/encode 12 © DeNA Co., Ltd.
データベースへ挿⼊ 処理の流れ 1. YAML形式のデータを読み 込み 2. バリデーションチェック 3. データベースへ挿⼊ 13 © DeNA Co., Ltd.
データベースへ挿⼊ 1. YAML形式のデータを読 み込み - データはGoの構造体へ マッピング 14 © DeNA Co., Ltd.
データベースへ挿⼊ 2. バリデーションチェック - 数値チェック - ⽂字数チェック など 15 © DeNA Co., Ltd.
データベースへ挿⼊ 3. データベースへ挿⼊ ポイント ● ● 16 データの信頼性: バリデーションを通じて、仕様に合致しないデータの挿⼊を 防⽌ バージョン管理: YAMLファイルをGit管理することで解決 © DeNA Co., Ltd.
まとめ ● スプレッドシートは⾮エンジニアでも管理しやすい ● Goでマスタデータを扱う⽅法を紹介した ○ データの取得 ○ バリデーションチェック 17 © DeNA Co., Ltd.
宣伝: After Event を⾏います ● ⽇時: 2025/02/14 ● 場所: DeNAオフィス (渋⾕スクランブルスクエア) ● 申し込みは connpass から 18 © DeNA Co., Ltd.
ご清聴ありがとうございました ! 19 © DeNA Co., Ltd.