S E R V E R S I D E S W I F T Λ
͠ Β ͘ ӡ ༻ ͯ͠ Έ ͨ
T O K Y O S E R V E R S I D E S W I F T M E E T U P # 8
Yusuke ItoɾനϠΪίʔϙϨʔγϣϯ
novi
2017/06/27
Slide 2
Slide 2 text
χϡʔεΩϡϨʔγϣϯApp
اۀ͚API
Slide 3
Slide 3 text
Minutes(λΠϚʔAppͰ͢)
Slide 4
Slide 4 text
S E R V E R - S I D E S W I F T
ӡ ༻ ɾ ࢼ ݧ த ͷ α ʔ Ϗ ε
• ΫϩʔϦϯάΛߦͳ͏σʔϞϯ(Ϋϩʔϥʔ)
• Ұͭ: 30kߦ
• ೋͭ: 2~3000ߦ
• gRPCϕʔεͷαʔόʔ
• ͲͪΒSwift 3.1.1Λ༻
Slide 5
Slide 5 text
t r y ! S w i f t ʹ ͯ …
RDS
ECS(EC2 Container Service)
Slide 6
Slide 6 text
D O C K E R Ͱ C U R L ͕ ಈ ͔ ͳ ͍
• cURLΛ͏ϥΠϒϥϦ͕Unknown Error·ͨམͪΔ
• URLSession
• shiroyagicorp/swift-seeurl
• Docker on macOS: ⭕, Docker on AWS(ECS): Crash
• Docker →
• libcurl4-openssl-devͰͳ͘libcurl4-gnutls-devΛ͏
Slide 7
Slide 7 text
T I M E Z O N E ܥ A P I ͕ ಈ ͔ ͳ ͍
• TimeZone(abbreviation: "JST") => nil ʹͳΔ
• λΠϜκʔϯͷϑΝΠϧ͕DockerΠϝʔδʹೖ͍ͬͯ
ͳ͍
• apt install tzdata ͢Δ (SR-4921)
• SwfitͷDockerΠϝʔδΛެ͔ࣜΒϑΥʔΫͯࣗ͠
Ͱ࡞Δ
Slide 8
Slide 8 text
G R P C α ʔόʔ ͕ མ ͪ Δ
• AWS(ECS)ʹஔ͍ͯ1࣌ؒ͘Β͍ͯ͠ΞΫηε͢Δͱؾ
·͙ΕʹམͪΔ
• XcodeσόοάϏϧυ&RunͰ࠶ݱ
• Address Sanitizer, Thread sanitizer Λ͏
• gRPCϥΠϒϥϦपΓʹ͋Γͦ͏
Slide 9
Slide 9 text
M Y S Q L ͕ σ ο υ ϩ ο Ϋ
• (Swiftؔ͋Γ·ͤΜ)
• SHOW ENGINE INNODB STATUS ; Ͱ࠷ޙʹى͖ͨ
σουϩοΫΛදࣔ
• BULK INSERT࣌ͷσουϩοΫͬΆ͍
• ݪҼ: autocommit = 1 or 0; ͷ͍ํ͕ؒҧͬͯͨ