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

2018 - COSCUP - 來做一個日系卡牌手遊吧!

2018 - COSCUP - 來做一個日系卡牌手遊吧!

888339de9e7a88688b6acb30d33e66cd?s=128

蒼時弦や

August 14, 2018
Tweet

Transcript

  1. None
  2. WEB DEVELOPER GAME DEVELOPER @elct9620

  3. None
  4. None
  5. None
  6. ⋯⋯

  7. None
  8. None
  9. None
  10. None
  11. None
  12. None
  13. HTTP

  14. HTTP

  15. None
  16. HTTP TCP WebSocket

  17. ~=

  18. None
  19. PHP Python Java Node.js Ruby Golang etc

  20. Ruby on Rails

  21. Ruby on Rails

  22. None
  23. None
  24. None
  25. Ruby on Rails

  26. None
  27. None
  28. 考 Unity ª ASP.net JavaScript ªNode.js Python ª Django RPG

    Maker ª Ruby on Rails C/C++ ª Golang
  29. None
  30. None
  31. None
  32. OAuth2 Facebook / Google API

  33. OAuth2 1. 2.

  34. OAuth2 3. 4.

  35. OAuth2 5. 6.

  36. SOP

  37. Ex. Firebase / AWS Cognito

  38. Firebase ⋯⋯

  39. API SSL RESTful JSON Deserialize

  40. None
  41. None
  42. None
  43. None
  44. None
  45. None
  46. SSL SSL

  47. None
  48. None
  49. None
  50. None
  51. OS

  52. SSL Ex. AWS Certi cate Manager

  53. OAuth2 Provider doorkeeper

  54. None
  55. None
  56. HSM Hardware Security Module Token AES OAuth2 Refresh Token Token

    Device ID
  57. Unity

  58. RESTful API /

  59. RESTful API GET /users/1/cards.json GET /chapters/1/stories.json POST /chapters/1/stories/1/start.json POST /gachas/1/

    draw.json PUT /mission/forward.json
  60. JSON { "id": 1, "name": "如何使⽤用道具", "chpater": { "id": 1,

    "name": “新⼿手教學" } }
  61. JSON [System.Serializable] public class Story { public int id; public

    string name; public Chapter chapter; }
  62. JSON Story story = JsonUtility.FromJson<Story> (jsonText);

  63. None
  64. SQLite SQLCipher 考 Primary Key Asset Bundle

  65. Asset Bundle

  66. AssetBundle Zip Bundle API App Store / Google Play

  67. Unity Compile SQLCipher ⋯⋯

  68. None
  69. def draw weights = @items.map(&:weight) n = (1..weights.sum) weights.each_with_index do

    |weight, i| n -= weight return @items[i] if n <= 0 end end
  70. X( ) * Y )

  71. None
  72. PickUp

  73. PickUp

  74. Demo: Rails + Unity3D

  75. Request API API Client

  76. Ruby on Rails describe 'GET /v1/chapters/:id/stories' do before do get

    api_v1_chapter_stories_path(chapter), params: params end it_behaves_like 'valid response' it 'returns available chapters' do json = JSON.parse(response.body) hash = JSON.parse(serialized_json(chapter.stories)) expect(json).to match_array(hash) end end
  77. Ruby on Rails it 'returns canceled mission' do json =

    JSON.parse(response.body) hash = JSON.parse(serialized_json(mission.reload)) expect(json).to match(hash) end it 'should have canceled_at time' do json = JSON.parse(response.body) expect(json['canceled_at']).not_to be_nil end
  78. None
  79. vs VPS vs

  80. Ex.

  81. VPS

  82. VPS Digital Ocean Linode Vultr AWS Lightsail

  83. Digital Ocean CPU

  84. Linode 考 VPS

  85. Vultr 現

  86. AWS Lightsail EC2 
 AWS

  87. Ex. AWS

  88. Microsoft Azure Google Cloud Platform Amazon Web Service

  89. Azure

  90. GCP/AWS

  91. GCP

  92. Google

  93. None
  94. AWS

  95. None
  96. None
  97. Ex. EC2/ELB

  98. SOP VPS or

  99. Heroku or Firebase

  100. Firebase

  101. NoSQL

  102. Heroku

  103. None
  104. Linux Ex. CentOS / Amazon Linux yum install or Ex.

    Web Server Worker Ex.
  105. yum install

  106. AWS OpsWork

  107. None
  108. None
  109. AWS RDS Aurora AWS

  110. ufw

  111. Digital Ocean

  112. AWS VPC

  113. VPC

  114. None
  115. Cache Ex. Ex.

  116. Load Balancing Ex. CPU Ex. HAProxy Ex. AWS ELB CPU

    Ex.
  117. Database Sharding Ex. AWS Aurora

  118. SOA Service-Oriented Architecture Microservice MMORPG

  119. None
  120. None
  121. None
  122. None
  123. None
  124. None
  125. None
  126. None
  127. None
  128. None
  129. None
  130. DB Client INSERT INTO WHERE SQL

  131. 112 \w+ 500 CPU 20% 50% 200

  132. ⋯⋯

  133. None
  134. GitHub

  135. Unity

  136. None
  137. Unity Server Web

  138. Client Unity JavaScript

  139. JSON

  140. None
  141. None
  142. None
  143. AWS GCP

  144. Ruby on Rails ActionCable Golang AnyCable

  145. None
  146. None
  147. None
  148. AWS OpsWork Laravel Ruby on Rails

  149. None
  150. Thanks