아니 우리 방금 전까지 좋았잖아
notJoon
@joonnot@hackers.pub · 34 following · 40 followers
Uncertified Quasi-pseudo dev
예전엔 그래도 코딩도 취미로 짬짬히 했었는데 요즘은 개인 시간에도 잘 안하는 느낌이군
집 꾸미는거 되게 재밌다. 귀찮음만 이겨낸다면 주말 동안 짬짬히 했는데 이거만큼 보람찬 활동은 없는 것 같다
코딩하시는 분들 Fantasque Sans Mono를 한 번 써보세요 저가 지금 neovim 을 쓰고 있는데 터미널에서도 폰트 겁내 쨍하고 가독성이 아주 좋습니다 VSCode
에서도 아마 잘 보일 것이라 생각이 들어요 츄라이츄라이
오늘 떡볶이가 정말 먹고 싶은 날인데, 맛있는 떡볶이 집을 알고 계신 전문가 구합니다. 일단 생각나는 두 분이... 👀 @kodingwarriorJaeyeol Lee
@joonnotnotJoon
@d01c2Hyunjoon Kim
@kodingwarriorJaeyeol Lee 떡볶이는 역시 인천이 근본이라
나: 건전한 육신에 건전한 정신이 깃든다(Sound body ⇒ Sound mind) ⇔ 건전하지 않은 정신이라면 육신도 건전하지 않다 (¬Sound mind ⇒ ¬Sound body)
@: 당신은 명제와 대우의 참값이 같다는 주장을 하며 배중률을 가정하고 말았습니다!!
나: 아 짜증나
결국 claude MAX를 구독하기 시작함
나중에 써먹어야겠다
notJoon shared the below article:
연합우주(fediverse)와 ActivityPub 프로토콜 이해하기: 개발자를 위한 가이드

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
연합우주란 무엇일까?
X(구 Twitter)나 Instagram 같은 중앙화된 소셜 미디어에 지치셨나요? 데이터 프라이버시, 알고리즘 추천, 그리고 끊임없는 광고가 걱정되시나요? 여기 대안이 있습니다. 바로 연합우주(fediverse)입니다.
페디버스(fediverse)는 “federated”(연합된)와 “universe”(우주)를 합친 말로, 한국어권에서는 주로 “연합우주”라고 불립니다. 연합우주는 하나의 거대한 플랫폼이 아닌, 서로 대화할 수 있는 독립적인 서버(인스턴스)들의 네트워크입니다.
이게 어떻게 가능할까요? 바로 ActivityPub이라는 프로토콜 덕분입니다. 이 프로토콜은 서로 다른 소셜 미디어 플랫폼이 정보를 교환할 수 있게 해주는 공통 언어 같은 것입니다.
연합우주는 어떻게 작동하나요?
연합우주를 이해하는 가장 쉬운 방법은 이메일 시스템과 비교하는 것입니다.
Gmail 사용자가 네이버 메일 사용자에게 이메일을 보낼 수 있는 것처럼, Mastodon 사용자는 Misskey나 PeerTube 사용자와 소통할 수 있습니다. (Mastodon, Misskey, PeerTube가 무엇인지는 아래에서 설명하겠습니다. Gmail과 네이버처럼 서로 다른 서비스라고 보시면 됩니다.) 이것이 가능한 이유는 이 서비스들이 모두 같은 언어인 ActivityPub 프로토콜로 대화하기 때문입니다.
연합우주에서 사용자 ID는 @사용자명@인스턴스.도메인
형식으로 되어 있습니다. 이메일 주소와 매우 비슷하죠? 예를 들면:
@honggildong@mastodon.social
: mastodon.social 인스턴스 사용자@kimcheolsu@pixelfed.social
: pixelfed.social 인스턴스 사용자@leeyeonghui@misskey.io
: misskey.io 인스턴스 사용자
연합우주의 다양한 플랫폼 둘러보기
연합우주는 마치 여러 행성으로 이루어진 태양계 같습니다. 각 행성(플랫폼)은 고유한 특성을 가지고 있지만, 모두 같은 우주(연합우주)에 속해 있죠. 아래 표에서 주요 플랫폼들을 살펴봅시다:
플랫폼 | 설명 | 주요 인스턴스 | 특징 |
---|---|---|---|
Mastodon | X(구 Twitter)와 유사한 마이크로블로깅 플랫폼 | • mastodon.social (공식 인스턴스) • 우리.인생 (한국 중심) |
500자 제한의 짧은 게시물, 해시태그, 컨텐츠 경고 기능 |
Misskey | 일본에서 개발된 고도로 커스터마이징 가능한 마이크로블로깅 플랫폼 | • misskey.io (가장 인기 있는 일본 인스턴스) • 스텔라 (한국 중심) |
리액션, 게임, 채팅 등 다양한 기능, 높은 커스터마이징 가능성 |
Pixelfed | Instagram과 유사한 이미지 공유 플랫폼 | • pixelfed.social (공식 인스턴스) • 추억:사진 (한국 중심) |
스토리, 필터, 발견 기능 |
PeerTube | YouTube와 유사한 비디오 호스팅 플랫폼 | • PeerTube.TV | P2P 기술로 비디오 스트리밍, 채널, 재생목록 |
WriteFreely | 미니멀한 블로그 플랫폼 | • write.as | Markdown 지원, 심플한 디자인 |
Lemmy | Reddit과 유사한 링크 애그리게이터 및 토론 플랫폼 | • lemmy.ml • YuruLemmy (한국 중심) |
커뮤니티(서브레딧과 유사), 투표, 토론 |
플랫폼 vs 인스턴스: 무슨 차이가 있을까?
연합우주를 이해할 때 흔히 혼동되는 개념이 있습니다. 바로 플랫폼(소프트웨어)과 인스턴스(서버)의 차이인데요.
플랫폼은 Mastodon, Misskey, Pixelfed와 같은 소프트웨어 자체를 의미합니다. 이들은 오픈 소스 소프트웨어로, 누구나 다운로드받아 설치할 수 있습니다.
인스턴스는 그 소프트웨어를 실행하는 개별 서버를 말합니다. mastodon.social과 우리.인생은 모두 Mastodon 플랫폼을 실행하는 별도의 인스턴스입니다.
Meta의 Threads 같은 일부 서비스는 플랫폼과 인스턴스가 동일합니다. 하지만 대부분의 연합우주 서비스는 여러 인스턴스로 구성되어 있습니다.
연합우주의 매력 포인트
연합우주가 갖는 몇 가지 매력적인 특징이 있습니다:
- 탈중앙화: 특정 기업이 모든 데이터와 규칙을 통제하지 않습니다. 각 인스턴스는 자체 규칙을 가질 수 있습니다.
- 데이터 주권: 자신의 데이터에 대한 더 많은 통제권을 가질 수 있습니다.
- 검열 저항성: 한 인스턴스가 차단되더라도 다른 인스턴스로 쉽게 이동할 수 있습니다.
- 커뮤니티 중심: 각 인스턴스는 특정 관심사나 지역 커뮤니티를 중심으로 형성됩니다.
- 다양성: 다양한 플랫폼과 인스턴스가 존재하여 선택의 폭이 넓습니다.
연합우주 시작하기
연합우주에 참여하는 것은 생각보다 쉽습니다:
- 자신의 관심사나 지역과 관련된 인스턴스를 선택합니다.
- 해당 인스턴스에 계정을 만듭니다.
- 다른 인스턴스의 사용자들을 팔로우하고 소통을 시작합니다!
한국 사용자라면 Mastodon 인스턴스인 우리.인생, Misskey 인스턴스인 스텔라 같은 한국어 중심 인스턴스를 추천합니다. 한국어 환경을 지원하고 한국 사용자들이 활발하게 활동하고 있어 시작하기 좋습니다.
아니면 이 글이 올라온 Hackers' Pub도 괜찮습니다. 소프트웨어 엔지니어들을 위한 소셜 미디어랍니다. 아직 개발중이라 공개적으로 가입을 받고 있지는 않습니다만, 홍민희에게 연락 주시면 계정을 생성해 드릴 수 있습니다.
ActivityPub: 연합우주의 심장
이제 개발자 관점에서 ActivityPub이 어떻게 작동하는지 자세히 살펴보겠습니다.
ActivityPub은 W3C에서 권장하는 표준 프로토콜로, 분산 소셜 네트워킹의 기반이 됩니다. ActivityStreams 2.0 데이터 형식을 기반으로 하며, 서로 다른 서버 간에 정보를 교환하는 방법을 정의합니다.
ActivityPub의 핵심 개념
ActivityPub은 몇 가지 핵심 개념으로 구성됩니다:
- 액터(actor): 사용자, 그룹 등 행동을 수행할 수 있는 주체입니다. 각 액터는 고유한 URL을 가지며, 수신함(inbox)과 발신함(outbox)을 가집니다.
- 액티비티(activity): 액터가 수행하는 행동으로, 게시물 작성, 댓글 좋아요, 다른 사용자 팔로우 등이 있습니다.
- 객체(object): 텍스트 게시물, 이미지, 비디오와 같이 생성되고 공유되는 콘텐츠입니다.
실제 작동 방식
홍길동(@honggildong@mastodon.social
)이 게시물을 작성하고, 이영희(@leeyeonghui@misskey.io
)가 이에 반응하는 과정을 살펴봅시다:
-
게시물 작성: 홍길동이 Mastodon에서 게시물을 작성합니다. Mastodon 서버는 이 게시물을 ActivityStreams 2.0 형식의
Create(Note)
액티비티로 변환합니다. 이 액티비티는 홍길동의 팔로워(이영희 포함)에게 전달됩니다. -
게시물 수신: 이영희의 Misskey 서버는 이 액티비티를 받고 처리하여 이영희의 타임라인에 홍길동의 게시물을 표시합니다.
-
상호작용: 이영희가 게시물에 좋아요를 누르면, Misskey 서버는
Like(Note)
액티비티를 생성하여 홍길동의 Mastodon 서버로 보냅니다. 홍길동은 이영희가 자신의 게시물을 좋아했다는 알림을 받게 됩니다.
마치 다른 언어를 사용하는 사람들이 통역사를 통해 대화하는 것과 비슷하죠? ActivityPub이 바로 그 통역사 역할을 합니다.
ActivityPub의 실제 메시지 들여다보기
개발자로서 실제 ActivityPub 메시지가 어떻게 생겼는지 궁금하실 텐데요. 몇 가지 예시를 살펴봅시다:
1. 사용자 프로필(액터) 정보
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1"
],
"id": "https://mastodon.social/users/honggildong",
"type": "Person",
"preferredUsername": "honggildong",
"name": "홍길동",
"summary": "연합우주의 개척자",
"inbox": "https://mastodon.social/users/honggildong/inbox",
"outbox": "https://mastodon.social/users/honggildong/outbox",
"followers": "https://mastodon.social/users/honggildong/followers",
"following": "https://mastodon.social/users/honggildong/following",
"publicKey": {
"id": "https://mastodon.social/users/honggildong#main-key",
"owner": "https://mastodon.social/users/honggildong",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----"
},
"icon": {
"type": "Image",
"mediaType": "image/jpeg",
"url": "https://mastodon.social/system/accounts/avatars/000/000/001/original/avatar.jpg"
}
}
이 JSON 데이터는 홍길동의 프로필 정보를 담고 있습니다. 사용자 이름, 소개, 프로필 사진 URL, 그리고 중요한 inbox
와 outbox
URL이 포함되어 있죠.
2. 게시물 작성 액티비티
{
"@context": "https://www.w3.org/ns/activitystreams",
"id": "https://mastodon.social/users/honggildong/statuses/123456/activity",
"type": "Create",
"actor": "https://mastodon.social/users/honggildong",
"published": "2025-02-21T14:30:00Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://mastodon.social/users/honggildong/followers"
],
"object": {
"id": "https://mastodon.social/users/honggildong/statuses/123456",
"type": "Note",
"content": "<p>연합우주에 오신 것을 환영합니다! #fediverse #연합우주</p>",
"published": "2025-02-21T14:30:00Z",
"attributedTo": "https://mastodon.social/users/honggildong",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://mastodon.social/users/honggildong/followers"
],
"tag": [
{
"type": "Hashtag",
"href": "https://mastodon.social/tags/fediverse",
"name": "#fediverse"
},
{
"type": "Hashtag",
"href": "https://mastodon.social/tags/연합우주",
"name": "#연합우주"
}
]
}
}
이것은 홍길동이 게시물을 작성했을 때 생성되는 Create(Note)
액티비티입니다. 게시물 내용, 해시태그, 공개 범위 등이 포함되어 있습니다.
3. 팔로우 액티비티
{
"@context": "https://www.w3.org/ns/activitystreams",
"id": "https://misskey.io/users/leeyeonghui/follow/1234",
"type": "Follow",
"actor": "https://misskey.io/users/leeyeonghui",
"object": "https://mastodon.social/users/honggildong"
}
이영희가 홍길동을 팔로우할 때 생성되는 Follow
액티비티입니다. 단순하죠?
ActivityPub 서버 구현하기: 개발자를 위한 팁
직접 ActivityPub 서버를 구현하고 싶다면 다음 단계를 따라야 합니다:
- 액터 구현: 사용자 프로필 정보를 ActivityStreams 형식으로 제공합니다.
- 수신함과 발신함 설정: HTTP 엔드포인트를 만들어 액티비티를 받고 전송합니다.
- 서명 및 인증: HTTP Signatures를 사용하여 요청을 서명하고 검증합니다.
- 액티비티 처리: 다양한 액티비티 유형(
Create
,Follow
,Like
등)을 처리하는 로직을 구현합니다. - 데이터 저장: 사용자, 게시물, 액티비티 등의 정보를 데이터베이스에 저장합니다.
- 연합 정책 구현: 어떤 인스턴스와 연합할지, 어떤 컨텐츠를 허용할지 등을 설정합니다.
개발을 시작하기 전에 Mastodon, Misskey 같은 기존 구현체의 코드를 살펴보는 것이 도움이 됩니다. 처음부터 모든 것을 구현하는 것보다 Fedify 같은 프레임워크를 활용하는 것도 좋은 방법입니다.
WebFinger: 사용자를 찾는 방법
연합우주에서 @leeyeonghui@misskey.io
같은 사용자 ID를 어떻게 실제 ActivityPub 액터 URL로 변환할까요? 그 비밀은 WebFinger 프로토콜에 있습니다:
GET https://misskey.io/.well-known/webfinger?resource=acct:leeyeonghui@misskey.io
이 요청을 보내면 서버는 다음과 같은 응답을 반환합니다:
{
"subject": "acct:leeyeonghui@misskey.io",
"links": [
{
"rel": "self",
"type": "application/activity+json",
"href": "https://misskey.io/users/leeyeonghui"
}
]
}
이제 https://misskey.io/users/leeyeonghui
URL을 통해 사용자의 전체 프로필 정보를 얻을 수 있습니다. 마치 전화번호부에서 이름으로 전화번호를 찾는 것과 비슷하죠!
연합우주의 도전 과제와 미래
연합우주는 계속 성장하고 있지만, 몇 가지 도전 과제도 있습니다:
- 확장성: 수많은 서버 간의 통신을 효율적으로 처리하는 것은 쉽지 않습니다.
- 모더레이션: 각 인스턴스가 자체 규칙을 가지므로 콘텐츠 조정에 일관성이 부족할 수 있습니다.
- 발견성: 중앙화된 플랫폼에 비해 새로운 사용자나 콘텐츠를 찾기 어려울 수 있습니다.
- 사용자 경험: 일부 플랫폼은 아직 UI/UX 측면에서 개선이 필요합니다.
그러나 Threads와 같은 주요 서비스들이 ActivityPub을 채택하기 시작하면서, 연합우주의 미래는 밝아 보입니다. 개발자로서, 이런 성장하는 생태계에 참여할 수 있는 기회가 많이 있습니다.
마무리
연합우주와 ActivityPub은 중앙화된 소셜 미디어의 대안으로서 점점 더 주목받고 있습니다. 사용자에게 더 많은 통제권을 부여하고, 다양하고 풍부한 온라인 경험을 제공하는 연합우주의 세계는 계속해서 확장되고 있습니다.
개발자로서, 여러분은 이 새로운 탈중앙화된 웹의 생태계에 기여할 수 있습니다. 기존 애플리케이션에 ActivityPub 지원을 추가하거나, 완전히 새로운 서비스를 만들거나, 현재의 도전 과제를 해결하는 솔루션을 개발할 수 있습니다.
한국 개발자들의 참여가 늘어나면 한국 사용자들을 위한 더 다양하고 풍부한 서비스가 생길 것이고, 이는 더 건강하고 다양한 인터넷 문화를 만드는 데 기여할 것입니다.
그럼, 연합우주로의 여행을 시작해 보시는 건 어떨까요?
깃헙에 10억번째 레포가 생성되었다 해서 성지순례 하고 옴 https://github.com/AasishPokhrel/shit/issues/1
예전에 만든 트리시터 기반 패키지 파서로 dependency resolver를 만들었다. 일단은 간단하게 위상 정렬로 퉁쳤는데 써보고 문제생기면 그때 다른 알고리즘으로 갈아낄 수 있도록 구조를 잡았다.
예전에 만든 트리시터 기반 패키지 파서로 dependency resolver를 만들었다. 일단은 간단하게 위상 정렬로 퉁쳤는데 써보고 문제생기면 그때 다른 알고리즘으로 갈아낄 수 있도록 구조를 잡았다.
알라딘 화들짝 놀라서 채용공고 띄운 게 웃프다.
@bglbgl gwyng
@joonnotnotJoon 제가 알기로는 Windows 러너가 필요하다거나 하면
act
는 사실상 못 씁니다…
@hongminhee洪 民憙 (Hong Minhee)
@bglbgl gwyng 맞아요 이 문제도 있었네요
@joonnotnotJoon act에 아쉬운점이 있나요? 나중에 써봐야지 생각만하고 실제로 써보진 못했습니다.
@bglbgl gwyng 환경 차이 때문에 다른 결과를 보여주는 경우가 가끔씩 있었습니다. 실행할 때 리소스를 많이 잡아먹는 것도 있었습니다. 근데 그외에는 아주 좋은 툴이라 이거만한게 없긴해요
깃헙 액션 스크립트 테스트는 어떻게 해야하나 act 말고 대안이 없을까
@joonnotnotJoon ㄷㄷ 첫 컨트리뷰터 ㄷㄷ
@kodingwarriorJaeyeol Lee 오픈소스 기여 꽤 쉬울지도?
커서의 도움을 받아 배포 자동화 스크립트를 추가했다. 아주 편하군
@joonnotnotJoon 가...갑자기요....? 일단 hpbn.co 이거부터 쳐내고 읽을까 싶긴 한데 챕터 3개 정도 남긴 하네요
@kodingwarriorJaeyeol Lee 아 맞다 이것도 읽어야 하는데
OSTEP 나도 좀 봐야하는데
@kodingwarriorJaeyeol Lee 같이 읽을래요?
우선 현재 구현은 매번 RPC 호출을 하기 때문에 체인에 부하가 갈 수 있어보이니까 뭔가 캐시 같은걸 두면 좋을듯
로컬 캐시까지 추가했다. 이제 종속성 처리를 해야겠다
세상에 어제 초대권을 다 뿌렸는데 방금 또 하나가 더 생김
귀찮아서 몇몇 테스트는 실제로 rpc 호출을 하도록 짰는데 아무래도 mock 서버 같은걸 만들어야겠다. 근데 어떻게 만들지?
이 생각은 철회함
체인에 배포된 패키지를 다운로드 하는 패키지 매니저 비스무리한거 만들고 있는데 다음 작업으론 뭘 해야하나 https://github.com/notJoon/gget
우선 현재 구현은 매번 RPC 호출을 하기 때문에 체인에 부하가 갈 수 있어보이니까 뭔가 캐시 같은걸 두면 좋을듯
체인에 배포된 패키지를 다운로드 하는 패키지 매니저 비스무리한거 만들고 있는데 다음 작업으론 뭘 해야하나 https://github.com/notJoon/gget
수학 전공자로서, 한때는 프로그래머에게 수학이 왜 필요한지, 얼마나 중요한지 같은걸 열심히 설파하려던 적이 있었는데요, 그 흔적이 이런 영상들인데 https://youtu.be/ND2gJVxZUaM?si=RsvrjsgYWeFCJMUT 지금 와서는 (수학을 제가 다 까먹었기도 했고) 그런 실용적인 목적보다는, 그냥 ‘재밌으니까’ 다들 공부했으면 좋겠다는 생각입니다. 이는 수학 뿐만 아니라 뭐든지, 뭘 알아야한다/알아야하냐 같은 얘기보다 ‘재밌으니까’가 먼저 오는 환경을 생각합니다. 너무 이상적이긴 하지만요.
thiserror는 다 좋은데 필드가 많아지면 너무 난잡해보여서 애매하다
가입자수 1000명 찍으면 사실상 트위터 개발자 타임라인이랑 위상동형이 된다
아 맞다 환경세팅
오늘 문장은 맘에 든다
탐라보다가 들켜버렸네요! 오랜만에 #자기소개 할 기회가 생겼습니다:)
- 저도 해커스펍을 만드는 사람은 아니고,
@kodingwarriorJaeyeol Lee 님께서 초대해주셔서 눌러 앉은뒤로 종종 트위터에서 잘 올리지 않는 이야기들을 여기서 하곤 해요.
- 일단 대학원에서 PL 전공을하고 있는데요. 동료와 지인들에게서 딥한 타입 이론들을 듣는 것도 때로는 좋아하지만, 정적분석과 퍼징 같은 실용적인 프로그램 분석 기술에 더 관심이 많아요. JavaScript 생태계의 이런저런 툴체인들과 스펙 자체를 뜯어보고 기여하고 있습니다.
- 좋아하는 언어는 Scala이고 연구할 때 주로 씁니다. 툴링이 좀 별로지만 정말 좋은 언어라고 생각해요. 그 외에도 TypeScript나 Golang, OCaml, Rust 가리지 않고 씁니다.
- 함수형 언어... 이것저것 써본 적도 있고 관심도 가져왔지만 Scala가 제일 손에 익네요. Haskell에 늘 부채감을 느끼고 있습니다.
- 이런저런 기술들에 관심이 많지만 그 모든 것을 follow-up할 여력은 되지 못해 늘 아쉽습니다. 무언가를 혼자서 알아가는 시간도 즐겁지만, 사람과의 교류를 통해 새로운 것을 알아가는 것을 즐깁니다. 기술 외적인 부분에서도요! 최근에는 커피 생두를 가공하고 변인 통제를 하는 것에 대한 이야기를 들었는데 정말 재밌었어요.
- 에디터는
@xiniha 님의 추천이 첫 계기였던 것 같은데, 주로 Zed를 씁니다. 가볍고 빠르고 vim 키 바인딩도 익숙해지면 편하구요. 만족하고 있습니다.
- 20대 중반...이네요. 분명 대학생이었는데 말이죠... 서울에서 살고 있는 시스헤테로남성입니다.
- 사실 해시 거는 거 까먹어서 다시 작성했어요...
@kodingwarriorJaeyeol Lee 아무래도 제가 좀 😎
@kodingwarriorJaeyeol Lee 님에게 들킨 김에 써보는 #자기소개
- 퍼리입니다. 언젠간 해커스 펍을 털로 뒤덮으려는 아름다운 마음을 품고 있습니다.
- 재작년 부터 web3 쪽으로 전향했고 주로 코어 쪽을 건들고 있습니다. 하지만 여전히 블록체인은 잘 모릅니다.
- 언어 만드는걸 좋아하고 관련 프로젝트들에 기여를 하고 있습니다
- 좋아하는 언어는 러스트와 OCaml인데 안 쓴지 오래되서 조만간 까먹을거 같네요
- 파서나 상태머신, 정적분석을 좋아합니다. - 관련해서 요즘은 개발하고 있는 언어에 린터를 만들고 있습니다
- 활자 중독입니다. 해커스펍은 읽을게 많아 좋네요. 책은 주로 철학이나 건축 쪽을 읽고 있습니다.
- 의외로 백엔드나 프론트엔드를 해본적이 없어서 항상 애매한 포지션에 있는 것 같습니다.
- 밴드활동도 하고 있습니다. 원래 대충 모여서 술마시는 것에 의의를 뒀었는데 올해는 공연 뛸 일이 많아졌네요.
- 20대 중반이고 서울에서 거주 중입니다
여러모로 잘 부탁드립니다. 추가로 깃헙 프로필은 https://github.com/notJoon입니다.
해커스펍 개발 환경 세팅 해봐야겠다
초대링크 덕분에 초대장 거의 다 뿌렸다. 굿
notJoon shared the below article:
“조용한 연합우주” 문제를 해결하는 두 가지 접근법: 대화 백필링 메커니즘

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
이 글은 연합우주(fediverse)에서 발생하는 "조용한 연합우주" 문제, 즉 대화의 일부만 보이는 현상의 원인과 해결책을 탐구합니다. ActivityPub 프로토콜의 분산 특성으로 인해 대화가 여러 서버에 분산되어 저장되면서 발생하는 이 문제를 해결하기 위해, 답글 트리 크롤링과 컨텍스트 소유자 기반 방식이라는 두 가지 주요 접근법을 제시합니다. 답글 트리 크롤링은 모든 답글을 순차적으로 가져오는 방식이지만 네트워크 취약성과 작업량 증가의 단점이 있고, 컨텍스트 소유자 방식은 대화의 원 작성자가 대화 내용을 관리하는 중앙화된 접근법이지만 컨텍스트 소유자에 대한 의존성이 높다는 단점이 있습니다. 또한, 모더레이션 패러다임의 충돌과 상위 전파 누락 문제와 같은 논쟁점을 지적하며, 주기적 크롤링, 사용자 트리거, 멘션 기반 백필과 같은 추가적인 백필 메커니즘을 소개합니다. 마지막으로, FEP 수렴 논의와 구현체 간 협력 현황을 통해 향후 개발 방향으로 하이브리드 접근법의 표준화를 제시하며, 다중 전략 구현, 리소스 관리, 모니터링 및 로깅의 모범 사례 가이드라인을 제시합니다. 이 글은 연합우주가 더욱 풍부하고 연결된 소셜 네트워크로 발전하기 위한 노력과 사용자 경험 개선의 중요성을 강조합니다.
Read more →이번에 설계한 구조의 평이 좋아서 기분이 좋아졌다. 하지만 일하기는 귀찮군
유한 상태 머신의 각 상태를 집합의 원소로 생각한다면, 이산 유한 집합으로 생각할 수 있다. 이 집합은 매끄러운 0차원 매니폴드의 한 예시이기 때문에 자연히 상태 머신도 이렇게 모델링 할 수 있지 않을까?
한번 찾아보니까 Kronhn-Rhodes 분해정리가 나오는데 이건 또 트랜스포머하고 이어지는군
유한 상태 머신의 각 상태를 집합의 원소로 생각한다면, 이산 유한 집합으로 생각할 수 있다. 이 집합은 매끄러운 0차원 매니폴드의 한 예시이기 때문에 자연히 상태 머신도 이렇게 모델링 할 수 있지 않을까?
강화학습 스터디 끝나면 WASM을 깊게 파보는 시간을 가져야겠다
@joonnotnotJoon 와 대박 혼자서 정리 다하신건가여 ㄷㄷ 낫준님이 주관하는 스터디 무임승차하고 싶다
@kodingwarriorJaeyeol Lee 저 파트만 제가 정리하고 있어요. 저도 마센세에게 무임승차 하고 싶네요 👀👀👀
이번달은 강화학습 스터디 그룹을 시작했다는게 가장 큰 성과인듯. 오랜만에 설명하려니 다 까먹은건 안타깝지만
요즘 건축잡지 <미로>를 읽고 있는데 투고된 글들의 깊이와 주제가 상당해서 읽으면서 압도되는 느낌을 강하게 받는다.
깃헙에 선언문 넣어두니까 코드 짤 때 신경쓰게 되는군
파이콘 안간지 꽤 되긴했는데 다시 파이썬을 건들기 시작했기 때문에 올해는 가야겠다
🌐 FediCon is happening August 1st & 2nd in Vancouver 🇨🇦
It is the first ever Fediverse & Social Web conference in Canada.
Want in? Join the early bird list:
See you there?
#FediCon #Fediverse #OpenSocial #OpenSocialWeb #SocialWeb #DeSo #FeSo #LoSo
@bglbgl gwyng
@hongminhee洪 民憙 (Hong Minhee) ㅋㅋㅋㅋㅋㅋ 이렇게 될까봐 안하고 있어요