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
710
そうだ、10Gを引こう
mattenn
0
240
COCOAを使用した人数表示システムの開発
mattenn
0
150
Cloudflare Mail Routingを使ってみた
mattenn
0
290
Realforceを濡らしてしまった話
mattenn
0
260
DJを陰で支える技術
mattenn
1
1.2k
それNetlifyでできるよ - Webページを爆速で作ってキレイに魅せよう
mattenn
8
11k
多分わかるServerless Framework
mattenn
0
410
多分分かるUSB Type-C
mattenn
0
640
Featured
See All Featured
5 minutes of I Can Smell Your CMS
philhawksworth
200
19k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
26
2.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
35
6.3k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
Fireside Chat
paigeccino
25
2.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
12
3.8k
Large-scale JavaScript Application Architecture
addyosmani
506
110k
The Brand Is Dead. Long Live the Brand.
mthomps
52
36k
Building Adaptive Systems
keathley
34
2k
How to name files
jennybc
67
96k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
149
45k
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 ·ͱΊ
શ෦͙͢ʹͰ͖Δਓ͍ͳ͍
͜ͷޙͰ͖Δ͜ͱ͔Β ͍͖ͬͯ·͠ΐ͏
େৎͰ͔͢ʁ
େৎͩΑʂ
ऴ