Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ゲームのマスタデータ特有の3つの困難と、カヤックでの解決方法 / How to solve three problems when handling the master-data of mobile games

mackee
December 12, 2019

ゲームのマスタデータ特有の3つの困難と、カヤックでの解決方法 / How to solve three problems when handling the master-data of mobile games

mackee

December 12, 2019
Tweet

More Decks by mackee

Other Decks in Programming

Transcript

  1. ήʔϜͷϚελσʔλಛ༗ͷ
    3ͭͷࠔ೉ͱɺ
    ΧϠοΫͰͷղܾํ๏
    ϚελσʔλNight #1 2019-12-12
    ໘ന๏ਓΧϠοΫ @mackee_w
    1

    View Slide

  2. όοΫάϥ΢ϯυͱϙδγϣϯ
    • macopy, twitter: @mackee_w, GitHub: @mackee
    • ໘ന๏ਓΧϠοΫ ιʔγϟϧήʔϜࣄۀ෦ήʔϜٕݚ
    • αʔόαΠυΤϯδχΞ
    • ӡ༻ͷͨΊͷศརάοζΛ։ൃ͢Δ୲౰
    2

    View Slide

  3. ձͷςʔϚ
    **ͷϚελσʔλ
    3

    View Slide

  4. ࠓճͷձͷςʔϚ
    ήʔϜͷϚελσʔλ
    4

    View Slide

  5. ͜ͷηΫγϣϯͰ࿩͢͜ͱ
    • ϞόΠϧήʔϜͰ࢖ΘΕΔϚελσʔλͷܗଶ
    • ϞόΠϧήʔϜಛ༗(ͱࢥΘΕΔ)ࠔ೉
    • छྨ͕ଟ͍ɾߴස౓ͷߋ৽ɾଈ࠲ʹࣄނʹͭͳ͕Δ
    • ΧϠοΫͰͷࠔ೉ͷղܾํ๏
    5

    View Slide

  6. ϞόΠϧήʔϜͰ
    ࢖ΘΕΔ
    ʮϚελσʔλʯͱ͸
    6

    View Slide

  7. ʮϚελσʔλʯͰ͍ͨ͜͠ͱ
    • ϓϩάϥϜͱσʔλͷ෼཭
    • ΞϓϦߋ৽ແ͠ͰήʔϜ಺σʔλΛߋ৽͢ΔͨΊ
    • App Storeͷن໿ 2.5.2 ͷଘࡏ
    • ෼ۀͷͨΊ => ήʔϜ੍࡞͸࿑ಇू໿ܕ࢈ۀ
    7

    View Slide

  8. ͜ͷ࿩Ͱѻ͏Ϛελʮσʔλʯ
    • ήʔϜ಺ͷύϥϝʔλʔɾఆ਺ͱݺ͹ΕΔ΋ͷ
    • ͋ΒΏΔήʔϜ಺ςΩετ => ࠃࡍԽ
    • ήʔϜ಺Ͱࢀর͢΂͖ΞηοτΛهड़ͨ͠΋ͷ
    8

    View Slide

  9. Ϛελσʔλͷೖྗํ๏
    • ͍͍ͩͨೋ࣍ݩͷදͰͷ؅ཧ
    • ೖྗ͸Excel, Google SheetsͳͲ
    • ಠࣗͷUIͰRDBMSʹ͍ΕͨΓCSVͳͲʹग़ྗ͢Δ
    έʔε΋
    9

    View Slide

  10. อଘܗࣜͷྫ
    • CSV΍JSONɺProtocol Buffers etc...
    • Ϛελσʔλ͔ΒϓϩάϥϜΛੜ੒
    • ߋʹ͔͜͜Βύοέʔδϯάख๏͕৐Δ
    • ྫ: tarballʹݻΊͯ҉߸Խ
    • SQLiteͷ1ϑΝΠϧʹೖΕͯ഑৴͢Δख๏΋͋Δ
    10

    View Slide

  11. Ϛελσʔλͷ഑৴
    ഑৴ʹؔͯ͠΋ߟ͑Δ΂͖͜ͱ͕ଟ͍
    11

    View Slide

  12. ήʔϜಛ༗ͷ՝୊
    • Ϛελσʔλͷछྨ͕ଟ͍
    • ߴස౓ͷߋ৽
    • ؒҧ͑ͨΒଈࣄނʹͭͳ͕Δةݥੑ
    12

    View Slide

  13. Ϛελσʔλͷछྨ͕ଟ͍
    • ΅͘ϙέͷ৔߹ɺ237 छྨ(2019೥ݱࡏ)
    13

    View Slide

  14. ͢΂ͯΛಉ࣌ʹ࢖͏Θ͚Ͱ͸ͳ͍
    • ಛఆͷΠϕϯτͷͱ͖ʹ͔͠࢖Θͳ͍Ϛελσʔλ
    • Πϕϯτ͝ͱʹେ͖͘มಈ͢Δ1
    1 2ϫʔϧυ(ςφϯτ)෼৑௕ʹు͍͍ͯΔͷͰ࣮ࡍͷCSVͷछྨ͸͜ͷ൒෼
    14

    View Slide

  15. छྨ͕େྔʹ͋Δ৔߹ͷ՝୊
    • ઐ༻ͷೖྗը໘Λ࡞Δίετͷํ͕ߴ͍
    • ͲͷϚελσʔλ͕ͲͷΠϕϯτʹඞཁͳͷ͔ɺ֮͑
    Δίετ͕ߴ͍
    • ೖྗ͢Δ߲໨͕େྔʹ͋Δ
    • => ෳ਺ਓͰ෼୲ͯ͠ೖྗ͢Δͷ͕લఏ
    15

    View Slide

  16. छྨ͕େྔ => ΧϠοΫͰͷղ๏
    • ೖྗ͸͢΂ͯGoogle SheetsͰߦ͏
    • ઐ༻ͷ؅ཧը໘Λ࡞Βͳͯ͘ࡁΉ
    • ෳ਺ਓͰಉ࣌ʹฤूͰ͖Δ
    • σϝϦοτ: ͜Ε͚ͩͩͱࣗ༝͗͢Δ
    16

    View Slide

  17. छྨ͕େྔ => ΧϠοΫͰͷղ๏
    ೖྗ͢΂͖ϚελσʔλΛςϯϓϨ͔Β࡞Δ2
    2 ͜ͳΕ͖ͯͨΒखͰೖྗͤͣʹؔ਺ͱGASͰϚελσʔλͷ಺༰·Ͱੜ੒͢Δ
    17

    View Slide

  18. ߴස౓ͷߋ৽
    • ि3ʙ4ճͷຊ൪Խ
    • 5ʙ6ݸ͙Β͍ͷ։ൃτϐοΫ
    Λಉ࣌ਐߦ
    18

    View Slide

  19. ߴස౓ߋ৽ͷ৔߹ͷ՝୊
    • ಉ͡ϚελσʔλΛෳ਺ͷਓ͕͍͡ΔՄೳੑ
    • ͔͠΋ຊ൪ԽλΠϛϯά͕લޙ͢Δ
    • Ϛελσʔλͷؒʹґଘؔ܎͕ൃੜ͢Δ
    • ͋ΔϚελσʔλ͸ผͷϚελσʔλ͕ଘࡏ͢Δલ
    ఏͰهड़͞Ε͍ͯΔͳͲ...
    19

    View Slide

  20. ߴස౓ߋ৽ => ΧϠοΫͰͷղ๏
    • ؔ৺͝ͱʹ͍͡ΔൣғΛ໌֬ʹ෼͚Δ
    • ϚελσʔλͷதʹλάΛ෇͚Δ
    • λάؒͰґଘؔ܎Λఆٛ
    20

    View Slide

  21. ࣮ݱํ๏
    • 2ͭͷख๏Λซ༻
    • ։ൃτϐοΫ͝ͱʹਫฏ෼ׂͯ͠ग़ྗ࣌఺Ͱ౷߹
    • ߦͱྻʹλάΛ෇͚ͯऔΓࠐΈ࣌ʹλάࢦఆ
    • ಺੡Ϛελσʔλ؅ཧγεςϜ akashic Ͱ؅ཧ
    21

    View Slide

  22. ੡࡞࣌͸ਫฏ෼ׂͯ͠ग़ྗ࣌ʹ౷߹
    22

    View Slide

  23. λά෇͚ͯ͠ݶఆग़ྗ
    ґଘఆ͔ٛΒ໦ߏ଄Λੜ੒ͯ͠ɺࢦఆͨ͠λά͕ґଘ͢Δλά΋ؚΊͯग़ྗ
    23

    View Slide

  24. ଈ࠲ʹࣄނʹͭͳ͕Δ
    • Ϛελσʔλ͸ήʔϜ͕ಈͨ͘Ίͷࡐྉ
    • ϓϩάϥϜ͸ͦͷࡐྉΛ࢖ͬͯۦಈͯ͠ήʔϜʹͳ
    Δ
    • ࡐྉͷྔ΍छྨ͕ؒҧ͍ͬͯͨΒήʔϜ͕յΕΔ
    • όά, ༏ྑޡೝ...
    • ͓࿳ͼ, ճऩ, ϝϯςφϯεೖΓ...
    24

    View Slide

  25. Ϛελσʔλ͸΋͸΍
    ϓϩάϥϜͱಉ༷ʹ
    ѻΘͳ͚Ε͹ͳΒͳ͍
    25

    View Slide

  26. ϓϩάϥϜͱಉ༷ʹѻ͏ͱ͸
    • όά͕গͳ͍ϓϩάϥϜΛॻ͘ʹ͸ʁ
    • ίʔυϨϏϡʔΛ͢Δ
    • ςετΛॻ͘, CIΛճ͢
    => ϚελσʔλͰ΋΍Γ·͠ΐ͏
    26

    View Slide

  27. ϚελσʔλϨϏϡʔ
    • ຊ൪Խ͢ΔϚελσʔλ͸PullRequestʹ͢Δ
    • ϚελΛೖྗ͢ΔਓͨͪͰϨϏϡʔ͢Δ
    27

    View Slide

  28. Ϛελσʔλͷςετ
    • αʔόαΠυͷ։ൃݴޠͷςετϑϨʔϜϫʔΫͰϚ
    ελσʔλͷCSVʹର͢ΔςετΛهड़
    • ஋ͷܗࣜ, ஋ҬͳͲͷόϦσʔγϣϯ
    • ϦϨʔγϣϯઌͷID͕ఆٛ͞Ε͍ͯΔ͔Ͳ͏͔
    • ήʔϜ಺ϩδοΫΛ࢖ͬͯҟৗͳಈ࡞ʹͳΒͳ͍͔
    28

    View Slide

  29. ϚελσʔλͷςετͷCI
    • CSVʹͨ͠ޙʹPull Request͕࡞ΒΕΔ࢓૊Έ
    • Slack BotͰ࣮ߦ͢Δ
    • Pull Request͕࡞ΒΕΔͱϚελσʔλͷςετ͕࣮
    ߦ͞ΕΔ
    • ςετ͕failͨ͠৔߹͸ೖྗऀ͕CI݁ՌΛݟͯ௚͢
    29

    View Slide

  30. ·ͱΊ
    Ϛελσʔλͷࠔ೉ʹର͢ΔΧϠοΫͰͷղ๏͸
    • छྨ͕ଟ͍: Google Sheetsϑϧ׆༻
    • ߴස౓ͷߋ৽: ೖྗͷ࢓ํͰόʔδϣϯ؅ཧ
    • ࣄނରࡦ: ϨϏϡʔͱϚελσʔλͷςετ
    30

    View Slide

  31. Any Questions?
    31

    View Slide