2010년 12월 7일 화요일

[Link] Javascript Closure

google검색 중 한국어 검색 결과에서 얻은 링크들

  • http://decoder.tistory.com/689
  • http://asrada2001.tistory.com/201
  • http://azraid.springnote.com/pages/5676725
  • http://blog.outsider.ne.kr/506
  • http://olpost.com/v/234581

2010년 12월 2일 목요일

RSS

RSS는 버전도 다양하고 RSS를 지칭하는 말들도 다양하게 존재했다.

RSS 0.9는 RDF Site Summary의 약자로 Netscape에서 my.netscape.com 에서 사용하기 위해 디자인되었으며 기존의 scriptingNews format 을 지원하고 RDF를 통해 header를 구성하고 나머지는 xml 로 되어 있다. (1999년 3월)

RSS 0.91은 Rich Site Summary의 약자로 Netscape의 Dan Libby에 의해 스펙이 만들어졌으며 RDF header를 제외하고 scriptingNews 2.0b1 의 대다수 기능을 포함하고 있다. (1999년 7월)

RSS 1.0은 오라일리의 Rael Dornfest가 이끄는 RSS-DEV 에서 발표하였다. RDF와 namespace 기반으로 되어 있으며 앞선 버전들의 format을 모듈로 받아 들였다. (2000년 8월)

RSS 0.92는 0.91 버전에 선택 요소들을 포함하고 있다. (2000년 12월)

RSS 2.0은 Really Simple Syndication의 약자로 0.92버전에 선택 요소들을 포함하고 있으며 0.92버전과의 하위호환성을 위해 namespace 를 2.0 내의 요소들에게는 적용되지 않지만 RSS 2.0 feed 들에게 적용되게 하였다.

참고
- http://en.wikipedia.org/wiki/RSS
- http://cyber.law.harvard.edu/rss/rssVersionHistory.html

RSS 구조에 대해 알아보기 위해 위키피디아의 문서를 열심히 번역하던 중...
키보드를 잘못 건드려 모두 날라가는 불상사를 겪었다...
이런 젝일...
다소 잘못된 번역이 있을테니 지적해 주시기 바란다.


그럼 이중에서 RSS 2.0 규격에 대해 알아보자.
이 문서에서 다루는 내용은 Harvar의 Berkman Center에서 제공하는 RSS 2.0 Specification을 기준으로 한다.

선언

RSS는 xml 문서이므로 xml 문서선언이 이뤄져야 하고 <rss>를 root element로 갖는다.

<?xml version="1.0"?>
<rss version="2.0">



본문 구조
본문은 다음 두개의 Section으로 이뤄져 있다.

<channel>
<item>

<channel> section은 현재 RSS를 제공하는 사이트(?)에 대한 정보를 담고 있으며
<item> 은 RSS로 제공되는 개별 내용이다.
마치 신문에서 <channel>은 신문사명, 제호 등 발간되는 신문에 대한 정보에 해당하고
<item>은 개별 기사에 해당한다.
<channel>은 optional 요소라고 하나 실질적으로 필수 요소의 역할을 한다.
개별 section의 하위 요소들에 대해 알아보자.
 


<channel> section
  • 필수 하위 요소
    
Element 명 설명 Example
title

현재 채널의 이름.

Website에서 제공되는 정보는 동일 RSS에서 제공하는 정보와 동일해야 한다.

Website의 사이트명과 동일해야 한다.

yoonani's news
link 해당 Website 의 url http://www.yoonani.pe.kr
description 채널에 대한 설명 yoonani가 제공하는 정보입니다.

  • 선택 가능 하위 요소
    
Element 명 설명 Example
language

W3C에서 정의한 채널에서 사용하는 언어 코드

(두자리 언어코드-두자리 국가코드)

en-us

ko-kr

copyright 채널의 저작권 http://creativecommons.org/licenses/by-nc-sa/2.0/
manageEditor 채널 Editor의 email yoonani@gmail.com
webMaster Webmaster email yoonani@gmail.com
pubDate 정기적인 배포 날짜로 신문사의 경우 24시간 주기등을 사용한다.기본적으로 RFC 822에 의한 시간 포맷을 사용하나 년도에 대해서는 두자리, 네자리 모두 가능 Sat, 07 Sep 2002 00:00:01 GMT+9
lastBuildDate 채널의 내용이 마지막으로 바뀐 날짜
category 채널에서 제공하는 카테고리 정보로 <item>이 사용하는 방법과 동일하다. <category>Info</category>
generator RSS를 제공하는 프로그램 명 MightyInHouse Content System v2.3
docs RSS file에서 사용하는 포맷에 대한 문서를 가리키는 URL http://blogs.law.harvard.edu/tech/rss
cloud 채널에 대한 업데이트를 공지하는 cloud에 등록하는 과정을 허가한다. <cloud domain="rpc.sys.com" port="80" path="/RPC2" registerProcedure="pingMe" protocol="soap"/>
ttl 원본 내용을 다시 읽어오기 전 캐쉬되는 시간을 분으로 나타낸다. <ttl>60</ttl>
image 채널에 표시될 GIF, JPEG, PNG 이미지를 지정한다. 예제의 하위 요소를 갖는다.

<url>

<title>

<link>

rating 채널의 PICS 등급을 나타낸다.
textInput 채널에 표시될 text 입력상자를 지정하는 것으로 예의 sub element를 통해 내용을 지정한다. <title>
<description>
<name>
<link>
skipHours RSS 정보를 읽어가는 측에 몇시간에 한번씩 정보를 확인하는지 알려준다.
skipDays RSS 정보를 읽어가는 측에 며칠에 한번씩 정보를 확인하는지 알려준다.


<item> 요소
Element 설명 Example
title 해당 아이템의 제목 Venice Film Festival Tries to Quit Sinking
link 해당 아이템의 URL http://nytimes.com/2004/12/07FEST.html
description 아이템의 간략 내용 Some of the most heated chatter at the Venice Film Festival this week was about the way that the arrival of the stars at the Palazzo del Cinema was being staged.
author 저자의 이메일 oprah@oxygen.net
category 해당 아이템의 카테고리
comments 해당 아이템의 댓글을 볼 수 있는 주소 http://www.myblog.org/cgi-local/mt/mt-comments.cgi?entry_id=290
enclosure 첨부한 미디어에 대한 설명
guid 아이템의 고유한 아이디 http://inessential.com/2002/09/01.php#a2
pubDate 해당 아이템의 작성 날짜 Sun, 19 May 2002 15:21:36 GMT
source 아이템이 들어있는 RSS 채널



간략히 RSS의 구조에 대해 알아보았으니...

다음엔 RSS Feeder를 만들고 이 Feeder로 부터 정보를 받아오는 Reader를 작성해 보자