Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Firebase & Google Cloud によるサーバーレス帳票管理 #FJUG / Serverless Architecture in Candy

Firebase & Google Cloud によるサーバーレス帳票管理 #FJUG / Serverless Architecture in Candy

2019/12/03 に Google にて開催された「Firebase Meetup #15」の資料です。

Potato4d(Hanatani Takuma)

December 03, 2019
Tweet

More Decks by Potato4d(Hanatani Takuma)

Other Decks in Technology

Transcript

  1. Firebase & Google Cloud によるサーバーレス帳票管理
    2019.12.25 #FJUG Takuma HANATANI @ ElevenBack LLC.

    View Slide

  2. ΈΜͳେ޷͖ʢ͖Β͍ʣாථ1%'ग़ྗ

    View Slide

  3. 'JSFCBTFͩͱ͋Μ·ΓͭΒ͘ͳ͍࿩

    View Slide

  4. Agenda
    w ࣗݾ঺հ
    w $BOEZͷৄࡉͳཁ݅ͱ՝୊ײ
    w ாථ؅ཧͷ՝୊Λ'JSFCBTFͰ౗͢
    w 'JSFCBTFͱ(PPHMF$MPVEͷ࿈ܞʹΑͬͯΑΓଟ͘ͷ՝୊Λղফ͢Δ
    w "QQ&OHJOFͱซ༻ͨ͠ΞʔΩςΫνϟʹ͍ͭͯ

    View Slide

  5. Takuma HANATANI (@potato4d)
    • Status
    • Senior Front-End Enginner at LINE Corp.
    • CEO at ElevenBack LLC.
    • Core skills
    • Front-End and Cloud Native Application Development
    • User Interface and Interaction Design
    • OpenSource Ecosystem
    • React.js / Vue.js ja document maintainer
    • Ex-Nuxt.js ja document maintainer
    • Nuxt.js beginners guide (C&R Institute) author

    View Slide

  6. ౦ژɾ෱ԬͰల։தͷ-*/&ϝϯόʔ͕ओಋͷΠϕϯτɾ1PEDBTUίϛϡχςΟʮ6*5ʯ
    IUUQTDBOEZBDDBNQBJHOCFUB
    https://uit-inside.linecorp.com/
    https://uit.connpass.com/

    View Slide

  7. 6*5*/4*%&Ͱ͸ʮ3FBDUͷઃܭʯ΍ʮݱ৔ͰͷඇಉظॲཧʯͳͲ-*/&ϝϯόʔͷੜͷ੠͕୔ࢁʂ

    View Slide

  8. ΧϨϯμʔ΍ࣗಈԽʹΑͬͯձܭ؅ཧ͔Βղ์͞ΕΔΫϥ΢υʮ$BOEZʯϕʔλఏڙத
    IUUQTDBOEZBDDBNQBJHOCFUB

    View Slide

  9. 3FBMUJNF%BUBCBTF͔͠ͳ͔ͬͨ࣌୅ʹॻ͍ͨ͜ͷهࣄϗϯϚʹϝϯςͨ͘͠ͳ͍ͷͰॿ͚ͯཉ͍͠

    View Slide

  10. Agenda
    w ࣗݾ঺հ
    w $BOEZͷৄࡉͳཁ݅ͱ՝୊ײ
    w ாථ؅ཧͷ՝୊Λ'JSFCBTFͰ౗͢
    w 'JSFCBTFͱ(PPHMF$MPVEͷ࿈ܞʹΑͬͯΑΓଟ͘ͷ՝୊Λղফ͢Δ
    w "QQ&OHJOFͱซ༻ͨ͠ΞʔΩςΫνϟʹ͍ͭͯ

    View Slide

  11. ཁ݅ͱ՝୊ײʹ͍ͭͯ

    View Slide

  12. Candy ʹஔ͚Δཁ݅ͱ՝୊ײ
    w $BOEZ
    w ձܭ؅ཧͷΫϥ΢υιϑτ΢ΣΞ
    w )JTUPSZϕʔεͰݪຊͱͳΔσʔλΛ؅ཧ͢Δ͜ͱΛཁٻ͞ΕΔ
    w ϞόΠϧ 18"8FC
    ʹಛԽ͍ͨ͠ΘΏΔ41"
    w ʮؾʹ͠ͳ͍ʯΛ࣠ͱͳΔϓϩμΫτ
    w 1%'ੜ੒ͱϝʔϧ഑৴ɺεέδϡʔϦϯάػೳ
    w J$BMFOEBS΍(PPHMF$BMFOEBSͰͷߪಡ༻ͷΤϯυϙΠϯτ

    View Slide

  13. Candy ʹஔ͚Δཁ݅ͱ՝୊ײ
    w $BOEZ
    w ձܭ؅ཧͷΫϥ΢υιϑτ΢ΣΞ
    w )JTUPSZϕʔεͰݪຊͱͳΔσʔλΛ؅ཧ͢Δ͜ͱΛཁٻ͞ΕΔ
    w ϞόΠϧ 18"8FC
    ʹಛԽ͍ͨ͠ΘΏΔ41"
    w ʮؾʹ͠ͳ͍ʯΛ࣠ͱͳΔϓϩμΫτ
    w 1%'ੜ੒ͱϝʔϧ഑৴ɺεέδϡʔϦϯάػೳ
    w J$BMFOEBS΍(PPHMF$BMFOEBSͰͷߪಡ༻ͷΤϯυϙΠϯτ

    View Slide

  14. ݪຊอ؅ͷͨΊͷ History ؅ཧ
    w ձܭॻྨ͸੫੍্ݪຊอ؅͕ඞਢ
    w 1%'ɺ΋ͱͷσʔλ྆ํΛݫີʹ؅ཧ
    w ඇਖ਼نԽͨ͠ߏ଄͕ٻΊΒΕΔ
    w ໊͕ࣾมΘͬͯ΋ϦΞΫςΟϒʹมΘ
    Βͳ͍
    w αʔόʔʹ1%'ͷੜ੒೔࣌ͱϑΝΠ
    ϧࢀরΛอ͓࣋ͯ͘͠
    w ݱঢ়ϦϏδϣϯӾཡػೳ͸ఏڙ͠ͳ͍

    View Slide

  15. PDF ੜ੒ͱϝʔϧ഑৴ʹ͍ͭͯ
    w Α͋͘Δாථग़ྗػೳ
    w 1%'ʹΑΔ
    w 4.51αʔόʔܦ༝Ͱͷϝʔϧૹ෇
    w ׬ྃ݁ՌͷσʔλετΞ΁ͷॻ͖ࠐΈ
    w ॳظϦϦʔεʹ͸ͳ͍͕༧໿഑৴Λߟྀ
    w ࢥ͍ग़ͨ࣌͠ʹૹΕΔΑ͏ʹ
    w ͋ͱʹͳͬͯ๨Εͳ͍Α͏ʹ

    View Slide

  16. iCal ܗࣜͷΧϨϯμʔͷఏڙ
    w Ϣʔβʔ͝ͱʹݸผͷ63-Λఏڙ
    w ߪಡ͢Δ͜ͱͰΧϨϯμʔͱ৘ใΛಉظ
    w ͍͕ͭૹ෇ظݶ೔͔
    w ͍͕ͭΫϥΠΞϯτ͔Βͷೖۚ೔͔
    w ظݶ಺ʹ׬͍ྃͯ͠Δ͔
    w ΧϨϯμʔΛΈͯؾ͍ͮͨΒൃߦͰ͖Δ
    w ϞόΠϧಛԽΏ͑ͷ༏Ґੑ

    View Slide

  17. Agenda
    w ࣗݾ঺հ
    w $BOEZͷৄࡉͳཁ݅ͱ՝୊ײ
    w ாථ؅ཧͷ՝୊Λ'JSFCBTFͰ౗͢
    w 'JSFCBTFͱ(PPHMF$MPVEͷ࿈ܞʹΑͬͯΑΓଟ͘ͷ՝୊Λղফ͢Δ
    w "QQ&OHJOFͱซ༻ͨ͠ΞʔΩςΫνϟʹ͍ͭͯ

    View Slide

  18. ாථ؅ཧͷ՝୊Λ'JSFCBTFͰ౗͢

    View Slide

  19. ாථ؅ཧͷ՝୊Λ Firebase Ͱ౗͢
    ݪຊอ؅ͷ՝୊Λ'JSFTUPSFͷσʔλ؅ཧͰ౗͢
    1%'ग़ྗΛQVQQFUFFS$MPVE'VODUJPOTͰ౗͢
    ϝʔϧૹ෇΍εέδϡʔϦϯάɺฒྻ࣮ߦΛ"QQ&OHJOF'VODUJPOTͰ౗͢
    ΧϨϯμʔ༻ͷ63-͸'JSFCBTFͰ͸౗ͤͳ͍ͷͰ"QQ&OHJOFͰ౗͢

    View Slide

  20. 1. ݪຊอ؅ͷ՝୊Λ Firestore Ͱ౗͢
    w 'JSFTUPSF͸υΩϡϝϯτܕͷσʔλϕʔε
    w Ͱ͖Δ͚ͩϑϥοτͳߏ଄ʹ΋Ͱ͖Δ͠ਂ͘ωετͤ͞Δ͜ͱ΋Ͱ͖Δ
    w جຊతʹඇਖ਼نԽͨ͠σʔλߏ଄ΛόονॲཧͰ੔߹ੑΛ߹ΘͤΔ͜ͱ͕جຊ
    w ݪຊΛอ؅͢Δ৔߹͸ࣄ৘͕ಛूͱͳΓɺͦΕͧΕ͕࿈ܞঢ়ଶʹͳ͍͜ͱ͕େ੾
    w 3FGFSFODFܕΛલఏͱͤͣసࣸ͢ΔɺόονͰυΩϡϝϯτؒͷಉظΛ͠ͳ͍
    w 3%#Ͱ͍͏ͱ͜Ζͷ',ΛറΔΑ͏ͳҹ৅

    View Slide

  21. ςετ؀ڥΛϕʔεʹσʔλߏ଄Λ঺հ
    ˞ձ৔ݶఆ

    View Slide

  22. 2. PDF ग़ྗΛ puppeteer + Cloud Functions Ͱ౗͢
    w ͦ΋ͦ΋1%'ग़ྗ͸ͭΒ͍
    w '%1' 1)1

    w ͦ΋ͦ΋6OJDPEFະରԠͰ·ͱ΋ʹϝϯςφϯε͞Ε͍ͯͳ͍
    w ςϯϓϨʔτػೳ͸͋Δ͚Ͳجຊ࠲ඪϕʔεͰંΓฦ͠΋ͳ͍
    w 1SBXO 3VCZ

    w ςϯϓϨʔτ1%'ΛಡΈࠐΉػೳ͕ͳ͍ ࣗྗͰશ෦ॻ͘

    w ௕Β͘·ͱ΋ʹ࢖ΘΕͯͳͦ͞͏

    View Slide

  23. 2. PDF ग़ྗΛ puppeteer + Cloud Functions Ͱ౗͢
    w ͦ΋ͦ΋1%'ग़ྗ͸ͭΒ͍
    w XLIUNMUPQEG ൚༻

    w /PEFKTͰ΋ಈ࡞͢ΔͷͰΫϥ΢υ؀ڥͰಈ͖ͦ͏ͳͷ͕خ͍͠
    w 8FC,JUͷ͸ͣͳͷʹಈ࡞΋ग़ྗ඼࣭΋ඍົͰ/BUJWF&YUFOTJPO΋ݫ͍͠
    w QVQQFUFFS /PEFKT

    w )5.-$44ϨΠΞ΢τ͕ॻ͚ͯ·ͱ΋ʹಈ͘ɺ࣮࣭తͳ།Ұ͔ͭ༗ྗͳख๏
    w $BOEZͰ͸αʔόʔଆͰ3FBDUͷ443Λͯ͠ܕ҆શʹாථΛίʔσΟϯά
    w $ISPNJVNͳͷͰී௨ʹ1BB4*BB4Ͱಈ͔͢෼ʹ͸Ϧιʔε͕ͭΒ͍

    View Slide

  24. 2. PDF ग़ྗΛ puppeteer + Cloud Functions Ͱ౗͢
    w QVQQFUFFSΛ'JSFCBTF'VODUJPOT͔Βݺͼग़͢
    w 'VODUJPOT͸ؔ਺୯ҐͰϚγϯεϖοΫΛௐ੔Ͱ͖Δ
    w "ENJO4%,ʹؔ͢Δઃఆ͕ऴΘ͍ͬͯΔͷͰ'JSFTUPSFͱͷ࿈ܞָ͕
    w ίϯϐϡʔςΟϯάίετ͕ߴ͍QVQQFUFFS༻ͷεϖοΫΞοϓΛ࠷௿ݶʹ
    w 1BB4ͷ৔߹ɺશͯΛ૿ڧ͢Δ͔ผͷϓϩδΣΫτΛ࡞Δ͔ͷೋ୒ͩͬͨ
    w "QQ&OHJOF͸4FSWJDF୯ҐͰͷεϖοΫมߋΛड͚෇͚ͳ͍ͨΊ
    w 'VODUJPOTΛར༻͢Δ͜ͱͰɺߟྀ͢΂͖ࣄ߲Λ࠷খԽͰ͖Δ

    View Slide

  25. 2. ͷ࣌఺Ͱͷாථൃߦϑϩʔ
    JOWPJDF1SFWJFX
    IUUQT$BMMBCMF
    1/(#JOBSZ
    JTTVF*OWPJDF
    IUUQT$BMMBCMF
    6TFS%FWJDF
    ϑΝΠϧΛอଘ
    1
    2
    3
    4
    1%'63-Λอଘ
    5
    ϝʔϧૹ෇
    6
    ੒ޭσʔλΛอଘ
    7
    4VCTDSJCFͨ͠'JSFTUPSFͷσʔλΛ41"͕ݕ஌

    View Slide

  26. Agenda
    w ࣗݾ঺հ
    w $BOEZͷৄࡉͳཁ݅ͱ՝୊ײ
    w ாථ؅ཧͷ՝୊Λ'JSFCBTFͰ౗͢
    w 'JSFCBTFͱ(PPHMF$MPVEͷ࿈ܞʹΑͬͯΑΓଟ͘ͷ՝୊Λղফ͢Δ
    w "QQ&OHJOFΛซ༻ͨ͠΋͏Ұͭͷཧ༝ͱ͜Ε͔Β

    View Slide

  27. (PPHMF$MPVEΛ࿈ܞͯ͠कඋൣғΛ޿͛Δ

    View Slide

  28. 3. ฒྻॲཧͱϝʔϧͳͲίέΔॲཧͷରॲ
    w جຊతͳாථͷग़ྗ͸QVQQFUFFSͱ'VODUJPOTͰૉ๿ʹ࣮૷Ͱ͖ͨ
    w ࣮ͨͩࡍͷӡ༻Ͱ͸ߋʹߟྀࣄ߲Λ௥Ճ͠ɺҎԼΛϕʔεʹઃܭ
    w ݕ౼ࣄ߲
    w ༧໿ૹ෇ͷ࣮૷࣌ʹ΋ಉ͡ϩδοΫ͕࢖͍ճͤΔ͔
    w ΠϯελϯεͷݶքͰQVQQFUFFS͕མͪͳ͍͔
    w ֎తཁҼʹΑͬͯϝʔϧ഑৴͕ίέͳ͍͔
    w ϦτϥΠػߏ͸े෼͔

    View Slide

  29. 3. ฒྻॲཧͱϝʔϧͳͲίέΔॲཧͷରॲ
    ࠷ऴతͳ࣮૷ํ਑ɹ
    $MPVE1VC4VCܖػͰ'VODUJPOTΛ࣮ߦ͠ɺૹ෇ͷ࢓૊ΈΛ౷Ұ
    ༧໿ૹ෇͸'VODUJPOTͷDSPOͰFORVFVF͢Δ͚ͩ
    খن໛ࣄۀऀͰ4JEFLJRͳͲΛδϣϒΛ࣋ͪͨ͘ͳ͍ਓʹ΋Φεεϝ
    ༧໿֎ͷૹ෇͸"QQ&OHJOFʹཱͯͨ#''αʔόʔ͔ΒൃՐ
    &YBDUMZPODFʹ͍ͨ͠ɺଞͰ#''ཱ͕͍ͬͯΔͷͰศརͳͲ
    ࣦഊ࣌͸ࣗ෼ࣗ਎ΛFORVFVF͠௚͢͜ͱͰճ਺੍ݶ͖ͭSFUSZΛ࣮ݱ

    View Slide

  30. ࠷ऴతʹग़དྷ্͕ͬͨΞʔΩςΫνϟਤ (௨ৗ࣌)
    JOWPJDF1SFWJFX
    IUUQT$BMMBCMF
    1/(#JOBSZ
    JTTVF*OWPJDF
    )5511045
    6TFS%FWJDF
    ϑΝΠϧΛอଘ
    63-Λอଘ
    ϝʔϧૹ෇
    ੒ޭσʔλΛอଘ
    9
    4VCTDSJCFͨ͠'JSFTUPSFͷσʔλΛ41"͕ݕ஌
    #''
    3
    2
    &ORVFVF
    1
    4
    $POTVNF
    5
    7
    6
    8
    ࣦഊ࣌͸࠶౓FORVFVF
    X

    View Slide

  31. ࠷ऴతʹग़དྷ্͕ͬͨΞʔΩςΫνϟਤ (༧໿࣌)
    JOWPJDF1SFWJFX
    IUUQT$BMMBCMF
    1/(#JOBSZ
    JTTVF*OWPJDF
    )5511045
    6TFS%FWJDF
    ϑΝΠϧΛอଘ
    63-Λอଘ
    ϝʔϧૹ෇
    ੒ޭσʔλΛอଘ
    9
    4VCTDSJCFͨ͠'JSFTUPSFͷσʔλΛ41"͕ݕ஌
    $SPO5BTL
    3
    2
    &ORVFVF
    1
    4
    $POTVNF
    5
    7
    6
    8
    ࣦഊ࣌͸࠶౓FORVFVF
    X

    View Slide

  32. Α͏΍͘αʔόʔϨε1%'ग़ྗ׬੒

    View Slide

  33. Կ͕خ͔ͬͨ͠ͷ͔

    View Slide

  34. ݁ہԿ͕خ͔ͬͨ͠ͷ͔ - σʔλߏ଄ฤ
    w υΩϡϝϯτ%#ΛυΩϡϝϯτ%#Β͘͠ར༻ͯ͠ݪຊΛอ؅͠΍͘͢ͳͬͨ
    w 3%#Λར༻͢Δ৔߹ͱൺֱͯ͠ૉ௚ͳίʔυهड़͕Մೳ
    w ߟྀࣄ߲͕ݮΓɺഊ๺ײ΋ͳ͍
    w ·ͨɺར༻͕݄ ճ͔ͭ૝ఆ."6͕௚ۙ೥Ͱ΋d ఔ౓ͳͷͰྉۚ΋˕
    w ϢʔβʔωʔϜεϖʔεΛ࣋ͭΞϓϦέʔγϣϯͱͷ૬ੑͷྑ͞Λڗड
    w 'SJFOETIJQͷ3FMBUJPO͕͋Δσʔλߏ଄͸'JSFTUPSFͰ͸࡞ΓͮΒ͍
    w ࠓճ͸جຊతʹ0OF5P.BOZͷ3FMBUJPO͔͠ແ͔ͬͨͨΊ͏·͘ޮ͍ͨ

    View Slide

  35. ݁ہԿ͕خ͔ͬͨ͠ͷ͔ - αʔόʔϨεԽฤ
    w 'VODUJPOTΛར༻͢Δ͜ͱͰQVQQFUFFSΛִ཭ͨ͠؀ڥԼͰ࣮ߦͰ͖ͨ
    w ϚγϯεϖοΫΛඞཁͳͱ͜Ζ্͚ͩ͛ΒΕΔͷͰίετతʹ͍҆
    w $ISPNJVNͷϝϞϦϦʔΫͳͲʹ೰·͞ΕΔඞཁ͕ͳ͍
    w 'VODUJPOTͷεέʔϦϯάੑೳΛे෼ʹڗडͰ͖ͨ
    w ݱ࣌఺Ͱ΋࠷খݶͷίϯϐϡʔςΟϯάར༻Ͱ཈͑ΒΕ͍ͯΔ
    w ϦϦʔε४උதͷ༧໿ૹ෇Ͱ͸ಛఆ೔࣌ ".࣌ͳͲ
    ʹεύΠΫ͢ΔՄೳੑ͕ߴ͍
    w ٯʹͦΕҎ֎ͷ࣌͸Πϯελϯε͕ඞཁͳ͍͜ͱ΋ଟ͘ͳΔ༧૝

    View Slide

  36. ݁ہԿ͕خ͔ͬͨ͠ͷ͔ - ΞʔΩςΫνϟฤ
    w ௨ৗૹ෇ɾ༧໿ૹ෇΍ɺࠓޙ࣮૷͢Δఆظૹ෇ͰऔΓѻ͍ʹҧ͍͕ͳ͍
    w ըҰతͳͷͰ࣮૷ίετ΋௿͘ɺߟྀࣄ߲΋গͳ͍
    w 41""1*1VC4VC'VODUJPOT'JSFTUPSF41"ͷྲྀΕ͕࡞Εͨ
    w 41"͸'JSFTUPSFΛߪಡ͢Δ͚ͩͰඇಉظॲཧΛಉظͷΑ͏ʹʹ࣮ߦͰ͖Δ
    w Ϩεϙϯεࣗମ͸Ұ౓ฦ٫͞Ε͍ͯΔͷͰɺϦτϥΠͳͲͷ࢓૊Έʹࡌͤ΍͍͢
    w 41"͕ؔ৺Λ࣋ͭ΂͖ͳͷ͸ҟৗ࣌ͷλΠϜΞ΢τॲཧͷΈͰ؆ܿ

    View Slide

  37. Agenda
    w ࣗݾ঺հ
    w $BOEZͷৄࡉͳཁ݅ͱ՝୊ײ
    w ாථ؅ཧͷ՝୊Λ'JSFCBTFͰ౗͢
    w 'JSFCBTFͱ(PPHMF$MPVEͷ࿈ܞʹΑͬͯΑΓଟ͘ͷ՝୊Λղফ͢Δ
    w "QQ&OHJOFΛซ༻ͨ͠΋͏Ұͭͷཧ༝ͱ͜Ε͔Β

    View Slide

  38. "QQ&OHJOF࢖͏ಈػͱͯ͠͸ऑ͍ʁ

    View Slide

  39. iCal ܗࣜͷΧϨϯμʔͷఏڙ
    w Ϣʔβʔ͝ͱʹݸผͷ63-Λఏڙ
    w ߪಡ͢Δ͜ͱͰΧϨϯμʔͱ৘ใΛಉظ
    w ͍͕ͭૹ෇ظݶ೔͔
    w ͍͕ͭΫϥΠΞϯτ͔Βͷೖۚ೔͔
    w ظݶ಺ʹ׬͍ྃͯ͠Δ͔
    w ΧϨϯμʔΛΈͯؾ͍ͮͨΒൃߦͰ͖Δ
    w ϞόΠϧಛԽΏ͑ͷ༏Ґੑ

    View Slide

  40. iCal ܗࣜͷΧϨϯμʔͷఏڙ
    w Ϣʔβʔ͝ͱʹݸผͷ63-Λఏڙ
    w ߪಡ͢Δ͜ͱͰΧϨϯμʔͱ৘ใΛಉظ
    w ͍͕ͭૹ෇ظݶ೔͔
    w ͍͕ͭΫϥΠΞϯτ͔Βͷೖۚ೔͔
    w ظݶ಺ʹ׬͍ྃͯ͠Δ͔
    w ΧϨϯμʔΛΈͯؾ͍ͮͨΒൃߦͰ͖Δ
    w ϞόΠϧಛԽΏ͑ͷ༏Ґੑ
    ৗ࣌҆ఆͨܰ͠ඍͳϦΫΤετ͕ඈΜͰ͘Δ

    View Slide

  41. Firebase Functions ͩͱͭΒ͍ྖҬΛ AppEngine ͰΧόʔ
    w ৗ࣌ϦΫΤετ͕͘Δ΋ͷ͸"QQ&OHJOF
    Ͱରॲ͍ͨ͠
    w 'BB4͸՝ۚܗଶతʹৗ࣌Քಇʹ͸޲͔
    ͳ͍΍Δ΂͖Ͱͳ͍☠
    w ٯʹ"QQ&OHJOFʹશ෦ࡌͤΔͱ
    QVQQFUFFS෼૿ڧ͞Εͨαʔόʔ͕େ
    ྔʹඞཁʹͳΓ
    w ͲͷΈͪ'BB4ͱ͸ผʹ"1*͸ඞਢ

    View Slide

  42. جຊతͳٕज़ͷ࣠ʹ͍ͭͯ
    w ·ͣ͸'JSFCBTF'VODUJPOTͰղܾͰ͖ͳ͍͔ߟ͑Δ
    w Ͱ͖ͳ͍ͱࢥ͍ͬͯͯ΋Ͱ͖Δ͜ͱ΋ׂͱଟ͍
    w #VTZͳ͕࣌ؒ୹͚Ε͹୹͍΄Ͳ'BB4ͷར఺͸૿͢
    w ΠϕϯτۦಈͰ࣮૷Ͱ͖ΔͳΒͦͷ΄͏͕ྑ͍ͷͰ)551ͷޱΛۃྗ։͚ͳ͍
    w Ͳ͏ͯ͠΋ඞཁͳॲཧΛٵऩ͢ΔͨΊʹ1BB4αʔόʔΛ༻ҙ͢Δͱศར
    w 'JSFCBTFറΓͩͱͭΒ͍෦෼͸ग़ͯ͘Δ
    w "QQ&OHJOF͸͋Δఔ౓αʔόʔϨεతࢥ૝ͱ͸ݴ͑ίϯϐϡʔςΟϯάͱཧղ͢Δ

    View Slide

  43. ͓ΘΓʹ

    View Slide

  44. ͓ΘΓʹ
    w ͦ΋ͦ΋ாථͷ1%'ग़ྗΛ࣮૷͢Δͷ͸ͭΒ͍
    w αʔϏεͷத৺ʹாථ͕དྷΔ͜ͱ͕ͳ͍ͷͰ͓͟ͳΓʹͳΓ͕ͪ
    w ͱ͸͍͑QVQQFUFFSͳͲͷొ৔ʹΑͬͯ͋Δఔ౓࡞Γ΍͘͢͸ͳ͍ͬͯΔ
    w ாථͷσʔλߏ଄ಛ༗ͷ֓೦ʹ͍ͭͯ΋೺Ѳ͓ͯ͘͠ඞཁ͕͋Δ
    w Α͘ແݶʹൃߦͰ͖ΔγεςϜ͕͋Δ͕ɺ͋Ε͸ݫີʹ͸ྑ͘ͳ͍
    w ඇਖ਼نԽͨ͠σʔλͱग़ྗ݁ՌΛݪຊͱͯ͠อ؅͢Δʹ͸'JSFTUPSF͕ศར

    View Slide

  45. ͓ΘΓʹ
    w Ұ࣌తʹεύΠΫ͢ΔՄೳੑ͕͋ΔΑ͏ͳϔϏʔͳॲཧ͸'VODUJPOTͰ0,
    w ඞཁͳͱ͖͚ͩͦΕͳΓͷεϖοΫ d.#3".ͳͲ
    ΛआΓΒΕΔ
    w ར༻͠ͳ͍࣌͸໪࿦՝͕͔͔ۚΒͳ͍ͷͰۚમίετͱͯ͠΋خ͍͠
    w Ϋϥ΢υ͸ָͯ҆͘͠Ͱ͖Δٕज़ͳͷͰɺշద͞ͱίετΛॏࢹͯ͠ར༻͢Δ
    w 'BB4ͱ1BB4Λซ༻͢Δ͜ͱͰߟྀࣄ߲΋ݮΓɺ͔ͭ҆͘Ͱ͖Δ
    w ։ൃମ੍ʹٻΊΒΕ͍ͯΔཁૉΛߟ͑ͭͭΠϯϑϥετϥΫνϟΛߟ࡯͠Α͏

    View Slide