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
Fedify — ActivityPub 서버 프레임워크
Search
Hong Minhee (洪 民憙)
November 22, 2024
Programming
94
1
Share
Fedify — ActivityPub 서버 프레임워크
Open Contribution Jam 2024에서 Fedify 프로젝트에 대한 소개
Hong Minhee (洪 民憙)
November 22, 2024
More Decks by Hong Minhee (洪 民憙)
See All by Hong Minhee (洪 民憙)
Fedify: Building ActivityPub servers without the pain
minhee
0
20
Optique: TypeScript의 타입 추론으로 CLI 유효성 검사를 대체하기
minhee
0
39
야크 셰이빙: 새로운 오픈 소스의 원동력
minhee
0
35
Embracing yak shaving
minhee
1
25
BotKit by Fedify:誰でも簡単に作れるActivityPubボット
minhee
0
170
国漢文混用体からHolloまで
minhee
2
560
여러 .NET 구현과 플랫폼을 두루 지원하는 라이브러리 (오픈 소스로) 만들기
minhee
3
1.1k
첫 이더리움 스마트 콘트랙트 개발 이야기
minhee
1
1.3k
파이썬과 다이아스포라
minhee
3
2.4k
Other Decks in Programming
See All in Programming
Cache-moi si tu peux : patterns et pièges du cache en production - Devoxx France 2026 - Conférence
slecache
0
180
PHP で mp3 プレイヤーを実装しよう
m3m0r7
PRO
0
260
Alternatives to JPA 2026
debop
0
100
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
6.4k
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
240
Feature Toggle は捨てやすく使おう
gennei
0
570
How Swift's Type System Guides AI Agents
koher
0
240
10年分の技術的負債、完済へ ― Claude Code主導のAI駆動開発でスポーツブルを丸ごとリプレイスした話
takuya_houshima
0
2.5k
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
210
Make GenAI Production-Ready with Kubernetes Patterns
bibryam
0
110
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
4.8k
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
200
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
210
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
160
The browser strikes back
jonoalderson
0
960
WENDY [Excerpt]
tessaabrams
10
37k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
250
Typedesign – Prime Four
hannesfritz
42
3k
My Coaching Mixtape
mlcsv
0
98
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
170
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
440
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
Transcript
ഘ൞ (hongminhee.org) Fedify ActivityPub ࢲߡ ۨਕ
ࣗ࣍ ٣য അ ঔഋ ۖಬ ೠ҅ • ױੌ ӝস Ѿী
ઓ • Twitter → X۽ ߸҃ • Facebook झ ରױ (ഐ·நա) • ࢲ࠺झ р ࣗా ࠛоמ • Facebook ࢎਊח X ѱदޛী ؆Ӗਸ ׳ ࣻ হ • Instagram ࢎਊח YouTube ز࢚ী ߈ਸ թӡ ࣻ হ • цझ۞ ࢲ࠺झ ױ • Google+ ઙܐ (2019֙) • Vine ઙܐ (2016֙)
ಕ٣ߡझ(fediverse)ۆ? ఎঔചػ ࣗ࣍ ٣য ࣁ҅ • Fediverse = federated +
universe • ೠҴীࢲח “ো”ۄҊب ࠛܿ • ݫੌۢ زೞח ࣗ࣍ ٣য • @
[email protected]
↔ @
[email protected]
• ־ҳա न ࢲߡܳ оמ • ݃ী ٘ח ࢲߡܳ ࢶఖ೧ оੑ • ܲ ࢲߡ ࢎਊٜҗ ਬ܂ѱ ࣗా
ಕ٣ߡझ അ নೠ ࢲ࠺झٜ ೞա۽ োѾ • Mastodon • о
ੋӝ ח ݃۽࠶۽Ӓ (ಕ٣ߡझ౸ X) • 800݅ ࢎਊ • Meta Threads • Instagramҗ োز • ӝఋ ࢲ࠺झٜ • Pixelfed (ࢎ, ಕ٣ߡझ౸ Instagram) • PeerTube (ز࢚, ಕ٣ߡझ౸ YouTube) • Lemmy (ನۢ, ಕ٣ߡझ౸ Reddit)
ಕ٣ߡझ അ নೠ ࢲ࠺झٜ ೞա۽ োѾ • Mastodon • о
ੋӝ ח ݃۽࠶۽Ӓ (ಕ٣ߡझ౸ X) • 800݅ ࢎਊ • Meta Threads • Instagramҗ োز • ӝఋ ࢲ࠺झٜ • Pixelfed (ࢎ, ಕ٣ߡझ౸ Instagram) • PeerTube (ز࢚, ಕ٣ߡझ౸ YouTube) • Lemmy (ನۢ, ಕ٣ߡझ౸ Reddit)
ActivityPub ࣗѐ ಕ٣ߡझܳ оמೞѱ ೞח ળ • W3C ળ ۽ష
(2018֙ थੋ) • Social Web Working Group Ѿҗޛ • JSON-LD ӝ߈ ഛ оמೠ যൃ { "@context": "https: / / www.w3.org/ns/activitystreams", "type": "Note", "content": "Hello, World!", "to": "https: / / www.w3.org/ns/activitystreams#Public" }
ActivityPub ӝࣿ ౠ ঘఠ৬ ঘ౭࠺౭ • ݽٚ ࢚ഐਊ ঘ౭࠺౭۽ അؽ
• Ӗॳӝ → Create(Note) • ౹۽ → Follow • જইਃ → Like • HTTP۽ ాन • п ঘఠח Ҋਬೠ ࣻनೣ(inbox)ਸ о • ࢲݺػ HTTP POST ਃਵ۽ ׳
ActivityPub ࢲߡ ҳഅ য۰ ৵ Fedifyо ਃೠо • ࠂೠ ۽ష
• WebFinger, HTTP Signatures, JSON-LD… • ࠁউ ҳഅ য۰ • ࢲݺ Ѩૐ, ః ҙܻ, ӂೠ ഛੋ… • ࢚ഐਊࢿ • Mastodon ١җ ഐജࢿ • ҳഅ߹ ର
Fedify ࣗѐ TypeScript/JavaScript۽ ݅٘ח ಕ٣ߡझ federation.setActorDispatcher("/users/{identifier}", async (ctx, identifier) =
> { return new Person({ id: ctx.getActorUri(identifier), name: "John Doe", preferredUsername: identifier, inbox: ctx.getInboxUri(identifier), }); }); • Node.js, Deno, Bun ਗ • Express, Fresh, Hono ١ ۨਕ৬ ా
Fedify উೞҊ Ѩૐػ ҳഅ • ఋੑ উࢿ • TypeScript
ъ۱ೠ ఋੑ दझమ • ۠ఋ য়ܨ ߑ • ࠁউ ӝמ ղ • HTTP Signatures, Linked Data Signatures, Object Integrity Proofs… • ః ҙܻ زച • ࢚ഐਊࢿ Ѩૐ • Mastodon, Misskey, Threads…
য়ט ೣԋ ӝৈ೧ࠁӝ ۄب ҡଳইਃ • ۠ Ѫٜਸ ೧ࠅ ࣻ
णפ • ޙࢲ ѐࢶೞӝ • ઁ ٘ ࢿೞӝ • పझ ୶оೞӝ • ߡӒ ࣻೞӝ
য়ט ೣԋ ӝৈ೧ࠁӝ ۄب ҡଳইਃ • ೣԋ ب৬٘݀פ • ѐߊ
ജ҃ ࢸ • ग Ҋܰӝ • ٘ ࢿ • ಽ ܻ௮झ ઁ
ݛ݈ ೣԋ ݅٘ח ఎঔചػ ࣗ࣍ ٣য • GitHub: https://github.com/dahlia/fedify •
ޙࢲ: https://fedify.dev/ • Discord: https://bit.ly/fedify-discord