Slide 1

Slide 1 text

/&5Ͱͷ։ൃ͕த৺͚ͩͬͨͲ ຊ֨తʹ+BWB࢝ΊͯΈͨ  !TZVLBJ

Slide 2

Slide 2 text

ࠓ೔ͷ࿩ w 4QSJOH#PPUʹࢸΔ·Ͱͷ࿩ w 4QSJOHͱ4QSJOH#PPU w ࢖͍࢝Ίͯࠔͬͨ͜ͱ

Slide 3

Slide 3 text

ࣗݾ঺հ w !TZVLBJ࢛ق༇շ w ϓϩάϥϚࡀʢେֶ೥ͰϓϩάϥϜ࢝ΊͨͷͰʣ w େࡕͷதখن໛4*FSͰओʹ8FC։ൃʹؔΘΔ࢓ࣄʹैࣄ
 ʢؔΘΔۀ຿ʹاըɺཁ݅ఆٛɺઃܭɺ։ൃʜʣ w ࠷ॳͷݴޠ͸$ w +BWBྺ͸೥ʁ೥ʁ೥ʁ w େࡕੜ·Εେࡕҭ͕ͪͩͨ·ʹؔ੢ห͕ෆࣗવ

Slide 4

Slide 4 text

+BWBҎલ w 7#ɺ7#/&5ɺ$ͰͷΫϥΠΞϯταʔόʔܕ ͷۀ຿γεςϜ w ΫϥγοΫ"41ͷ7#TDSJQU࢓ཱͯ w "41/&5

Slide 5

Slide 5 text

ຊ֨త͡Όͳ͍+BWBظ w 4FBTBSɺTUSVUTϕʔε'8Ͱͷ։ൃ w վ଄΍ΧελϚΠζ
 ए͘͠͸؀ڥ͸࡞ͬͯ΋Βͬͯͨɻ w جຊతͳจ๏΍8FCͷ࢓૊Έ͑͞Θ͔ͬͯΕ͹
 ੜ͖͍͚ͯͨ w ݴޠػೳ͸ׂΓͱ$ͱࣅͯΔ
 ૯শܕɺ-JO2ɾTUSFBNɺಗ໊Ϋϥεɾϝιουɺ
 ܕਪ࿦ɺϥϜμࣜɾɾɾ

Slide 6

Slide 6 text

ຊ֨త+BWBظ w TUSVUTͷ։ൃऴྃͳͲͰख࣋ͪͷ'8͕ແ͍ɻ w ·ͣ'8બͿͱ͜Ζ͔Β࢝ΊΔ͜ͱʹɻ

Slide 7

Slide 7 text

นͦͷ̍ '8બͿ͜ͱͳΜͯͳ͔ͬͨɻ

Slide 8

Slide 8 text

w 7JTVBM4UVEJP༷ʹԿΛ͍͔ͨ͠ਃࠂ͢Ε͹ͦΕͰ Α͔ͬͨɻ
 8JOEPXTΞϓϦ ⇛ɹ8JOEPXT'PSN
 8FCΞϓϦ    ⇛ɹ8FC'PSN w ͍͍ͤͥாථɺάϦουɺ%#ؔ࿈ΛબͿ͘Β͍ w 81'ͱ͔.7$ͱ͔΋͋Δ͚Ͳɺ໨త΋ੑ֨΋͸ͬ ͖Γҧ͏ͷͰ೰Ή͜ͱ͸΄΅ͳ͍

Slide 9

Slide 9 text

ηΩϡϦςΟϑ ϨʔϜϫʔΫ .7$ϑϨʔϜϫʔΫ %*ίϯςφϑϨʔϜϫʔΫ นͦͷ̎ w ΋͏ϑϨʔϜϫʔΫͬͯݴ༿͕Կͳͷ͔Θ͔Βͳ͍ 03.ϑϨʔϜϫʔΫ +%#$ϑϨʔϜϫʔΫ

Slide 10

Slide 10 text

/&5ͰʮϑϨʔϜϫʔΫʯͱ͍͑͹
 ͍Θͣͱ͠Εͨ
 /&5'SBNFXPSL
 
 ⇛ڞ௨ϥΠϒϥϦɺ࣮ߦ؀ڥɺ࣮૷ํࣜͳͲ
 ɹશͯΛ࢘Δ

Slide 11

Slide 11 text

Ұਆڭͷੈք͔Βଟਆڭͷੈք΁

Slide 12

Slide 12 text

'8બͿʹ͋ͨͬͯؾʹͳΔ͜ͱ w ࢖͍΍͢͞ w ཁ݅ΛຬͨͤΔ͔ w কདྷతͳ֦ுੑ͸ʁ w ʢ೔ຊޠͷʣ৘ใ͸Ͳͷఔ౓खʹೖΔ͔ʁ w ֶशίετ w ̑೥ޙ΋࢖͑Δ'8͔ʁ

Slide 13

Slide 13 text

೥຤ࠒͷओͳબ୒ࢶ w +BWB&& w 4QSJOH#PPU w 1MBZ'SBNFXPSL
 w ࢀߟ
 !*5ͭͷϑϨʔϜϫʔΫͰֶͿΤϯλʔϓϥΠζ+BWB։ൃೖ໳
 IUUQXXXBUNBSLJUDPKQBJUBSUJDMFTOFXTIUNM

Slide 14

Slide 14 text

+BWB&& w ʮ+BWBͷΤϯλʔϓϥΠζ޲͚ඪ४࢓༷ͰͦΕΛ࣮ ૷ͨ͠΋ͷɻ8FC'8ʹݶΒͳ͍޿ൣғΛΧόʔ͠ ͓ͯΓɺ+BWB&&ΞϓϦΛ࣮ߦ͢ΔͨΊʹ͸ (MBTT'JTI΍8JME'MZ͕ඞཁͰʯɾɾɾͬͯͪΐͬ ͱ଴ͬͯ5PNDBU͡Όͳ͍ͷʁ

Slide 15

Slide 15 text

ύε

Slide 16

Slide 16 text

w +BWB͸ͳͷʹ&&͸ʁͳΜͱͳ͘ҧ࿨ײ w +BWBͬͯ༥௨͕ฉ͔ͳ͍ʢݸਓͷײ૝Ͱ͢ʣ
 ͦͷඪ४࢓༷͚ͬͯͩͰ໘౗ͦ͘͞͏ʢݸਓͷײ૝Ͱ͢ʣ w 8FCαʔόʔ͕༗ྉͷ΋ͷͰͳ͍ͱ࢖͑ͳ͍ͱͳͬ ͨͱ͖ʹ༧ࢉ͕ͳ͔ͬͨɻ
 5PNDBU͕࢖͑Δͷ͕ίετ໘ɾ஌ࣝ໘Ͱ҆৺ɻ

Slide 17

Slide 17 text

4QSJOH w ݁ߏલ͔Β͋Δ'8͚ͩͲ࠷ۙ4QSJOH#PPUͬͯͷ ͕Ͱ͖͍͍ͯײ͡Β͍͠ɻ w +BWBͰ࠷΋੒ޭͯ͠Δ'8ͱ͍͑ΔɺΒ͍͠ɻ w ʮ࠷৽ٕज़ʹ΋ૉૣ͘௥ै͓ͯ͠Γɺ͞·͟·ͳγ εςϜͰ׆༻Ͱ͖·͢ʯʢ͖ͬ͞ͷ!*5ͷهࣄʣ

Slide 18

Slide 18 text

ྑͦ͞͏͚ͩͲ ͔͔ͤͬͩ͘Β ৽͍͠'8ͷ΄͏͕͍͍͔ʁ

Slide 19

Slide 19 text

1MBZ'SBNFXPSL w +BWB&&ͷඪ४ʹ४ڌ͍ͯ͠ͳ͍ɻ w 8FCʹಛԽͨ͠ಠࣗͷ"1*ͱ։ൃ؀ڥ w ൺֱతߏ੒͕γϯϓϧ w 3BJMTͳͲͷಛ௕ΛऔΓೖΕͯ։ൃޮ཰ͱੜ࢈ੑΛ ߴΊ͍ͯΔ

Slide 20

Slide 20 text

ͳΜ͔໘നͦ͏ͳͷͰͦΕͰ

Slide 21

Slide 21 text

৘ใऩू w ެࣜͷಈըΈͨΓ w ຊړͬͨΓʢδϡϯΫಊ͋Γ͕ͱ͏ʣ w ૉৼΓͨ͠Γ w άάͬͨΓ w άάͬͨΓ w άάΓ·ͬͨ͘Γɾɾɾ

Slide 22

Slide 22 text

w ࠷ऴతʹ͸1MBZ'SBNFXPSLͷϢʔβʔձͰ૬ஊ
 
 ˠ݁Ռతʹ4QSJOHΛקΊΒΕΔ

Slide 23

Slide 23 text

Α͠ɺ4QSJOH#PPUɺ܅ʹܾΊͨʂ ࠷ॳ͔ΒͦΕ͕͍͍ͱࢥͬͯͨΑʂ

Slide 24

Slide 24 text

݁ہͲ͏΍ܾͬͯΊΔͷ͔ w ༗ࣝऀʹฉ͚ΔͳΒӽͨ͜͠ͱ͸ͳ͍ w ͕࣌ؒ५୔ʹ͋ΔͳΒ͋Δఔ౓ௐ΂࣮ͯࡍʹ৮Δ
 Ϡόͦ͏ͳͱ͜·Ͱ࣮૷Ͱ͖Ε͹٢

Slide 25

Slide 25 text

w Ͱ͖Δֶ͚ͩशίετ͕௿͘ͳΔΑ͏ʹ
 ʢࢲͷ৔߹͸ϛυϧ΢ΣΞ͸ආ͚ͨʣ w ௐ΂ΒΕΔݶΓ͸ௐ΂Δ w ٕज़ॻ͕๛෋Ͱ࣮ࡍʹݟΕΔຊ԰͸͋Γ͕͍ͨʂ
 ʢങ͏ͱ͖͸ͦ͏͍͏ͱ͜Ͱങ͏ʂʣ w ຊΛݟΔ࣌͸લॻ͖ɺংஈɺ໨࣍

Slide 26

Slide 26 text

w ΞϐʔϧϙΠϯτͷ৘ใ͸खʹೖΓ΍͍͢ w ࠔͬͨɺ͏·͍͔͘ͳ͍৘ใ͸ͳ͔ͳ͔ແ͍
 ʮ͜͏͍͏έʔε͸΍Ίͱ͍ͨํ͕͍͍Αʯ w ༗ࣝऀ͕͍ͳ͍ͳΒ͍Δͱ͜Ζʹߦ͚͹͍͍ʂ
 ɹษڧձʹࢀՃʂ
 ɹίϛϡχςΟʹࢀՃʂ
 ɹ4/4Ͱ΋ɾɾɾʁ

Slide 27

Slide 27 text

'8બͿʹ͋ͨͬͯؾʹͳΔ͜ͱ w ࢖͍΍͢͞ w ཁ݅ΛຬͨͤΔ͔ w কདྷతͳ֦ுੑ͸ʁ w ʢ೔ຊޠͷʣ৘ใ͸Ͳͷఔ౓खʹೖΔ͔ʁ w ֶशίετ w ̑೥ޙ΋࢖͑Δ'8͔ʁ

Slide 28

Slide 28 text

ਖ਼௚Θ͔Βͳ͍ w Ͱ΋ɺࣗ෼͕ؔΘ͍ͬͯ͘͜ͱ͸Ͱ͖Δɻ w ϓϧϦΫ্͛Δ w ৘ใൃ৴ʢษڧձɺ2JJUBɺ5XJUUFSʣ
 ࢖ͬͯΔਓ͕ଟ͍ͱ࢖ΘΕΔɺϝϯς͞ΕΔ w ษڧձʹࢀՃ͢Δ
 ੝Γ্͕Γʹߩݙ

Slide 29

Slide 29 text

͓·͚ w (PPHMFτϨϯυͰݕࡧͯ͠Έͨ

Slide 30

Slide 30 text

4QSJOHͱ
 4QSJOH#PPU

Slide 31

Slide 31 text

4QSJOHͬͯԿʁ w ਖ਼௚౴͑ΒΕͳ͍ɾɾɾ

Slide 32

Slide 32 text

๛෋ͳ4QSJOH1SPKFDU

Slide 33

Slide 33 text

͍͟࢖͏ͱͳΔͱ৭ʑେม

Slide 34

Slide 34 text

4QSJOH#PPU w 4QSJOH#PPUࣗମ͸ػೳΛఏڙ͠ͳ͍ w ͬ͘͟Γ͍͏ͱ4QSJOHΛ࢖͍΍͘͢͢Δ΋ͷ w ॳظઃఆͷࣗಈԽʢӅṭʣ
 ʢ4QSJOH.7$ɺ5PNDBUɺ#FBOఆٛʣ w ґଘϥΠϒϥϦΛ·ͱΊͯ͘Ε͍ͯΔ w ௒ָνϯʂ

Slide 35

Slide 35 text

4QSJOH*OJUJBMJ[S w ࢖͍͍ͨ΋ͷΛબ΂͹QPNYNMΛ࡞ͬͯ͘ΕΔ
 ⇛ޙ͸.BWFO͕KBSϑΝΠϧΛऩूͯ͘͠ΕΔ w ΍Γ͍ͨ͜ͱͰ੔ཧ͞ΕͯΔͷͰ୳͠΍͍͢ w .BWFOॳΊͯͰ΋ࣗવͱ࢖͑Δ w ௒ָνϯʂ

Slide 36

Slide 36 text

454 4QSJOH5PPM4VJUF w &DMJQTFϕʔεͷ*%& w ࢖͍উख͸&DMJQTFͦͷ΋ͷ w 1MFJBEFTͰ೔ຊޠԽՄೳ w 4QSJOH*OJUJBMJ[S΍.BWFO͕૊Έࠐ·ΕͯΔ w ௒ָνϯʂ

Slide 37

Slide 37 text

Ұ௨ΓἧͬͯΔ΋ͷ͕͙͢༻ҙͰ͖Δ w શ͕ͯ࠷దͰ͸ͳ͍͔΋͠Εͳ͍͚Ͳɺ
 ׬੒ंͷঢ়ଶΛ༻ҙͯ͠΋Β͑Δɻ
 ⇛ޙ͔ΒؾʹͳΔ෦඼͚ͩऔΓସ͑Ε͹͍͍ w θϩ͔Β࠷దͳ෦඼Λ̍ͭͣͭબΜͰ͍͘
 ⇛૊Έ߹Θͤͯ͏·͘ಈ͔͘Θ͔Βͳ͍
 ෦඼͕଍ΓͯΔ͔΋Θ͔Βͳ͍ w ͙͢ʹίʔυΛॻ͖࢝ΊΒΕΔ

Slide 38

Slide 38 text

4QSJOH.7$ w 4QSJOHͷ8FCϑϨʔϜϫʔΫ w $POUSPMMFS΋.PEFM΋10+0Ͱ࣮૷Ͱ͖Δ w 8FCը໘΋"1*΋ΠέΔ

Slide 39

Slide 39 text

.7$ͷ$POUSPMMFS @Controller @RequestMapping("thyme") public class SampleController { @RequestMapping("demo") public String index(Model model){ model.addAttribute("livetext", "͞Μ΀Δ͜ʙͲ"); // classpath:/templates/ + + .html return "tdemo"; } }

Slide 40

Slide 40 text

5IZNFMFBG w ςϯϓϨʔτΤϯδϯ 4QSJOH͡Όͳͯ͘΋࢖͑Δ  w φνϡϥϧςϯϓϨʔτͳͷͰͦͷ··)5.-ͱͯ͠ݟΕΔ w +41ͱ͸ͳΜͩͬͨͷ͔ w ֮͑Δ͜ͱ͕ͱͯ΋গͳ͍ w UIUFYU͠ͱ͚͹αχλΠζ͞ΕΔ 944ରࡦ  w +BWBͷϩδοΫ͕ೖΓࠐΉ༨஍͕ͳ͍

Slide 41

Slide 41 text

5IZNFMFBGͷIUNM livetext

Slide 42

Slide 42 text

.7$ͷ3FTU$POUSPMMFS @RestController @RequestMapping("rest") public class SampleRestConotroller { @RequestMapping("demo") public String index(){ return "Rest Demo Complete!"; } }

Slide 43

Slide 43 text

4QSJOH4FDVSJUZ w ηΩϡϦςΟपΓͷॾʑ w ϩάΠϯॲཧɺνΣοΫͳΜ͔͸͓·͔ͤ w P"VUI͍͚ͩͬͯͪΌ͏ w $43'ରࡦ΋͹ͬͪΓ w ͱͬͯ΋ଟػೳ

Slide 44

Slide 44 text

4QSJOH4FTTJPO w ηογϣϯ৘ใΛ֎෦ʹ࣋ͨͤΔ w ̎୆Ҏ্ͷ"1αʔόΛಉظͤ͞Δͷʹ࢖͏ w 4QSJOH%BUB3FEJTͱ߹Θͤͯ࢖͑͹"84Ͱͷ֎ ෦ΩϟογϡԽ &MBTUJ$BDIF ΋ָউ

Slide 45

Slide 45 text

w ͸͡Ίͯͷ4QSJOH#PPUಡΊ͹
 ͱΓ͋͑ͣͳΜͱ͔ͳΔɻ
 
 


Slide 46

Slide 46 text

4QSJOHͰࠔͬͨ͜ͱ

Slide 47

Slide 47 text

ͦ΋ͦ΋4QSJOHΘ͔ͬͯͳ͍ w ίΞ͸%*ίϯςφ w %*ίϯςφ͕Կͯ͠Δͷ͔ɺ
 #FBOͬͯԿͳͷ͔͕ཧղͰ͖͔ͯΒ
 ͍ͩͿΘ͔ΔΑ͏ʹͳ͖ͬͯͨɻ w ଟా͞Μͷ
 ʮ4QSJOHGPS4QSJOH#PPUʯ
 IUUQTTQFBLFSEFDLDPNNBTBUPTIJUBEB TQSJOHGPSTQSJOHCPPU

Slide 48

Slide 48 text

.BWFO͕Α͘Θ͔Βͳ͍ w QPNͷهड़ํ๏͸άάͬͯͳΜͱ͔͢Δ w KBSXBS΋454Ͱ಺ଂ.BWFO࢖͑͹࡞ΕΔ͕
 ʮΰʔϧʯͷҙຯ͕Θ͔ΒΜ͔ͬͨ
 ⇛ʮDMFBOQBDLBHFʯͱ͔ॻ͚͹0, w .BWFO$FOUSBMҎ֎ͷಠࣗϦϙδτϦΛ࡞ͬͯΞ Ϋηε͢Δ͜ͱ΋Մೳ

Slide 49

Slide 49 text

ઃఆͷॻ͖ํͷҧ͍ w 4QSJOH#PPUͩͱ$POpHΫϥεʹίʔυॻ͘ w ΍Γ͍ͨ͜ͱΛάάͬͨΒYNMͷهड़ํ๏͔͠ग़ͯ ͜ͳ͔ͬͨΓ
 ⇛ؤுͬͯ׳ΕΔɻ
 ɹࠓͩͱ#PPUͷهࣄ΋͔ͳΓଟ͍͚Ͳɻ

Slide 50

Slide 50 text

นͦͷ̏ ެࣜυΩϡϝϯτ

Slide 51

Slide 51 text

w ͳΜ͔ͩΜͩͰϚΠΫϩιϑτ੡඼͸
 ೔ຊޠυΩϡϝϯτ͕༻ҙ͞ΕΔɻ w *%&͔ΒυΩϡϝϯτ΁ͷಋઢ͕͹ͬͪΓ
 ʢ'ԡͤ͹͙͢υΩϡϝϯτʣ w ׂΓͱຬͨ͞ΕͯΔͷͰίϛϡχςΟ׆ಈ͸ൺֱత׆ൃ Ͱͳ͍͔΋ʁ w ͔࣍Β࣍ʹ৽͍͠΋ͷ͕ग़ͯ͘Δͱ͍͏ΑΓ͸ఆظత ʹ·ͱΊͯ࡮৽͞ΕΔʢͯͨʣ
 ͦͷλΠϛϯάͰ৘ใ͕υόͬͱग़Δ

Slide 52

Slide 52 text

นͦͷ̐ ೔ຊޠʢͱ͍͏͔ϚϧνόΠτจࣈʣͷน

Slide 53

Slide 53 text

w /&5ͱͦͷपล੡඼ʹൺ΂ͯʮ೔ຊޠͩͱ͏·͘ ͍͔ͳ͍ʢۤ࿑͢Δʣʯ཰͕ߴ͍ʢͱࢥ͏ʣ w ʢ4QSJOHʹݶΒͳ͍͕ʣ

Slide 54

Slide 54 text

γϯάϧαΠϯΦϯ 440 w -JOVY্ͷ8FCΞϓϦʹ8JOEPXTΫϥΠΞϯτ͔ ΒΞΫηε w ࣾ಺ͷ"DUJWF%JSFDUPSZೝূࡁΈͳΒϩάΠϯෆཁ

Slide 55

Slide 55 text

w ਖ਼௚Ұ൪ਏ͔ͬͨͷ͸؀ڥपΓʢಛʹ-JOVYʣ w 440༻63-Λ4QSJOH4FDVSJUZͷྫ֎ʹɻ w 440༻63-Ͱ3FNPUF6TFSΛݕূɻ
 0,ͳΒ4QSJOH4FDVSJUZͷೝূΛखಈͰ࣮ߦɻ
 /(ͳΒϩάΠϯը໘ʹϦμΠϨΫτɻ ϝχϡʔɾۀ຿ը໘ ࣗಈೝূ༻63- ϩάΠϯը໘

Slide 56

Slide 56 text

.VMUJ%BUBTPVSDF w ϢʔβʔʹΑͬͯܨ͙σʔλϕʔεΛม͑Δ w σʔλιʔε͍ͬͺ͍༻ҙͯ͠ w "CTUSBDU3PVUJOH%BUB4PVSDFͰ؅ཧͯ͠ w ηογϣϯม਺ͱ͔ʹܨ͗ઌ৘ใ࣋ͨͤͯ w *OUFSDFQUPSͱ͔'JMUFS "01 ͱ͔Ͱ੾Γସ͑Δ

Slide 57

Slide 57 text

w 2JJUBʹهࣄॻ͍ͨͷͰৄࡉ͸ͪ͜ΒͰɻ
 IUUQRJJUBDPNTZVLBJJUFNT ECGGGFGDEE w 4QSJOH$MPVE$POpHʹ͍ͨ͠ͳ͋ɻɻɻ

Slide 58

Slide 58 text

4QSJOHʹͯ͠Α͔ͬͨ͜ͱ

Slide 59

Slide 59 text

w .BWFO࢖͑ΔΑ͏ʹͳͬͨʢڧ੍తʹʣ w 5IZNFMFBG͕͍͍ʂ w ػೳ͕ଟ͍͠ջਂ͍ͷͰ͍͍ͩͨͳΜͱ͔ͳΔ w ઃఆϑΝΠϧ͕গͳ͘ιʔε͔Β৘ใ͕ಡΈऔΕΔ w ϝϯόʔͷ؀ڥͮ͘Γָ͕νϯʂ
 ʮKBSϑΝΠϧͲ͜ʔʯʮKBSͷόʔδϣϯ͕ʔʯ
 ʮϏϧυύε͕ʔʯͱ͔ແ͍ʂ
 ⇛+%,ͱ454ͱ(JU͘Β͍ɻ w ઃఆϑΝΠϧյ͠߹͏͜ͱ͕ແ͍

Slide 60

Slide 60 text

·ͱΊ w /&5ͳਓ͸ҟจԽཧղ͔Βɻ w ݁ՌతʹબΜͰͱͯ΋Α͔ͬͨʂʢখฒײʣ w ʮͱΓ͋͑ͣ͸͡ΊΔʯͷ͸͍͍͚Ͳɺ4QSJOHͷ جૅ΋ͪΌΜͱ֮͑Α͏ɻ w ޷͖ͳϑϨʔϜϫʔΫʹʮࢀՃ͢Δʯ

Slide 61

Slide 61 text

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