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
290
すぐに使える 説明下手エンジニアのための コミュ力入門
astolfo
June 20, 2022
Tweet
Share
More Decks by astolfo
See All by astolfo
最近のフレッツとIPv6の話
mattenn
2
790
そうだ、10Gを引こう
mattenn
0
260
COCOAを使用した人数表示システムの開発
mattenn
0
180
Cloudflare Mail Routingを使ってみた
mattenn
0
320
Realforceを濡らしてしまった話
mattenn
0
280
DJを陰で支える技術
mattenn
1
1.3k
それNetlifyでできるよ - Webページを爆速で作ってキレイに魅せよう
mattenn
8
11k
多分わかるServerless Framework
mattenn
0
450
多分分かるUSB Type-C
mattenn
0
680
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
51
8.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Statistics for Hackers
jakevdp
799
220k
Thoughts on Productivity
jonyablonski
69
4.8k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
RailsConf 2023
tenderlove
30
1.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
750
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
420
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
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 ·ͱΊ
શ෦͙͢ʹͰ͖Δਓ͍ͳ͍
͜ͷޙͰ͖Δ͜ͱ͔Β ͍͖ͬͯ·͠ΐ͏
େৎͰ͔͢ʁ
େৎͩΑʂ
ऴ