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
Gemini 2.0 Flashで実現する高コスパAI開発 〜実践的プロンプトエンジニアリングと文書管理システムの実装例〜/gemini-2.0-flash-prompt-engineering
erukiti
15
5.2k
LLMをねじ伏せる/Conquer the LLM
erukiti
0
140
鮮度が高すぎて世界で誰も正解を見つけてない課題に取り組んでいる/ Freshness issues
erukiti
1
750
実演TypeScript + GitHub Copilot
erukiti
9
4.3k
Function Calling対応Playgroundを作って検証してみた/LLMMeetup#3
erukiti
0
480
プロンプトを管理しやすくするツールを作ってみた / I created a tool to make the prompts easier to manage.
erukiti
3
1.9k
実践モブプログラミング/ mob programming practice
erukiti
3
1.5k
今日からアウトプットを始めよう / let's start the output from today
erukiti
1
750
Markdownをスクリプト言語として走らせてみた / actual-code
erukiti
0
4.3k
Other Decks in Technology
See All in Technology
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
180
ウォンテッドリーのデータパイプラインを支える ETL のための analytics, rds-exporter / analytics, rds-exporter for ETL to support Wantedly's data pipeline
unblee
0
120
AIエージェント元年
shukob
0
150
Potential EM 制度を始めた理由、そして2年後にやめた理由 - EMConf JP 2025
hoyo
2
2.5k
Raycast Favorites × Script Command で実現するお手軽情報チェック
smasato
1
140
RemoveだらけのPHPUnit 12に備えよう
cocoeyes02
0
270
Goで作って学ぶWebSocket
ryuichi1208
3
2.7k
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
500
Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!
nrinetcom
PRO
2
110
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
610
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
18k
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
150
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Being A Developer After 40
akosma
89
590k
Git: the NoSQL Database
bkeepers
PRO
427
65k
Rails Girls Zürich Keynote
gr2m
94
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
How to Ace a Technical Interview
jacobian
276
23k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Making Projects Easy
brettharned
116
6k
A Tale of Four Properties
chriscoyier
158
23k
BBQ
matthewcrist
87
9.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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ͱ͍͏ܗࣜඞཁͳؾ •
͓ؾ࣋ͪωοτϫʔΫͷ֎ʹ͋Δίϯςϯπͱͷͭͳ͗ࠐΈ ΛͲ͏͢Δ͔
͓ؾ࣋ͪωοτϫʔΫ • ϙδςΟϒͳ͓ؾ࣋ͪΛૹΓ͋ͬͯΫϦΤΠλʔୡͷԠԉ Λ͢Δ • ʮৼΓࠐΊͳ͍ٗʯ໓ • ΫϦΤΠςΟϒͷੈքʹ͓͍ͯɺखΛಈ͔͢ਓɺϑΟʔυ όοΫΛฦ͢ਓʢಛʹϙδςΟϒͳͷʣɺۚΛग़͢ਓ͕ ਖ਼ٛ
• ͓ؾ࣋ͪωοτϫʔΫͱͯ͠Πϯϑϥҡ࣋͢Δਓਖ਼ٛ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠