Slide 1

Slide 1 text

ࠓ͔Β࢝ΊΔܕ҆શ1ZUIPO খּݪΈ͖ͭ!ZBNJU[LZ TUBQZ

Slide 2

Slide 2 text

Agenda ಋೖ جຊฤܕͷ֓ཁͱجຊจ๏ 1ZUIPOϓϩάϥϜΛܕ҆શʹ͠Α͏ ܕͰ1ZUIPOΛศརʹ͠Α͏ ·ͱΊ

Slide 3

Slide 3 text

2ීஈɺ1ZUIPOͰܕॻ͖·͔͢ʁ 1. ࠓ೔ͷ໨ඪ ˡʮܕΛ࢝Ί͍ͨʯ ^

Slide 4

Slide 4 text

1Z$PO+1ͷϕεττʔΫͷ಺༰Λ ʮ࢝ΊΔʯਓ޲͚ʹՃචɾमਖ਼ CJUMZQZUZQF 1. ࠓ೔ͷ಺༰

Slide 5

Slide 5 text

1. ͓લɺ୭Αʁ w খּݪޫو!ZBNJU[LZ w +9௨৴ࣾऔక໾$%0 w ޷͖ͳٕज़ 5ZQF4DSJQUɺ1ZUIPO ೥ʙ αʔόʔϨεɺ(SBQI2-FUDʜ ˞54ϩΰ$$#:.JDSPTPGU

Slide 6

Slide 6 text

1. JX௨৴ࣾʹ͍ͭͯ ʮࠓى͖͍ͯΔ͜ͱΛ໌Β͔ʹ͢ΔʯใಓతςΫϊϩδʔϕϯνϟʔ 1Z$PO+1 γϧόʔεϙϯαʔ ར༻ٕज़ ٕज़ͱͷؔΘΓ 8%#13&44 ʮαʔόʔϨεಛूʯدߘ ࣄۀ هऀͷ͍ͳ͍௨৴ࣾͱͯ͠ɺUP#ɾUP$ͰχϡʔεࣄۀΛల։

Slide 7

Slide 7 text

1. JX௨৴ࣾʹ͍ͭͯ "*ϫΫνϯ઀छ༧ଌ "*ۓٸ৘ใαʔϏε ʮ'"45"-&35ʯ

Slide 8

Slide 8 text

Python ͷνʔϜ։ൃ΍ େن໛ͳ Python ϓϩδΣΫτ ෆຬ͕͋Γ·ͤΜ͔ʁ 1. Python ͷෆຬ

Slide 9

Slide 9 text

1. Python ͷෆຬ

Slide 10

Slide 10 text

˞ฐࣾ๭ϓϩδΣΫτʹ΋͋Γ·ͨ͠🤦 1. Python ͷෆຬ

Slide 11

Slide 11 text

1. Python ͷෆຬ

Slide 12

Slide 12 text

ಈతܕ෇͖ݴޠͷෆຬ ʮܕʯͰղܾͰ͖·͢💡 1. Python ͷෆຬ

Slide 13

Slide 13 text

1ZUIPOͷܕͷ֓ཁͱجຊจ๏ جຊฤ 02

Slide 14

Slide 14 text

ɾਖ਼໊ࣜশ͸ʮ5ZQF)JOU ܕώϯτ ʯ ɾ1&1Ͱ1ZUIPO ʙ ͔Βೖͬͨ࢓༷ ɾ໨త੩తղੳɺϦϑΝΫλϦϯάɺίʔυੜ੒ͳͲ ɾ1ZUIPO͕੩తܕ෇͖ݴޠʹͳͬͨΘ͚Ͱ͸ͳ͘ɺ ɹ೚ҙɾޙ෇͚ͷܕγεςϜ 1ZUIPOͷܕͬͯͳΜͩΖ͏ 2. ʮܕʯͷ֓ཁ ˞͜ͷεϥΠυͰʮܕʯͱݴٴ͢Δࡍ͸ʮܕώϯτʯͷ͜ͱΛݴ͍·͢

Slide 15

Slide 15 text

2. ʮܕʯͷ֓ཁ ੩తղੳ ϦϑΝΫλϦϯά

Slide 16

Slide 16 text

1ZUIPO͸ʮ੩తܕ෇͖ݴޠʯͰ͸ͳ͍ 2. ʮܕʯͷ֓ཁ 2͜ͷίʔυ͸࣮ߦ࣌ΤϥʔʹͳΔʁ🤔 2ܕͷ৘ใ͸TUSʁJOUʁ🤔

Slide 17

Slide 17 text

1ZUIPO͸ʮ੩తܕ෇͖ݴޠʯͰ͸ͳ͍ 2. ʮܕʯͷ֓ཁ "࣮ߦ࣌ʹ͸Τϥʔ͸ൃੜ͠ͳ͍🙆 αʔυύʔςΟʔͷπʔϧΛ૊Έ߹Θͤͯ׆༻👍 "UZQF ͷ໭Γ஋ͱͯ͠͸ܕώϯτ͸ແؔ܎

Slide 18

Slide 18 text

ΤσΟλ ิ׬ͳͲ 1ZUIPOͷʮܕʯΛ औΓר͘αʔυύʔςΟʔ 2. ʮܕʯͷ֓ཁ mypy pyright pytype VSCode PyCharm Vim pydantic FastAPI ੩తղੳ ࣮ߦ࣌ͷόϦσʔγϣϯͳͲ ࢀߟIUUQTHJUIVCDPNUZQFEEKBOHPBXFTPNFQZUIPOUZQJOH

Slide 19

Slide 19 text

ɾਖ਼໊ࣜʮ5ZQF)JOUʯΛ঺հ ɾ1ZUIPO͸ಈతܕ෇͖ݴޠͰ͋Γɺܕώ ϯτ͸ڧ੍͞Εͳ͍ ɾ1ZUIPOࣗମ͸ܕνΣοΫΛߦΘͳ͍ɻ SEQBSUZπʔϧΛ૊Έ߹ΘͤΔ ͜͜·Ͱͷ·ͱΊ 2. ʮܕʯͷ֓ཁ

Slide 20

Slide 20 text

ม਺ 2. ܕώϯτͷจ๏ม਺

Slide 21

Slide 21 text

ܕਪ࿦ 2. ܕώϯτͷจ๏ม਺ ˺ ܕνΣοΧʔ͕ਪ࿦͢ΔͷͰɺ ࣮͸ͦΜͳʹ໘౗͘͘͞ͳ͍🙆

Slide 22

Slide 22 text

ؔ਺ 2. ܕώϯτͷจ๏ؔ਺

Slide 23

Slide 23 text

Ҿ਺͚ͩॻ͍ͯ΋0,🙆 2. ܕώϯτͷจ๏ؔ਺ ໭Γ஋͚ͩॻ͍ͯ΋0,🙆

Slide 24

Slide 24 text

DMBTT 2. ܕώϯτͷจ๏DMBTT ˡϓϩύςΟͷఆٛ ˡϝιουఆٛ ˡม਺ͷܕͱͯ͠ར༻

Slide 25

Slide 25 text

ϓϩύςΟͷܕ͕Θ͔Βͳ͍ͱ͖ 2. ܕώϯτͷจ๏"OZ ˡϓϩύςΟͷఆٛ ˡϝιουఆٛ

Slide 26

Slide 26 text

҉໧తͳ"OZ 2. ܕώϯτͷจ๏"OZ ˡϓϩύςΟͷఆٛ ˡϝιουఆٛ ˺

Slide 27

Slide 27 text

MJTU EJDU TFU 2. ܕώϯτͷจ๏σʔλߏ଄

Slide 28

Slide 28 text

/POF͕ೖΔ͔΋͠Εͳ͍ม਺ l͵ΔΆz๷ࢭ ˡ/POF͡Όͳ͍͜ͱΛ͔֬ΊΔͱ ҆શʹ࢖͑Δ ˡ/POFͷՄೳੑͷࢦఠ 2. ܕώϯτͷจ๏0QUJPOBM

Slide 29

Slide 29 text

ɾม਺ɺؔ਺ ɾDMBTT ɾMJTUɺEJDUɺTFU ɾ0QUJPOBM ɾ"OZ ͜͜·Ͱͷ·ͱΊ 2. ܕώϯτجຊฤ·ͱΊ

Slide 30

Slide 30 text

ʮܕʯॻ͘ͷ໘౗ͦ͘͞͏ʜ🤔ͱࢥͬͨํ΁ ˠʮυΩϡϝϯτʯͷྫ͔Βิ଍͠·͢ 2.ʮܕʯͱυΩϡϝϯτ

Slide 31

Slide 31 text

ʮܕʯͱυΩϡϝϯτ ʮܕώϯτʯʹ҆શˍεϚʔτͳυΩϡϝϯτ

Slide 32

Slide 32 text

ʮܕʯͱυΩϡϝϯτ ๭03. ࠓ·Ͱͷϝλσʔλࢦఆ͸ɺܕ͔Βߟ͑Δͱෆࣗવ ๭"1*εΩʔϚ ϞσϧͷϓϩύςΟͷظ଴஋͸จࣈྻͰ͋ͬͯɺ$IBS'JFMEɺ4USJOHͷΠϯελϯεͰ͸ͳ͍

Slide 33

Slide 33 text

ʮܕʯͱυΩϡϝϯτ ҆શɾεϚʔτͳϝλσʔλͷࢦఆ ˞UZQJOH"OOPUBUFE͸1&1 1ZUIPO Ͱಋೖ͞ΕͨɺܕώϯτͱίϯϑϦΫτ͠ͳ͍ϝλσʔλࢦఆ ͷํ๏ɻϥΠϒϥϦͷରԠ͕ඞཁͳͷͰɺ؍ଌൣғͩͱ1ZEBOUJD͙Β͍͔͠ରԠ͍ͯ͠ͳ͔ͬͨ ˞

Slide 34

Slide 34 text

PythonϓϩάϥϜΛܕ҆શʹͯ͠ΈΑ͏ Ԡ༻ฤ 03

Slide 35

Slide 35 text

ɾ1ZUIPO͸੩తܕ෇͖ݴޠͰ͸ͳ͍ ɾ1ZUIPOࣗମ͸ܕνΣοΫΛ͠ͳ͍ ˠπʔϧͰܕνΣοΫ🚨 1ZUIPOͷܕώϯτͷݪଇ 3. ܕνΣοΫ

Slide 36

Slide 36 text

ɾQZUIPONZQZ ɾNJDSPTPGUQZSJHIU ɾHPPHMFQZUZQF ɾGBDFCPPLQZSF ܕνΣοΫπʔϧɺ݁ߏ͋Δ 3. ܕνΣοΧʔ ࡞ΒΕ͍ͯΔݴޠɺΤσΟλ࿈ܞɺܕਪ࿦ͷݡ͞ɺεύϧλ౓ʹҧ͍

Slide 37

Slide 37 text

3. ܕνΣοΧʔͷൺֱ(Ұྫ) NZQZ QZSJHIU ˞ܕώϯτΛશ͘ॻ͔ͳͯ͘΋ɺܕ҆શΛࠓ͔Β࢝ΊΔ͜ͱ͕Ͱ͖Δ ໭Γ஋ͷܕ΋ਪ࿦ SFUVSO࿙ΕΔͱΤϥʔ

Slide 38

Slide 38 text

ɾܕώϯτΛॻ͍ͯͳ͍ίʔυ͕ଟ͘ଘࡏ ɾQZSJHIUʹΑΔܕνΣοΫΛ։࢝ ʮ'"45"-&35ʯͰ$*ͷܕνΣοΫΛ࢝Ίͨࣄྫ 3. JX௨৴ࣾͷҰྫ ˠ$*ʹ૊ΈࠐΜͰΈͨͱ͜Ζʜ

Slide 39

Slide 39 text

ˡOPEF؀ڥ͕ඞཁͳͷ͕গ͠σϝϦοτ ˡίϚϯυࣗମ͸؆୯

Slide 40

Slide 40 text

3. JX௨৴ࣾͷҰྫ

Slide 41

Slide 41 text

3. JX௨৴ࣾͷҰྫ QZSJHIUDPOpHKTPO ˠܕͷΤϥʔΛ8BSOJOHѻ͍ʹ $*Λ௨͢

Slide 42

Slide 42 text

3. JX௨৴ࣾͷҰྫ ˠ઴ਐతʹΦϓτΠϯ͍ͯ͘͠

Slide 43

Slide 43 text

3. ͲΜͳͱ͖ʹܕώϯτॻ͘ʁ ˡDMBTTͷϓϩύςΟ͸ॻ͘ ˡMJTUͷॳظ஋ͳͲ ܕਪ࿦Ͱ͖ͳ͍΋ͷ΋ॻ͘ ˡҾ਺ɾ໭Γ஋΋ॻ͘ ˡม਺͸ਪ࿦͞ΕΔͷͰ ݪଇॻ͔ͳ͍

Slide 44

Slide 44 text

ϥΠϒϥϦʹʮܕʯ͕ͳ͍ͱΤϥʔʹͳΔ😱 3. ܕνΣοΫ͋Δ͋Δ ༁lCPUPzʹ͸ܕώϯτͳ͍Α ˞ܕώϯτͷͳ͍ϥΠϒϥϦ͸݁ߏଟ͍

Slide 45

Slide 45 text

ཁ໿ʮ͖͋ΒΊͯແࢹ͢Δͷ΋खͰ͢Αʯ 3. ܕώϯτͷͳ͍ϥΠϒϥϦ CJUMZQZUZQF

Slide 46

Slide 46 text

ϥϯλΠϜΛ΋ͬͱศརʹ͢Δ Ԡ༻ฤ 04

Slide 47

Slide 47 text

ࠓ·Ͱɿ੩తͳܕνΣοΫͷ࿩ 4. ܕώϯτͱϥϯλΠϜ ࣮ߦ࣌ ϥϯλΠϜ ʹ ܕͷ৘ใ͸औಘͰ͖Δ

Slide 48

Slide 48 text

ྫ EBUBDMBTT . ඪ४ϥΠϒϥϦͷ׆༻ྫ !EBUBDMBTTσίϨʔλʔΛ͔ͭ͏ͱ ࣮ߦ࣌ʹ@@JOJU@@ΛࣗಈͰఆٛͯ͘͠ΕΔ

Slide 49

Slide 49 text

˺EBUBDMBTTʴόϦσʔγϣϯʴγϦΞϥΠζ ྫ QZEBOUJD . ϥϯλΠϜόϦσʔγϣϯ

Slide 50

Slide 50 text

ྫ 'BTU"1* . API ͷόϦσʔγϣϯ ܕώϯτ෇͖ͷؔ਺Λఆ͍͚ٛͯͩ͘͠Ͱɺ όϦσʔγϣϯ͖ͭͷ"1*͕Ͱ͖Δ

Slide 51

Slide 51 text

ܕώϯτ͔Β4XBHHFS 0QFO"1* ΋ࣗಈੜ੒ . FastAPI ˞ଞݴޠͰ΋࢖ΘΕΔ"1*࢓༷ɻ"1*ͷܕ͕ఆٛͰ͖Δ

Slide 52

Slide 52 text

ʮܕώϯτॻ͘ͷ໘౗͍͘͞🤔ʯ ʮܕώϯτΛॻ͘ͱศར💡ʯ

Slide 53

Slide 53 text

ɾσίϨʔλʔɺϝλΫϥεͱ૊Έ߹ΘͤΔͱ%3:ʹ ɾܕͷಈతνΣοΫɺ"1*ͷόϦσʔγϣϯɺ4XBHHFS ఆٛͳͲ΋Ͱ͖Δ ϥϯλΠϜͰͷܕώϯτΛ঺հ . ·ͱΊ

Slide 54

Slide 54 text

·ͱΊ 05

Slide 55

Slide 55 text

ܕώϯτΛॻ͘ͱ/POF΍ ܕͷϛεΛνΣοΫͰ͖Δ ·ͱΊ

Slide 56

Slide 56 text

ܕώϯτ͸ϝλσʔλͷ ҆શɾεϚʔτͳॻ͖ํ . ·ͱΊ

Slide 57

Slide 57 text

ʮܕʯΛॻ͚ͩ͘ͰϥϯλΠϜ͕ศརʹ . ·ͱΊ

Slide 58

Slide 58 text

NZQZ΍QZSJHIUͰܕνΣοΫ ਪ࿦͞ΕΔʹॻ͔ͳͯ͘΋࢝ΊΒΕΔ ·ͱΊ ddddddddddddd

Slide 59

Slide 59 text

ܕώϯτɺ ࢝Ίͨ͘ͳΓ·ͨ͠Ͷʁʁʁʁʁ

Slide 60

Slide 60 text

Thank you! +9௨৴ࣾͰ͸ ɾܕΛॻ͖͍ͨ1ZUIPOJTUB ɾ.-ΛαʔϏε׆༻͍ͨ͠ΤϯδχΞ Λੵۃ࠾༻͍ͯ͠·͢