월별 글 목록: 2010년 10월월

ROME Library를 이용한 Atom/RSS 읽어오기..

ROME Library는..

ROME is an set of open source Java tools for parsing, generating and publishing RSS and Atom feeds.

The core ROME library depends only on the JDOM XML parser and supports parsing, generating
and converting all of the popular RSS and Atom formats including RSS 0.90, RSS 0.91 Netscape,
RSS 0.91 Userland, RSS 0.92, RSS 0.93, RSS 0.94, RSS 1.0, RSS 2.0, Atom 0.3, and Atom 1.0
.
You can parse to an RSS object model, an Atom object model or an abstract SyndFeed model
that can model either family of formats.

아래는 ROME Library를 이요한 예제 코드입니다.

import java.net.URL;
import java.util.Date;
import java.util.List;

import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.SyndFeedInput;
import com.sun.syndication.io.XmlReader;

public class RssAtomTest {
    private static String url =”http://www.sjava.net/rss”;
    /**
     * @param args
     */
    public static void main(String[] args) throws Exception {
       
        URL feedUrl = new URL(url);
        SyndFeedInput input = new SyndFeedInput();
        SyndFeed syndFeed = input.build(new XmlReader(feedUrl));
               
        System.out.println(“———————– title ——————————“);
        System.out.println(syndFeed.getTitle());
        System.out.println(“————————————————————-“);
        System.out.println(“—————–  updatedAt ————————-“);
        System.out.println(syndFeed.getPublishedDate() );
        System.out.println(“————————————————————-“);
       
        @SuppressWarnings(“unchecked”)
        List<SyndEntry> entries = syndFeed.getEntries();       
        SyndEntry entry = null;
           
        for(int i = 0; i < entries.size(); i++) {
            entry = entries.get(i);
           
            String title = entry.getTitle();
            String url = entry.getUri();
            String content = entry.getDescription().getValue();
            Date updatedAt = entry.getUpdatedDate();
            if(updatedAt == null)
                updatedAt = entry.getPublishedDate();
                           
            System.out.println(“———————————————–“+i+”—————————————————————–“);
            System.out.println(“title : ” + title);
            System.out.println(“——————————————————————————————————————“);
            System.out.println(“url : ” + url);
            System.out.println(“——————————————————————————————————————“);
            System.out.println(“data : “+ content);
            System.out.println(“——————————————————————————————————————“);
            System.out.println(“date : ” + updatedAt.getTime());
            System.out.println(“——————————————————————————————————————“);
        }       
    }

}

eclipse에서 toString()을 자동으로 해 주네요.. ^^;;

헐.. 여태껏 이걸 모르고 있었네요.. ^^;;
저는 여태.. 클래스의 toString()를 Overriding 하면서, 일일이 손으로 아래와 같은 작업을 진행했습니다.
1. @Override 붙이기
2. 클래스의 property 값을 toString() 안에 기술하기..

지금은 eclipse editor에서 source->Generate toString()..를 통해서 위 과정이 쉽게 자동화 되네요.
eclipse를 사용하면서, 조금만 주의깊게 사용했으면, 개발 생산성이 20%증가했었을 텐데요..
아마도, Generate Getter/Setter에 너무 감명을 받아서 다른 건 눈에 안 들어온 거 같기도 하구요..

ㅜㅜ

이클립스 만쉐!!!!

Cassandra에 대한 좋은 설명과 예제들..

Cassandra에 대한 좋은 설명과 예제들..

1. Getting Started With Cassandra <– 강추..

2. http://nosql.mypopescu.com/tagged/cassandra

3. http://blog.evanweaver.com/articles/2009/07/06/up-and-running-with-cassandra/

4. http://www.sodeso.nl/?cat=10 <– 여기도 강추..
4.1 Installing and using Apache Cassandra With Java Part 1 (Installation)
4.2 Installing and using Apache Cassandra With Java Part 2 (Data model)
4.3 Installing and using Apache Cassandra With Java Part 3 (Data model 2)
4.4 Installing and using Apache Cassandra With Java Part 4 (Thrift Client)
4.5 Installing and using Apache Cassandra With Java Part 5 (Thrift Client 2)