Slide 1

Slide 1 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE %&-J()5803,4*OD ஌͍ͬͯΔΑ͏Ͱ஌Βͳ͍
 8FCαʔόΞʔΩςΫνϟ ୈ̒ճήʔϜαʔόษڧձ

Slide 2

Slide 2 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE ࣗݾ঺հ ాଜ༞थʢUXJUUFS!JTPQBSBNFUSJD σΟϥΠτϫʔΫεגࣜձࣾ ݩʑ͸ίϯιʔϧग़਎ ൣғ͸ΫϥΠΞϯτɺαʔόɺΠϯϑϥɺ͍Ζ͍Ζʜʜ ࠷ۙ͸6OJUZͷ;FOKFDUʢ%*ϑϨʔϜϫʔΫʣ͍ͬͯ͡·͢ ޷͖ͳݴޠ͸$ͱ-VB

Slide 3

Slide 3 text

ࠓ೔ͷ࿩

Slide 4

Slide 4 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE 8FCαʔό 3%# Ϣʔβʔ ϩʔυ
 όϥϯα 8FCαʔό 8FCαʔό ͜ͷลΓͷ͓࿩

Slide 5

Slide 5 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE ୅දతͳ8FCαʔό

Slide 6

Slide 6 text

ࢮʹ ࢸΔ ࡸͦ ͠ ͯ ɺ ୈ ұ ࿩

Slide 7

Slide 7 text

αʔό͕ ॏ͍Ͱ͢ʂ ໰୊ൃੜʂʂʂ

Slide 8

Slide 8 text

Α͘஌Βͳ͍ਓ
 ʮαʔό͕ॏ͚Ε͹
 ୆਺Λ૿΍ͤ
 ͹͍͍͡Όͳ͍ʯ

Slide 9

Slide 9 text

ຊ౰ʹʁ

Slide 10

Slide 10 text

8FCαʔό 3%# 8FCαʔό 8FCαʔό 8FCαʔό 8FCαʔό 8FCαʔό 8FCαʔό 8FCαʔόΛ૿΍͢ͱ 3%#΁ͷ઀ଓ͕૿େ͠ ো֐͕ൃੜ͢Δ͜ͱ΋ %#΁ͷ઀ଓ ଟ͗͢໰୊

Slide 11

Slide 11 text

%#͕աෛՙͰԠ౴͕ฦͤͳ͍ Ԡ౴͕ฦΒͳ͍ͷͰ8FCαʔόͷ
 ॲཧ͕ऴΘΒͳ͍ 8FCαʔόͷॲཧ͕ऴΘΒͳ͍··
 ࣍ʑͱ৽͍͠ΞΫηε͕དྷΔ ࠷ޙʹ͸8FCαʔό͕٧·Δ
 ಥવͷࢮʂʂʂ

Slide 12

Slide 12 text

%#ͷεέʔϧΞοϓ͠·͔͢ʁ

Slide 13

Slide 13 text

%#ͷ࠷దԽ͠·͔͢ʁ

Slide 14

Slide 14 text

Ͱ͕͢ɺࠓճ͸8FCαʔόͷ͓࿩Ͱ͢

Slide 15

Slide 15 text

Ͳ͏ͯ͠ʁ

Slide 16

Slide 16 text

໰୊ͷ੾Γ෼͚͕େ੾

Slide 17

Slide 17 text

͋Γ·͢͜Μͳো֐ %#ʹ઀ଓͨ͠··
 8FCαʔόͰ໓஡ۤ஡ॏ͍ॲཧͰ٧·Δ %#͸ۭ͍ͯͯ8FCαʔό΋਺ଟ͋͘Δͷʹ
 ผͷαʔόʗγεςϜʹܨ͍Ͱ͍Δͷ͕ॏ͍ αʔόΩϟογϡ͕/P42-ʹ͋ͬͯ
 Կ౓΋઀ଓͯͯ͠8FCαʔό͕໓஡ۤ஡ॏ͍ GPSจͷதͰωοτϫʔΫ઀ଓʜʜ 42-ͰաڈશͯͷσʔλΛᢞΊͯΔʜʜ

Slide 18

Slide 18 text

8FCαʔό 3FEJT NFNDBDIFE ܾࡁγεςϜ .Z42- ೝূγεςϜ ͲΕ΋ ॏ͍ΜͰ͢

Slide 19

Slide 19 text

໐Γ·͘ Δɺ ి ࿩ ୈ ್ ࿩

Slide 20

Slide 20 text

8FCαʔόͬͯ

Slide 21

Slide 21 text

Ͳ͏΍ͬͯಈ͘ͷ͔ આ໌Ͱ͖·͔͢ʁ

Slide 22

Slide 22 text

ଟ͘ͷਓͷೝࣝ

Slide 23

Slide 23 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE Ϣʔβʔ 8FC ϑϨʔϜ
 ϫʔΫ 3FRVFTU ͝ʹΐ͝ʹΐ ॲཧ͢Δ 3FTQPOTF Ϣʔβʔ ͳΜ͔ͩ͜Μͳײ͡ʁ ϦΫΤετདྷͯ Ϩεϙϯεฦ͢ͷͰ͸ʁ

Slide 24

Slide 24 text

ؒҧͬͯ͸͍·ͤΜ

Slide 25

Slide 25 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE )551ͰϦΫΤετΛड৴͢Δ )551ϔομΛύʔε͢Δ ΞϓϦέʔγϣϯଆͰద੾ͳϋϯυϥΛݺͼग़͢ ήʔϜͷॲཧΛ࣮ߦ͢Δʢ%#ͱ͔΋͍͡Δʣ ςϯϓϨʔτΤϯδϯͳͲΛ࢖ͬͯϨεϙϯεΛฦ͢ جຊ͸͜Ε͚ͩ 8FCαʔόͷ໾ׂ

Slide 26

Slide 26 text

ͳΜͩ؆୯͡Όͳ͍͔

Slide 27

Slide 27 text

Ͱ͸ɺ)551ͬͯ ͳΜͰ͠ΐ͏͔ʁ

Slide 28

Slide 28 text

)ZQFSUFYU 5SBOTGFS 1SPUPDPM

Slide 29

Slide 29 text

ϋΠύʔςΩετ
 సૹϓϩτίϧ

Slide 30

Slide 30 text

ϋΠύʔςΩετΛసૹ͢Δʁ

Slide 31

Slide 31 text

ςΩετΛ௒͑ͨςΩετʁ

Slide 32

Slide 32 text

͋Εʁը૾΋సૹͯ͠ͳ͍ʁ

Slide 33

Slide 33 text

ࠓճ͸վగ൛)551Λ ݩʹ͓࿩͠·͢ ʢ࠷৽͸)551ʣ

Slide 34

Slide 34 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE 3'$ 3FRVFTU'PS$PNNFOU ᐌ͘ )551͸ɺ෼ࢄܕͷڠௐతͳ
 ϋΠύʔςΩετ৘ใγεςϜͷͨΊͷɺ
 εςʔτϨεͳ
 ΞϓϦέʔγϣϯϨϕϧͷϓϩτίϧͰ͋Δ

Slide 35

Slide 35 text

ͳΔ΄Ͳݴ͍ͬͯΔ
 ҙຯ͕Θ͔ΒΜ

Slide 36

Slide 36 text

)551͸ɺ
 ʦґڌՄೳͳ
 ʦτϥϯεϙʔτ૚΍ηογϣϯ૚ʧͷ
 ઀ଓʹ·͕ͨͬͯɼϝοηʔδΛަ׵͢Δʧ
 ͜ͱʹΑΓӡ༻͞ΕΔɼ
 εςʔτϨεͳʦཁ੥ʗԠ౴ʧϓϩτίϧͰ͋Δɻ 3'$
 ΫϥΠΞϯτʗαʔόʹΑΔϝοηʔδॲཧ

Slide 37

Slide 37 text

ɾ)551ΫϥΠΞϯτͱ͸ɺ
 ɹҰͭҎ্ͷ)551ཁ੥Λૹ৴͢Δ໨తͰɼ
 ɹαʔό΁ͷ઀ଓΛཱ֬͢ΔϓϩάϥϜͰ͋Δ ɾ)551αʔόͱ͸ɺ)551ཁ੥ʹର͠ɼ
 ɹͦͷ઀ଓΛड༰͠ɼ
 ɹΫϥΠΞϯτ΁ͷαʔϏεͱͯ͠ɼ
 ɹ)551Ԡ౴Λૹ৴͢ΔϓϩάϥϜͰ͋Δɻ ˝ྫ͑͹ɺήʔϜϓϩάϥϜͳͲ ˛ྫ͑͹ɺ8FCαʔόͳͲ

Slide 38

Slide 38 text

ͨͩ͠ɺೋͭͷ༻ޠͰ͋Δ
 lΫϥΠΞϯτzɺlαʔόz͕ࢦ͢ͷ͸ɺ ͋Δಛఆͷ઀ଓͷͨΊʹɺ
 ͜ΕΒͷϓϩάϥϜ͕਱ߦ͢Δ໾ׂͷΈʹݶΒΕΔͷͰ ͋Δ઀ଓ্Ͱ͸ΫϥΠΞϯτʹͳΔͱಉ࣌ʹɺ
 ଞͷ઀ଓ্Ͱ͸αʔόͱͯ͠ಈ࡞͠ಘ·͢ɻ ʢαʔόʔͱΫϥΠΞϯτ͸ಉ࣌ʹ ɹΫϥΠΞϯτͱαʔόʔͰ΋͋ΓಘΔΑͱ͍͏͜ͱʣ

Slide 39

Slide 39 text

΄ͱΜͲͷ)551௨৴͸ɺ
 ʦ63*ʹΑΓࣝผ͞ΕΔԿΒ͔ͷϦιʔεʧͷ
 දݱʹର͢Δɼ
 ݕࡧऔಘཁ੥ʢ(&5ʣ͔ΒͳΔɻ 3'$
 ΫϥΠΞϯτʗαʔόʹΑΔϝοηʔδॲཧ

Slide 40

Slide 40 text

6OJGPSN
 3FTPVSDF
 *EFOUJGJFS

Slide 41

Slide 41 text

63*͸ɺந৅త͋Δ͍͸෺ཧతͳϦιʔεΛࣝผ͢ΔͨΊ ͷ؆ܿͳจࣈྻͰ͋Δɻ 6OJGPSN౷Ұॻࣜ 3FTPVSDFϦιʔε
 *EFOUJGJFSࣝผࢠ

Slide 42

Slide 42 text

ʲ౷Ұॻࣜʳ
 ҰఆͷॻࣜΛѻ͏͜ͱɻ ʲϦιʔεʳ ओʹిࢠจॻɺը૾ɺ৘ใݩɺαʔϏεͳͲΛࢦ͕͢ɺ ਓؒ΍اۀɺਤॻؗͷॻ੶ͳͲ෺ཧతͳ΋ͷɺ ํఔࣜɺԋࢉࢠɺ਺஋ͱ͍ͬͨந৅త֓೦΋ࢦͤΔɻ ʲࣝผࢠʳ ༷ʑͳର৅͔ΒಛఆͷҰͭΛࣝผ͢ΔͨΊͷ΋ͷɻ

Slide 43

Slide 43 text

(&5ͷྫ

Slide 44

Slide 44 text

GET /hello.txt HTTP/1.1 User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3 Host: www.example.com Accept-Language: en, mi HTTP/1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT ETag: "34aa387-d-1568eb00" Accept-Ranges: bytes Content-Length: 51 Vary: Accept-Encoding Content-Type: text/plain Hello World! My payload includes a trailing CRLF. (&5ʹΑΔΫϥΠΞϯτͷཁ੥ (&5ͷཁ੥ʹର͢Δαʔό͔ΒͷԠ౴

Slide 45

Slide 45 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE ͪΌΜͱ)551஌Γ͍ͨͳΒ 3'$ )551 
 3'$ʙ վగ൛)551 3'$ )551 3'$ 63* Λಡ΋͏

Slide 46

Slide 46 text

ɺ ݟ ஌ Β ͵ ୈࢀ࿩ ࢓༷

Slide 47

Slide 47 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE 3'$ 3FRVFTU'PS$PNNFOU ᐌ͘ )551͸ɺ෼ࢄܕͷڠௐతͳ
 ϋΠύʔςΩετ৘ใγεςϜͷͨΊͷɺ
 εςʔτϨεͳ
 ΞϓϦέʔγϣϯϨϕϧͷϓϩτίϧͰ͋Δ

Slide 48

Slide 48 text

)551͸εςʔτϨε Ͳ͏͍͏ҙຯͩΖ͏ʁ

Slide 49

Slide 49 text

εςʔτϑϧ εςʔτϨε

Slide 50

Slide 50 text

ɹ٬ɿʮ͜Μʹͪ͸ʯ ళһɿʮ͍Βͬ͠Ό͍·ͤɺϚΫυόʔΨʔ΁Α͏ͦ͜ʯ ɹ٬ɿʮϏοάϚΫυηοτɺ͓ئ͍͠·͢ʯ ళһɿʮαΠυϝχϡʔ͸͍͔͕͠·͔͢ʁʯ ɹ٬ɿʮϙςτͰʯ ళһɿʮυϦϯΫ͸Կʹͳ͍͞·͔͢ʯ ɹ٬ɿʮΞΠείʔώʔͰʯ ళһɿʮʴ̎̌ԁͰαΠζΛ̡ʹͰ͖·͕͢ʁʯ ɹ٬ɿʮ͡Όɺ̡ʹ͍ͯͩ͘͠͞ʯ
 ళһɿʮҎ্ͰΑΖ͍͠Ͱ͔͢ʁʯ
 ɹ٬ɿʮ͸͍ʯ ళһɿʮ͔͜͠·Γ·ͨ͠ɻ˓˓ԁʹͳΓ·͢ʯ εςʔτϑϧόʔΨʔγϣοϓ ࢀߟɿࢁຊཅฏ ʰ8FCΛࢧ͑Δٕज़ʱ

Slide 51

Slide 51 text

ɹ٬ɿʮ͜Μʹͪ͸ʯ ళһɿʮ͍Βͬ͠Ό͍·ͤɺϚΫυόʔΨʔ΁Α͏ͦ͜ʯ ɹ٬ɿʮϏοάϚΫυηοτɺ͓ئ͍͠·͢ʯ ళһɿʮαΠυϝχϡʔ͸͍͔͕͠·͔͢ʁʯ ɹ٬ɿʮϏοάϚΫυηοτʹϙςτͰʯ ళһɿʮυϦϯΫ͸Կʹͳ͍͞·͔͢ʯ ɹ٬ɿʮϏοάϚΫυηοτʹϙςτͱΞΠείʔώʔͰʯ ళһɿʮʴ̎̌ԁͰαΠζΛ̡ʹͰ͖·͕͢ʁʯ ɹ٬ɿʮϏοάϚΫυηοτʹϙςτͱΞΠείʔώʔʢ̡ʣͰʯ
 ళһɿʮҎ্ͰΑΖ͍͠Ͱ͔͢ʁʯ
 ɹ٬ɿʮϏοάϚΫυηοτʹϙςτͱΞΠείʔώʔʢ̡ʣͰɻҎ্Ͱ͢ʯ ళһɿʮ͔͜͠·Γ·ͨ͠ɻ˓˓ԁʹͳΓ·͢ʯ εςʔτϨεόʔΨʔγϣοϓ ࢀߟɿࢁຊཅฏ ʰ8FCΛࢧ͑Δٕज़ʱ

Slide 52

Slide 52 text

εςʔτϨε ໘౗͍͘͞ͳ

Slide 53

Slide 53 text

εςʔτϨε͔ͩΒ εέʔϧ͢Δͷͩͱͨ͠Βʁ

Slide 54

Slide 54 text

ɹɹ٬ɿʮ͜Μʹͪ͸ʯ ళһ̖ɿʮ͍Βͬ͠Ό͍·ͤɺϚΫυόʔΨʔ΁Α͏ͦ͜ʯ ɹɹ٬ɿʮϏοάϚΫυηοτɺ͓ئ͍͠·͢ʯ ళһ̗ɿʮαΠυϝχϡʔ͸͍͔͕͠·͔͢ʁʯ ɹɹ٬ɿʮϏοάϚΫυηοτʹϙςτͰʯ ళһ̘ɿʮυϦϯΫ͸Կʹͳ͍͞·͔͢ʯ ɹɹ٬ɿʮϏοάϚΫυηοτʹϙςτͱΞΠείʔώʔͰʯ ళһ̙ɿʮʴ̎̌ԁͰαΠζΛ̡ʹͰ͖·͕͢ʁʯ ɹɹ٬ɿʮϏοάϚΫυηοτʹϙςτͱΞΠείʔώʔʢ̡ʣͰʯ
 ళһ̚ɿʮҎ্ͰΑΖ͍͠Ͱ͔͢ʁʯ
 ɹɹ٬ɿʮϏοάϚΫυηοτʹϙςτͱΞΠείʔώʔʢ̡ʣͰɻҎ্Ͱ͢ʯ ళһ̛ɿʮ͔͜͠·Γ·ͨ͠ɻ˓˓ԁʹͳΓ·͢ʯ εςʔτϨεόʔΨʔ͸
 ళһ͕ಉ͡Ͱͳͯ͘΋ྑ͍ ࢀߟɿࢁຊཅฏ ʰ8FCΛࢧ͑Δٕज़ʱ

Slide 55

Slide 55 text

εςʔτϨε͔ͩΒ ٬͕ߟ͑ͯΔ࣌ଞͷࣄ͕ग़དྷΔ

Slide 56

Slide 56 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE 3'$ 3FRVFTU'PS$PNNFOU ᐌ͘ )551͸ɺ෼ࢄܕͷڠௐతͳ
 ϋΠύʔςΩετ৘ใγεςϜͷͨΊͷɺ
 εςʔτϨεͳ
 ΞϓϦέʔγϣϯϨϕϧͷϓϩτίϧͰ͋Δ

Slide 57

Slide 57 text

ΞϓϦέʔγϣϯ૚ τϥϯεϙʔτ૚ Πϯλʔωοτ૚ ϦϯΫ૚ )551 44) '51 %)$1ͳͲ 5$1 6%1ͳͲ *1 *1W *1W ͳͲ 5$1*1ࢀরϞσϧ ΠʔαωοτͳͲ ίί

Slide 58

Slide 58 text

)551͸5$1*1ϕʔε

Slide 59

Slide 59 text

5$1ʁ*1ʁ͓͍͍͠ʁ

Slide 60

Slide 60 text

5SBOTNJTTJPO $POUSPM 1SPUPDPM ͱ͸ͳΜͧ΍ʁ

Slide 61

Slide 61 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE w Ԡ౴Λඞཁͱ͢Δ w γʔέϯε൪߸ͱݺ͹ΕΔσʔλͷॱং͚ͮΛ࣋ͭ w ΫϥΠΞϯτͱαʔόͷԟ෮࣌ؒ 355SPVOEUSJQUJNF Λ
 ༧ଌ͢ΔΞϧΰϦζϜΛ಺แ͢Δ w λΠϜΞ΢τͱ࠶ૹͷ࢓૊ΈΛ࣋ͭ 5$1ͱ͸ͲΜͳϓϩτίϧ͔ʁ

Slide 62

Slide 62 text

ߴ଎͞ΑΓਖ਼͕֬͞େࣄ

Slide 63

Slide 63 text

Ͳ͏ͯ͠ਖ਼֬ͳͷ͔΋͏গ͠

Slide 64

Slide 64 text

ਖ਼֬ͷՁ஋͸ ୈ࢛࿩

Slide 65

Slide 65 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE 5$1ίωΫγϣϯͷ ཱ֬ͱऴྃʹ͍ͭͯ

Slide 66

Slide 66 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE XBZIBOETIBLF

Slide 67

Slide 67 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE ΫϥΠΞϯτ αʔόʔ TPDLFU DPOOFDUʢϒϩοΫʣ
 ʢΞΫςΟϒΦʔϓϯʣ TPDLFU CJOE MJTUFOʢύογϒΦʔϓϯʣ BDDFQUʢϒϩοΫʣ DPOOFDU͔Β໭Δ BDDFQU͔Β໭Δ
 SFBEʢϒϩοΫʣ 4:/+ 4:/, BDL+ BDL, αʔόʔ͸ίωΫγϣϯΛड͚෇͚Δ༻ҙΛ͢Δ
 ͜Ε͸௨ৗTPDLFUɺCJOEɺMJTUFOΛݺͼग़͢ʹύογϒΦʔϓϯ ΫϥΠΞϯτ͸DPOOFDUΛݺͼग़͠ΞΫςΟϒΦʔϓϯΛ࣮ߦ͢Δ
 γʔέϯε൪߸ͷॳظ஋Λ4:/ηάϝϯτͰૹ৴͢Δ αʔό͸4:/ʹର͢ΔԠ౴Λૹ৴͢ΔͨΊʹࣗ਎ͷ4:/ͱɺ
 ΫϥΠΞϯτͷ4:/ʹର͢ΔԠ౴ͱͳΔ"$,Λ୯Ұͷηάϝϯτͱͯ͠ૹ৴͢Δ ΫϥΠΞϯτ͸αʔόͷ4:/ʹԠ౴͢Δ BDL֬ೝԠ౴൪߸

Slide 68

Slide 68 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE 5$1ίωΫγϣϯͷཱ֬͸
 ి࿩ʹࠅࣅ͍ͯ͠Δ TPDLFUؔ਺ి࿩Λ༻ҙ͢Δ CJOEؔ਺ࣗ෼ͷి࿩൪߸Λڭ͑Δ MJTUFOؔ਺ண৴͕͋ͬͨͱ͖ʹݺͼग़͠ԻΛ໐Β͢ DPOOFDUؔ਺૬खͷ൪߸͕Θ͔Ε͹͜ΕͰμΠΞϧͰ͖Δ BDDFQUؔ਺ड࿩ثΛऔΓ্͛Δ

Slide 69

Slide 69 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE 5$1ίωΫγϣϯͷղ์

Slide 70

Slide 70 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE ΫϥΠΞϯτPSαʔόʔ αʔόʔPSΫϥΠΞϯτ DMPTF
 ʢΞΫςΟϒΫϩʔζʣ '*/. BDL. BDL/ ऴྃ͢Δଆ͕DMPTFΛݺͼग़͢ʹΞΫςΟϒΫϩʔζ
 σʔλͷૹ৴͕ऴྃͨ͜͠ͱΛҙຯ͢Δ'*/ηάϝϯτΛૹ৴͢Δ '*/Λड৴ͨ͠ଆ͸ɺύογϒΫϩʔζΛ࣮ߦɺड৴ͨ͠'*/͸5$1ʹΑͬͯ
 Ԡ౴͕ૹ৴͞ΕɺͦΕҎ্σʔλ͸ड৴͠ͳ͍ͷͰ&0'ͱͯ͠ΞϓϦʹ௨஌ &0'ΛಡΈग़ͨ͠ΞϓϦ͕ιέοτͷDMPTFΛߦ͏
 ͜ΕʹΑΓɺ5$1͸'*/ηάϝϯτΛૹ৴͢Δ ࠷ޙͷ'*/Λड৴ͨ͠ଆ͸͜ͷ'*/ʹର͢ΔԠ౴Λߦ͏ ʢύογϒΫϩʔζʣ SFBE͕Λฦ͢ '*// DMPTF

Slide 71

Slide 71 text

جૅதͷجૅ

Slide 72

Slide 72 text

Ͱ΋ҙ֎ͱ஌Βͳ͍͜ͱ આ໌Ͱ͖ͳ͍͜ͱ

Slide 73

Slide 73 text

ͳͥͳΒউखʹ ͏·͍͜ͱ΍ͬͯ͘ΕͯΔ͔Β

Slide 74

Slide 74 text

஌Βͳ͍ͱ͜ΖͰؤு͍ͬͯΔ ͦΕ͕̩̘̥

Slide 75

Slide 75 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE ΫϥΠΞϯτ αʔόʔ TPDLFU DPOOFDUʢϒϩοΫʣ TPDLFU CJOE MJTUFO BDDFQUʢϒϩοΫʣ 4:/@3$7% &45"#-*4)&% DPOOFDU͔Β໭Δ &45"#-*4)&% BDDFQU͔Β໭ΔɺSFBEʢϒϩοΫʣ XSJUFɺSFBEʢϒϩοΫʣ ˝σʔλʢཁٻʣ ʻαʔό͕ཁٻΛॲཧʼ XSJUFɺSFBEʢϒϩοΫʣ ˝σʔλʢԠ౴ʣ ɹཁٻͷBDL SFBE͔Β໭Δ DMPTF '*/@8"*5@ SFBE͔Β໭Δ BDL֬ೝԠ౴൪߸ Ԡ౴ͷBDL $-04&@8"*5 DMPTF 5*.&@8"*5 $-04&% ͱ ͋ Δ ̩ ̘ ̥ ί ω Ϋ γ ϣ ϯ -"45@"$, '*/@8"*5@ SFBE͕Λฦ͢ 4:/@4&/5 -*45&/ ͔͜͜͠ ݟͯͳ͍

Slide 76

Slide 76 text

͡Ό̞̥͸ʁ *OUFSOFU 1SPUPDPM

Slide 77

Slide 77 text

̞̥͸࠷΋جຊతͳ௨৴୯Ґ ύέοτΛ૬खʹૹ৴͢Δ

Slide 78

Slide 78 text

ൃ৴ऀɺड৴ऀ͸ ̞̥ʹΑͬͯಛఆ͞ΕΔ

Slide 79

Slide 79 text

̞̥͸ύέοτΛૹग़͢Δ͚ͩ
 ૬खʹಧ͔͘͸อূ͠ͳ͍

Slide 80

Slide 80 text

࣮֬ʹૹड৴͢Δ ඞཁ͕͋ΔͳΒ͹ ̩̘̥ͳͲΛ ࢖͏ඞཁ͕͋Δ

Slide 81

Slide 81 text

5$1*1ͷ௨৴͸جຊॏ͍ɻ .Z42-1SPUPDPMͳͲ͸ 4PDLFU௨৴͕ͩɺ ͦ΋ͦ΋ωοτϫʔΫϦιʔεΛ සൟʹ࢖͏ͱ͍͏͜ͱ͕ॏ͍ ͱ͍͏ೝࣝΛ࣋ͭ͜ͱɻ

Slide 82

Slide 82 text

ఀ ࢭ ͠ ͨࡸͷ Ͱ த ୈ ޒ࿩

Slide 83

Slide 83 text

͍Α͍Α8FCαʔόͷ͓࿩

Slide 84

Slide 84 text

̝̩̩̥ΛͲ͏ޮ཰ྑ͘ ॲཧ͢Δ͔ʁ

Slide 85

Slide 85 text

αʔό͸ԿΛͲ͏ؤுͬͯ ͍Δͷ͔ʁɹ

Slide 86

Slide 86 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE ΫϥΠΞϯτ αʔό 5$1ϙʔτΛCJOEͯ͠ MJTUFO͢Δ (&5)551 )5510, 5$1XBZIBOETIBLF BDDFQUͯ͠ ৽͍͠઀ଓΛड͚ೖΕΔ SFBE SFDW Ͱ )551ϦΫΤετΛड͚औΔ ϦΫΤετΛॲཧ͢Δ XSJUF TFOE Ͱ )551ϨεϙϯεΛฦ͢ DMPTFͯ͠5$1઀ଓΛ੾Δ ج ຊ త ͳ ϓ ϩ η ε ॲ ཧ

Slide 87

Slide 87 text

͜ͷ··Ͱ͸εέʔϧͰ͖ͳ͍

Slide 88

Slide 88 text

*0ϨϕϧͰ͸ϒϩοΫ͞ΕΔͷͰ SFBEXSJUFத͸ଞͷ͜ͱ͕Ͱ͖ͳ͍͔Β

Slide 89

Slide 89 text

ฒߦॲཧͷํ๏͸ओʹ̏ͭ

Slide 90

Slide 90 text

Ϛϧνϓϩηε ϚϧνεϨου Πϕϯτۦಈ

Slide 91

Slide 91 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE Ϛϧνϓϩηε ϦΫΤετΛฒߦͰॲཧ͢ΔͨΊɺGPSLͰࢠϓϩηεΛੜ੒ ॲཧΛࢠϓϩηεʹ೚ͤΔɻ GPSL͸ϝϞϦ্ͷΞυϨεۭؒΛ·Δ͝ͱผͷΞυϨεۭؒʹ ίϐʔ͢ΔͨΊҰൠతʹ஗͍ͱݴΘΕΔɻ ͕ɺ࣮ࡍʹ͸$P8 $PQZ0O8SJUF ͱ͍͏࢓૊ΈͰ ϝϞϦίϐʔͷෛՙΛ཈͑Δɻ $P8͸GPSL࣌ʹࢠϓϩηεͷԾ૝ΞυϨεۭؒʹ ਌ϓϩηεͷΞυϨεΛϚοϐϯά͠਌ࢠͰΞυϨεڞ༗͢Δɻ

Slide 92

Slide 92 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE Ϛϧνϓϩηε SP PC hoge::i
 foo::tmp main() hoge() foo() globalHoges; ελοΫ ςΩετ σʔλ new bar[]; ώʔϓ SP PC hoge::i
 foo::tmp main() hoge() foo() globalHoges; new bar[]; GPSL ϓϩηεͷίϐʔ Ծ૝ΞυϨεۭؒ Ծ૝ΞυϨεۭؒ Ϩδελ Ϩδελ 1$ϓϩάϥϜΧ΢ϯλ 41ελοΫϙΠϯλ

Slide 93

Slide 93 text

਌ϓϩηε ࢠϓϩηε ࢠϓϩηε ࢠϓϩηε ࢠϓϩηε ΫϥΠΞϯτ ΫϥΠΞϯτ ΫϥΠΞϯτ ΫϥΠΞϯτ ˛ GPSLͯ͠ ࢠϓϩηεΛ૿΍͢ ͦΕͧΕ͕ɺ਌ͱ ಉ͡Α͏ʹड͚෇͚Δ Ϛϧνϓϩηεͷ࢓૊Έ

Slide 94

Slide 94 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE ϚϧνϓϩηεͷϝϦοτ ࢓૊Έ͕୯७ ϓϩάϥϚ͕ҙࣝ͠ͳ͚Ε͹ͳΒͳ͍͜ͱ͕΄΅ͳ͍ɻ $P8ͷ࢓૊Έͷ͓͔͛ͰΞυϨεڞ༗Ͱ͖ΔͨΊɺ ίϐʔͷෛՙ͸ࢥͬͨΑΓ΋େ͖͘ͳ͍ɻ ॻ͖ࠐΈ࣌ʹ਌ͷϝϞϦۭؒΛࢠͷϝϞϦۭؒʹίϐʔ͢Δɻ
 ౎౓GPSL͢Δ͜ͱͳ͘ɺࣄલʹGPSLͯ͠ʢQSFGPSLʣ࢖͍ճ͢͜ ͱ΋Ͱ͖Δɻ

Slide 95

Slide 95 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE ϚϧνϓϩηεͷσϝϦοτ ϝϞϦফඅྔ͕ଟ͍ $P8Ͱڞ༗͸Ͱ͖Δ͕ɺॻ͖ࠐΈઌ͸ڞ༗Ͱ͖ͳ͍ͨΊɺ
 ঃʑʹϝϞϦΛফඅ͍ͯ͘͜͠ͱʹͳΔɻ ·ͨɺࢠϓϩηεҎ্ͷΫϥΠΞϯτ਺Λಉ࣌ʹ͞͹͚ͳ͍ɻ ݶք͕͘ΔͱXBZIBOETIBLFࡁΈͷ઀ଓ͸Ωϡʔʹͨ·Δɻ ͔͠͠ɺ୭΋BDDFQU͠ͳ͍ͨΊɺ٧·ͬͯ͠·͏ɻ

Slide 96

Slide 96 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE ϚϧνεϨου SP PC foo::i
 foo::j main() hoge() foo() globalHoges; ελοΫ ςΩετ σʔλ new bar[]; ώʔϓ hoge::x
 hoge::y εϨου̍ SP PC ελοΫ εϨου̎ Ϩδελ Ϩδελ 1$ϓϩάϥϜΧ΢ϯλ 41ελοΫϙΠϯλ Ծ૝ΞυϨεۭؒ

Slide 97

Slide 97 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE ϚϧνεϨουͷϝϦοτ ϝϞϦফඅ͕গͳ͍ʢϓϩηεΑΓʣ ϓϩηεͱಉ༷ʹ౎౓εϨουΛੜ੒͢Δํ๏ͱɺ
 ࣄલʹεϨουΛ͓͖ͭͬͯ͘࢖͍ճ͢ʢεϨουϓʔϧʣํ๏
 ͕͋Δɻ
 εϨου͸ϝϞϦΛ࠷ॳ͔Βڞ༗͢ΔͨΊɺ ϓϩηεΑΓϝϞϦফඅྔ͕গͳ͍ͱݴΘΕΔɻ

Slide 98

Slide 98 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE ϚϧνεϨουͷσϝϦοτ Ϧιʔεڝ߹͕ى͖΍͍͢ ϚϧνεϨου͸ෳ਺ͷεϨου͕ϝϞϦۭؒΛڞ༗͢Δɻ ͦͷͨΊɺϦιʔε͕ڝ߹͠ͳ͍Α͏ʹؾΛ͚ͭͯ
 ϓϩάϥϜ͠ͳ͚Ε͹ͳΒͳ͍ɻ ͖ͪΜͱཧղ͍ͯ͠ͳ͚Ε͹ɺෆՄղͳόάΛੜΈग़͢ɻ

Slide 99

Slide 99 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE Πϕϯτۦಈ ωοτϫʔΫ*0ΛଟॏԽͯ͠ ϓϩηεεϨουͰ ෳ਺ͷωοτϫʔΫ઀ଓΛಉ࣌ʹࡹ͘ ʢOPOCMPDLJOH*0Λ༻͍Δʣ Πϕϯτొ࿥ Πϕϯτ଴ػ Πϕϯτॲཧ ޙॲཧ

Slide 100

Slide 100 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE ඇϒϩοΩϯά*0 OPOCMPDLJOH*0 ιέοτ͸σϑΥϧτͰϒϩοΩϯάɻ
 ͜Ε͸ιέοτʹରͯ͠ଈ࠲ʹ׬ྃ͠ͳ͍γεςϜίʔϧΛ ݺͼग़ͨ࣌͠ɺݺͼग़ͨ͠ϓϩηε͸৚݅ͷ੒ཱΛ଴ͬͯ εϦʔϓ͢Δ͜ͱΛҙຯ͢Δɻ ඇϒϩοΩϯά*0Ͱ͸γεςϜίʔϧΛݺͼग़ͯ͠΋*0͕ ४උͰ͖͍ͯͳ͚Ε͹ϒϩοΫͤͣଈ࠲ʹΤϥʔΛฦ͢ɻ ʢඇϒϩοΩϯά*0ͱඇಉظ*0͸ಉ͡Ͱͳ͍͜ͱʹ஫ҙʣ

Slide 101

Slide 101 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE ୅දతͳछྨͷ*0 w ϒϩοΩϯά*0 w ඇϒϩοΩϯά*0 w *0ͷଟॏԽ w γάφϧۦಈ*0 w ඇಉظ*0

Slide 102

Slide 102 text

ϒϩοΩϯά*0 ΞϓϦ Χʔωϧ γεςϜίʔϧΛݺͿͱ ΧʔωϧʹεΠον͢Δ JOJUJBUF SFBE*0 SFBE SFTQPOTF σʔλΛ Χʔωϧۭ͔ؒΒ Ϣʔβʔۭؒ΁ 3FBE ϓϩηε͸γεςϜίʔϧͷ ฦ౴଴ͪʹͳΓுΓ෇͘ɻ ͦͷؒɺϓϩάϥϜͷॲཧ͕ ਐΉ͜ͱ͸Ͱ͖ͳ͍ɻ CMPDLFE

Slide 103

Slide 103 text

ඇϒϩοΩϯά*0 ΞϓϦ Χʔωϧ γεςϜίʔϧΛݺͿͱ ΧʔωϧʹεΠον͢Δ JOJUJBUF SFBE*0 SFBE SFTQPOTF 3FBE ϑΝΠϧσΟεΫϦϓλͷ ४උ͕׬͍ྃͯ͠ͳ͚Ε͹ ଈ࠲ʹΤϥʔΛฦ͢ɻ ϓϩηε͸ϒϩοΫ͞Εͣɺ ͦͷؒʹଞͷॲཧΛ͢Δ͜ͱ͕ Ͱ͖Δɻ ଈ࠲ʹΤϥʔΛฦ͢ ଈ࠲ʹΤϥʔΛฦ͢ γεςϜίʔϧΛݺͿͱ ΧʔωϧʹεΠον͢Δ γεςϜίʔϧΛݺͿͱ ΧʔωϧʹεΠον͢Δ σʔλΛ Χʔωϧۭ͔ؒΒ Ϣʔβʔۭؒ΁

Slide 104

Slide 104 text

*0ͷଟॏԽ QPMM ɺTFMFDU ɺFQPMM γεςϜίʔϧΛར༻͠ɺ ෳ਺ͷσΟεΫϦϓλΛ ̍ͭͷϓϩηεͰ؅ཧ͢Δ͜ͱɻ ೖग़ྗՄೳʹͳͬͨ৔߹ɺ Χʔωϧ͔Β௨஌͞ΕΔɻ ΞϓϦ Χʔωϧ γεςϜίʔϧΛݺͿͱ ΧʔωϧʹεΠον͢Δ JOJUJBUF SFBE*0 SFBE SFTQPOTF 4FMFDU ଈ࠲ʹΤϥʔΛฦ͢ γεςϜίʔϧΛݺͿͱ ΧʔωϧʹεΠον͢Δ σʔλΛ Χʔωϧۭ͔ؒΒ Ϣʔβʔۭؒ΁ SFBE 4FMFDUͰ σʔλ͕ಡΊΔΑ͏ʹͳΔ SFBE CMPDLFE

Slide 105

Slide 105 text

γάφϧۦಈ*0 σΟεΫϦϓλͷ༻ҙ͕Ͱ͖ͨ࣌ʹɺ 4*(*0γάφϧΛ༻͍ͯ௨஌͢Δɻ γάφϧۦಈ*0Ͱ͸ɺ *0ૢ࡞ͷىಈ͕Մೳʹͳͬͨ͜ͱΛ௨஌͢Δɻ ඇಉظ*0Ͱ͸ɺ *0ૢ࡞͕׬ྃͨ͜͠ͱΛ௨஌͢Δɻ ਅͷඇಉظ*0Ͱ͸ͳ͍ɻʢ*0ૢ࡞தʹଞͷ͜ͱ͕Ͱ͖ͳ͍ʣ

Slide 106

Slide 106 text

ඇಉظ*0 ΞϓϦ Χʔωϧ γεςϜίʔϧΛݺͿͱ ΧʔωϧʹεΠον͢Δ JOJUJBUF SFBE*0 SFBE SFTQPOTF σʔλΛ Χʔωϧۭ͔ؒΒ Ϣʔβʔۭؒ΁ ଞ ͷ ॲ ཧ ͕ Մ ೳ *0ॲཧ͕׬ྃͨ͠λΠϛϯάͰ ௨஌Λߦ͏ɻ ௨஌͸γάφϧ͔ίʔϧόοΫʹ ΑͬͯߦΘΕɺ௨஌͕͘Δ·Ͱ͸ ଞͷॲཧΛ͢Δ͜ͱ͕Ͱ͖Δɻ BJP@SFBE *0 QSPDFTTJOH

Slide 107

Slide 107 text

ϝΠϯεϨου ΫϥΠΞϯτ ΫϥΠΞϯτ ΫϥΠΞϯτ ΫϥΠΞϯτ ετϨʔδ ඇϒϩοΩϯά*0 *0ͷଟॏԽ Πϕϯτۦಈͷ࢓૊Έ

Slide 108

Slide 108 text

εϨουϓϩηεͳͷʹ ͳͥฒߦॲཧͰ͖Δͷ͔ʁ *0ΛଟॏԽ͢Δ͜ͱͰɺ ෳ਺ͷσΟεΫϦϓλΛ؂ࢹ͠ ඇϒϩοΩϯά*0ʹΑͬͯ ౎౓ͷ΍ΓͱΓ͕Ͱ͖ΔͨΊ

Slide 109

Slide 109 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE ΠϕϯτۦಈͷϝϦοτ ʮ$,໰୊ʯʹରԠ $,໰୊ʢΫϥΠΞϯτສ୆໰୊ʣͱ͸ϋʔυ΢ΣΞͷੑೳ ͕͕͋ͬͯ΋ɺΫϥΠΞϯτͷ਺͕ສ୆ۙ͘ʹͳΔͱɺ ϓϩηε΍εϨουͷ਺͕૿͑͗͢Δ͜ͱʹΑΓɺ ίϯςΩετεΠονͷΦʔόʔϔου͕େ͖͘ͳΓ͗ͯ͢ ͞͹͚ͳ͘ͳΔ͜ͱɻΠϕϯτۦಈ͸͜ΕΛղܾ͢Δɻ

Slide 110

Slide 110 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE ΠϕϯτۦಈͷσϝϦοτ ϚϧνίΞ͕׆͖ͳ͍ Πϕϯτۦಈ͸جຊ̍ϓϩηε̍εϨουͷͨΊ ϚϧνίΞͷ$16Λ׆͔͢͜ͱ͕Ͱ͖ͳ͍ɻ ·ͨɺ̍ϓϩηε̍εϨουͳͷͰɺ
 ϓϩηε͕ࢮ͵ͱ͖͸͢΂ͯר͖ࠐΜͰࢮ͵ɻ

Slide 111

Slide 111 text

Α͠ϋΠϒϦουʹ͠Α͏

Slide 112

Slide 112 text

$PQZSJHIU%&-J()5803,4*OD"MM3JHIUT3FTFSWFE w "QBDIF.1.QSFGPSLʢϚϧνϓϩηεʣ w "QBDIF.1.XPSLFSʢϚϧνϓϩηεʴϚϧνεϨουʣ w "QBDIF.1.FWFOUʢϚϧνϓϩηεʴΠϕϯτۦಈʣ w **4ʢϚϧνϓϩηεʴϚϧνεϨουʣ w OHJOYʢϚϧνϓϩηεʴΠϕϯτۦಈʣ ࣮ࡍͷ)551αʔόͰ͸ɺεέʔϧ͢ΔͨΊʹ ඇৗʹߴ౓ͳ͜ͱ͕ߦΘΕ͍ͯ·͢ɻ ૊Έ߹ΘͤʹΑΔ࢓૊Έ NQNNVMUJQSPDFTTJOHNPEVMF

Slide 113

Slide 113 text

ࡸ બ୒ ͷ Λ ୈ࿡ ɹ࿩

Slide 114

Slide 114 text

ݸʑͷḉੑೳ͸ ঢ়گͱઃఆʹґΔ
 ͷͰ߇͑·͢

Slide 115

Slide 115 text

·ͱΊ

Slide 116

Slide 116 text

)551ͱ͸Կ͔Λ஌Δ ωοτϫʔΫͷίετ͸
 ඇৗʹߴ͍͜ͱʹؾΛ͚ͭΔ 8FCαʔόʹ͓͚Δ
 ฒߦԽͷ୅දతͳख๏ͱɺ
 *0ʹର͢ΔରࡦΛ஌Δ

Slide 117

Slide 117 text

͍Ζ͍Ζ΍͖ͬͯͨ݁࿦ɿ
 ো֐ൃੜ࣌͸ɺ Ͳ͜ͰϘτϧωοΫ͕ൃੜ͍ͯ͠Δ͔ ໰୊ͷ੾Γ෼͚Λ·ͣߟ͑Δ͜ͱ

Slide 118

Slide 118 text

͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠