본문 바로가기
Development News/Development

[TypeScript] ActivityPub 프레임워크 Fedify 1.0.0 릴리스: 연합형 서버 애플리케이션을 쉽게 만드는 TypeScript 라이브러리

by Maccrey Coding 2024. 9. 27.
반응형

안녕하세요, 개발자 여러분! 오늘은 ActivityPub 프로토콜 기반의 연합형 서버 애플리케이션을 쉽게 만들 수 있도록 도와주는 TypeScript 라이브러리인 Fedify의 첫 정식 버전 1.0.0이 출시된 소식을 전해드리려고 합니다.

이 글에서는 Fedify의 주요 기능, 변경사항, 설치 방법에 대해 쉽게 설명하겠습니다. 초보자 분들도 이해할 수 있도록 설명할 테니, 끝까지 읽어주세요!

Fedify란 무엇인가요?

Fedify는 ActivityPub 프로토콜을 기반으로 한 라이브러리로, 연합형 서버 애플리케이션을 손쉽게 만들 수 있도록 설계되었습니다.

연합형 서버란 여러 서버가 서로 정보를 공유하고 소통할 수 있는 구조를 가지고 있습니다. 예를 들어, Mastodon과 Threads와 같은 플랫폼이 이에 해당하죠.

주요 특징

  1. 타입 안전한 인터페이스 제공
    Fedify는 ActivityPub 객체에 대한 타입 안전한 인터페이스를 제공하여, 코드 작성 시 오류를 줄이고 개발 효율을 높입니다.
  2. 다양한 프로토콜 지원
    • WebFinger: 사용자의 정보를 조회하는 프로토콜입니다.
    • HTTP Signatures: 요청의 무결성을 확인하는 방법입니다.
    • Linked Data Signatures: 데이터의 신뢰성을 보장합니다.
    • Object Integrity Proofs: 객체의 무결성을 증명하는 방법입니다.
  3. 상호 운용성
    Mastodon, Threads와 같은 주요 연합우주 서비스들과의 상호 운용성을 지원하여, 다른 플랫폼과 원활하게 연결됩니다.
  4. 다양한 웹 프레임워크와의 통합
    다양한 웹 프레임워크와 통합할 수 있는 기능을 제공하며, CLI 도구를 통해 사용성을 극대화했습니다.

주요 변경사항

  • “handle” 용어 변경 및 명확화
    코드의 가독성을 높이기 위해 “handle”이라는 용어가 변경되었습니다.
  • Linked Data Signatures 지원
    모든 주요 서명 방식을 구현하여, 데이터의 신뢰성을 더욱 강화했습니다.
  • 액티비티 포워딩 기능 추가
    수신한 액티비티를 다른 액터로 포워딩하는 기능이 추가되었습니다. 이를 통해 더 많은 상호작용이 가능해졌습니다.
  • PostgreSQL 드라이버 패키지 출시
    새로운 PostgreSQL 드라이버 패키지(@fedify/postgres)가 출시되어 데이터베이스와의 연결이 간편해졌습니다.

Fedify 설치 방법

Fedify를 사용하려면 아래의 명령어를 통해 설치하실 수 있습니다.

1. Deno를 사용하는 경우

deno add jsr:@fedify/fedify
  • 이 명령어는 Deno 환경에 Fedify 라이브러리를 추가합니다.

2. npm을 사용하는 경우

npm add @fedify/fedify
  • npm은 Node.js 패키지 매니저로, 이 명령어를 통해 Fedify를 설치할 수 있습니다.

Fedify를 사용해보세요!

Fedify는 연합형 서버 애플리케이션을 쉽게 개발할 수 있는 도구입니다. 타입 안전한 인터페이스와 다양한 프로토콜 지원으로 초보자도 쉽게 사용할 수 있습니다. 이를 통해 여러분의 프로젝트에 Fedify를 적용해 보세요.

예제 코드

아래는 Fedify를 사용하여 간단한 서버를 만드는 예제 코드입니다.

import { Fedify } from '@fedify/fedify';

// Fedify 인스턴스를 생성합니다.
const fedify = new Fedify();

// 액티비티 수신 이벤트를 처리하는 함수입니다.
fedify.on('activity', (activity) => {
  console.log('Received activity:', activity);
});

// 서버를 시작합니다.
fedify.start(3000).then(() => {
  console.log('Fedify server is running on http://localhost:3000');
});

코드 설명

  • import: Fedify 라이브러리를 불러옵니다.
  • Fedify 인스턴스 생성: new Fedify()를 사용하여 Fedify 인스턴스를 생성합니다.
  • on('activity'): 수신한 액티비티를 처리하는 이벤트 리스너를 설정합니다.
  • start(3000): 서버를 3000번 포트에서 시작합니다.

이렇게 간단한 코드로 연합형 서버를 구축할 수 있습니다!

 

Fedify는 ActivityPub 프로토콜을 기반으로 한 강력한 TypeScript 라이브러리입니다.

1.0.0 버전 출시로 더욱 향상된 기능과 사용자 경험을 제공합니다. 초보자들도 쉽게 접근할 수 있는 이 라이브러리를 통해 연합형 서버 애플리케이션 개발에 도전해 보세요!

 

구독!! 공감과 댓글,

광고 클릭은 저에게 큰 힘이 됩니다.

 

Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

반응형