Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ゲームのマスタデータ特有の3つの困難と、カヤックでの解決方法 / How to solve t...
Search
mackee
December 12, 2019
Programming
3
12k
ゲームのマスタデータ特有の3つの困難と、カヤックでの解決方法 / How to solve three problems when handling the master-data of mobile games
マスタデータNight #1
https://masterdata.connpass.com/event/155533/
mackee
December 12, 2019
Tweet
Share
More Decks by mackee
See All by mackee
tanukistack ライブコーディング / tanukistack live-coding
mackee
0
61
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
320
perl for shell, awk and sed programmers
mackee
2
1.8k
今更GoのWebフレームワークを作ろうとしているワケ / Why am I trying to create a Go web framework now?
mackee
1
250
database/sqlでNullを扱う歴史とsql.Null[T]の登場 / sql.Null[T] history
mackee
0
180
マイクロサービス化を利用した Goへの移行事例
mackee
0
310
PerlでつくるフルスクラッチWebAuthn/パスキー認証 / Demonstration of full-scratch WebAuthn/Passkey Authentication written in Perl
mackee
3
3.8k
SRE定例やその辺の取り組みをアプリケーションエンジニア目線で語る / "Observe" about SRE Meeting by Application Engineer
mackee
0
1.9k
TinyGoで使えるORM sqllaの 紹介とTinyGoで使えるようにするための工夫
mackee
0
1.4k
Other Decks in Programming
See All in Programming
AWS Organizations で実現する、 マルチ AWS アカウントのルートユーザー管理からの脱却
atpons
0
160
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
53
18k
Amazon S3 TablesとAmazon S3 Metadataを触ってみた / 20250201-jawsug-tochigi-s3tables-s3metadata
kasacchiful
0
180
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
810
sappoRo.R #12 初心者セッション
kosugitti
0
260
昭和の職場からアジャイルの世界へ
kumagoro95
1
410
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
40
16k
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.1k
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
130
『GO』アプリ バックエンドサーバのコスト削減
mot_techtalk
0
150
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
760
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
190
Featured
See All Featured
How GitHub (no longer) Works
holman
314
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Unsuck your backbone
ammeep
669
57k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Practical Orchestrator
shlominoach
186
10k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Navigating Team Friction
lara
183
15k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Transcript
ήʔϜͷϚελσʔλಛ༗ͷ 3ͭͷࠔͱɺ ΧϠοΫͰͷղܾํ๏ ϚελσʔλNight #1 2019-12-12 ໘ന๏ਓΧϠοΫ @mackee_w 1
όοΫάϥϯυͱϙδγϣϯ • macopy, twitter: @mackee_w, GitHub: @mackee • ໘ന๏ਓΧϠοΫ ιʔγϟϧήʔϜࣄۀ෦ήʔϜٕݚ
• αʔόαΠυΤϯδχΞ • ӡ༻ͷͨΊͷศརάοζΛ։ൃ͢Δ୲ 2
ձͷςʔϚ **ͷϚελσʔλ 3
ࠓճͷձͷςʔϚ ήʔϜͷϚελσʔλ 4
͜ͷηΫγϣϯͰ͢͜ͱ • ϞόΠϧήʔϜͰΘΕΔϚελσʔλͷܗଶ • ϞόΠϧήʔϜಛ༗(ͱࢥΘΕΔ)ࠔ • छྨ͕ଟ͍ɾߴසͷߋ৽ɾଈ࠲ʹࣄނʹͭͳ͕Δ • ΧϠοΫͰͷࠔͷղܾํ๏ 5
ϞόΠϧήʔϜͰ ΘΕΔ ʮϚελσʔλʯͱ 6
ʮϚελσʔλʯͰ͍ͨ͜͠ͱ • ϓϩάϥϜͱσʔλͷ • ΞϓϦߋ৽ແ͠ͰήʔϜσʔλΛߋ৽͢ΔͨΊ • App Storeͷن 2.5.2 ͷଘࡏ
• ۀͷͨΊ => ήʔϜ੍࡞࿑ಇूܕ࢈ۀ 7
͜ͷͰѻ͏Ϛελʮσʔλʯ • ήʔϜͷύϥϝʔλʔɾఆͱݺΕΔͷ • ͋ΒΏΔήʔϜςΩετ => ࠃࡍԽ • ήʔϜͰࢀর͖͢ΞηοτΛهड़ͨ͠ͷ 8
Ϛελσʔλͷೖྗํ๏ • ͍͍ͩͨೋ࣍ݩͷදͰͷཧ • ೖྗExcel, Google SheetsͳͲ • ಠࣗͷUIͰRDBMSʹ͍ΕͨΓCSVͳͲʹग़ྗ͢Δ έʔε
9
อଘܗࣜͷྫ • CSVJSONɺProtocol Buffers etc... • Ϛελσʔλ͔ΒϓϩάϥϜΛੜ • ߋʹ͔͜͜Βύοέʔδϯάख๏͕Δ •
ྫ: tarballʹݻΊͯ҉߸Խ • SQLiteͷ1ϑΝΠϧʹೖΕͯ৴͢Δख๏͋Δ 10
Ϛελσʔλͷ৴ ৴ʹؔͯ͠ߟ͑Δ͖͜ͱ͕ଟ͍ 11
ήʔϜಛ༗ͷ՝ • Ϛελσʔλͷछྨ͕ଟ͍ • ߴසͷߋ৽ • ؒҧ͑ͨΒଈࣄނʹͭͳ͕Δةݥੑ 12
Ϛελσʔλͷछྨ͕ଟ͍ • ΅͘ϙέͷ߹ɺ237 छྨ(2019ݱࡏ) 13
ͯ͢Λಉ࣌ʹ͏Θ͚Ͱͳ͍ • ಛఆͷΠϕϯτͷͱ͖ʹ͔͠Θͳ͍Ϛελσʔλ • Πϕϯτ͝ͱʹେ͖͘มಈ͢Δ1 1 2ϫʔϧυ(ςφϯτ)ʹు͍͍ͯΔͷͰ࣮ࡍͷCSVͷछྨ͜ͷ 14
छྨ͕େྔʹ͋Δ߹ͷ՝ • ઐ༻ͷೖྗը໘Λ࡞Δίετͷํ͕ߴ͍ • ͲͷϚελσʔλ͕ͲͷΠϕϯτʹඞཁͳͷ͔ɺ֮͑ Δίετ͕ߴ͍ • ೖྗ͢Δ߲͕େྔʹ͋Δ • =>
ෳਓͰ୲ͯ͠ೖྗ͢Δͷ͕લఏ 15
छྨ͕େྔ => ΧϠοΫͰͷղ๏ • ೖྗͯ͢Google SheetsͰߦ͏ • ઐ༻ͷཧը໘Λ࡞Βͳͯ͘ࡁΉ • ෳਓͰಉ࣌ʹฤूͰ͖Δ
• σϝϦοτ: ͜Ε͚ͩͩͱࣗ༝͗͢Δ 16
छྨ͕େྔ => ΧϠοΫͰͷղ๏ ೖྗ͖͢ϚελσʔλΛςϯϓϨ͔Β࡞Δ2 2 ͜ͳΕ͖ͯͨΒखͰೖྗͤͣʹؔͱGASͰϚελσʔλͷ༰·Ͱੜ͢Δ 17
ߴසͷߋ৽ • ि3ʙ4ճͷຊ൪Խ • 5ʙ6ݸ͙Β͍ͷ։ൃτϐοΫ Λಉ࣌ਐߦ 18
ߴසߋ৽ͷ߹ͷ՝ • ಉ͡ϚελσʔλΛෳͷਓ͕͍͡ΔՄೳੑ • ͔͠ຊ൪ԽλΠϛϯά͕લޙ͢Δ • Ϛελσʔλͷؒʹґଘ͕ؔൃੜ͢Δ • ͋ΔϚελσʔλผͷϚελσʔλ͕ଘࡏ͢Δલ ఏͰهड़͞Ε͍ͯΔͳͲ...
19
ߴසߋ৽ => ΧϠοΫͰͷղ๏ • ؔ৺͝ͱʹ͍͡ΔൣғΛ໌֬ʹ͚Δ • ϚελσʔλͷதʹλάΛ͚Δ • λάؒͰґଘؔΛఆٛ 20
࣮ݱํ๏ • 2ͭͷख๏Λซ༻ • ։ൃτϐοΫ͝ͱʹਫฏׂͯ͠ग़ྗ࣌Ͱ౷߹ • ߦͱྻʹλάΛ͚ͯऔΓࠐΈ࣌ʹλάࢦఆ • ϚελσʔλཧγεςϜ akashic
Ͱཧ 21
࡞࣌ਫฏׂͯ͠ग़ྗ࣌ʹ౷߹ 22
λά͚ͯ͠ݶఆग़ྗ ґଘఆ͔ٛΒߏΛੜͯ͠ɺࢦఆͨ͠λά͕ґଘ͢ΔλάؚΊͯग़ྗ 23
ଈ࠲ʹࣄނʹͭͳ͕Δ • ϚελσʔλήʔϜ͕ಈͨ͘Ίͷࡐྉ • ϓϩάϥϜͦͷࡐྉΛͬͯۦಈͯ͠ήʔϜʹͳ Δ • ࡐྉͷྔछྨ͕ؒҧ͍ͬͯͨΒήʔϜ͕յΕΔ • όά,
༏ྑޡೝ... • ͓ͼ, ճऩ, ϝϯςφϯεೖΓ... 24
Ϛελσʔλ ϓϩάϥϜͱಉ༷ʹ ѻΘͳ͚ΕͳΒͳ͍ 25
ϓϩάϥϜͱಉ༷ʹѻ͏ͱ • όά͕গͳ͍ϓϩάϥϜΛॻ͘ʹʁ • ίʔυϨϏϡʔΛ͢Δ • ςετΛॻ͘, CIΛճ͢ => ϚελσʔλͰΓ·͠ΐ͏
26
ϚελσʔλϨϏϡʔ • ຊ൪Խ͢ΔϚελσʔλPullRequestʹ͢Δ • ϚελΛೖྗ͢ΔਓͨͪͰϨϏϡʔ͢Δ 27
Ϛελσʔλͷςετ • αʔόαΠυͷ։ൃݴޠͷςετϑϨʔϜϫʔΫͰϚ ελσʔλͷCSVʹର͢ΔςετΛهड़ • ͷܗࣜ, ҬͳͲͷόϦσʔγϣϯ • ϦϨʔγϣϯઌͷID͕ఆٛ͞Ε͍ͯΔ͔Ͳ͏͔ •
ήʔϜϩδοΫΛͬͯҟৗͳಈ࡞ʹͳΒͳ͍͔ 28
ϚελσʔλͷςετͷCI • CSVʹͨ͠ޙʹPull Request͕࡞ΒΕΔΈ • Slack BotͰ࣮ߦ͢Δ • Pull Request͕࡞ΒΕΔͱϚελσʔλͷςετ͕࣮
ߦ͞ΕΔ • ςετ͕failͨ͠߹ೖྗऀ͕CI݁ՌΛݟͯ͢ 29
·ͱΊ Ϛελσʔλͷࠔʹର͢ΔΧϠοΫͰͷղ๏ • छྨ͕ଟ͍: Google Sheetsϑϧ׆༻ • ߴසͷߋ৽: ೖྗͷํͰόʔδϣϯཧ •
ࣄނରࡦ: ϨϏϡʔͱϚελσʔλͷςετ 30
Any Questions? 31