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
DAGで表現するお気持ちネットワーク / Okimochi
Search
erukiti
February 16, 2018
Technology
3
2.6k
DAGで表現するお気持ちネットワーク / Okimochi
erukiti
February 16, 2018
Tweet
Share
More Decks by erukiti
See All by erukiti
LLMをねじ伏せる/Conquer the LLM
erukiti
0
84
鮮度が高すぎて世界で誰も正解を見つけてない課題に取り組んでいる/ Freshness issues
erukiti
1
690
実演TypeScript + GitHub Copilot
erukiti
9
4.2k
Function Calling対応Playgroundを作って検証してみた/LLMMeetup#3
erukiti
0
440
プロンプトを管理しやすくするツールを作ってみた / I created a tool to make the prompts easier to manage.
erukiti
3
1.8k
実践モブプログラミング/ mob programming practice
erukiti
3
1.5k
今日からアウトプットを始めよう / let's start the output from today
erukiti
1
710
Markdownをスクリプト言語として走らせてみた / actual-code
erukiti
0
4.2k
もくもく執筆会 for 技術書典5 / techbook_meepup
erukiti
0
170
Other Decks in Technology
See All in Technology
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
150
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
530
kargoの魅力について伝える
magisystem0408
0
200
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
260
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
520
ハイテク休憩
sat
PRO
2
140
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
220
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
220
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
530
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
280
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
The Cost Of JavaScript in 2023
addyosmani
45
7k
GitHub's CSS Performance
jonrohan
1030
460k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
97
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Bash Introduction
62gerente
608
210k
Transcript
DAGͰදݱ͢Δ ͓ؾ࣋ͪωοτϫʔΫ @erukiti
@erukiti • Ҿ͖͜ΓؾຯϑϦʔϥϯεΤϯδχϟʔ • ϑϩϯτΤϯυɾόοΫΤϯυɾΠϯϑϥΛҰ௨Γ • JS/TS͕͖ɻ2/20ʹJSϝλϓϩษڧձΓ·͢ • ಉਓࢽॻ͍ͨΓۀԽͨ͠Γಉਓࢽॻ͍ͨΓ͍ͯ͠·͢ •
4/22ͷٕज़ॻయ4ͰɺϒϩοΫνΣʔϯɾ҉߸௨ ՟ͷٕज़ΛJSͰղઆ͢ΔຊΛग़͢༧ఆͰ͢
ҙ: ͋·Γٕज़తʹ ౿ΈࠐΜͰ͍·ͤΜ • ઃܭɾ࣮ݧίʔυॻ͍ͯΔஈ֊Ͱ͢ • ࢦఠͱ͔ٙͱ͔͋ΕΣϧΧϜͰ͢ʂ • Ϩϕϧ͗ͨ͢Γɺత͕ͣΕ͍ͯͨΓͨ͠Β͝ΊΜͳ ͍͞
• GoogleDocumentͷਃ͠ࠐΈͰɺαΠυνΣʔϯͱ͔ε έʔϦϯάʹڵຯ͋Δͬͯॻ͍ͨؾ͕͢Δ(͝ΊΜͳ͍͞)
͓ؾ࣋ͪ
ྫ: ίϯςϯπΫϦΤΠλʔ • খઆΛॻ͍ͨΒײ͕ཉ͍͠ɻࢮ͵΄Ͳཉ͠ ͍ɻʢͱΑ͘ஶऀͷํ͔Βฉ͘ʣ • Ͱʮ͜ͷখઆ͖ͳΜͰ͕͢ۀ൛ങ͍ ·ͤΜʯΈ͍ͨͳͷΘ͟Θ͟ಡΈͨ͘ͳ͍ʢͦ ͏͍͏ϑΝϯͷ෩্ʹஔ͚ͳ͍ϠΧϥ࣮ ࡍʹ͍Δʣ
Πϯλʔωοπѱҙʹຬ͍ͪͯΔ • ΧδϡΞϧʹԌ্ • ݴΛ͛Δίετ͕͗͢Δ • ͦͦ1ରଟɻͷྗ
Πϯλʔωοπѱҙʹຬ͍ͪͯΔ • ΧδϡΞϧʹԌ্ • ݴΛ͛Δίετ͕͗͢Δ • ͦͦ1ରଟɻͷྗ ߈ܸଆ͕༗ར͗͢Δ
ϙδςΟϒͳ͓ؾ࣋ͪ • ʮ͜ͷখઆ໘ന͍ʯͱ͔ϙδςΟϒͳ͓ؾ࣋ ͚ͪͩΛूΊΔ͕͍͍͋ͬͯͷͰʁ • ΈΜͳ͕ωΨςΟϒͱݸผʹઓͬͯফ͢Δ ΑΓɺϙδςΟϒͳ͓ؾ࣋ͪΛΒͬͯɺ ࣍·ͨؤுΔͷ͕ྑ͍ͷͰ
ͦ͜Ͱ͓ؾ࣋ͪΛDAGͰදݱ
͓ؾ࣋ͪTxʢτϥϯβΫγϣϯʣ • ͓ؾ࣋ͪTxɺ1ʙnͷϙδςΟϒͳධՁΛදݱ ͢ΔͷͰɺίϝϯτΛఴ͑Δ • ͓ؾ͍࣋ͪ͘ΒૹͬͯݮΒͳ͍͠ϦΞϧλΠ Ϝ͡Όͳ͍͍ͯ͘ (Ұຊͷ͡Όͳͯ͘Α͍) • 1Ҏ্ͷPrevHashΛؚΊΔDAGߏ
(TxDAG)
͓ؾ࣋ͪλά • ͨͱ͍͍͑খઆΛॻ͍ͨਓʹɺNovelλάͷ͓ؾ࣋ ͪTxΛൃߦ • JavaScriptͷهࣄͳΒ͖ͬͱJavaScriptλά • λάͨͿΜ֊ߏʹͳΔɻখઆͷѪՈͷதͰ ൊ৭ʑ͋ΔΘ͚Ͱ…ɻ •
͔ͨ͠͠Βλάͷforkͱ͔ʁ
Novel Novel Novel Novel
͓ؾ࣋ͪείΞ • TxDAGΛݩʹPageRankͬΆ͍ܭࢉΛͯ͠ɺ͓ؾ࣋ͪε ίΞΛׂΓग़͢ • NovelλάͰ͓ؾ࣋ͪείΞͷߴ͍ਓ͕ൃߦ͢ΔNovelλ άͷ͓ؾ࣋ͪTxՁ͕ߴ͍ͣɻݴ͍͑ΔͱNovel ʹ͓͍͓ͯΊ͕ߴ͍ • NovelͰ׆༂ͯ͠Δ͚Ͳઐ֎ͩͱμϝμϝͳਓ͍Δ͔
ΒɺҟͳΔλάʹରͯ͠ͷӨڹྗ࣋ͨͳ͍
NovelείΞ: 10 NovelείΞ: 40 NovelείΞ: 100 NovelείΞ: 1000 /PWFMείΞɿ Ճࢉલ
جຊతͳTx 5Y ର Ճσʔλ 0LJNPDIJ ର5Y63- ʙ O ίϝϯτ λά
.PEFSBUJPO ର5Y ༰ /FX$POUFOU ର63-PS#MPCใ 4JHO$POUFOU ର63- 3FWPLF ର5Y
Peer to Peer • WebRTCͷData Channelͱ͔͋ΓͳͷͰ • TxΛΓͱΓͯ͠TxDAGΛߏங • ֤PeerTxDAGΛݕূ
• ωοτϫʔΫҡ࣋ͷߩݙͰΠϯϑϥείΞ(ͨ ͱ͑ɺOkimochi.infraλά)Λऔಘ
ΠϯϑϥείΞ͕ߴ͍Peerɺ ͖ͬͱImportantPeerͰ͋Δ
ImportantPeer • ImportantPeer͚͕ͩϚϧνγάͰൃߦͰ͖ΔTx ͕͋Δ • ImportantPeerΠϯϑϥείΞථDNSͷ Ϩίʔυʹిࢠॺ໊ͱ͔ͰબΕΔͱ͍͍Μ͡Ό ͳ͍͔ͳ • ImportantPeerτʔΫϯؔ࿈ͷTxΛൃߦ͢Δ
͓ؾ࣋ͪτʔΫϯ • Novel͓ؾ࣋ͪείΞ͕ߴ͍ਓ = NovelʹԿΒ ͔ͷܗͰߩݙͯ͠Δਓ • ImportantPeer͕είΞΛݩʹτʔΫϯΛ֤ࣗ ʹൃߦ͢Δ •
׆༻ྫ: ಉਓࢽଈചձͰτʔΫϯࢧ͍
͓ؾ࣋ͪΛۚͰങ͏ • Novelλάʹ҉߸௨՟ΛدଃͰ͖Δ (Patron.Novelε ίΞ্͕͕Δͱ͔) • ImportantPeer͕ड͚ೖΕ༻ͷΥϨοτΛੜ͢Δ (Bridge) • ߩݙऀNovelτʔΫϯΛόʔϯ͢Δ͜ͱͰNovelʹ
دଃ͞Εͨ҉߸௨՟ͷҰ෦Λ Bridge ͔Βड͚औΕΔ
ImporantPeerؔ࿈Tx 5Y *NQPSUBOUPOMZ σʔλ 5PLFO(FOFSBUFE ZFT ୭ʹ͍͘Βੜ͞Ε͔ͨ 5PLFO4FOE3FRVFTU OP ୭ʹ͍͘ΒૹΓ͍͔ͨ
5PLFO4FOU ZFT ୭ʹ͍͘Βૹ͔ͬͨ %POBUF3FRVFTU OP ͲͷλάʹԿΛدଃ͢Δ͔ %POBUFE ZFT دଃ͞Εͨ҉߸௨՟ͱλά 5PLFO#VSO3FRVFTU OP λάɾ೩͢τʔΫϯ 5PLFO#VSOFE ZFT ϦΫΤετ*%ͱ҉߸௨՟ͷ5Y*%
͓ؾ࣋ͪωοτϫʔΫͷԠ༻ྫ • ࢄDB, ࢄετϨʔδͱ͔ • ৺ͳϑΝϯ͚͕ͩಡΊΔ࡞৴ (ࢄετϨʔδͷԠ༻) • ҉߸ϝʔϧ৴ •
͓ؾ࣋ͪωοτϫʔΫͷϑΟʔυͰใऩू • ͓ؾ࣋ͪωοτϫʔΫऔҾॴ (ҟੈքసੜখઆτʔΫϯͱ έϞφʔֆࢣτʔΫϯΛऔҾ͢Δ)
՝ʢͨͿΜ͍ͬͺ͍͋Δʣ • ΞοϓσʔτͲ͏͢Δ͔…ɻείΞܭࢉࣜͱ͔৭ʑ࣮ݧͨ͠Γ मਖ਼ͨ͠Γ͕ඞཁʹͳΔɻ • λά͔ͳΓྲྀಈతʹͳΔͣɻ৽نλάͷੜʹίετΛઃ ͚Δ͖͔Εͳ͍ɻ໊લۭؒͷୣ͍߹͍͋ΔͩΖ͏͠… • Tx͚ͩ͡Όͳͯ͘ɺQuery/Resultͱ͍͏ܗࣜඞཁͳؾ •
͓ؾ࣋ͪωοτϫʔΫͷ֎ʹ͋Δίϯςϯπͱͷͭͳ͗ࠐΈ ΛͲ͏͢Δ͔
͓ؾ࣋ͪωοτϫʔΫ • ϙδςΟϒͳ͓ؾ࣋ͪΛૹΓ͋ͬͯΫϦΤΠλʔୡͷԠԉ Λ͢Δ • ʮৼΓࠐΊͳ͍ٗʯ໓ • ΫϦΤΠςΟϒͷੈքʹ͓͍ͯɺखΛಈ͔͢ਓɺϑΟʔυ όοΫΛฦ͢ਓʢಛʹϙδςΟϒͳͷʣɺۚΛग़͢ਓ͕ ਖ਼ٛ
• ͓ؾ࣋ͪωοτϫʔΫͱͯ͠Πϯϑϥҡ࣋͢Δਓਖ਼ٛ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠