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
870
1
Share
P2P Netfwork with Node.js
P2P NetworkをNode.jsで入門してみた話
Hayato Koriyama
May 30, 2018
More Decks by Hayato Koriyama
See All by Hayato Koriyama
Migration to BrowserWindow in Electron
nekobato
3
940
Building frontend development environment and web performance monitoring
nekobato
2
1.5k
Mobile Animation Tuning
nekobato
1
790
Electron年報
nekobato
0
900
Other Decks in Programming
See All in Programming
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
380
Firefoxにコントリビューションして得られた学び
ken7253
2
160
認証統合から始めるフロントエンドの機能単位開発 — マイクロサービス思想の適用
koukimiura
0
100
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
160
Cache-moi si tu peux : patterns et pièges du cache en production - Devoxx France 2026 - Conférence
slecache
0
350
Making the RBS Parser Faster
soutaro
0
690
Spec-Driven Development with AI Agents (Workshop, May 2026)
antonarhipov
3
340
継続的な負荷検証を目指して
pyama86
3
1.1k
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
490
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
28
19k
ソースコード→AST→オペコード、の旅を覗いてみる
o0h
PRO
1
130
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
330
Featured
See All Featured
Unsuck your backbone
ammeep
672
58k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
160
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
360
GraphQLとの向き合い方2022年版
quramy
50
15k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
[SF Ruby Conf 2025] Rails X
palkan
2
1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
AI: The stuff that nobody shows you
jnunemaker
PRO
6
630
Done Done
chrislema
186
16k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
340
Balancing Empowerment & Direction
lara
6
1.1k
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Ϟδϡʔϧ͋·Γἧͬͯͳ͍