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
12
4.8k
ワンバイナリWebサービスのススメ
mackee
10
8k
tanukistack ライブコーディング / tanukistack live-coding
mackee
0
120
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
870
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
850
database/sqlでNullを扱う歴史とsql.Null[T]の登場 / sql.Null[T] history
mackee
0
730
マイクロサービス化を利用した Goへの移行事例
mackee
0
860
PerlでつくるフルスクラッチWebAuthn/パスキー認証 / Demonstration of full-scratch WebAuthn/Passkey Authentication written in Perl
mackee
3
5.2k
Other Decks in Programming
See All in Programming
AIコーディングAgentとの向き合い方
eycjur
0
280
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
310
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
480
はじめてのMaterial3 Expressive
ym223
2
890
私の後悔をAWS DMSで解決した話
hiramax
4
210
チームのテスト力を鍛える
goyoki
3
880
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
350
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
290
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
デザイナーが Androidエンジニアに 挑戦してみた
874wokiite
0
550
GitHubとGitLabとAWS CodePipelineでCI/CDを組み比べてみた
satoshi256kbyte
4
250
The Past, Present, and Future of Enterprise Java with ASF in the Middle
ivargrimstad
0
160
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
The Cult of Friendly URLs
andyhume
79
6.6k
Side Projects
sachag
455
43k
Automating Front-end Workflow
addyosmani
1370
200k
Being A Developer After 40
akosma
90
590k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
How GitHub (no longer) Works
holman
315
140k
Docker and Python
trallard
46
3.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
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