Slide 1

Slide 1 text

தԝେֶJ5-൧ඌ३ Φʔϓϯιʔειϑτ΢ΣΞڠձ 
 ։࠵ηϛφʔ 8FCΞϓϦߏஙΛ 
 ୊ࡐʹͨ͠*5ڭҭ

Slide 2

Slide 2 text

$PQZSJHIU˜+VO*JP ࣗݾ঺հ w தԝେֶࠃࡍ৘ใֶ෦ʢJ5-ʣڭत w ಛఆඇӦར׆ಈ๏ਓਓؒத৺ઃܭਪਐػߏཧࣄ w Ұൠࣾஂ๏ਓ͜ͱ͹ͷ·ͳͼ޻๪ཧࣄ w ത࢜ʢ޻ֶʣٕज़࢜ʢ৘ใ޻ֶ෦໳ʣ w ਓؒத৺ઃܭਪਐػߏೝఆਓؒத৺ઃܭઐ໳Ո w ܦྺ w ೥݄ 
 ʙ೥݄ɹגࣜձࣾࡾඛ૯߹ݚڀॴۈ຿ w ೥݄ʙɹதԝେֶจֶ෦ࣾձ৘ใֶઐ߈ w ೥݄ʙɹݱ৬ w ઐ໳෼໺ w γεςϜͱਓؒͷΠϯλϥΫγϣϯʹؔ͢Δݚڀʹैࣄ w ϢʔβΠϯλϑΣʔεɼײੑ৘ใֶɼը૾৘ใॲཧɼιϑτ΢ΣΞ޻ ֶɼߦಈ৘ใ෼ੳɼͳͲ

Slide 3

Slide 3 text

$PQZSJHIU˜+VO*JP ຊ೔ͷ಺༰ w ΠϯλϑΣʔεʹ஫໨ͨ͠*5ڭҭ w ؔ਺ఆ͔ٛΒ8FCΞϓϦ·Ͱ w ࠷ۙͷΞϓϦߏஙࣄྫ w ͍͔ͭ͘ͷ۩ମྫΛ঺հ w ΦϯϥΠϯͰߦ͏ϓϩάϥϛϯάԋश w ΦϯϥΠϯͰʮصؒ८ճʯΛͲ͏͢Δ͔ʁ

Slide 4

Slide 4 text

ΠϯλϑΣʔεʹ 
 ஫໨ͨ͠*5ڭҭ ࿩୊

Slide 5

Slide 5 text

$PQZSJHIU˜+VO*JP ϝΠϯςʔϚ w ਓؒͱγεςϜͷΠϯλϥΫγϣϯݚڀ

Slide 6

Slide 6 text

$PQZSJHIU˜+VO*JP ͭͷํ޲ੑ

Slide 7

Slide 7 text

$PQZSJHIU˜+VO*JP ਓ͔ؒΒγεςϜΛݟΔ w ਓ͕ؒ࢖͍΍͍͢γεςϜͷ͋Γํͱ͸ʁ w Ωʔϫʔυ w ϢʔβΠϯλϑΣʔε w ਓؒத৺ઃܭ w ϢʔβϏϦςΟ w ϢʔβɾΤΫεϖϦΤϯεʢ69ʣ w σβΠϯࢥߟ

Slide 8

Slide 8 text

$PQZSJHIU˜+VO*JP γεςϜ͔ΒਓؒʢࣾձʣΛݟΔ w ਓؒͷߦಈΛγεςϜͰ෼ੳ͢Δ w Ωʔϫʔυ w ࣾձ৘ใֶ w ܭྔࣾձֶ w ߦಈ৘ใ෼ੳ w ߦಈ؍࡯ࣨʢ'ɼࣨʣ w $(.ʢ$POTVNFS(FOFSBUFE.FEJBʣ

Slide 9

Slide 9 text

$PQZSJHIU˜+VO*JP ΠϯλϑΣʔεʹண໨ͨ͠*5ڭҭ w ϓϩάϥϜͷॻ͖ํΛ͚֮͑ͨͩͰ͸ΞϓϦ΍ γεςϜΛ࡞ΕΔΑ͏ʹ͸ͳΒͳ͍ w ͳ͔ͥʁ w ͦΕ͸ϓϩάϥϜͷॻ͖ํҎ֎ʹ͍Ζ͍Ζͱ਎ ʹ෇͚ͳ͚Ε͹ͳΒͳ͍஌͕ࣝ͋Δ͔Βʂ w Ͳ͏ͨ͠Β࡞ΕΔΑ͏ʹͳΔ͔ʁ w ͜͜Ͱ͸ʮΠϯλϑΣʔεʯʹண໨ͯ͠ɼஈ֊ తʹशಘ͢ΔಓےΛݕ౼͢Δ

Slide 10

Slide 10 text

$PQZSJHIU˜+VO*JP ॳֶऀ๊͕͑Δ໰୊ҙࣝ w ʮϓϩάϥϛϯάجૅʯͰϓϩάϥϛϯά ΛֶΜͰ΋ɼΞϓϦ΍γεςϜΛ࡞ΕΔΑ ͏ʹͳΒͳ͍ʜʜ8IZʁ w ৘ใγεςϜͷϞσϧΛৼΓฦΔ

Slide 11

Slide 11 text

$PQZSJHIU˜+VO*JP ϓϩάϥϛϯάجૅʁ Basic Programming Course focuses on the knowledge only in this scope

Slide 12

Slide 12 text

$PQZSJHIU˜+VO*JP γεςϜ։ൃʹඞཁͳ஌ࣝ w ϓϩάϥϜͷॻ͖ํˡϓϩάϥϛϯάجૅ w ΄͔ʹ਎ʹ෇͚ͳ͚Ε͹ͳΒͳ͍͜ͱ w ద੾͔ͭޮ཰తͳϩδοΫͷߏங w ܭࢉਫ਼౓΍ޡࠩɼίʔυମܥͷબ୒ͳͲ w σʔλͷೖग़ྗʢΠϯλϑΣʔεʣ w σʔλͷӬଓԽʢσʔλϕʔεͷར༻ʣ w Τϥʔॲཧɼྫ֎ॲཧɼηΩϡϦςΟରԠ w ςετ΍։ൃख๏ͷڞ༗ʢιϑτ΢ΣΞ޻ֶʣ w ϓϩδΣΫτͷϚωδϝϯτɼFUDʜʜ

Slide 13

Slide 13 text

$PQZSJHIU˜+VO*JP w ΠϯλϑΣʔεͷߏஙʹؔ͢Δ஌ࣝͷशಘ ΠϯλϑΣʔεʹண໨ Interface

Slide 14

Slide 14 text

$PQZSJHIU˜+VO*JP -FWFMTPG%FWFMPQJOH*OUFSGBDF w -FWFMGVODUJPOT w -FWFMDPNNBOEMJOFJOUFSGBDF $-* w -FWFMDIBUCPU w -FWFMHSBQIJDBMVTFSJOUFSGBDF (6* w -FWFMXFCBQQMJDBUJPO

Slide 15

Slide 15 text

$PQZSJHIU˜+VO*JP -FWFMGVODUJPOT w ZG Y w 'VODUJPOEFGJOJUJPO JO1ZUIPO def square(x):
 y = x * x
 return y *OQVU 1SPDFTT 0VUQVU

Slide 16

Slide 16 text

$PQZSJHIU˜+VO*JP -FWFM$-* *OQVU 0VUQVU 1SPDFTT *OQVU 0VUQVU *OQVU 0VUQVU ԫ৭͸ 
 ఆٛ ྘৭͸ར༻ ͱ͍͏ঢ়گΛ ͍ࣔͯ͠Δ

Slide 17

Slide 17 text

$PQZSJHIU˜+VO*JP -FWFM$-* DPOU`E w 3&1-ʢ3&1-PPQʣͱ΋ w 3FBEʢ*OQVUʣ w &WBMʢ1SPDFTTʣ w 1SJOUʢ0VUQVUʣ w -PPQʢ'FFECBDLʣ ڭҭ্ͷղͷҰͭͱͯ͠ 
 +VQZUFS/#ʢ΋͘͠͸(PPHMF $PMBCPSBUPSZʣ͕ʜʜ 
 ͨͩ͠ɼൃలੑ͕ͳ͍

Slide 18

Slide 18 text

$PQZSJHIU˜+VO*JP -FWFMDIBUCPU w -*/&#PUX("4 w -*/&%FWFMPQFSొ࿥ w (PPHMF"QQT4DSJQU ͰɼϨεϙϯεΛฦ͢ ΞϓϦΛ࡞੒ w -*/&.FTTBHJOH"1* ͰΞϓϦΛొ࿥ *OQVU 0VUQVU

Slide 19

Slide 19 text

$PQZSJHIU˜+VO*JP -FWFMDIBUCPU DPOU`E *OQVU 0VUQVU 1SPDFTT

Slide 20

Slide 20 text

$PQZSJHIU˜+VO*JP -*/&#PUར༻ͷ՝୊ w ࢖͑ΔΑ͏ʹͳΔ·Ͱ͕ʢ΍΍ʣ໘౗ w ࣮ࡍͷॲཧΛ੾Γग़͢޻෉͕ඞཁ w ྫ͑͹ɼԼهͷΑ͏ʹͯ͠GVOD Λ੾Γग़͢ const in_msg = json.events[0]…
 out_msg = func(in_msg)
 … 'message': ['Text': out_msg ]]

Slide 21

Slide 21 text

$PQZSJHIU˜+VO*JP -FWFM(6*

Slide 22

Slide 22 text

$PQZSJHIU˜+VO*JP -FWFM(6* DPOU`E w Ϟμϯͳ(6*ϓϩάϥϛϯάʹඞཁͳ஌ࣝ w 8*.1 w 8JOEPX*DPO.FOV1PJOUFS w 8JEHFUʢEJTQMBZDPNQPOFOUTʣ w 1BHFUSBOTJUJPO w &WFOUESJWFOQSPHSBNNJOH

Slide 23

Slide 23 text

$PQZSJHIU˜+VO*JP Πϕϯτۦಈܕϓϩάϥϛϯά ΫϦοΫΠϕϯτ͕ൃੜ clickListener = function() { ... } ༷ʑͳΠϕϯτ͕ൃੜ PO bESBH3FMFBTF&OE`ʜ Ͱɼ%SBHBOE%SPQޙͷॲཧΛ هड़ ʮ`YYY`Πϕϯτ͕ൃੜͨ͠Βɼ GVODUJPO \ʜ^Λ࣮ࢪ͢Δʯ ͱ͍͏ϧʔϧͰ݁ͼ͚ͭΔʹ BEE&WFOU-JTUFOFS ϝιου

Slide 24

Slide 24 text

$PQZSJHIU˜+VO*JP (6*ϓϩάϥϛϯάͷ՝୊ w *OQVUͱ0VUQVU͕൑વҰମͰ͋Δ఺͕ɼ෼͔Γʹ͍͘ w ؀ڥ੔උ͕ʢ΍΍ʣ໘౗ w ϓϩάϥϛϯάํ๏͕؀ڥʹେ͖͘ґଘ w ΦϒδΣΫτࢦ޲ͱ͸૬ੑ͕Α͍ w ࿈݁ɾ෼ذɾ൓෮ɾݺग़ͷߏ଄Խϓϩάϥϛϯάʢͱ ͘ʹʮ࿈݁ʯʜʜ্͔Βॱ൪ʹ࣮ߦ͞ΕΔʣʹ਌͠Μ Ͱ͍ΔͱΠϕϯτۦಈܕͷཧղʹ͸ൃ૝ͷస׵͕ඞཁ w ͨͩ͠ɼ8FCΞϓϦ΋جຊతʹ͸Πϕϯτۦಈܕ

Slide 25

Slide 25 text

$PQZSJHIU˜+VO*JP -FWFMXFCBQQMJDBUJPO w ҰൠతͳΞϓϦέʔγϣϯͱͷҧ͍ w த৺తͳॲཧ͸αʔό্Ͱಈ࡞͢Δ w ϢʔβΠϯλϑΣʔεʹ΢Σϒϒϥ΢βΛ ࢖༻ w ΠϯετʔϧෆཁͰ࢖͑Δ w ༷ʑͳΫϥΠΞϯτ؀ڥʹରԠՄೳ w ࠷ۙͰ͸ϞόΠϧσόΠε΋λʔήοτʹ

Slide 26

Slide 26 text

$PQZSJHIU˜+VO*JP ҰൠతͳΞϓϦͱ8FCΞϓϦͷҧ͍

Slide 27

Slide 27 text

$PQZSJHIU˜+VO*JP ΫϥΠΞϯτɾαʔόɾγεςϜ w $MJFOU4FSWFSʢ$4γεςϜʣ ϦΫΤετʹԠͯ͡ಈ࡞ ҰछͷΠϕϯτۦಈܕϓϩάϥϛϯά ͱ͍͑Δ *OQVU 1SPDFTT 0VUQVU

Slide 28

Slide 28 text

$PQZSJHIU˜+VO*JP γϯϓϧͳ8FCΞϓϦ *OQVU 0VUQVU *OQVU 1SPDFTT 0VUQVU

Slide 29

Slide 29 text

$PQZSJHIU˜+VO*JP 8FCΞϓϦͷ՝୊ w *OQVU΁ͷΞϓϩʔν͕ʢ΍΍ʣෳࡶ w )551Λཧղ͢Δඞཁ͕͋Δ w (&5ͱ1045ͷҧ͍ w ύεύϥϝʔλɼΫΤϦύϥϝʔλɼϦΫ Τετύϥϝʔλͷҧ͍ͳͲ w ϧʔςΟϯάͷ֓೦ΛֶͿඞཁ͕͋Δ w ηΩϡϦςΟͷجૅΛ஌͓͔ͬͯͶ͹ͳΒͳ͍ w ωοτΛհͯ͠ѱҙ͋ΔୈࡾऀʹΞΫηε͞Ε ΔՄೳੑ͕͋ΔͨΊ

Slide 30

Slide 30 text

$PQZSJHIU˜+VO*JP 8FCΞϓϦͷ՝୊ DPOU`E w 0VUQVU΁ͷΞϓϩʔν΋ʢ΍΍ʣෳࡶ w Ϧονͳը໘ੜ੒ʹ͸ςϯϓϨʔτඞਢ w )551ͷࠜຊతͳ՝୊ͱͦͷରԠ͕ɼෳࡶ w ʮߦ͍ͬͯ͜ʯܕͷ௨৴Ϟσϧ w ηογϣϯ؅ཧͳͲͷ޻෉͸ޙ෇͚ w ͦΕΒΛղফ͢Δ"+"9ͳͲΛཧղ͢Δʹ ͸ϑϨʔϜϫʔΫͷར༻͕ඞਢ

Slide 31

Slide 31 text

$PQZSJHIU˜+VO*JP .7$Ϟσϧ w ΞϓϦέʔγϣϯͷߏ੒ΛɼϞσϧʢ.PEFMʣɼϏ ϡʔʢ7JFXʣɼίϯτϩʔϥʢ$POUSPMMFSʣͷͭ ʹ෼͚ͯઃܭ͢Δख๏ w ೥୅ʹθϩοΫεͷύϩΞϧτݚڀॴʢ9FSPY 1"3$ʣͰ"MBO$VSUJT,BZ͕։ൃͨ͠4NBMMUBMLʹ୺ Λൃ͢Δߟ͑ํ w ଟ͘ͷ8FCΞϓϦέʔγϣϯ։ൃϑϨʔϜϫʔΫͰ ࠾༻͞Ε͍ͯΔ w ͳͷͰɼ͖ͪΜͱཧղ͓ͯ͘͠ͱΑ͍

Slide 32

Slide 32 text

$PQZSJHIU˜+VO*JP .7$ϞσϧΛར༻͢ΔϝϦοτ w σʔλϞσϧઃܭ w γεςϜσβΠϯͷࠜװΛͳ͢ w σʔλઃܭ͕͔ͬ͠Γ͍ͯ͠Ε͹ɼΞϓϦͷมߋ͸গͳ ͍ w Ϗϡʔઃܭ w ϢʔβɾΠϯλϑΣʔεʢը໘ʣ෦෼ઃܭ͸σβΠφ୲౰ w ίϯτϩʔϥઃܭ w ௨ৗ͸͋·ΓखΛՃ͑Δඞཁ͸ͳ͍ʢଟ͘ͷΞϓϦͰί ϯτϩʔϧͷϩδοΫ͸΄΅ಉ͡ʣ

Slide 33

Slide 33 text

$PQZSJHIU˜+VO*JP Practical Programming must take error handling into account! ຊϞσϧ͕ෆ଍͍ͯ͠Δ఺ &SSPS-PH

Slide 34

Slide 34 text

࠷ۙͷߏஙࣄྫ ࿩୊

Slide 35

Slide 35 text

$PQZSJHIU˜+VO*JP ݸਓ৘ใอޢήʔϜ

Slide 36

Slide 36 text

$PQZSJHIU˜+VO*JP ݸਓ৘ใอޢήʔϜ w ೥ੜͷνʔϜ͕࡞੒ w ൧ඌ͸ʮΞΠσΞʯͷΈఏڙ w +BWB4DSJQUʢ7VFKTʣ 
 ʴ(PPHMF'JSFCBTFͰߏங w )FSPLVͰӡ༻ w ๏ֶ෦ɾཧ޻ֶ෦ͷઌੜํͱͷֶ಺ڞಉݚ ڀͷҰ؀ͱͯ͠ɼֶੜ΋ࢀՃ͍ͯ͠Δ

Slide 37

Slide 37 text

$PQZSJHIU˜+VO*JP өըϙελʔͷҹ৅ධՁ

Slide 38

Slide 38 text

$PQZSJHIU˜+VO*JP өըϙελʔͷҹ৅ධՁ w ೥ੜ͕ΞΠσΞ w ʢ࣮૷͸΄΅ࢲʜʜXʣ w ೥ੜ޲͚ʹआΓ͍ͯΔαʔό্ʹߏங w +2VFSZʢϑϩϯτΤϯυʣͱ3BJMTʢόο ΫΤϯυʣͰߏங w өըϙελʔͷஶ࡞ݖ໰୊΋ΫϦΞ w 5.%CΛར༻

Slide 39

Slide 39 text

$PQZSJHIU˜+VO*JP ՝୊ͷෛՙΛՄࢹԽ

Slide 40

Slide 40 text

$PQZSJHIU˜+VO*JP ՝୊ͷෛՙΛՄࢹԽ

Slide 41

Slide 41 text

$PQZSJHIU˜+VO*JP ՝୊ͷෛՙΛՄࢹԽ w ೥ੜͷνʔϜ͕࡞੒ w ϑϩϯτଆ͸5BNQFSNPOLFZͰطଘͷ-.4ʹࡉ޻ w -.4͔Βμ΢ϯϩʔυͨ͠ϒϥ΢βଆͰɼ৘ใΛ औಘ͢ΔϓϩʔϒΛೖΕ͍ͯΔ w όοΫΤϯυ͸3BJMTͰߏங w )FSPLVͰӡ༻ w ڭһ΁ͷઆ໌΍ӡ༻ΛͲ͏͢Δ͔Λݕ౼͍ͤͯ͞ Δ

Slide 42

Slide 42 text

ΦϯϥΠϯͰͷ ϓϩάϥϛϯάԋश ࿩୊

Slide 43

Slide 43 text

$PQZSJHIU˜+VO*JP ڭҭվળͷ໨తɾ໨ඪ w "*ਓࡐҭ੒ʹؔ͢Δ ੓ࡦ 
 ˠʮ"*ɾσʔλαΠ Τϯεશֶϓϩάϥ ϜʯΛ࣮ࢪ w J%4ϓϩάϥϜ w ʙ೥࣮࣍ࢪɼ 
 શֶతԋश

Slide 44

Slide 44 text

$PQZSJHIU˜+VO*JP தԝେֶͷֶ෦ߏ੒ w ଟຎΩϟϯύε w ๏ֶ෦ w ܦࡁֶ෦ w ঎ֶ෦ w จֶ෦ w ૯߹੓ࡦֶ෦ w ࠃࡍܦӦֶ෦ w ޙָԂΩϟϯύε w ཧ޻ֶ෦ w ࢢ୩ాொΩϟϯύε w ࠃࡍ৘ใֶ෦

Slide 45

Slide 45 text

$PQZSJHIU˜+VO*JP શֶର৅ͷ՝୊ w ࢄΒ͹ΔΩϟϯύε໰୊

Slide 46

Slide 46 text

$PQZSJHIU˜+VO*JP ΦϯϥΠϯԋशͷ޻෉ *JP + 0#44IBSFBOE.VMUJ7JFX5XP.FUIPETGPS4IBSJOH4UVEFOU8PSLJO 
 %JTUBOU5FBDIJOH 5IFUI*OUFSOBUJPOBM$POGFSFODFPOF4PDJFUZ &4 0OMJOF

Slide 47

Slide 47 text

$PQZSJHIU˜+VO*JP तۀͷ֓ཁ w "*ɾσʔλαΠΤϯεԋश w J%4ʢ*OUFSNFEJBUF1SPHSBNGPS%BUB 4DJFODFBOE"*ʣϓϩάϥϜ w ʙ೥ੜɼ೥ؒͷθϛφʔϧ w શֶԣஅతθϛ׆ಈ w ೥౓͔Βɼθϛʢ൧ඌͷ୲౰θϛ ΛؚΉʣ͕ελʔτ

Slide 48

Slide 48 text

$PQZSJHIU˜+VO*JP ୲౰͍ͯ͠Δԋश w શֶ͔ΒडߨऀΛืूʢཤमऀ໊ʣ w ࣗ෼ͷॴଐֶ෦͔ΒΤϯτϦͳ͠ʂ 5@5 w ༧૝Ҏ্ʹ*5εΩϧ͸ऑͦ͏ͳͷͰɼ·ͣ͸ ͔ͦ͜Βʜʜ w ʢҰ෦ͷֶੜ͸ͦΕͳΓʹεΩϧΛ͍࣋ͬͯ ΔΑ͏ͳͷͰɼֶੜಉ࢜ͷֶͼ߹͍ʹظ଴ʣ w ৘ใॲཧͷجૅɼσʔλͷѻ͍ํɼཧ࿦తഎ ܠͳͲɼڭ͑Δ΂͖ཁૉ͸ଟ͍

Slide 49

Slide 49 text

$PQZSJHIU˜+VO*JP ֶशঢ়گҰཡϓϥοτϑΥʔϜ w .VMUJ7JFXɹIUUQTXXXJJPKVODPN.VMUJ7JFXNWIUNM w 8FCΞϓϦͱͯ͠ఏҊ

Slide 50

Slide 50 text

$PQZSJHIU˜+VO*JP ڭҭޮՌͱͦͷ֬ೝ

Slide 51

Slide 51 text

$PQZSJHIU˜+VO*JP ֶੜʹΑΔධՁ

Slide 52

Slide 52 text

$PQZSJHIU˜+VO*JP ֶੜʹΑΔධՁ

Slide 53

Slide 53 text

$PQZSJHIU˜+VO*JP ֶੜʹΑΔධՁ

Slide 54

Slide 54 text

$PQZSJHIU˜+VO*JP ·ͱΊ w ΠϯλϑΣʔεʹ஫໨ͨ͠*5ڭҭʹ͍ͭͯ આ໌͠·ͨ͠ w 8FCΞϓϦߏஙʹΑΔ*5ڭҭͷྫͱͯ͠ 
 ࠷ۙͷΞϓϦߏஙࣄྫΛ঺հ͠·ͨ͠ w ΦϯϥΠϯͰߦ͏ϓϩάϥϛϯάԋशʹͭ ͍ͯղઆ͠·ͨ͠ w )BQQZ)BDLJOHʘ ?P? ʗ