Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

໦ଜ఩࿕ ϑϩϯτΤϯυΤϯδχΞ ޷͖ͳ"EPCF ٶా༏ر σβΠφʔ ޷͖ͳ"EPCF

Slide 3

Slide 3 text

׬શʹҰக 1IPUPTIPQ4LFUDI ฐࣾϩΰ

Slide 4

Slide 4 text

͛͢ʔී௨ͷ࿩Λ͠·͢ɻ

Slide 5

Slide 5 text

͓͓·͔ͳશମ૾

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

IUUQTNBYKBQBOBEPCFDPN

Slide 8

Slide 8 text

ཁ݅ w ηογϣϯΛҰཡ͢Δ w ొஃऀΛҰཡ͢Δ w ηογϣϯɾొஃऀ͝ͱʹ
 ݸผͷϖʔδΛઃ͚Δ w ৘ใ؅ཧͷ؆ུԽ w ී௨ͷϨϯλϧαʔόʔʹϗεςΟϯά

Slide 9

Slide 9 text

5IFී௨

Slide 10

Slide 10 text

ηογϣϯ৘ใ w࣌ؒͱ৔ॴ wδϟϯϧͱ࢖༻ΞϓϦ wλΠτϧ wొஃऀʢৄࡉϖʔδ΁ϦϯΫʣ w֓ཁɾର৅ऀɾϨϕϧ wਃ͠ࠐΈϖʔδ΁ͷϦϯΫʢϘπʣ ηογϣϯ਺ɿ݅ τοϓϖʔδͷҰཡʹ΋ܝࡌ

Slide 11

Slide 11 text

ొஃऀ৘ใ wϓϩϑΟʔϧࣸਅ w໊લͱݞॻ͖ w঺հจ w୲౰ηογϣϯʢৄࡉϖʔδ΁ϦϯΫʣ ొஃऀ਺ɿ໊ τοϓϖʔδͷҰཡʹ΋ܝࡌ

Slide 12

Slide 12 text

؆қαΠτϚοϓ

Slide 13

Slide 13 text

ಉ͡৘ใΛ܁Γฦ͠༻͍Δ

Slide 14

Slide 14 text

৘ใ؅ཧͷ؆ུԽͱσʔλιʔεͷ౷߹

Slide 15

Slide 15 text

৘ใ؅ཧͷ؆ུԽͱσʔλιʔεͷ౷߹ w ৘ใΛ+40/Խ͢Δ͜ͱͰ࠶ར༻͍ͨ͠ w εϓϨουγʔτͳΒʜ w ୭Ͱ΋ɾ͍ͭͰ΋ɾͲ͜Ͱ΋
 ৘ใΛ؆୯ʹฤूͰ͖Δ w "QQT4DSJQUΛ༻͍ͯσʔλΛ+40/ԽͰ͖Δ

Slide 16

Slide 16 text

ओͨΔγʔτ͸ͭ TFTTJPOTશηογϣϯͷ৘ใ TQFBLFSTશొஃऀͷ৘ใ TMPUT։࠵࿮ͷϚελʔ BQQT࢖༻ΞϓϦέʔγϣϯͷϚελʔ

Slide 17

Slide 17 text

{ "id": 41, "name": "Adobe Fonts" } "QQT4DSJQUͰ+40/ʹՃ޻ { "id": 2298, "title": "WebϑΥϯτΛ120%ʙ", "slot": 4, "place": "Magenta (Annex)", "type": "Session", "category": "web", "summary": "ଟ࠼ͳॻମΛWeb্Ͱʙ", "levels": [ false, true, false ], "price": 0, "isFullBooked": false, "speakers": [ 31 ], "targets": "WebσβΠφʔɺUI/UXσβΠφʔ", "apps": [ 11, 41 ] } TFTTJPOT<> { "id": 31, "name": "দా ௚थ ࢯ", "kana": "·ͭͩ", "image": "ʙ.jpg", "company": "גࣜձࣾ·΅Ζ͠", "class": "CCOɾσβΠφʔ", "summary": "

ήʔϜۀքʹͯʙ

" } TQFBLFST<> { "id": 4, "day": 1, "name": "Breakout sessions + Workshop", "from": "16:25", "to": "17:15" } TMPUT<> BQQT<>

Slide 18

Slide 18 text

σʔλ͸༻ҙͰ͖ͨ
 ͋ͱ͸Ͳ͏΍ͬͯྲྀ͠ࠐΉ͔

Slide 19

Slide 19 text

ํ๏͸৭ʑ 1VH <%= EJS %> ςϯϓϨʔτΤϯδϯ ελςΟοΫαΠτδΣωϨʔλʔ /VYU 41"ϑϨʔϜϫʔΫʁ

Slide 20

Slide 20 text

ελςΟοΫαΠτδΣωϨʔλʔ 1VH <%= EJS %> ςϯϓϨʔτΤϯδϯ )5.-ઐ໳ͷํʑ ελςΟοΫαΠτδΣωϨʔλʔ /VYU 41"ϑϨʔϜϫʔΫʁ

Slide 21

Slide 21 text

ελςΟοΫαΠτδΣωϨʔλʔ ޷͖ͳਓ͸޷͖ͳ΍ʙͭ 1VH <%= EJS %> ςϯϓϨʔτΤϯδϯ ελςΟοΫαΠτδΣωϨʔλʔ /VYU 41"ϑϨʔϜϫʔΫʁ

Slide 22

Slide 22 text

/VYU ͑ɺ41"ϑϨʔϜϫʔΫʁ 1VH <%= EJS %> ςϯϓϨʔτΤϯδϯ ελςΟοΫαΠτδΣωϨʔλʔ

Slide 23

Slide 23 text

վΊ·ͯ͠/VYUͱ͸ ɾ 7VFKTΛ֦ுͨ͠ϑϨʔϜϫʔΫ ɾ XFCQBDL #BCFM ɾ 41"࡞ͬͨΓɺ 443ͤͨ͞Γ ɾ࣮͸ ੩తαΠτ΋࡞ΕΔ IUUQTOVYUKTPSH

Slide 24

Slide 24 text

ςϯϓϨʔτ͸୭Ͱ΋ॻ͚Δ

༗ྉ {{ price | commaSeparatedNumbers }}ԁ

Slide 25

Slide 25 text

ίϯϙʔωϯτͷ࠶ར༻͕Մೳ ࢀՃऀϩάΠϯ ࢹௌొ࿥

Slide 26

Slide 26 text

؀ڥߏஙʹ೰·ͳ͍ ɾXFCQBDLͰ ׬݁(VMQ ෆཁ ɾ+4͸ &4Ͱॻ͚Δ ɾελΠϧ͸ MFTT4BTT4UZMVTͰॻ͚Δ ɾ ϛχϑΝΠɾ ίʔυ෼ׂ΋͹ͬͪΓ ɾը૾Λ #BTFͰΤϯίʔυͯ͘͠ΕΔ ɾ ϧʔςΟϯά͸ϑΝΠϧΛஔ͚ͩ͘

Slide 27

Slide 27 text

੩తαΠτੜ੒ίϚϯυ nuxt generate

Slide 28

Slide 28 text

ϧʔτ͝ͱʹ)5.-Λग़ྗ \^ +40/ ϧʔςΟϯά ■ /pages ├┬ /index ││ │├┬ /sessions ││└─ _id.vue ││ │└┬ /speakers │ └─ _id.vue │ └ index.vue )5.-ग़ྗ ■ /dist ├┬ /sessions │├┬ /2272 ││└─ index.html │├┬ /2273 ││└─ index.html │└┬ /2274 │ └─ index.html ├┬ /speakers │├┬ /0 ││└─ index.html │├┬ /1 ││└─ index.html │└┬ /2 │ └─ index.html └ index.html ಈతϧʔτͷҾ͖౰ͯ // nuxt.config.js module.exports = { generate: { routes() { return fetchMasterData() .then(({ sessions, speakers }) => { const map = (dir, id) => `${dir}/${id}` return sessions .map(({ id }) => map('/sessions', id)) .concat( speakers .map(({ id }) => map('/speakers', id)) ) }) } } }

Slide 29

Slide 29 text

αʔόʔΛબ͹ͳ͍ ɾશϖʔδ෼ͷ
 )5.- ϑΝΠϧ͕ ࣮ࡏ͢Δ ɾ41"΍443ʹඞཁͳ
 όοΫΤϯυ࣮૷͕ ෆཁ ɾͲΜͳ΢Σϒαʔόʔʹ΋ஔ͚Δ

Slide 30

Slide 30 text

·ͱΊ ɾ৘ใ͸ εϓϨουγʔτͰҰݩ؅ཧ ɾεϓϨουγʔτͷσʔλ͸
 "QQT4DSJQUͰ +40/Խ ɾίʔυ͸ &4ͱ 4$44Ͱॻ͘ ɾͰ΋ ։ൃ؀ڥߏங͸ αϘΔ ɾશϖʔδΛ ੩తʹ഑ஔ͢Δ

Slide 31

Slide 31 text

ී௨ͷ͜ͱΛී௨ʹ͢ΔͨΊͷ/VYU ɾ +40/͔Β ϖʔδΛ ੜ੒Ͱ͖Δ ɾςϯϓϨʔτ͸ ୭Ͱ΋ॻ͚Δ ɾίϯϙʔωϯτͷ ࠶ར༻͕ Մೳ ɾ౰ͨΓલͷ ։ൃ؀ڥ͕ఏڙ͞ΕΔ ɾnuxt generate ίϚϯυͰ
 ੩తʹϑΝΠϧ͕ग़ྗ͞ΕΔ

Slide 32

Slide 32 text

/VYU ී௨

Slide 33

Slide 33 text

ٻਓͷ͓஌Βͤ ɾΤϯδχΞ ɾσΟϨΫλʔ ɾϚʔέλʔ ී௨ΛΞοϓσʔτͰ͖Δํɺ Ұॹʹಇ͖·ͤΜ͔ʁ IUUQTXXXXBOUFEMZDPNDPNQBOJFTNBCPSPTIJ

Slide 34

Slide 34 text

+4ษڧձɺ΍ͬͯ·͢ 
 ʮͪΌΜͱॻ͘+4ʯ IUUQTNBCPSPTIJDPOOQBTTDPNFWFOU ʮ܅ΑɺଵଦͨΕʯʢԾʣ ʢԾʣ

Slide 35

Slide 35 text

͋Γ͕ͱ͏͍͟͝·ͨ͠
 ྑ͍͓೥Λ