SlideShare a Scribd company logo
1 of 16
Download to read offline
Atom
choong
Atom?
RSS ≒ Atom
Atom이란 무엇인가?
• Atom Syndication Format (xml 포맷)
• RSS는 주로 블로그의 정보를 전달.
• Atom은 블로그뿐 아니라 검색엔진이나 사
진관리 피드의 정보를 전달.
Atom의 리소스 모델
멤버 리소스 컬렉션 리소스
엔트리 리소스 미디어 리소스
미디어 링크 엔트리
엔트리로 표현하는 멤버 엔트리 이외로 표현하는 멤버
멤버를 복수 포함
피드로 표현
텍스트이외의 데이터, 멀티미디어 파일Text, html, xhtml
, 그 밖의 텍스트와 xml
엔트리 리소스중, 미디어 리소스에 대한 링크를 가진것
<content>요소의 src속성으로 외부 리소스를 참조한다.
엔트리
• Atom의 최소 단위.
• 메타 데이터
• <id>, <title>, <author>, <updated> 필수요소
<entry xmlns=http://www.w3.org/2005/Atom>
<id>tag:example.com,2010-08-24:entry:1234</id>
<title>테스트 일기<t/itle>
<updated>2010-08-24T13:11:54Z<updated>
<link href=“http://examlpe.com/1234 />
<content>테스트 입니다.</content>
</entry>
메타 데이터
• ID (<id>
• tag:{DNS명 또는 메일주소},{일자}:{임의의 문자열}
• 타이틀과 개요 (<title>, <summary>)
• Type 속성으로 text, html, xhtml라는 값을 가짐. (default:text)
• 저자와 공헌자 (<author>, <contributor>)
• <name>,<uri>,<email> 요소를 가짐
• 공개일시와 갱신일시 (<updated>, <published>)
• 일시 포맷은 ISO 8061형식.
• 링크
• rel 속성으로 링크 관계를 표현
• 엔트리의 내용
• <content> 자식요소를 가짐, plain text, html, xhtml
• 바이너리 데이터를 content 요소에 넣을 경우 Base64 인코딩.
피드
• 엔트리의 집합
• 메타데이터
• 엔트리와 동일 하게 <id>, <title>, <author>,
<updated> 필수요소.
• <subtitle>요소에는 타이틀에서 다 설명하지 못한 설명
기술.
• <generator>요소는 피드를 생성한 프로그램의 정보.
• <icon> favicon을 지정 (uri로 표현).
• <logo> 요소는 피드를 상징하는 이미지를 지정.
Atom의 확장
• 확장요소는 ‘os’(OpenSearch)라는 접두어를 사
용.
• OpenSearch는 검색결과의 표준 포맷.
• Atom 이름공간 이외의 확장요소는 외부마크업.
• OpenSearch를 구현 하지 않은 프로그램은 Atom
형식이외의 스펙은 무시(mustignore).
Atom Threading Extenstions
• Contents에 대한 답변등을 표현. (thread 형식).
• RFC 4685에 정의 (Atom의 표준 요소만으로 표
현 불가).
• 이름공간
• http://purl.org/syndication/thread/1.0
<thr:in-reply-to>
• 엔트리에 대한 답글, 대응관계를 표현.
• 하나의 엔트리에 대한 여러 개 요소 등장가능. (복수의
엔트리 답글)
• 속성
• ref : 참조하는 엔트리의 ID. 필수
• href : 엔트리의 표현을 얻기위한 URI. 임의
• type : href 속성에서 참조하는 리소스의 미디어 타입. 임의
• source ref 속성에서 참조하는 엔트리를 포함하는 피드의 URI.
임의
replies
• 부모 엔트리 쪽에서 자식 엔트리 참조.
• 속성 (링크관계에 대한 속성)
• href : 엔트리에 대한 답글이 있는 리소스의 URI. 필수
• type : href에서 참조하는 리소스의 미디어 타입. 생략 시
default는 application/atom+xml.
• thr:count : href로 참조하는 리소스의 총 답글수(양수). 임의
• thr:update : 엔트리에 대한 답글이 마지막으로 갱신된 시각
• <thr:total> 요소
• 엔트리에 대한 답글의 총수.
Atom License Extension
• 라이선스 정보를 표현.
• rel-license는 이름공간이 없음.
• 복수의 라이선스 제공.
• 라이선스를 지정하지 않는 것을 명시하고
싶은 경우 unspecifed 링크를 지정.
• <rights>
• 피드와 엔트리의 권리정보를 기술하는 요소.
Feed Paging and Archiving
• feed를 분할.
• 이름공간
• http://purl.org/syndication/history/1.0
• 피드의 종류
• 완전 피드(Complete Feed)
• 페이지화 피드(Paged Feed)
• 아카이브된 피드(Archived Feed)
피드의 종류
• 완전 피드(Complete Feed)
• 모든 엔트리를 하나의 문서에 포함하고 있는 피드.
• 피드가 여러 개로 분할되지 않는다는 것을 보여주는 것이 목적.
• <fh:complete>
• 페이지화 피드(Paged Feed)
• 엔트리를 복수의 일시적인 문서로 분할하고 있는 피드.
• 방대한 건수의 엔트리를 가지는 피드를 몇 개의 페이지로 분할.
• 페이지사이의 링크관계 : first, last, previous, next, current
• 아카이브된 피드(Archived Feed)
• 엔트리를 복수의 일시적인 문서로 분할하고 있는 피드.
• 피드에 포함되는 엔트리의 내용이 비교적 고정되어있다.
• 피드마다 포함되는 엔트리의 개수가 고르지 않다.
OpenSearch
• 검색결과를 표현.
• Amazon의 자회사인 A9 중심이 되어 책정된 스펙.
• 파트
• Description Document : 검색엔진이 제공하는 검색기능을 프로
그램이 이해할 수 있는 형식으로 기술하는 xml형식.
• URL Template Syntax : 검색결과 리소스를 표현하는 URL의 검
색 쿼리 부분을 파라미터화 하는 스펙.
• Query Element : URL Template Syntax에서 사용하는 검색 파
라미터를 기술하는 xml 요소.
• Response Element : 검색결과를 Atom과 RSS 2.0드으이 피드
형식 으로 표현하기 위한 확장 요소.
Resonse Element
• 요소
• 이름공간 : http://a9.com/-/opensearch/1.1/
• <os:totalResults> : 검색결과 총 수를 표현.
• <os:startIndex> : 피드에 들어 있는 검색결과의 최초
엔트리의 인덱스를 보여준다.
• <os:itemPerPage> : 한 피드에 들어가는 최대 검색결
과 엔트리 수를 나타낸다.
• <os:Query> : 검색쿼리를 나타낸다.

More Related Content

Viewers also liked

그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조Choonghyun Yang
 
Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)Choonghyun Yang
 
Spring boot 5장 cli
Spring boot 5장 cliSpring boot 5장 cli
Spring boot 5장 cliChoonghyun Yang
 
Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Choonghyun Yang
 
Http 완벽가이드(3장 http 메시지)
Http 완벽가이드(3장 http 메시지)Http 완벽가이드(3장 http 메시지)
Http 완벽가이드(3장 http 메시지)Choonghyun Yang
 
다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화Choonghyun Yang
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조영기 김
 
데이터 모델링
데이터 모델링데이터 모델링
데이터 모델링Choonghyun Yang
 

Viewers also liked (12)

그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조
 
하둡관리
하둡관리하둡관리
하둡관리
 
Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)
 
Spring boot 5장 cli
Spring boot 5장 cliSpring boot 5장 cli
Spring boot 5장 cli
 
게이트단의 보안
게이트단의 보안게이트단의 보안
게이트단의 보안
 
Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)
 
Http 완벽가이드(3장 http 메시지)
Http 완벽가이드(3장 http 메시지)Http 완벽가이드(3장 http 메시지)
Http 완벽가이드(3장 http 메시지)
 
Spring boot actuator
Spring boot   actuatorSpring boot   actuator
Spring boot actuator
 
다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조
 
Http method
Http methodHttp method
Http method
 
데이터 모델링
데이터 모델링데이터 모델링
데이터 모델링
 

More from Choonghyun Yang

Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins Choonghyun Yang
 
아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 a아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 aChoonghyun Yang
 
대규모 데이터 처리 입문
대규모 데이터 처리 입문대규모 데이터 처리 입문
대규모 데이터 처리 입문Choonghyun Yang
 
네트워크 부트의 활용, 원격관리
네트워크 부트의 활용, 원격관리네트워크 부트의 활용, 원격관리
네트워크 부트의 활용, 원격관리Choonghyun Yang
 
NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스Choonghyun Yang
 
서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)Choonghyun Yang
 
NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가Choonghyun Yang
 
CODE - 주판에서 반도체까지
CODE - 주판에서 반도체까지CODE - 주판에서 반도체까지
CODE - 주판에서 반도체까지Choonghyun Yang
 
프로그래머로 사는 법 Chapter.19 지금 알고 있는걸 그때도 알았더라면
프로그래머로 사는 법   Chapter.19  지금 알고 있는걸 그때도 알았더라면프로그래머로 사는 법   Chapter.19  지금 알고 있는걸 그때도 알았더라면
프로그래머로 사는 법 Chapter.19 지금 알고 있는걸 그때도 알았더라면Choonghyun Yang
 

More from Choonghyun Yang (12)

Git
GitGit
Git
 
Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins
 
아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 a아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 a
 
대규모 데이터 처리 입문
대규모 데이터 처리 입문대규모 데이터 처리 입문
대규모 데이터 처리 입문
 
네트워크 부트의 활용, 원격관리
네트워크 부트의 활용, 원격관리네트워크 부트의 활용, 원격관리
네트워크 부트의 활용, 원격관리
 
NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스
 
서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)
 
NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가
 
No sql 분산모델
No sql 분산모델No sql 분산모델
No sql 분산모델
 
CODE - 주판에서 반도체까지
CODE - 주판에서 반도체까지CODE - 주판에서 반도체까지
CODE - 주판에서 반도체까지
 
십진수 이외의 것
십진수 이외의 것십진수 이외의 것
십진수 이외의 것
 
프로그래머로 사는 법 Chapter.19 지금 알고 있는걸 그때도 알았더라면
프로그래머로 사는 법   Chapter.19  지금 알고 있는걸 그때도 알았더라면프로그래머로 사는 법   Chapter.19  지금 알고 있는걸 그때도 알았더라면
프로그래머로 사는 법 Chapter.19 지금 알고 있는걸 그때도 알았더라면
 

Atom

  • 3. Atom이란 무엇인가? • Atom Syndication Format (xml 포맷) • RSS는 주로 블로그의 정보를 전달. • Atom은 블로그뿐 아니라 검색엔진이나 사 진관리 피드의 정보를 전달.
  • 4. Atom의 리소스 모델 멤버 리소스 컬렉션 리소스 엔트리 리소스 미디어 리소스 미디어 링크 엔트리 엔트리로 표현하는 멤버 엔트리 이외로 표현하는 멤버 멤버를 복수 포함 피드로 표현 텍스트이외의 데이터, 멀티미디어 파일Text, html, xhtml , 그 밖의 텍스트와 xml 엔트리 리소스중, 미디어 리소스에 대한 링크를 가진것 <content>요소의 src속성으로 외부 리소스를 참조한다.
  • 5. 엔트리 • Atom의 최소 단위. • 메타 데이터 • <id>, <title>, <author>, <updated> 필수요소 <entry xmlns=http://www.w3.org/2005/Atom> <id>tag:example.com,2010-08-24:entry:1234</id> <title>테스트 일기<t/itle> <updated>2010-08-24T13:11:54Z<updated> <link href=“http://examlpe.com/1234 /> <content>테스트 입니다.</content> </entry>
  • 6. 메타 데이터 • ID (<id> • tag:{DNS명 또는 메일주소},{일자}:{임의의 문자열} • 타이틀과 개요 (<title>, <summary>) • Type 속성으로 text, html, xhtml라는 값을 가짐. (default:text) • 저자와 공헌자 (<author>, <contributor>) • <name>,<uri>,<email> 요소를 가짐 • 공개일시와 갱신일시 (<updated>, <published>) • 일시 포맷은 ISO 8061형식. • 링크 • rel 속성으로 링크 관계를 표현 • 엔트리의 내용 • <content> 자식요소를 가짐, plain text, html, xhtml • 바이너리 데이터를 content 요소에 넣을 경우 Base64 인코딩.
  • 7. 피드 • 엔트리의 집합 • 메타데이터 • 엔트리와 동일 하게 <id>, <title>, <author>, <updated> 필수요소. • <subtitle>요소에는 타이틀에서 다 설명하지 못한 설명 기술. • <generator>요소는 피드를 생성한 프로그램의 정보. • <icon> favicon을 지정 (uri로 표현). • <logo> 요소는 피드를 상징하는 이미지를 지정.
  • 8. Atom의 확장 • 확장요소는 ‘os’(OpenSearch)라는 접두어를 사 용. • OpenSearch는 검색결과의 표준 포맷. • Atom 이름공간 이외의 확장요소는 외부마크업. • OpenSearch를 구현 하지 않은 프로그램은 Atom 형식이외의 스펙은 무시(mustignore).
  • 9. Atom Threading Extenstions • Contents에 대한 답변등을 표현. (thread 형식). • RFC 4685에 정의 (Atom의 표준 요소만으로 표 현 불가). • 이름공간 • http://purl.org/syndication/thread/1.0
  • 10. <thr:in-reply-to> • 엔트리에 대한 답글, 대응관계를 표현. • 하나의 엔트리에 대한 여러 개 요소 등장가능. (복수의 엔트리 답글) • 속성 • ref : 참조하는 엔트리의 ID. 필수 • href : 엔트리의 표현을 얻기위한 URI. 임의 • type : href 속성에서 참조하는 리소스의 미디어 타입. 임의 • source ref 속성에서 참조하는 엔트리를 포함하는 피드의 URI. 임의
  • 11. replies • 부모 엔트리 쪽에서 자식 엔트리 참조. • 속성 (링크관계에 대한 속성) • href : 엔트리에 대한 답글이 있는 리소스의 URI. 필수 • type : href에서 참조하는 리소스의 미디어 타입. 생략 시 default는 application/atom+xml. • thr:count : href로 참조하는 리소스의 총 답글수(양수). 임의 • thr:update : 엔트리에 대한 답글이 마지막으로 갱신된 시각 • <thr:total> 요소 • 엔트리에 대한 답글의 총수.
  • 12. Atom License Extension • 라이선스 정보를 표현. • rel-license는 이름공간이 없음. • 복수의 라이선스 제공. • 라이선스를 지정하지 않는 것을 명시하고 싶은 경우 unspecifed 링크를 지정. • <rights> • 피드와 엔트리의 권리정보를 기술하는 요소.
  • 13. Feed Paging and Archiving • feed를 분할. • 이름공간 • http://purl.org/syndication/history/1.0 • 피드의 종류 • 완전 피드(Complete Feed) • 페이지화 피드(Paged Feed) • 아카이브된 피드(Archived Feed)
  • 14. 피드의 종류 • 완전 피드(Complete Feed) • 모든 엔트리를 하나의 문서에 포함하고 있는 피드. • 피드가 여러 개로 분할되지 않는다는 것을 보여주는 것이 목적. • <fh:complete> • 페이지화 피드(Paged Feed) • 엔트리를 복수의 일시적인 문서로 분할하고 있는 피드. • 방대한 건수의 엔트리를 가지는 피드를 몇 개의 페이지로 분할. • 페이지사이의 링크관계 : first, last, previous, next, current • 아카이브된 피드(Archived Feed) • 엔트리를 복수의 일시적인 문서로 분할하고 있는 피드. • 피드에 포함되는 엔트리의 내용이 비교적 고정되어있다. • 피드마다 포함되는 엔트리의 개수가 고르지 않다.
  • 15. OpenSearch • 검색결과를 표현. • Amazon의 자회사인 A9 중심이 되어 책정된 스펙. • 파트 • Description Document : 검색엔진이 제공하는 검색기능을 프로 그램이 이해할 수 있는 형식으로 기술하는 xml형식. • URL Template Syntax : 검색결과 리소스를 표현하는 URL의 검 색 쿼리 부분을 파라미터화 하는 스펙. • Query Element : URL Template Syntax에서 사용하는 검색 파 라미터를 기술하는 xml 요소. • Response Element : 검색결과를 Atom과 RSS 2.0드으이 피드 형식 으로 표현하기 위한 확장 요소.
  • 16. Resonse Element • 요소 • 이름공간 : http://a9.com/-/opensearch/1.1/ • <os:totalResults> : 검색결과 총 수를 표현. • <os:startIndex> : 피드에 들어 있는 검색결과의 최초 엔트리의 인덱스를 보여준다. • <os:itemPerPage> : 한 피드에 들어가는 최대 검색결 과 엔트리 수를 나타낸다. • <os:Query> : 검색쿼리를 나타낸다.