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
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
15
5.2k
ワンバイナリWebサービスのススメ
mackee
10
8k
tanukistack ライブコーディング / tanukistack live-coding
mackee
0
120
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
920
perl for shell, awk and sed programmers
mackee
3
2.5k
今更GoのWebフレームワークを作ろうとしているワケ / Why am I trying to create a Go web framework now?
mackee
1
890
database/sqlでNullを扱う歴史とsql.Null[T]の登場 / sql.Null[T] history
mackee
0
770
マイクロサービス化を利用した Goへの移行事例
mackee
0
910
PerlでつくるフルスクラッチWebAuthn/パスキー認証 / Demonstration of full-scratch WebAuthn/Passkey Authentication written in Perl
mackee
3
5.3k
Other Decks in Programming
See All in Programming
ててべんす独演会〜Flowの全てを語ります〜
tbsten
1
230
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
980
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
210
CSC305 Lecture 03
javiergs
PRO
0
240
Swift Concurrency - 状態監視の罠
objectiveaudio
2
490
Le côté obscur des IA génératives
pascallemerrer
0
140
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
960
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
960
CSC305 Lecture 05
javiergs
PRO
0
210
What's new in Spring Modulith?
olivergierke
1
130
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
3.8k
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
1.2k
Featured
See All Featured
A Tale of Four Properties
chriscoyier
160
23k
Statistics for Hackers
jakevdp
799
220k
Mobile First: as difficult as doing things right
swwweet
224
10k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.7k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
How to Think Like a Performance Engineer
csswizardry
27
2k
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