͙͢ʹ͑Δઆ໌ԼखΤϯδχΞͷͨΊͷίϛϡྗೖ."55&//
View Slide
͓͜ͱΘΓ• ͜ͷεϥΠυྫจ͕࠷దͰͳ͔ͬͨΓ͢ΔͳͲɺ·ͩ·ͩͨ͠ͷͰ͋Γ·ͤΜɻ• ࢸΒͳ͍͕ͱͯଟ͋͘Γ·͕͢ɺஆ͔͍ͰݟͯΒ͑Δͱॿ͔Γ·͢ɻ
ࣗݾհ• Mattenn• Kindleͷ͓͔͛Ͱຊݏ͍͕ࠀͰ͖·ͨ͠• આ໌͕ԼखͰ͢• ձ·͋·͋Ͱ͢• ཁͷཧԼखͰ͢
͡Ίʹ• Լهͷ̏ΛಡΜͰɺࣗͳΓʹטΈࡅ͍ͨ༰Λൃද͠·͢ɻ• ࠷ڧͷΤϯδχΞʹͳΔͨΊͷ͠ํͷڭՊॻ• ΤϯδχΞͷͨΊͷจষज़ɹ࠶ೖߨ࠲• ΤϯδχΞΛઆ໌্खʹ͢Δຊ• ൃදޙʹΞϯέʔτΛߦ͍·͢ͷͰɺճΛ͓ئ͍͠·͢ɻ
ҙ• ͍͠આ໌͠·ͤΜ• ԼखͳਓͰ͙͢ʹ࣮ફͰ͖Δ༰ʹϑΥʔΧε͍ͯ͠·͢• PREP๏ͱ͍ͬͨϝιου֓೦ͳͲઆ໌͠·ͤΜ• ࣮ࡍҙࣝ͠ͳ͕Βઆ໌ձΛ͢Δͷ͙͢ʹͰ͖ͳ͍͔ΒͰ͢• ओʹࣗͷ͘͠͡Γͱࣗռ͕ϕʔεʹͳ͍ͬͯ·͢• Έͳ͞Μ͍ͭ͝ΊΜͳ͍͞
͓͠ͳ͕͖• ͜ͷޙ͑Δઆ໌ज़• ໌͔Β͑Δձज़• དྷि͔Β͑Δཧज़
Section1͜ͷޙ͑Δઆ໌ज़
• આ໌͢Δͱ͍͍ͭͭશ෦ݴ͍͕ͪ• Ͱ૬ख͕͍͍͚ͭͯͳ͍ͱʮԿΛݴͬͯΔͷ͔Θ͔Βͳ͍ʯঢ়ଶʹͳΔͲ͏͢Ε͍͍ʁ1. ૬ख͕ʹ͍͍͚ͭͯΔΑ͏ʹ͠Α͏
• આ໌͢Δͱ͍͍ͭͭશ෦ݴ͍͕ͪ• Ͱ૬ख͕͍͍͚ͭͯͳ͍ͱʮԿΛݴͬͯΔͷ͔Θ͔Βͳ͍ʯঢ়ଶʹͳΔͲ͏͢Ε͍͍ʁจ຺ͷ్தͰ֬ೝΛ͠Α͏1. ૬ख͕ʹ͍͍͚ͭͯΔΑ͏ʹ͠Α͏
• ʮʓʓͷվमͷͨΊLambdaͷ։ൃڥΛ͙͢ʹ༻ҙ͍ͨ͠ͱࢥͬͯ·͢ʯ• ʮ͜͜·Ͱؒҧͬͯͳ͍Ͱ͢ʁʯ• ʮάάͬͯΈͨΜͰ͚͢ͲɺCloud9Λ͏ͷ͕खͬऔΓૣͦ͏ͳΜͰ͢ʯ• ʮͰEC2ΛཱͯΔͷͰ͓͕͔͔ۚͪΌ͏ΜͰ͢ʯ• ʮΘΓ·͔ͨ͠Ͷ…ʁʯ͜͜·Ͱ֬ೝΛڬΉඞཁͳ͍͚Ͳɺ͜Μͳײ͡ɻ1. ૬ख͕ʹ͍͍͚ͭͯΔΑ͏ʹ͠Α͏
• ͓ޓ͍͕૾͍ͯ͠Δਤ͕ҧ͏··ΛਐΊΔͱɺఆ֎ͷํʹ༰͕ਐΜͰ͠·͍େࢂࣄʹͳΔ• ͚ࣗͩͨΓલͩͱࢥ͍ͬͯͨ͜ͱ࣮݁ߏ͋Δ2. Ձ؍ͷڞ༗Λ͠Α͏Ͳ͏͢Ε͍͍ʁ
• ͓ޓ͍͕૾͍ͯ͠Δਤ͕ҧ͏··ΛਐΊΔͱɺఆ֎ͷํʹ༰͕ਐΜͰ͠·͍େࢂࣄʹͳΔ• ࣗͰͨΓલͩͱࢥ͍ͬͯͨ͜ͱ࣮݁ߏ͋Δ2. Ձ؍ͷڞ༗Λ͠Α͏Ͳ͏͢Ε͍͍ʁʮ͋ͷʯʮ͜ΕʯΛΘͣ۩ମతͳ໊લΛ͓͏ʢ໘ͳͷΘ͔Γ·͢Αʣ
• ʮ͋ͷϓϧϦΫ֬ೝ͠·ͨ͠ʁʯ• →ʮʓʓͷϓϧϦΫ֬ೝ͠·ͨ͠ʁʯ• ʮւಓʹߦͬͯ͋ͷ੨͍ʹߦͬͯΈ͍ͨʯ• →ʮւಓʹߦͬͯྑඒӯͷ੨͍ʹߦͬͯΈ͍ͨʯ2. Ձ؍ͷڞ༗Λ͠Α͏ख͔͔ؒΔ͚ͲɺೝࣝζϨͰखΓ͕ൃੜ͢ΔΑΓશવϚγɻ
• ͠SlackͷΑ͏ͳςΩετνϟοτͰձ͍ͯ͠ΔͳΒՕॻ͖ʹ͢Δ• ͦͦ͜͜༰͕ཧ͞ΕΔͷͰɺԿ͔ΒखΛ͚ͭͨΒ͍͍͔Θ͔Βͳ͍ਓʹ͓͢͢Ί3. ແཧͤͣՕॻ͖ʹ͠Α͏ʮ੩తαΠτΛஔ͠Α͏ͱࢥ͏ͷͰ͕͢ɺNetlifyͱCloudfront+S3ͱFirebase͏ͷͲΕ͕Ұ൪͓͢͢ΊͰ͔͢ʁʯ
• ͠SlackͷΑ͏ͳςΩετνϟοτͰձ͍ͯ͠ΔͳΒՕॻ͖ʹ͢Δ• ͦͦ͜͜༰͕ཧ͞ΕΔͷͰɺԿ͔ΒखΛ͚ͭͨΒ͍͍͔Θ͔Βͳ͍ਓʹ͓͢͢Ί3. ແཧͤͣՕॻ͖ʹ͠Α͏ʮ੩తαΠτΛஔ͠Α͏ͱࢥ͏ͷͰ͕͢ɺNetlifyͱCloudfront+S3ͱFirebase͏ͷͲΕ͕Ұ൪͓͢͢ΊͰ͔͢ʁʯ੩తαΠτΛஔ͠Α͏ͱࢥ͏ͷͰ͕͢ɺ͜ͷதͰ͓͢͢Ί͋Γ·͔͢ʁɾNetlifyɾCloudfront + S3ɾFirebase
• ຊޠޙΖͷจষ͕ҹʹΓ͍͢4. ѱ͍͜ͱઌʹݴ͏ྑ͍͜ͱΛϓογϡ͍ͨ͠ͳΒѱ͍͜ͱઌʹݴ͓͏
• ຊޠޙΖͷจষ͕ҹʹΓ͍͢4. ѱ͍͜ͱઌʹݴ͏Ϩίʔυऔಘ࣌ʹϝϞϦϦʔΫൃੜ͠ͳ͘ͳΓ·ͨ͠ɻͰ͕͢ɺࢦఆ্ͨ͠ݶΛ͑ͯϨίʔυΛऔಘͯ͠͠·͍·͢ɻྑ͍͜ͱΛϓογϡ͍ͨ͠ͳΒѱ͍͜ͱઌʹݴ͓͏
• ຊޠޙΖͷจষ͕ҹʹΓ͍͢4. ѱ͍͜ͱઌʹݴ͏Ϩίʔυऔಘ࣌ʹϝϞϦϦʔΫൃੜ͠ͳ͘ͳΓ·ͨ͠ɻͰ͕͢ɺࢦఆ্ͨ͠ݶΛ͑ͯϨίʔυΛऔಘͯ͠͠·͍·͢ɻϨίʔυ͕ࢦఆ্ͨ͠ݶΛ͑ͯऔಘͯ͠͠·͍·͢ɻͰ͕͢ɺϝϞϦϦʔΫൃੜ͠ͳ͘ͳΓ·ͨ͠ɻྑ͍͜ͱΛϓογϡ͍ͨ͠ͳΒѱ͍͜ͱઌʹݴ͓͏
Section1ɹ·ͱΊ• ʹ͍ͭͯ͜Ε͍ͯΔ͔֬ೝΛͱΓ·͠ΐ͏• ʮ͋ͷʯʮ͜ΕʯΛΘͣ۩ମతͳ໊લΛ͍·͠ΐ͏• ແཧͯ͠จষʹͤͣՕॻ͖ʹ͠·͠ΐ͏• ѱ͍͜ͱઌʹݴ͍·͠ΐ͏
Section2໌͔Β͑Δձज़
• ͦͦઆ໌ձͷ্ʹΓཱ͍ͬͯΔɺͬͯΕͳ͍ؔ• ࣗ࢝͋Εɺ૬ख࢝ͷձ͋Δձͷ্ʹઆ໌Γཱͭ
·ͣ…૬खͷҙݟΛҰड͚ೖΕ·͠ΐ͏
• ࢥ͍ͬͯͳ͍͜ͱΛݴΘΕΔͱʮ͍ʯʮͰʯͱࣹతʹݴ͍͕ͪ• ΘΓʹʮͦ͏ͳΜͰ͢ͶʯʮͳΔ΄ͲʯͰ૬खͷҙݟΛड͚ೖΕΔ• ஔ͖͑ͯߠఆ͍ͯ͠ͳ͍ͷ͕ϙΠϯτ૬खͷҙݟΛड͚ೖΕΑ͏• ʮ͍ʯ• ʮͰʯ• ʮͦ͏ͳΜͰ͢Ͷʯ• ʮͳΔ΄Ͳʯ
ྫɿ͠ɺ্࢘ͷཧղ͕ؒҧ͍ͬͯΔͱࢥͬͨ࣌
• ্࢘ʮiPhoneͰnanaco͑ͳ͔͔ͬͨΒPixelΛ͍ͬͯΔΜͩΑͶʯ• ࣗʮ͍ɺࠓͷiPhoneͰnanaco͑·͢Αʯ• ্࢘ʮͦͷ࣌·ͩରԠ͍ͯ͠ͳ͔ͬͨΜͩʯʮiPhoneͰnanaco͑ͳ͍ʁʯ
• ্࢘ʮiPhoneͰnanaco͑ͳ͔͔ͬͨΒPixelΛ͍ͬͯΔΜͩΑͶʯ• ࣗʮͦ͏ͳΜͰ͢ͶɺࠓͷiPhoneͰnanaco͑·͢Αʯ• ্࢘ʮࢲ͕͍ͬͯͨ࣌·ͩରԠ͍ͯ͠ͳ͔ͬͨΜͩʯʮiPhoneͰnanaco͑ͳ͍ʁʯ
• Ұ༰Λड͚ࢭΊΔͱձͷτή͕औΕͨײ͕͡͠·ͤΜ͔ʁ• ૬खͷҙݟΛೝΊΔ͜ͱͰɺͦͷ࣍ͷձ͕͘͢͠ͳΓ·͢
ྫɿಉ྅ͱͷԿؾͳ͍ձ
• ࣗʮGWͲ͔͜ߦ͖·ͨ͠ʁʯ• ૬खʮԬ·Ͱߦ͖·ͨ͠ɻਂόεͰߦͬͨͷͰϫΫϫΫͨ͠Αʯ• ࣗʮྲྀੴʹϫΫϫΫ͢Δͷ͡Όͳ͍Ͱ͠ΐ…ʯಉ྅ͱͷԿؾͳཱྀ͍ͷձ
• ࣗʮGWͲ͔͜ߦ͖·ͨ͠ʁʯ• ಉ྅ʮԬ·Ͱߦ͖·ͨ͠ɻਂόεͰߦͬͨͷͰϫΫϫΫͨ͠Αʯ• ࣗʮͦ͏ͳΜͰ͢ͶɺͳΜͰϫΫϫΫͨ͠ΜͰ͔͢ʁʯ• ಉ྅ʮ͕͖ࣗͳ൪Ͱಉ͡όεʹ͍ͬͯΔγʔϯ͕͋ͬͯɺҰͲΜͳͷ͔ମݧͯ͠Έ͔ͨͬͨΜͩʯಉ྅ͱͷԿؾͳཱྀ͍ͷձ
• ड͚ೖΕΔʹɺ͕ࣗअຐΛͯ͠͠·Θͳ͍ฦ͠ํΛ͢ΔͷେࣄͰ͢• Ұड͚ೖΕͯͷഎܠΛฉ͘͜ͱͰτήཱ͕ͨͳ͘ͳΓ·͢
Section2ɹ·ͱΊ• ͱΓ͋͑ͣʮͦ͏ͳΜͰ͢ͶʯʮͳΔ΄ͲʯͰҰड͚ࢭΊ·͠ΐ͏• ʮ͍ʯͷΑ͏ͳ൱ఆ͔Β࢝·Δͱᑜͷ͋ΔձʹͳΔͷͰؾΛ͚ͭ·͠ΐ͏• ͜Ε͔Γࣹ݅Ͱݴͬͯ͠·͏ͷͰൃݴͷࡍʹؾʹཹΊ·͠ΐ͏
Section3དྷि͔Β͑Δจষज़
• ਓ͕ؒཧղͰ͖Δ߲̏ͭ·Ͱ• ͍จষʹϥϕϧΛ͚ͭ·͠ΐ͏• ͜Ε͚ͩͰཧղ͕ߴ͘ͳΔ͜ͱ͕͋ΔϥϕϧΛ͚ͭΑ͏
• Raspberry Pi$39ఔͰߪೖͰ͖Δ҆ՁͰখ͞ͳύιίϯͰ͢ɻRaspberryPi OSͱ͍͏LinuxϕʔεͷOS͕ಈ͍͓ͯΓɺGPIOͱ͍͏ΠϯλʔϑΣʔεΛͬͯϞʔλʔLEDͳͲΛಈ͔͢͜ͱ͕Ͱ͖ΔͨΊIoT༻్ʹͱ͍͍ͯͯ·͢ɻϥϕϧΛ͚ͭΔલ
Raspberry Piͱ• ҆Ձɿ$39ఔͰߪೖͰ͖Δ• LinuxϕʔεɿRaspberry Pi OSͱ͍͏LinuxϕʔεͷOS͕ಈ͍͍ͯΔ• IoT͚ɿGPIOͱ͍͏ΠϯλʔϑΣʔεͰϞʔλʔLEDΛ੍ޚͰ͖ΔϥϕϧΛ͚ͭͨޙ
• ͜Ε͔Γ࿅शΛ͢Δ͔͠ͳ͍• Ͱ͍͍ͷͰదͳωοτهࣄπΠʔτʹݟग़͠Λ͚ͭͯΈ·͠ΐ͏• ຖ಄ͷதͰ܁Γฦͯ͠Έ·͠ΐ͏???ʮͦΜͳ؆୯ʹݟग़͠ͳΜ͚ͯͭΕͳ͍ʯ
׳ΕͨΒϨϕϧΞοϓͯ͠Έ·͠ΐ͏ཧ͢Δج४͔ൺֱରΛ༻ҙ͢Δ۩ମతͳࣈΛ͚ͭΔ
࠷ॳʹग़͖ͯͨձΛཧ͢Δ• ʮʓʓͷվमͷͨΊLambdaͷ։ൃڥΛ͙͢ʹ༻ҙ͍ͨ͠ͱࢥͬͯ·͢ʯ• ʮάάͬͯΈͨΜͰ͚͢ͲɺCloud9Λ͏ͷ͕खͬऔΓૣͦ͏ͳΜͰ͢ʯ• ʮͰEC2ΛཱͯΔͷͰ͓͕͔͔ۚͪΌ͏ΜͰ͢ʯҰ൪࠷ॳʹग़͖ͯͨձɺ͠SlackͰ͑Δ߹Ͳ͏͢Δͷ͕ྑ͍ʁ
࠷ॳʹग़͖ͯͨձΛཧ͢Δ• ʓʓͷվमͷͨΊLambdaͷ։ൃڥΛ͙͢ʹ༻ҙ͍ͨ͠ͱࢥͬͯ·͢• ௐࠪͷ݁ՌɺCloud9Λ͏ͷ͕खͬऔΓૣͦ͏Ͱ͢• ͔͠͠EC2ΛཱͯΔͷͰ՝͕ۚൃੜ͠·͢·ͣՕॻ͖ʹదͨ͠ܗʹ͢Δ
࠷ॳʹग़͖ͯͨձΛཧ͢Δ• తɿʓʓͷվमͷͨΊLambdaͷ։ൃڥΛ͙͢ʹ༻ҙ͍ͨ͠• ௐࠪ݁ՌɿCloud9Λ͏ͷ͕खͬऔΓૣͦ͏• ɿEC2ΛཱͯΔͷͰ՝͕ۚൃੜ͢ΔྨΛ͢Δ
࠷ॳʹग़͖ͯͨձΛཧ͢Δ• తɿʓʓͷվमͷͨΊLambdaͷ։ൃڥΛ͙͢ʹ༻ҙ͍ͨ͠• ௐࠪ݁ՌɿCloud9Λ͏ͷ͕ServerlessίϚϯυΛ४උ͢ΔΑΓखͬऔΓૣͦ͏• ɿEC2ΛཱͯΔͷͰ݄ʹ࠷େ1300ԁ΄Ͳ՝͕ۚൃੜ͢ΔൺֱରΛ͚ͭͨΓɺ۩ମతͳࣈΛ͚ͭΔ
Θ͔Γ͍͢આ໌ʹͳΓ·ͨ͠Ͷ·ͩվળ͋Γ·͕͢…
Section3ɹ·ͱΊ• ༰Λ̏ߦʹ·ͱΊΔ• Θ͔Γ͍͢ϥϕϧΛ಄ʹ͚ͭΔ• ൺֱର۩ମతͳࣈΛ͚ͭΔ
• ૬खͷཧղͱՁ؍ΛѲ͠ͳ͕Βઆ໌͠·͠ΐ͏ɻʮ͜͜·ͰOK?ʯ• ʮͦ͏ͳΜͰ͢ͶʯͰҰ૬खͷҙݟΛड͚ೖΕͯձΛ͠·͠ΐ͏ɻ• ͪΐͬͱ͍આ໌࠷ॳʹϥϕϧΛ͚ͭɺՕॻ͖Ͱཧ͠·͠ΐ͏ɻSection 1,2,3 ·ͱΊ
શ෦͙͢ʹͰ͖Δਓ͍ͳ͍
͜ͷޙͰ͖Δ͜ͱ͔Β͍͖ͬͯ·͠ΐ͏
େৎͰ͔͢ʁ
େৎͩΑʂ
ऴ