月曜日, 6月 27th, 2005
一年中、携帯電話の待受け画面を虎にしていた私ですが、浮気をして、他球団の応援をしてしまいました。
6月25日(土曜日)、中日ドラゴンズ対広島東洋カープ戦を観戦してきました。
席はバッターボックスの裏で一塁側の結構良い席。ファウルボールがいっぱい飛んでくるところです。友達の会社が年間指定席で取っているらしく、羨ましく思う。
奇遇ですが、この日は、私の地元の少年野球チームも見学にきてたようです。
広島の先発は長谷川で、永川、高橋と豪華投手陣でした。5回裏の二死満塁で二日前に2000本安打を達成した野村選手(大分県出身)が代打で3点適時二塁打!かなりおいしい試合を見てしまった…。
前田とか、緒方とか、新井とかも数十メートル先で動いてます。実は公式戦を観るのは初めてでした。7回には風船もとばしました。
あと、福留がバッターボックスに立ったときの後姿に惚れました。あと、友達が谷繁のことを「たにしげる」と読んでいて面白かったです。
とにかく、点がいっぱい入った試合で、終わってみると、12対16でカープの勝利でした。
帰りに、友達が広島駅の「野球鳥」という焼き鳥屋さんに連れて行ってくれました。このお店はメニューの全部に選手の名前がついています。前田→砂肝とか。ビール→スライダーなので、「とりあえず、スライダーで。」とかいう会話が広島では日常茶飯事なんだなぁ、と思うと羨ましいです。焼き鳥美味しいし。
今回は思わず応援してしまいましたが、カープには阪神の次に頑張って欲しい次第であります。
 |
 |
 |
| これがテレビでよく見るやつ |
ロゴ入りカキ氷、200円也。この日は凄い炎天下だったので、買ってしまいました。 |
携帯カメラの画素が少ないので、ぼやけていますが、背番号1です。 |
Posted in 日記2005 | No Comments »
木曜日, 6月 16th, 2005
このごろ、コンピュータ雑誌以外でもblogの記事を見かけることがちょくちょくあります。blogの認知度が7割を超えた、というニュースを昨日見ました(うろ覚え)。
blogで使われている特長的な機能としてRSSがあります。RSSはblogやニュースサイトなどのサイト情報、記事情報のサマリをXML形式で各サイトに配置されているものです。それを閲覧者がRSSリーダーで読込み、新着情報を取得できます。こちらのサイトに詳しくかかれています。RSS -- サイト情報の要約と公開
漠然とRSSリーダを作りたいなーと思っていたので、RSSを書き出したり、読込んだりする方法を探してました。WEB+DB PRESS Vol.20,24とかに詳しく載っていました。
Javaで読み書きできるライブラリに RSS4j というのがあったので、それを今回は使ってみます。ChurchillObjects.comのサイトからrss4j092.jarをダウンロードして解凍すると、ドキュメントとソースともろもろが入っています。これをEclipseか何かでビルドするなり、コンパイルしてクラスをjarファイルに固めるなりします。この際、ビルドパスに xerces2 を設定しないと、実行したときに例外が起こります。作成するクラスにRSS4jのライブラリやクラスをimportします。
まずはこのblogの情報を適当に書き出してみます。
JAVA:
-
import java.io.File;
-
import churchillobjects.rss4j.RssChannel;
-
import churchillobjects.rss4j.RssChannelItem;
-
import churchillobjects.rss4j.RssDocument;
-
import churchillobjects.rss4j.generator.RssGenerationException;
-
import churchillobjects.rss4j.generator.RssGenerator;
-
-
public class WriteRss {
-
public static void main
(String[] args
) {
-
try {
-
RssDocument doc = new RssDocument();
-
doc.setVersion(RssDocument.VERSION_10);
-
RssChannel channel = new RssChannel();
-
channel.setChannelTitle("NAKAYA Log");
-
channel.setChannelLink("http://s9727.jugem.jp/");
-
channel.setChannelUri("http://s9727.jugem.jp/mode=rss");
-
channel.setChannelDescription("I dere to differnt");
-
doc.addChannel(channel);
-
for (int i=1; i<=2; i++) {
-
RssChannelItem item = new RssChannelItem();
-
item.setItemTitle("記事 " + i);
-
item.setItemLink("http://s9727.jugem.jp/?eid=" + i);
-
item.setItemDescription("記事の説明" + i);
-
channel.addItem(item);
-
}
-
-
RssGenerator.generateRss(doc, file);
-
} catch (RssGenerationException e) {
-
e.printStackTrace();
-
}
-
}
-
}
これを実行すると
XML:
-
<?xml version="1.0" encoding="UTF-8" standalone="yes">
-
<rdf>
-
xmlns="http://purl.org/rss/1.0/"
-
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
-
<channel rdf:about="http://s9727.jugem.jp/mode=rss"></channel></rdf>
-
-
<description>I dere to differnt</description>
-
<link />http://s9727.jugem.jp/ <items>
-
<rdf>
-
</rdf><rdf rdf:resource="http://s9727.jugem.jp/?eid=1">
-
</rdf><rdf rdf:resource="http://s9727.jugem.jp/?eid=2">
-
</rdf>
-
-
-
<item rdf:about="http://s9727.jugem.jp/?eid=1"></item></items>
-
<link />http://s9727.jugem.jp/?eid=1 <description>記事の説明1</description>
-
-
<item rdf:about="http://s9727.jugem.jp/?eid=2"></item>
-
<link />http://s9727.jugem.jp/?eid=2 <description>記事の説明2</description>
と出力されます。実環境では、新着記事が書き込まれた時にRSSを出力します。
これをRSSリーダーで読込むと、サイトの概要や最新xx件のサマリを取得できたりします。試しに、このblogのRSSを読込んでみます。
JAVA:
-
import java.io.IOException;
-
import java.io.InputStream;
-
import java.net.URL;
-
import java.util.Enumeration;
-
import churchillobjects.rss4j.RssChannel;
-
import churchillobjects.rss4j.RssChannelItem;
-
import churchillobjects.rss4j.RssDocument;
-
import churchillobjects.rss4j.parser.RssParseException;
-
import churchillobjects.rss4j.parser.RssParser;
-
-
public class ReadRss {
-
-
try {
-
URL url =
new URL("http://s9727.jugem.jp/?mode=rss");
-
-
RssDocument doc = RssParser.parseRss(is);
-
-
while (enum.hasMoreElements()) {
-
RssChannel channel = (RssChannel) enum.nextElement();
-
-
-
while (enumItem.hasMoreElements()) {
-
RssChannelItem item = (RssChannelItem) enumItem.nextElement();
-
-
}
-
}
-
} catch (RssParseException e) {
-
e.printStackTrace();
-
}
-
}
-
}
これを実行すると、
RssChannel: [title='NAKAYA Log' description='タバコを与えないでください。' link='http://s9727.jugem.jp/']
dublinCore: []
item: [title='Skypeを使ってみたい。', link='http://s9727.jugem.jp/?eid=40, description=' 先月、先輩のセキュリティについてのプレゼンテーションを拝見しました。その際に福岡オフィスにもプレゼンの資料を配布し、音声はSkypeを使用して中継していました。最近、何かと話題になっているんで気になっていたのですが、実際に使用しているのを見たのは初めてで...']
item: [title='連結リストについて驚いたこと。', link='http://s9727.jugem.jp/?eid=41, description=' 先日、Javaのコードを書いている際に、隣の席のFさんと話題になったことがあります。Java.util.iteratorクラスについてです。']
………… 以下略
と出力されます。取得した情報をSWTを使ってテーブルウィジェットにに書き出して…とか想像するだけで、実行していません。
EclipseでRssChannelクラスやRssChannelItem のメソッドをコード補完させようとすると、getXXX()というのメソッドがいくつかあって、それを全部出力してみたのですが、jugemのblogでは扱っていないプロパティがあるみたいで、そういうのはnullが返って来ました。
Posted in Web | No Comments »