Rust何もわからない ver4登壇用資料
juniperでGraphQLサーバを2日で作ってみた話。 本体は公開できないので、似たような構成の環境を別で用意した。 https://github.com/savacan/rust_ws_practice
+VOJQFSͬͯ(SBQI2-ͬͯΈͨ3VTUɺԿΘ͔Βͳ͍ʜWPMIJHF@ZZ !LJBO@Z@NVE
View Slide
higeです。• ຊ໊ࢁதͰ͢• 202012~ estie• ݩʑϑϩϯτΤϯυྖҬ• Rustࠓ͔Β͍࢝Ί·ͨ͠• ϏΞϙϯͳΔύʔςΟήʔϜͷݩຊද1
(SBQI2-ͬͯΈΔ͜ͱʹͳͬͨ ͬͯΈͨ ͭ·͖ͮϙΠϯτ ·ͱΊ͜͏͍͏͠·͢Α
(SBQI2-ͬͯΈΔ͜ͱʹͳͬͨ
αʔϏε։ൃͯͯͭ͠Β͍͜ͱ͕ʜʜ ݱঢ়3FBDUY3VTU 3&45ͷߏ͕ͩɺϢʔεέʔε͝ͱʹϑϩϯτͰϦιʔεͷ݁߹ܗΛ͓͜ͳ͍ͬͯΔՕॴ͕ෳ͋ͬͯͪΐͬͱͭΒ͍ ݟͨͷͪΐͬͱͨ͠มߋͷͨΊʹόοΫΤϯυ·Ͱมߋ͠ͳ͚ΕͳΒͳ͍͜ͱ͕ଟʑ͋Δ ϑΟʔϧυ୯ҐͰࢀরͷݖݶΛઃఆ͍͕࣮͕ͨ͠ຖճඞཁ ʜFUD
ͦ͏ͩ(SBQI2-ͬͯΈΑ͏ʂ(SBQI2-ͩͱϦιʔεͷͭͳ͕ΓΛදݱͰ͖ΔͣʂϑϩϯτΤϯυͰ৭ʑ݁߹͢Δඞཁ͕ͳ͘ͳΓͦ͏όοΫΤϯυͷมߋͳ͠Ͱ6*ΛࢼߦࡨޡͰ͖ͦ͏
ࣾϋοΧιϯͱݴ͑ɺ৽نػೳ։ൃ͕ܧଓ͍ͯ͠ΔҎ্ͦΜͳʹ·ͱ·ͬͨ࣌ؒͱΕͳ͍ͳʜʜͱࢥ͍ͬͯΔઌɺ̎ؒͷࣾϋοΧιϯ͕։࠵͞ΕΔ͜ͱʹͳΓ·ͨ͠LFOLPPPP͞Μ ̎͋ΕͰ͖ΔͰ͠ΐ
ͬͯΈͨ
ͬͨͷ طଘͷBQQͷ։ൃڥ BDUJYXFC TRMY NZTRM +VOJQFS EBUBMPBEFS OΛղܾ͢ΔͨΊ HSBQIJRM (SBQI2-αʔόΛϒϥβ͔Βୟͨ͘Ί HSBQIRMDPEFHFO TDIFNB͔Β54ͷܕੜ
BDUJYXFCͷTFSWJDFʹՃ
(2-༻ͷߏମͷఆٛϑΟʔϧυ͝ͱʹɺͲͷΑ͏ͳΛฦ͔͢Λఆٛɾऔಘ͢Δ෦ɻϑΟʔϧυ͝ͱʹࡉ͔ͳؔʹ͔Ε͍ͯΔͷͰɺ͜ͷ୯ҐͰͷݖݶͷ੍ޚ͕༰қʹՄೳʹͳΔɻ
CBUDIFSͷ࡞#BUDIFS(SBQI2-ར༻࣌ʹසൃ͢Δ/Λղܾ͢ΔͨΊʹར༻ɻࠨͷྫͰݴ͏ͱɺRVFSZ͕͜ΕҎ্VTFSΛ-PBE͠ͳ͍ɺͱͳͬͨλΠϛϯά·ͰσʔλͷऔಘΛԆ͢ΔΑ͏ͳΠϝʔδͰ͢ɻ
RVFSZͷఆ࣮ٛࡍʹ֎ʹ࿐ग़͢ΔRVFSZΛఆٛ͢Δ෦Ͱ͢ɻNVUBUJPOಉ༷ʹఆٛ͠·͢ɻ
͜Μͳײ͡Ͱಈ͖·͢(SBQIJRM ը໘ڞ༗
ͭ·͖ͮϙΠϯτ
%FGBVMUͰJ͑ͳ͍+VOJQFSͰϏϧτΠϯεΧϥʔͱͯ͠J͕ͳ͍ͷͰɺJEΛࣗલͰJʹม͢Δඞཁ͕͋ͬͨͨΊɺҎԼͷΑ͏ͳNBDSPΛॻ͍ͯͪΐͬͱָΛ͠·ͨ͠ɻ
TRMYͷ"DRVJSFΛෳ͍ͬͯΔͱϥΠϑλΠϜͷΤϥʔͰམͪΔ"DRVJSFΛཁ͍ͯ͠ΔؔͷதͰ"DRVJSFΛཁ͢ΔؔΛ͏ͱϥΠϑλΠϜͷΤϥʔ͕ى͖ͨɻ"DRVJSFΛશͯ.Z4RM$POOFDUJPOʹॻ͖͑ͨɻ
·ͱΊ
ࠓճͷϋοΧιϯͰݕূͰ͖ͨࢀরܥͷ՝ʹ͍ͭͯ(SBQI2-Λ͏͜ͱͰ͋Δఔղফ͞Εͦ͏ ϑϩϯτͰϦιʔεΛ݁߹͢Δͷ͕ਏ͍ʜʜϑϩϯτͰRVFSZΛॻ͍͖ͯͳܗͰऔͬͯ͜ΕΔΑ͏ʹͳΔ ͪΐͬͱͨ͠6*ͷมߋͰόοΫΤϯυ·Ͱมߋ͕ඞཁʹͳΔTDIFNBΛมߋ͠ͳ͚ΕͳΒͳ͍߹Ҏ֎RVFSZมߋͰऔΕΔ ϑΟʔϧυ୯ҐͰͷࡉ͔ͳݖݶ੍ޚ͕Γ͍ͨ(2-0CKFDUͷఆٛͰϑΟʔϧυ͝ͱʹ੍ޚՄೳ
ࠓޙ(SBQI2-Λ͏͔ʁ ͍͍ͨʂ ͕ɺKVOJQFSΛ͏͔ʁ ࠓճϋοΧιϯͱ͍͏͜ͱ͋ΓɺKVOJQFSΛͬͨ͜ͱʹͦ͜·Ͱେ͖ͳҙຯͳ͔ͬͨɻ +VOJQFS"QPMMP'FEFSBUJPOΛαϙʔτ͍ͯ͠ͳ͍Β͍͠ BTZODHSBQIRMΈࠐΈͰEBUBMPBEFSͷΑ͏ͳΈΛαϙʔτ͍ͯ͠Δ ϑΟʔϧυ୯ҐͰͷݖݶઃఆʹ͓͍ͯɺBTZODHSBQIRMʹ'JFME(VBSEͱ͍͍͏Έ͕༻ҙ͞Ε͍ͯΔɻ ݕ౼ͷ݁ՌBTZODHSBQIRMͰ͍͘͜ͱʹ
ࠓޙͷ՝ͱల ࠓճݕূͰ͖ͨͷࢀরܥ͕ϝΠϯͰɺߋ৽ܥཁݕূ (SBQI2-Λ͕ͬͭΓӡ༻͍ͯ͘͠ݟ͕Γͳ͍ʜʜ