Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
すぐに使える 説明下手エンジニアのための コミュ力入門
Search
astolfo
June 20, 2022
0
260
すぐに使える 説明下手エンジニアのための コミュ力入門
astolfo
June 20, 2022
Tweet
Share
More Decks by astolfo
See All by astolfo
最近のフレッツとIPv6の話
mattenn
2
750
そうだ、10Gを引こう
mattenn
0
240
COCOAを使用した人数表示システムの開発
mattenn
0
150
Cloudflare Mail Routingを使ってみた
mattenn
0
290
Realforceを濡らしてしまった話
mattenn
0
270
DJを陰で支える技術
mattenn
1
1.2k
それNetlifyでできるよ - Webページを爆速で作ってキレイに魅せよう
mattenn
8
11k
多分わかるServerless Framework
mattenn
0
420
多分分かるUSB Type-C
mattenn
0
660
Featured
See All Featured
The Language of Interfaces
destraynor
154
24k
The Invisible Side of Design
smashingmag
297
50k
For a Future-Friendly Web
brad_frost
175
9.4k
Practical Orchestrator
shlominoach
186
10k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Code Reviewing Like a Champion
maltzj
519
39k
Designing for humans not robots
tammielis
249
25k
Happy Clients
brianwarren
97
6.7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
3
370
Faster Mobile Websites
deanohume
304
30k
4 Signs Your Business is Dying
shpigford
180
21k
Writing Fast Ruby
sferik
626
61k
Transcript
͙͢ʹ͑Δ આ໌ԼखΤϯδχΞͷͨΊͷ ίϛϡྗೖ ."55&//
͓͜ͱΘΓ • ͜ͷεϥΠυྫจ͕࠷దͰͳ͔ͬͨΓ͢ΔͳͲɺ ·ͩ·ͩͨ͠ͷͰ͋Γ·ͤΜɻ • ࢸΒͳ͍͕ͱͯଟ͋͘Γ·͕͢ɺஆ͔͍Ͱݟͯ Β͑Δͱॿ͔Γ·͢ɻ
ࣗݾհ • 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ఔͰߪೖͰ͖Δ҆ՁͰখ͞ͳύιίϯͰ͢ɻRaspberry Pi 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 ·ͱΊ
શ෦͙͢ʹͰ͖Δਓ͍ͳ͍
͜ͷޙͰ͖Δ͜ͱ͔Β ͍͖ͬͯ·͠ΐ͏
େৎͰ͔͢ʁ
େৎͩΑʂ
ऴ