Slide 1

Slide 1 text

k a miok a n 2021/6/29ʢՐʣ RubyͰυΩυΩ💓 WebεΫϨΠϐϯά ༻๏ͱ༰ྔΛकͬͯਖ਼͓͘͠࢖͍͍ͩ͘͞ 1

Slide 2

Slide 2 text

ࣗݾ঺հ My pro f ile ໊લɿ্Ԭ৳༟ (@kamiokan) झຯɿ௼ΓɾອըɾϞϯϋϯ 2

Slide 3

Slide 3 text

ࣗݾ঺հ • ॅ·͍ 
 ۽ຊݝ߹ࢤࢢࡏॅɻʢ2020೥Ѫ஌ݝΑΓҠॅʣ My pro f ile ໊લɿ্Ԭ৳༟ (@kamiokan) झຯɿ௼ΓɾອըɾϞϯϋϯ 3

Slide 4

Slide 4 text

ࣗݾ঺հ • ॅ·͍ 
 ۽ຊݝ߹ࢤࢢࡏॅɻʢ2020೥Ѫ஌ݝΑΓҠॅʣ • ࢓ࣄ 
 ༧໿γεςϜͷ։ൃɾӡ༻ɺWebαΠτ੍࡞ɾӡ༻ My pro f ile ໊લɿ্Ԭ৳༟ (@kamiokan) झຯɿ௼ΓɾອըɾϞϯϋϯ 4

Slide 5

Slide 5 text

ࣗݾ঺հ • ॅ·͍ 
 ۽ຊݝ߹ࢤࢢࡏॅɻʢ2020೥Ѫ஌ݝΑΓҠॅʣ • ࢓ࣄ 
 ༧໿γεςϜͷ։ൃɾӡ༻ɺWebαΠτ੍࡞ɾӡ༻ • ϦϞʔτϫʔΫྺ̍̌೥ 
 ʢʮ΍ͬͱ࣌୅͕Զʹ௥͍͍ͭͨʯͱউखʹࣗෛʣ My pro f ile ໊લɿ্Ԭ৳༟ (@kamiokan) झຯɿ௼ΓɾອըɾϞϯϋϯ 5

Slide 6

Slide 6 text

ࣗݾ঺հ • ॅ·͍ 
 ۽ຊݝ߹ࢤࢢࡏॅɻʢ2020೥Ѫ஌ݝΑΓҠॅʣ • ࢓ࣄ 
 ༧໿γεςϜͷ։ൃɾӡ༻ɺWebαΠτ੍࡞ɾӡ༻ • ϦϞʔτϫʔΫྺ̍̌೥ 
 ʢʮ΍ͬͱ࣌୅͕Զʹ௥͍͍ͭͨʯͱউखʹࣗෛʣ • ϑΟϤϧυϒʔτΩϟϯϓͰֶशத My pro f ile ໊લɿ্Ԭ৳༟ (@kamiokan) झຯɿ௼ΓɾອըɾϞϯϋϯ 6

Slide 7

Slide 7 text

TDDΛ࢝Ίͨ 7

Slide 8

Slide 8 text

TDDΛ࢝Ίͨ ௼Γ͕͍ͨ͠ 8

Slide 9

Slide 9 text

TDDΛ࢝Ίͨ ௼Γ͕͍ͨ͠ 9

Slide 10

Slide 10 text

TDDΛ࢝Ίͨ ௼Γ͕͍ͨ͠ 10 ָ͍͠ʂʂ

Slide 11

Slide 11 text

TDDΛ࢝Ίͨ ௼Γ͕͍ͨ͠ 11 ָ͍͠ʂʂ ΋ͬͱ௼Γ͕͍ͨ͠

Slide 12

Slide 12 text

TDDΛ࢝Ίͨ ௼Γ͕͍ͨ͠ 12 ָ͍͠ʂʂ ΋ͬͱ௼Γ͕͍ͨ͠ ࢓ࣄͷޮ཰Խʂʂ

Slide 13

Slide 13 text

TDDΛ࢝Ίͨ ௼Γ͕͍ͨ͠ 13 ָ͍͠ʂʂ ΋ͬͱ௼Γ͕͍ͨ͠ ࢓ࣄͷޮ཰Խʂʂ

Slide 14

Slide 14 text

TDDΛ࢝Ίͨ ௼Γ͕͍ͨ͠ 14 ָ͍͠ʂʂ ΋ͬͱ௼Γ͕͍ͨ͠ ࢓ࣄͷޮ཰Խʂʂ ָ͍͠ʂʂ

Slide 15

Slide 15 text

TDDΛ࢝Ίͨ ௼Γ͕͍ͨ͠ 15 ָ͍͠ʂʂ ΋ͬͱ௼Γ͕͍ͨ͠ ࢓ࣄͷޮ཰Խʂʂ ָ͍͠ʂʂ ΋ͬͱ௼Γ͕͍ͨ͠

Slide 16

Slide 16 text

TDDΛ࢝Ίͨ ௼Γ͕͍ͨ͠ 16 ָ͍͠ʂʂ ΋ͬͱ௼Γ͕͍ͨ͠ ࢓ࣄͷޮ཰Խʂʂ ָ͍͠ʂʂ ΋ͬͱ௼Γ͕͍ͨ͠ ࢓ࣄͷޮ཰Խʂʂ

Slide 17

Slide 17 text

TDDΛ࢝Ίͨ ௼Γ͕͍ͨ͠ 17 ָ͍͠ʂʂ ΋ͬͱ௼Γ͕͍ͨ͠ ࢓ࣄͷޮ཰Խʂʂ ָ͍͠ʂʂ ΋ͬͱ௼Γ͕͍ͨ͠ ࢓ࣄͷޮ཰Խʂʂ

Slide 18

Slide 18 text

TDDΛ࢝Ίͨ ௼Γ͕͍ͨ͠ 18 ָ͍͠ʂʂ ΋ͬͱ௼Γ͕͍ͨ͠ ࢓ࣄͷޮ཰Խʂʂ ָ͍͠ʂʂ ΋ͬͱ௼Γ͕͍ͨ͠ ࢓ࣄͷޮ཰Խʂʂ Tsuri-Driven Development ௼Γۦಈ։ൃ

Slide 19

Slide 19 text

ͯ͞ຊ୊΁… 19

Slide 20

Slide 20 text

RubyͰυΩυΩ💓WebεΫϨΠϐϯά ᶃWebεΫϨΠϐϯάͱ͸ʁ ᶄWebεΫϨΠϐϯάͷϚφʔ ᶅWebεΫϨΠϐϯάͷ೉қ౓ ᶆ೉қ౓͝ͱʹબͿϞδϡʔϧ ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά ໨࣍ 20

Slide 21

Slide 21 text

RubyͰυΩυΩ💓WebεΫϨΠϐϯά ᶃWebεΫϨΠϐϯάͱ͸ʁ ᶄWebεΫϨΠϐϯάͷϚφʔ ᶅWebεΫϨΠϐϯάͷ೉қ౓ ᶆ೉қ౓͝ͱʹબͿϞδϡʔϧ ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά ໨࣍ 21

Slide 22

Slide 22 text

ᶃWebεΫϨΠϐϯάͱ͸ʁ ΫϩʔϥΛར༻ͯ͠WebαΠτ͔Β ࣗಈతʹ৘ใΛநग़͢Δ͜ͱ RPAʢRobotic Process Autom a tionʣͰ஫໨ͷू·ΔࣗಈԽٕज़ 22 ఆܕ࡞ۀͳΜͯɺ Զ͸΍Βͳ͍ͷ͞

Slide 23

Slide 23 text

ᶃWebεΫϨΠϐϯάͱ͸ʁ ΫϩʔϥΛར༻ͯ͠WebαΠτ͔Β ࣗಈతʹ৘ใΛநग़͢Δ͜ͱ RPAʢRobotic Process Autom a tionʣͰ஫໨ͷू·ΔࣗಈԽٕज़ 23 ఆܕ࡞ۀͳΜͯɺ Զ͸΍Βͳ͍ͷ͞ Ϋϩʔϥ

Slide 24

Slide 24 text

RubyͰυΩυΩ💓WebεΫϨΠϐϯά ᶃWebεΫϨΠϐϯάͱ͸ʁ ᶄWebεΫϨΠϐϯάͷϚφʔ ᶅWebεΫϨΠϐϯάͷ೉қ౓ ᶆ೉қ౓͝ͱʹબͿϞδϡʔϧ ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά ໨࣍ 24

Slide 25

Slide 25 text

ᶄWebεΫϨΠϐϯάͷϚφʔ ɾWebαΠτͷར༻ن໿ ɾऔಘͨ͠σʔλͷஶ࡞ݖ ɾWebαΠτͷϦιʔε ɾWebαΠτͷAPIఏڙ ߦّͷྑ͍ΫϩʔϥͰ໌Δ͍εΫϨΠϐϯάੜ׆ 25

Slide 26

Slide 26 text

ᶄWebεΫϨΠϐϯάͷϚφʔ ɾWebαΠτͷར༻ن໿ ɾऔಘͨ͠σʔλͷஶ࡞ݖ ɾWebαΠτͷϦιʔε ɾWebαΠτͷAPIఏڙ ߦّͷྑ͍ΫϩʔϥͰ໌Δ͍εΫϨΠϐϯάੜ׆ 26 ͔ͬ͠ΓकΔ

Slide 27

Slide 27 text

ᶄWebεΫϨΠϐϯάͷϚφʔ ɾWebαΠτͷར༻ن໿ ɾऔಘͨ͠σʔλͷஶ࡞ݖ ɾWebαΠτͷϦιʔε ɾWebαΠτͷAPIఏڙ ߦّͷྑ͍ΫϩʔϥͰ໌Δ͍εΫϨΠϐϯάੜ׆ 27 ͔ͬ͠ΓकΔ ஶ࡞ݖ৵֐͠ͳ͍

Slide 28

Slide 28 text

ᶄWebεΫϨΠϐϯάͷϚφʔ ɾWebαΠτͷར༻ن໿ ɾऔಘͨ͠σʔλͷஶ࡞ݖ ɾWebαΠτͷϦιʔε ɾWebαΠτͷAPIఏڙ ߦّͷྑ͍ΫϩʔϥͰ໌Δ͍εΫϨΠϐϯάੜ׆ 28 ͔ͬ͠ΓकΔ ஶ࡞ݖ৵֐͠ͳ͍ ϦιʔεΛѹഭ͠ͳ͍

Slide 29

Slide 29 text

ᶄWebεΫϨΠϐϯάͷϚφʔ ɾWebαΠτͷར༻ن໿ ɾऔಘͨ͠σʔλͷஶ࡞ݖ ɾWebαΠτͷϦιʔε ɾWebαΠτͷAPIఏڙ ߦّͷྑ͍ΫϩʔϥͰ໌Δ͍εΫϨΠϐϯάੜ׆ 29 ͔ͬ͠ΓकΔ ஶ࡞ݖ৵֐͠ͳ͍ ϦιʔεΛѹഭ͠ͳ͍ ໎ΘͣAPIΛ࢖͏

Slide 30

Slide 30 text

ᶄWebεΫϨΠϐϯάͷϚφʔ ɾWebαΠτͷར༻ن໿ ɾऔಘͨ͠σʔλͷஶ࡞ݖ ɾWebαΠτͷϦιʔε ɾWebαΠτͷAPIఏڙ ߦّͷྑ͍ΫϩʔϥͰ໌Δ͍εΫϨΠϐϯάੜ׆ 30 ͔ͬ͠ΓकΔ ஶ࡞ݖ৵֐͠ͳ͍ ϦιʔεΛѹഭ͠ͳ͍ ໎ΘͣAPIΛ࢖͏

Slide 31

Slide 31 text

RubyͰυΩυΩ💓WebεΫϨΠϐϯά ᶃWebεΫϨΠϐϯάͱ͸ʁ ᶄWebεΫϨΠϐϯάͷϚφʔ ᶅWebεΫϨΠϐϯάͷ೉қ౓ ᶆ೉қ౓͝ͱʹબͿϞδϡʔϧ ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά ໨࣍ 31

Slide 32

Slide 32 text

ᶅWebεΫϨΠϐϯάͷ೉қ౓ ɾεςʔτϨεͳϖʔδ ɾεςʔτϑϧͳϖʔδ ɾJavaScriptͷղऍ͕ඞཁͳϖʔδ ϖʔδͷߏ଄ʹΑͬͯมΘΔ೉қ౓ 32 ೉ қ

Slide 33

Slide 33 text

ᶅWebεΫϨΠϐϯάͷ೉қ౓ ɾεςʔτϨεͳϖʔδ ɾεςʔτϑϧͳϖʔδ ɾJavaScriptͷղऍ͕ඞཁͳϖʔδ ϖʔδͷߏ଄ʹΑͬͯมΘΔ೉қ౓ 33 ೉ қ GETϦΫΤετͰฦ͖ͬͯͨ ϨεϙϯεͷΈͰࣄ଍ΓΔ

Slide 34

Slide 34 text

ᶅWebεΫϨΠϐϯάͷ೉қ౓ ɾεςʔτϨεͳϖʔδ ɾεςʔτϑϧͳϖʔδ ɾJavaScriptͷղऍ͕ඞཁͳϖʔδ ϖʔδͷߏ଄ʹΑͬͯมΘΔ೉қ౓ 34 ೉ қ GETϦΫΤετͰฦ͖ͬͯͨ ϨεϙϯεͷΈͰࣄ଍ΓΔ POSTϦΫΤετʹΑΔύϥϝʔλ෇༩ ΍ΫοΩʔͷड͚ೖΕ͕ඞཁ

Slide 35

Slide 35 text

ᶅWebεΫϨΠϐϯάͷ೉қ౓ ɾεςʔτϨεͳϖʔδ ɾεςʔτϑϧͳϖʔδ ɾJavaScriptͷղऍ͕ඞཁͳϖʔδ ϖʔδͷߏ଄ʹΑͬͯมΘΔ೉қ౓ 35 ೉ қ GETϦΫΤετͰฦ͖ͬͯͨ ϨεϙϯεͷΈͰࣄ଍ΓΔ POSTϦΫΤετʹΑΔύϥϝʔλ෇༩ ΍ΫοΩʔͷड͚ೖΕ͕ඞཁ HTTPϨεϙϯειʔεʹ ཉ͍͠Ϩίʔυ͕ଘࡏ͠ͳ͍

Slide 36

Slide 36 text

RubyͰυΩυΩ💓WebεΫϨΠϐϯά ᶃWebεΫϨΠϐϯάͱ͸ʁ ᶄWebεΫϨΠϐϯάͷϚφʔ ᶅWebεΫϨΠϐϯάͷ೉қ౓ ᶆ೉қ౓͝ͱʹબͿϞδϡʔϧ ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά ໨࣍ 36

Slide 37

Slide 37 text

ᶆ೉қ౓͝ͱʹબͿϞδϡʔϧ ɾεςʔτϨεͳϖʔδ ɾεςʔτϑϧͳϖʔδ ɾJavaScriptͷղऍ͕ඞཁͳϖʔδ దࡐదॴͰշదεΫϨΠϐϯά̇ 37 ೉ қ GETϦΫΤετͰฦ͖ͬͯͨ ϨεϙϯεͷΈͰࣄ଍ΓΔ POSTϦΫΤετʹΑΔύϥϝʔλ෇༩ ΍ΫοΩʔͷड͚ೖΕ͕ඞཁ HTTPϨεϙϯειʔεʹ ཉ͍͠Ϩίʔυ͕ଘࡏ͠ͳ͍

Slide 38

Slide 38 text

ᶆ೉қ౓͝ͱʹબͿϞδϡʔϧ ɾεςʔτϨεͳϖʔδ ɾεςʔτϑϧͳϖʔδ ɾJavaScriptͷղऍ͕ඞཁͳϖʔδ దࡐదॴͰշదεΫϨΠϐϯά̇ 38 ೉ қ GETϦΫΤετͰฦ͖ͬͯͨ ϨεϙϯεͷΈͰࣄ଍ΓΔ POSTϦΫΤετʹΑΔύϥϝʔλ෇༩ ΍ΫοΩʔͷड͚ೖΕ͕ඞཁ HTTPϨεϙϯειʔεʹ ཉ͍͠Ϩίʔυ͕ଘࡏ͠ͳ͍ net/http

Slide 39

Slide 39 text

ᶆ೉қ౓͝ͱʹબͿϞδϡʔϧ ɾεςʔτϨεͳϖʔδ ɾεςʔτϑϧͳϖʔδ ɾJavaScriptͷղऍ͕ඞཁͳϖʔδ దࡐదॴͰշదεΫϨΠϐϯά̇ 39 ೉ қ GETϦΫΤετͰฦ͖ͬͯͨ ϨεϙϯεͷΈͰࣄ଍ΓΔ POSTϦΫΤετʹΑΔύϥϝʔλ෇༩ ΍ΫοΩʔͷड͚ೖΕ͕ඞཁ HTTPϨεϙϯειʔεʹ ཉ͍͠Ϩίʔυ͕ଘࡏ͠ͳ͍ net/http mechanize

Slide 40

Slide 40 text

ᶆ೉қ౓͝ͱʹબͿϞδϡʔϧ ɾεςʔτϨεͳϖʔδ ɾεςʔτϑϧͳϖʔδ ɾJavaScriptͷղऍ͕ඞཁͳϖʔδ దࡐదॴͰշదεΫϨΠϐϯά̇ 40 ೉ қ GETϦΫΤετͰฦ͖ͬͯͨ ϨεϙϯεͷΈͰࣄ଍ΓΔ POSTϦΫΤετʹΑΔύϥϝʔλ෇༩ ΍ΫοΩʔͷड͚ೖΕ͕ඞཁ HTTPϨεϙϯειʔεʹ ཉ͍͠Ϩίʔυ͕ଘࡏ͠ͳ͍ net/http mechanize selenium-webdriver capybara

Slide 41

Slide 41 text

RubyͰυΩυΩ💓WebεΫϨΠϐϯά ᶃWebεΫϨΠϐϯάͱ͸ʁ ᶄWebεΫϨΠϐϯάͷϚφʔ ᶅWebεΫϨΠϐϯάͷ೉қ౓ ᶆ೉қ౓͝ͱʹબͿϞδϡʔϧ ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά ໨࣍ 41

Slide 42

Slide 42 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά ࣗલͰ४උͨ͠ைࣚදα Πτͷ৘ใΛऔಘͯ͠Έ ·͢ɻ HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ 42 https://juku90.com/lt2/

Slide 43

Slide 43 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ 43

Slide 44

Slide 44 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ 44 ΞΫηε͍ͨ͠URLΛࢦఆ

Slide 45

Slide 45 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ 45 ΞΫηε͍ͨ͠URLΛࢦఆ HTTPϦΫΤετΛૹΔ

Slide 46

Slide 46 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ 46 ΞΫηε͍ͨ͠URLΛࢦఆ HTTPϦΫΤετΛૹΔ HTTPϨεϙϯεͷBODYΛऔಘ

Slide 47

Slide 47 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ 47 [࣮ߦͨ݁͠Ռ]

Slide 48

Slide 48 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ 48 [࣮ߦͨ݁͠Ռ] titleλάΛݟΔͱ ͪΌΜͱऔಘͰ͖ͯΔʂ

Slide 49

Slide 49 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ

Slide 50

Slide 50 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ USʙUSʹ ͦΕͧΕͷ೔෇ͷ৘ใ͕֨ೲ͞Ε͍ͯ·͢Ͷ

Slide 51

Slide 51 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ

Slide 52

Slide 52 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ ɹᶃ೔෇ͱ༵೔

Slide 53

Slide 53 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ ɹᶃ೔෇ͱ༵೔ ɹᶄைͷঢ়ଶ

Slide 54

Slide 54 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ ɹᶃ೔෇ͱ༵೔ ɹᶄைͷঢ়ଶ ɹᶅຬை࣌ࠁ

Slide 55

Slide 55 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ ɹᶃ೔෇ͱ༵೔ ɹᶄைͷঢ়ଶ ɹᶅຬை࣌ࠁ ɹᶆຬை࣌ͷߴ͞

Slide 56

Slide 56 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ ɹᶃ೔෇ͱ༵೔ ɹᶄைͷঢ়ଶ ɹᶅຬை࣌ࠁ ɹᶆຬை࣌ͷߴ͞ ɹᶇׯை࣌ࠁ

Slide 57

Slide 57 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ ɹᶃ೔෇ͱ༵೔ ɹᶄைͷঢ়ଶ ɹᶅຬை࣌ࠁ ɹᶆຬை࣌ͷߴ͞ ɹᶇׯை࣌ࠁ ɹᶈׯை࣌ͷߴ͞

Slide 58

Slide 58 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ ɹᶃ೔෇ͱ༵೔ ɹᶄைͷঢ়ଶ ɹᶅຬை࣌ࠁ ɹᶆຬை࣌ͷߴ͞ ɹᶇׯை࣌ࠁ ɹᶈׯை࣌ͷߴ͞ ɹᶉைׯङ࠷ద౓

Slide 59

Slide 59 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ ɹᶃ೔෇ͱ༵೔ ɹᶄைͷঢ়ଶ ɹᶅຬை࣌ࠁ ɹᶆຬை࣌ͷߴ͞ ɹᶇׯை࣌ࠁ ɹᶈׯை࣌ͷߴ͞ ɹᶉைׯङ࠷ద౓ ɹᶊ೔ग़೔ೖ

Slide 60

Slide 60 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ ɹᶃ೔෇ͱ༵೔ ɹᶄைͷঢ়ଶ ɹᶅຬை࣌ࠁ ɹᶆຬை࣌ͷߴ͞ ɹᶇׯை࣌ࠁ ɹᶈׯை࣌ͷߴ͞ ɹᶉைׯङ࠷ద౓ ɹᶊ೔ग़೔ೖ ɹᶋ݄ग़݄ೖ

Slide 61

Slide 61 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ ɹᶃ೔෇ͱ༵೔ ɹᶄைͷঢ়ଶ ɹᶅຬை࣌ࠁ ɹᶆຬை࣌ͷߴ͞ ɹᶇׯை࣌ࠁ ɹᶈׯை࣌ͷߴ͞ ɹᶉைׯङ࠷ద౓ ɹᶊ೔ग़೔ೖ ɹᶋ݄ग़݄ೖ ɹᶌ݄ྸ

Slide 62

Slide 62 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ https://nokogiri.org/ Nokogiri (ڒ) ͱ͍͏ϞδϡʔϧͰHTMLղੳ

Slide 63

Slide 63 text

63 29೔ͷຬை࣌ࠁͱׯை࣌ࠁΛऔಘ͍ͨ͠ʂ

Slide 64

Slide 64 text

64 औಘ͍ͨ͠೔෇Λࢦఆ 29೔ͷຬை࣌ࠁͱׯை࣌ࠁΛऔಘ͍ͨ͠ʂ

Slide 65

Slide 65 text

65 औಘ͍ͨ͠೔෇Λࢦఆ nokogiri Ͱύʔε 29೔ͷຬை࣌ࠁͱׯை࣌ࠁΛऔಘ͍ͨ͠ʂ

Slide 66

Slide 66 text

66 औಘ͍ͨ͠೔෇Λࢦఆ nokogiri Ͱύʔε ೔෇ͱ༵೔Λऔಘ 29೔ͷຬை࣌ࠁͱׯை࣌ࠁΛऔಘ͍ͨ͠ʂ

Slide 67

Slide 67 text

67 औಘ͍ͨ͠೔෇Λࢦఆ nokogiri Ͱύʔε ೔෇ͱ༵೔Λऔಘ 29೔ͷຬை࣌ࠁͱׯை࣌ࠁΛऔಘ͍ͨ͠ʂ ຬை࣌ࠁΛऔಘ

Slide 68

Slide 68 text

68 औಘ͍ͨ͠೔෇Λࢦఆ nokogiri Ͱύʔε ೔෇ͱ༵೔Λऔಘ 29೔ͷຬை࣌ࠁͱׯை࣌ࠁΛऔಘ͍ͨ͠ʂ ຬை࣌ࠁΛऔಘ ׯை࣌ࠁΛऔಘ

Slide 69

Slide 69 text

69 औಘ͍ͨ͠೔෇Λࢦఆ nokogiri Ͱύʔε ೔෇ͱ༵೔Λऔಘ 29೔ͷຬை࣌ࠁͱׯை࣌ࠁΛऔಘ͍ͨ͠ʂ ຬை࣌ࠁΛऔಘ ׯை࣌ࠁΛऔಘ ݁ՌΛϋογϡʹ֨ೲ

Slide 70

Slide 70 text

ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά HTTPϨεϙϯεΛղੳ͢Δ͚ͩͷ؆୯ͳ͓࢓ࣄ 70 [࣮ߦͨ݁͠Ռ] ཉ͍͠σʔλ͕ ͪΌΜͱऔಘͰ͖ͯΔʂ

Slide 71

Slide 71 text

71 ϦϑΝΫλϦϯάʂʂ

Slide 72

Slide 72 text

72 htmlऔಘ෦෼Λϝιου੾Γग़͠ ύʔε෦෼Λϝιου੾Γग़͠ ϦϑΝΫλϦϯάʂʂ

Slide 73

Slide 73 text

RubyͰυΩυΩ💓WebεΫϨΠϐϯά ᶃWebεΫϨΠϐϯάͱ͸ʁ ᶄWebεΫϨΠϐϯάͷϚφʔ ᶅWebεΫϨΠϐϯάͷ೉қ౓ ᶆ೉қ౓͝ͱʹબͿϞδϡʔϧ ᶇεςʔτϨεͳϖʔδΛWebεΫϨΠϐϯά ໨࣍ 73

Slide 74

Slide 74 text

RubyͰυΩυΩ💓WebεΫϨΠϐϯά RubyʹΑΔΫϩʔϥʔ։ൃٕ๏ ϓϩΛ໨ࢦ͢ਓͷͨΊͷRubyೖ໳ ͔Ͷͧ͏RubyʮεΫϨΠϐϯάνϡʔτϦΞϧʯ(https://scr-labo.com/archives/183) ைMieYellʢ͓͠ΈΤʔϧʣ(http://sio.mieyell.jp/) ؾ৅ிϗʔϜϖʔδ(https://www.data.jma.go.jp/gmd/kaiyou/db/tide/suisan/) tide736.net (https://tide736.net/) ࢀߟจݙ,URL 74

Slide 75

Slide 75 text

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