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
800
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
890
Building frontend development environment and web performance monitoring
nekobato
2
1.5k
Mobile Animation Tuning
nekobato
1
750
Electron年報
nekobato
0
860
Other Decks in Programming
See All in Programming
CEDEC2025 長期運営ゲームをあと10年続けるための0から始める自動テスト ~4000項目を50%自動化し、月1→毎日実行にした3年間~
akatsukigames_tech
0
120
Android 15以上でPDFのテキスト検索を爆速開発!
tonionagauzzi
0
200
Flutterと Vibe Coding で個人開発!
hyshu
1
250
Reactの歴史を振り返る
tutinoko
1
180
Constant integer division faster than compiler-generated code
herumi
2
620
AHC051解法紹介
eijirou
0
500
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
130
JetBrainsのAI機能の紹介 #jjug
yusuke
0
200
The State of Fluid (2025)
s2b
0
140
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
1
640
Terraform やるなら公式スタイルガイドを読もう 〜重要項目 10選〜
hiyanger
13
3.1k
DataformでPythonする / dataform-de-python
snhryt
0
170
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
How to Ace a Technical Interview
jacobian
278
23k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
How STYLIGHT went responsive
nonsquared
100
5.7k
For a Future-Friendly Web
brad_frost
179
9.9k
Speed Design
sergeychernyshev
32
1.1k
Done Done
chrislema
185
16k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
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Ϟδϡʔϧ͋·Γἧͬͯͳ͍