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
60
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
もう僕は OpenAPI を書きたくない
sgash708
5
1.8k
Introduction to kotlinx.rpc
arawn
0
740
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
280
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
940
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
130
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
3
1.7k
React 19アップデートのために必要なこと
uhyo
2
630
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
780
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
130
Pythonでもちょっとリッチな見た目のアプリを設計してみる
ueponx
1
590
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
40
15k
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
110
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
74
9.2k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building Adaptive Systems
keathley
40
2.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Become a Pro
speakerdeck
PRO
26
5.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
The Language of Interfaces
destraynor
156
24k
YesSQL, Process and Tooling at Scale
rocio
172
14k
How to train your dragon (web standard)
notwaldorf
91
5.8k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
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