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
790
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
880
Building frontend development environment and web performance monitoring
nekobato
2
1.5k
Mobile Animation Tuning
nekobato
1
740
Electron年報
nekobato
0
850
Other Decks in Programming
See All in Programming
CursorはMCPを使った方が良いぞ
taigakono
1
180
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
390
技術同人誌をMCP Serverにしてみた
74th
1
360
C++20 射影変換
faithandbrave
0
530
deno-redisの紹介とJSRパッケージの運用について (toranoana.deno #21)
uki00a
0
150
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
320
Team operations that are not burdened by SRE
kazatohiei
1
210
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
440
5つのアンチパターンから学ぶLT設計
narihara
1
110
ASP.NETアプリケーションのモダナイズ インフラ編
tomokusaba
1
410
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
5
1.3k
Featured
See All Featured
Building Applications with DynamoDB
mza
95
6.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Typedesign – Prime Four
hannesfritz
42
2.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
GitHub's CSS Performance
jonrohan
1031
460k
Thoughts on Productivity
jonyablonski
69
4.7k
RailsConf 2023
tenderlove
30
1.1k
BBQ
matthewcrist
89
9.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Speed Design
sergeychernyshev
32
1k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
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Ϟδϡʔϧ͋·Γἧͬͯͳ͍