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
P2P Netfwork with Node.js
Search
Hayato Koriyama
May 30, 2018
Programming
1
670
P2P Netfwork with Node.js
P2P NetworkをNode.jsで入門してみた話
Hayato Koriyama
May 30, 2018
Tweet
Share
More Decks by Hayato Koriyama
See All by Hayato Koriyama
Migration to BrowserWindow in Electron
nekobato
3
740
Building frontend development environment and web performance monitoring
nekobato
2
1.4k
Mobile Animation Tuning
nekobato
1
640
Electron年報
nekobato
0
760
Other Decks in Programming
See All in Programming
Namespace on read
tagomoris
2
370
3 Effective Rules for Success with Signals in Angular
manfredsteyer
PRO
0
120
iOSアプリでクリップボードにコピーしたことをユーザーに伝えるちょうど良いフィードバックを探す
ski
0
100
Modern Angular: Renovation for Your Applications
manfredsteyer
PRO
0
140
The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform | droidcon Berlin
prof18
0
110
From Spring Boot 2 to Spring Boot 3 with Java 22 and Jakarta EE
ivargrimstad
0
1.9k
CSC307 Lecture 07
javiergs
PRO
0
220
「2024年版 Kotlin サーバーサイドプログラミング実践開発」の補講 〜O/Rマッパー編〜
n_takehata
2
260
Exploring the Gradually Lost Technical Skills in the Cloud Native Era
hwchiu
2
3.9k
Activities at Cairo Library
cairolibrary720
0
1.2k
Cloudflare Workers x AWS Lambdaの組み合わせユースケース / Cloudflare Workers x AWS Lambda Combination Use Case
seike460
PRO
2
310
入社1ヶ月でここまでやった!Findy Toolsインフラ支援の最適化
rvirus0817
6
1.4k
Featured
See All Featured
Debugging Ruby Performance
tmm1
71
11k
Automating Front-end Workflow
addyosmani
1362
200k
Code Reviewing Like a Champion
maltzj
517
39k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.5k
Clear Off the Table
cherdarchuk
89
320k
Stop Working from a Prison Cell
hatefulcrawdad
266
20k
Producing Creativity
orderedlist
PRO
340
39k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Adopting Sorbet at Scale
ufuk
71
8.8k
Designing the Hi-DPI Web
ddemaree
276
34k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
44
4.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
2.9k
Transcript
11/FUXPSLJOHXJUI /PEFKT ೖͯ͠Έͨ
୭ w !OFLPCBUP w 'SPOUFOE&OHJOFFS w גࣜձࣾϞόΠϧϑΝΫτϦʔ
ࠓͷ w ͳΜ͔࠷৽ͷྲྀߦΛ͓͏ͱࢥ͚ͬͨͲΊͨ w /PEFKTͰ11ωοτϫʔΫೖͨ͠ w /PEFKTͰ11ωοτϫʔΫΛߏங͢Δ·Ͱͷ
ࠓ͠ͳ͍ w 8FC35$ͷ w ϓϩτίϧͷӅṭ w 伴ަʹΑΔσʔλͷӅಗͱ͔
-JTL w -JTLCMPDLDIBJOBQQMJDBUJPOQMBUGPSN w IUUQTMJTLJP w /PEFKTͰ࣮͞ΕͨϒϩοΫνΣʔϯΞ ϓϦέʔγϣϯ w
࠷ۙίʔυΛಡΜͩˍࢀߟʹ͠ͳ͕Βࣗ Ͱॻ͍ͨͷͰωοτϫʔΫ෦ͷݟ
None
8FC35$Ͱͳ͍ͷ͔ w 8FC35$TUVO UVSOαʔόʔΛ༻ҙ͢Δ߹ͰӡӦ͕τϥϑΟο ΫΛࢧ͑Δඞཁ͕͋Δ w ʢ1FFSʹͦͷׂΛ࣋ͨͤΔͱ͍͏ํ๏͋Γ·͢ʣ w TUVO*1ΞυϨεͷऔಘ w
UVSOσʔλͷதܧ w EFDFOUSBMJ[FEͱݴ͑ͳ͍
EFDFOUSBMJ[FEͳ11 w μϯ͠ͳ͍ωοτϫʔΫͷඞཁੑͬͯ w ӡӦ͕ؤுΕྑ͍ͷͰ w ຊʹμϯ͍͚ͯ͠ͳ͍αʔϏεͳΜͰ͔͢ʁ
EFDFOUSBMJ[FEͳ11 w ˠެݖྗʹӡӦαʔόʔΛ͑ΒΕͯಈ͖ଓ͚Δ w ˠެݖྗʹରͯ͠ϩοΫϯϩʔϧ͍ͯͧ͘͠ɺͱ͍͏ҙࢤΛ΅͔ ͨ͠ͷ
3PDLO3PMM11
11ߏங·Ͱͷ̎ͭͷน
/BUͷน w /BU5SBWFSTBM w ͍ΘΏΔ/BUӽ͑ɺϙʔτ։์ɺ1PSU.BQQJOHT w )PMF1VODIJOHͱݴ͏Β͍͠ w ·ͣ5$1ϙʔτ͕ۭ͍ͯͳ͍ w
ˠ૬ख͔Βࣗͷ4PDLFUʹܨ͙͜ͱ͕ग़དྷͳ͍ w ϧʔλ͕V1O1ʹରԠ͍ͯ͠Εϧʔλʹ1PSU.BQQJOH͢Δ͜ͱ͕Մೳ
/BUͷน w ੲͷ11ιϑτϢʔβʔ͕खಈͰ։์ͷઃఆ 1PSU.BQQJOH Λ ͢Δඞཁ͕͋ͬͨ w ࠷ۙͷՈఉ༻ϧʔλେͷ߹V1O1ʹରԠ͍ͯ͠ΔͷͰɺࣗ ಈͰϙʔτ։์͢Δྀ͕Մೳ w
اۀωοτϫʔΫ͔Βϙʔτ։͚ͯΒ͍ͬͯͩ͘͞
1PSU.BQQJOHͷखॱ w ωοτϫʔΫͷϧʔλΞυϨεͱϚοϐϯάઃఆͷΤϯυϙ ΠϯτΛ୳͢ TTEQ w ϧʔλʹάϩʔόϧ*1ΞυϨεΛ͍߹ΘͤΔ TPBQ
w ϧʔλʹϙʔτϚοϐϯάͷཁٻΛૹΔ TPBQ w Ұ࣌తʹϙʔτ͕։͘ʂ w ͋ͱͰดΊ·͠ΐ͏ TPBQ
ϧʔλΛ୳͢
ϧʔλʹ(MPCBM*1Λฉ͘
ϧʔλʹ(MPCBM*1Λฉ͘
1PSU.BQQJOH
w 44%1ͬͯԿ w ωοτϫʔΫͰV1O1ʹରԠͨ͠ػثΛ୳ࡧ͢ΔͨΊͷϓϩτί ϧ w 40"1ͬͯԿ w 3&45͕ྲྀߦΔલʹଘࡏͨ͠9.-ϕʔεͷ31$ϓϩτίϧ w
ݹ͍ʂ w ͰV1O1ରԠϧʔλʹ͜Ε͕ೖͬͯΔ
w ͜ͷखଓ͖Λ౿Ή͜ͱͰϧʔλͷཧը໘ͷݖݶ͕ແͯ͘ϙʔ τ։์͕Մೳ w OPEFOBUVQOQͱ͔ͰͰ͖Δ͔ w ະݕূʢશ෦ॻ͍ͯ͠·ͬͨͷͰʣ
11ߏங·Ͱͷ̎ͭͷน
ॳظಉظͷน w ֎෦ͷਓͱΓͱΓͰ͖ΔΑ͏ʹͳͬͨͷͰ୭͔ͱܨ͕Γ͍ͨ w 1FFS-JTU͕ͳ͍
ॳظಉظͷน w ωοτϫʔΫʹࢀՃ͢ΔͨΊͷใ w ॳظϊʔυ w ωοτϫʔΫ্ʹԿ͕͋Δͷ͔ w ϑΝΠϧ#MPDLใ
ॳظಉظͷน w ॳظϊʔυΛͲ͏ͬͯಘΔͷ͔ w 8JOOZ4IBSF༗ࢤϙʔλϧαΠτͳͲͰͷࠜڞ༗ w &UIFSFVNͳͲϒϩοΫνΣʔϯܥ։ൃݩ͕༻ҙͨ͠ઈରܨ͕Δϊʔυ͕ଘࡏ ͢Δ͜ͱ͕ଟ͍ w 3PDLO3PMMͳ߹Ͳ͔͔͜ΒॳظϊʔυΛೖΕΔඞཁ͋Γ
w ։ൃݩϊʔυ͕શͯΛ༩͑Δͷෛ୲͕ภΔͷͰɺ։ൃݩϊʔυ͔Βऔಘ͢Δͷ ϊʔυใͷΈɺଞͷσʔλωοτϫʔΫ্ͷ(PPE1FFS͔ΒΒ͏ͳͲͷ ͕ඞཁ
(PPE1FFS#BE1FFS w 1FFS͕ಛఆͷ୭͔ʹσʔλΛ͍߹Θ͍ͤͨ߹ɺରͷ1FFSΛબఆ͢Δͷʹ(PPE1FFS͔Ͳ͏͔அ͢Δ ࢦඪ w ͍߹Θͤઌ͕গͳ͍ใ͔͍࣋ͬͯ͠ͳ͔ͬͨΒແବωοτϫʔΫΛ݈શʹอͯͳ͍ w શવܨ͕Βͳ͍1FFSใΛ͞Εͯɺॱ൪ʹ֬ೝ͢Δ͜ͱ͔͠Ͱ͖ͳ͍ w ࢦඪ
w σʔλΛΑΓଟ͍࣋ͬͯ͘Δ w σʔλ͕࠷৽Ͱ͋Δ w WFSTJPO͕࠷৽Ͱ͋Δ w IBOETIBLFઐ༻ͷνϟϯωϧͰΓͱΓ͢Δ
(PPE1FFS#BE1FFS w 8JOOZ w ωοτϫʔΫͷʢࣗݾਃࠂʣ w Λ্ྲྀͱԼྲྀʹ͚Δ͜ͱͰɺωοτϫʔΫͷετϨεΛݮ Βͦ͏ͱͨ͠ w ্ྲྀϊʔυʹσʔλ͕ू·ΔΈྲྀ͕͍
(PPE1FFS#BE1FFS w 1FSGFDU%BSL w ॴ༗͢ΔετϨʔδͷྔ w ετϨʔδ͕ଟ͍ωοτϫʔΫʹߩݙ͍ͯ͠Δ
(PPE1FFS#BE1FFS w &UIFSFVN HFUI w IFJHIUʢ͍࣋ͬͯΔϒϩοΫʣͷ w IFJHIU͕ߴ͍࠷৽Ͱ͋ΔՄೳੑ͕ߴ͍
(PPE1FFS#BE1FFS w #JU$PJO w $ ಡΉͷ͕͠ΜͲ͔ͬͨ
(PPE1FFS#BE1FFS w -JTL w ݱࡏίωΫγϣϯϦετͷઌ಄Λ͖࣋ͬͯͯΔ͚ͩ
(PPE1FFS#BE1FFS
ࣗͰͲ͏͔ͨ͠ w GPS&BDIͨ͠ w ૬खͷෛՙΛΨϯແࢹ
͜͜·ͰདྷͯΑ͏͘ 11ωοτϫʔΫ͕ߏங͞ΕΔ
͜ͷޙͷωοτϫʔΫʹ͏ ϓϩτίϧ w WT w )551 -JTL /&0 w
KTPO31$ &UIFSFVN w H31$ &UIFSFVN w ϦϨʔ w 8FC4PDLFU -JTL /&0 &UIFSFVN w ;FSP.2
͍ͭͰɿωοτϫʔΫͷҡ࣋ํ๏
None
None
ײ w 11ωοτϫʔΫͷ͜ͱΛௐΔʹͭΕͯ8JOOZ4IBSFͬͯΑ͘ ग़དྷͯΔͳ͊ͱ͍͏ײ w ͚Ͳྺ࢙తܦҢʹΑ໊ͬͯલΛग़͠ʹ͍͘ w දʹग़͠ʹ͍͘ʂʂʂ w શݖΛᨳ͏ϒϩοΫνΣʔϯ11ωοτϫʔΫͱෆՄ
w දʹग़͍͢͠ʂʂʂ
ײ w #JU$PJO͔Β࢝·ΔϒϩοΫνΣʔϯ܈ʹΑͬͯ11ωοτϫʔΫͷ धཁ͕ߴ·͖ͬͯͨ w ωοτʹམͪͯΔຊޠใ͕ݹ͍ w ͍͍ͩͨࣗͰॻ͔ͳ͖Ό͍͚ͳ͍ਏ͕͋͞Δ w φͳٕज़ք۾ͷਓɺ11ωοτϫʔΫॻ͍ͯ΄͍͠
MJCQQͱ͍͏ͷ͕͋ΔΒ͍͠ 11ʹඞཁͳॾʑΛ৭ʑͳݴޠͰ࣮ͨ͠Ϟδϡʔϧ܈ ͕ɺ/PEFKTϞδϡʔϧ͋·Γἧͬͯͳ͍