IT/리눅스마스터1급

Streams

알콩달콩아빠 2022. 5. 3. 18:30
728x90
반응형

최근의 SNS들은 글 뿐만 아니라 사진, 위치, 동영상 등 많은 정보를 담고 있습니다. Blog가 업데이트 되는 것을 쉽게 알기 위해서는 RSS/Atom을 사용하면 되지만 RSS/Atom은 뉴스/블로그에만 적합할 뿐 사진, 위치, 인물 등의 정보를 표현하기 하기 어렵습니다. 그래서 새로운 feed가 필요하다는 공감대가 형성 되면서 Activity Streams 라는 것이 대두되었는데요. 최근에 JSON 형식 버젼의 1.0이 공개되었습니다. (Atom 형식으로는 예전에 이미 공개) 그렇다면 Activity Streams라는 것은 무엇이며 기존의 RSS/Atom 과는 무엇이 다를까요?

 

배경

이미 널리 쓰이고 있는 표준으로 RSS와 Atom이 있습니다. 주로 블로그를 구독하기 위한 간단한 XML 규약이지요. RSS 1.0 (또는 0.91), RSS 2.0 은 각각 별개의 규약이고 약 10년된 포맷입니다. Atom은 IETF표준(RFC 4287) 이고 더 최근에 확정된 규약이지만 모두 좀 오래되었죠. 위 표준들은 XML형식이라서 parsing 하는데 많은 cost 가 들고, 블로그/ 뉴스 등과 같은 제한된 형식의 컨텐츠만을 공유할 수 있다는 한계점을 가지고 있습니다. 예를 들어, 가장 널리 사용된다고 알려진 RSS 2.0은 각 item의 title, description, link, guid, pubDate 등을 포함하고 있어 뉴스/블로그 컨텐츠에 최적화된 구조를 가지고 있습니다.

하지만 이제는 다양한 형태의 SNS들이 등장하면서 글 뿐만이 아닌 사진, 사람, 위치정보, 오디오, 비디오 등을 포함한 다양한 정보를 표현할 수 있는 feed 가 필요하게 되었습니다. 또한 Activity Streams는 여러 가지 정보를 Atom 버젼(XML 형식 이죠)뿐 아니라 XML보다 더 쉽고 빠르게 parsing 할 수 있는 JSON 버전까지 두 가지 버젼으로 제공됩니다.

 

그래서 Activity Streams란 무엇인가?

“actor-verb-object” (“주어-동사-목적어”) 형식으로 표현된 여러 종류의 정보들을 표현할 수 있는 feed 로서 Atom 형식 또는 JSON 형식을 따릅니다. 나타낼 수 있는 object 의 type들(현재 draft 상태)을 보면 18가지로서 오디오, 비디오, 사람, 장소, 노트, 파일, 서비스, 북마크 등이 있습니다. 또한 verb(동사) 들도 정의 되어있습니다.
예를 들어 “철수가 Facebook 에 ‘바둑아 여름 조심해’ 라는 새로운 글을 남겼다” 라던지
“영희가 자신의 사진을 푸딩카메라에 올렸다” 라던지 하는 내용들을 “주어-동사-목적어” 형식으로 공유할 수 있는 겁니다.
규약을 정할 때에는 Facebook, Myspace, Microsoft, Google등이 참여 했구요 현재 JIRA, BBC, Gowalla, Socialcast 등에서 이미 사용 중입니다.

자, 그러면 실 예제를 한번 보시죠

Atom예제
아래 예제(Activity Streams 사이트 공식예제)를 보시면 entry 가 Atom 이면서 동시에 Activity Streams로 정의된 것을 보실 수 있을 겁니다. 또 와 도 보실 수 있습니다.

   

JSON예제
아래는 더 이상 설명이 필요없는 JSON 예제입니다.
actor, verb, object 보이시죠? JSON 의 장점과 특징은 이 글의 목적이 아니니 넘어가기로 하겠습니다.

   



질문 1.
Atom과 Activity Streams 의 관계는 무엇인가요?
Atom은 기본적으로 블로그 글을 공유하기위한 feed 포맷이지만 기본tag 이외의 XML들을 포함할 수 있는 등 확장성을 가지고 있습니다. Activity Streams는 추가적인 activity 데이터를 Atom 형식 안에서 표현될 수 있도록 한 XML규약 입니다.

질문 2.
내가 원하는 verb나 object를 Activity Streams가 지원하지 않으면 어떻게 하지요?
새로운 verb 나 object 를 제안할 수 있습니다.
프로세스에 따라서 신청 해보세요

질문 3.
기존의 Atom feed를 Activity Streams 가 지원되게 할 수 있나요?
간단합니다. article이나 note 중에 하나 를 선택해서 각 entry 마다 삽입하면 됩니다.

   

 

결론

RSS가 없는 블로그는 생각 할 수 없듯이 이제 수많은 SNS에서 넘쳐흐르는 정보를 쉽게 구독하기 위해서 Activity Streams의 사용이 점점 늘 것으로 생각됩니다.

 

출처 : http://dev.kthcorp.com/2011/07/19/activity-streams-rss-killer/ 

728x90
반응형

'IT > 리눅스마스터1급' 카테고리의 다른 글

I2C  (0) 2022.05.04
GPIO  (0) 2022.05.03
Memo Management Unit  (0) 2022.05.03
opengl 1.1 2.0 비교  (0) 2022.05.03
dalvik.vm.heapsize  (0) 2022.05.03