<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>jython / Drkcore</title><link>http://blog.kzfmix.com/jython</link><description>Programming, Music, Snowboarding</description><language>ja</language><lastBuildDate>Tue, 12 Jan 2010 11:00:36 +0919</lastBuildDate><item><title>jythonでprocessing</title><link>http://blog.kzfmix.com/entry/1206881034</link><description>&lt;p&gt;Built with Processing [改訂版]が到着したので、これを手本にjythonで書いていく。&lt;/p&gt;

&lt;p&gt;&lt;div class="awsxom"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4861005582/ref=nosim/kaerutyuuihou-22"&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/41XEE%2BuMOzL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
&lt;strong&gt;Built with Processing [改訂版]&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
前川 峻志,田中 孝太郎 &lt;br /&gt;
ビー・エヌ・エヌ新社 / ￥ 3,570 ()&lt;br /&gt;
&lt;br /&gt;
&lt;br clear="all" /&gt;
&lt;/div&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://hysysk.blogspot.com/2007/11/jython-p52.html"&gt;jython + p5#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.backspaces.net/hacks/30/processing-with-jython"&gt;Processing: .. with Jython&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;を参考にして、step 04-aを。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.kzfmix.com/images/blog/processing04a.png" alt="step 04-a" /&gt;&lt;/p&gt;

&lt;p&gt;ソース。jythonだとswing呼んだりしないといけない。&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;from javax.swing import JFrame
from processing.core import PApplet

class Sketch(PApplet):
    def __init__(self):
        pass

    def setup(self):
        self.size(200, 200)

    def getField(self, name):
        return self.class.superclass.getDeclaredField(name).get(self)

    def draw(self):
        self.rectMode(PApplet.CENTER)
        self.colorMode(PApplet.HSB, 100)
        self.background(99)
        self.noStroke()
        self.smooth()

        self.fill(45, 60, 99)
        self.rect(100, 100, 100, 100)

        self.fill(45, 40, 99)
        self.rect(100, 100, 60, 60)

        self.fill(45, 20, 99)
        self.rect(100, 100, 20, 20)

        self.noFill()
        self.strokeWeight(60)

        self.stroke(80, 99, 99, 30)
        self.ellipse(50, 50, 200, 200)
        self.ellipse(150, 50, 200, 200)
        self.ellipse(50, 150, 200, 200)
        self.ellipse(150, 150, 200, 200)

def run(applet):
    frame = JFrame(title="Processing",
                   resizable = 0,
                   defaultCloseOperation=JFrame.EXIT_ON_CLOSE)
    frame.contentPane.add(applet)
    applet.init()
    frame.pack()
    frame.visible = 1

if __name__ == '__main__':
    run(Sketch())
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;video入力いじりたいからUSBカメラ買わなきゃ。&lt;/p&gt;
</description><pubDate>Tue, 12 Jan 2010 11:00:36 +0919</pubDate><category>Python</category><category>jython</category><category>processing</category></item><item><title>jythonでprocessing 080331</title><link>http://blog.kzfmix.com/entry/1206975655</link><description>&lt;p&gt;processingは繰り返しがfor(i=0;i&amp;lt;10;i++)のCっぽい書き方だけど、jythonだったらrangeが使えるのでお手軽でいいんじゃないか。&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;def setup(self):
    self.size(200, 200)
    self.colorMode(PApplet.HSB, 100)
    self.background(99)
    self.noStroke()

def draw(self):
    for y in range(10):
        for x in range(10):
            self.fill(x*10, 10 + y*10, 99)
            self.rect(x*20, y*20, 10, 10)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src="http://www.kzfmix.com/images/blog/processing_list2-6-b.png" alt="list2-6-b" /&gt;&lt;/p&gt;
</description><pubDate>Tue, 12 Jan 2010 11:00:21 +0919</pubDate><category>Python</category><category>jython</category><category>processing</category></item><item><title>jython+processingでpdfを生成</title><link>http://blog.kzfmix.com/entry/1207398352</link><description>&lt;p&gt;processingはpdfに出力できるらしい。同じことはjythonでも可能でしょう。&lt;/p&gt;

&lt;p&gt;と思いつつ、三日くらいはまった。classpathにpdf.jarだけでなくitext.jarも設定しておかないといけなかったのがわからなかった。itextってのはフリーの&lt;a href="http://www.atmarkit.co.jp/fjava/javatips/134java025.html"&gt;pdfライブラリ&lt;/a&gt;らしい。それにしても、classpathがどんどん長くなっていくのが気持ち悪いなぁ。もうちょっとスマートに記述する方法もあるんだろうな。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.kzfmix.com/images/blog/noiseline.png" alt="noise.line" /&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;from javax.swing import JFrame
from processing.core import PApplet
from random import randint
import processing.pdf


class Sketch(PApplet):
    def __init__(self):
        pass

    def setup(self):
        self.size(200, 200, PApplet.PDF,"noiseline.pdf")
        self.colorMode(PApplet.HSB, 100)
        self.noFill()
        self.fluc_color = 50

    def getField(self, name):
        return  self.class.superclass.getDeclaredField(name).get(self)

    def draw(self):
        self.background(0)
        for i in range(0, 200 ,5):
            self.fluc_color += randint(-10,10)
            self.stroke(self.fluc_color, 60, 90, 30)

            fluc_y = 0
            self.beginShape()

            for j in range(0, 200, 5):
                fluc_y += randint(-2, 2)
                self.vertex(j, i + fluc_y)

            self.endShape()
        self.exit()

def run(applet):
    frame = JFrame(title="Processing",
                   resizable = 1,
                   defaultCloseOperation=JFrame.EXIT_ON_CLOSE)
    frame.contentPane.add(applet)
    applet.init()
    frame.pack()
    frame.visible = 1

if __name__ == '__main__':
    run(Sketch())
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;実際に生成されるpdfは&lt;a href="http://www.kzfmix.com/images/blog/noiseline.pdf"&gt;これ&lt;/a&gt;です。&lt;/p&gt;
</description><pubDate>Tue, 12 Jan 2010 10:59:25 +0919</pubDate><category>Python</category><category>jython</category><category>processing</category></item><item><title>processing + jythonでGainerを制御する</title><link>http://blog.kzfmix.com/entry/1207469282</link><description>&lt;p&gt;processing使ってGainerにアクセスするjythonスクリプト。gainer.jarだけではなく、serialフォルダのRXTXcomm.jarにもclasspathを通しておく。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://gainer.cc/Tutorial/HowToUseGainerWithProcessing?p=8"&gt;ボタンを押すと白黒するサンプル&lt;/a&gt;を書いてみた。&lt;/p&gt;

&lt;p&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/2VNK8Cqz4Pw&amp;amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/2VNK8Cqz4Pw&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;コード&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;from javax.swing import JFrame
from processing.core import PApplet
from processing.gainer import *

class Sketch(PApplet):
    def __init__(self):
        pass

    def setup(self):
        self.size(200, 200)
        self.gainer = Gainer(self,'COM8')

    def getField(self, name):
        return self.class.superclass.getDeclaredField(name).get(self)

    def draw(self):
        self.background(0)
        if(self.gainer.buttonPressed):
            self.background(255)

def run(applet):
    frame = JFrame(title="Processing",
                   resizable = 1,
                   defaultCloseOperation=JFrame.EXIT_ON_CLOSE)
    frame.contentPane.add(applet)
    applet.init()
    frame.pack()
    frame.visible = 1

if __name__ == '__main__':
    run(Sketch())
&lt;/code&gt;&lt;/pre&gt;
</description><pubDate>Tue, 12 Jan 2010 10:59:03 +0919</pubDate><category>Python</category><category>Gainer</category><category>jython</category><category>processing</category></item><item><title>jython+processingでwebカメラで取り込むサンプル</title><link>http://blog.kzfmix.com/entry/1209199125</link><description>&lt;p&gt;&lt;a href="http://blog.kzfmix.com/entry/1208956269"&gt;usbカメラを買った&lt;/a&gt;ので早速遊んでいる。ちなみに奥に見える黄色いのはjython本じゃなくて独習C++とかいう本。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.kzfmix.com/images/blog/jython_w_webcam.png" alt="webcam" /&gt;&lt;/p&gt;

&lt;p&gt;drawメソッドでピクセルをいじくると色々とエフェクトがかけられるわけです。&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;from javax.swing import JFrame
from processing.core import PApplet
from processing.video import *

class Sketch(PApplet):
    def __init__(self):
        pass

    def getField(self, name):
        return self.class.superclass.getDeclaredField(name).get(self)

    def setup(self):
        self.size(320, 240)
        self.camera = Capture(self, 320, 240, 12)

    def draw(self):
        self.camera.read()        
        self.image(self.camera, 0,0)

def run(applet):
    frame = JFrame(title="Processing camera",
                   resizable = 1,
                   defaultCloseOperation=JFrame.EXIT_ON_CLOSE)
    frame.contentPane.add(applet)
    applet.init()
    frame.pack()
    frame.visible = 1

if __name__ == '__main__':
    run(Sketch())
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;jython本が待ち遠しい。&lt;/p&gt;

&lt;p&gt;&lt;div class="awsxom"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4839922829/ref=nosim/kaerutyuuihou-22"&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/41yCUBiGtZL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
&lt;strong&gt;Jythonプログラミング&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
西尾 泰和 &lt;br /&gt;
毎日コミュニケーションズ / ￥ 3,150 ()&lt;br /&gt;
在庫あり。&lt;br /&gt;
&lt;br clear="all" /&gt;
&lt;/div&gt;&lt;/p&gt;
</description><pubDate>Tue, 12 Jan 2010 10:57:28 +0919</pubDate><category>Python</category><category>jython</category><category>processing</category></item><item><title>jythonプログラミング読了</title><link>http://blog.kzfmix.com/entry/1210469889</link><description>&lt;p&gt;次の二つの章が特に面白かった。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;5 Pythonから見たオブジェクト指向&lt;/li&gt;
&lt;li&gt;7 Jythonの応用例&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;div class="awsxom"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4839922829/ref=nosim/kaerutyuuihou-22"&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/41yCUBiGtZL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
&lt;strong&gt;Jythonプログラミング&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
西尾 泰和 &lt;br /&gt;
毎日コミュニケーションズ / ￥ 3,150 ()&lt;br /&gt;
在庫あり。&lt;br /&gt;
&lt;br clear="all" /&gt;
&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;単なるjythonの使い方の本というよりは、jythonのような複数の言語を混ぜ合わせた処理系を通して見えるものを感じ取りましょう的な内容だったように思う。あとその場合に固さやわらかさの長所をうまくのばしてやるようなプログラミングのお作法はこんな感じですよみたいな指針。&lt;/p&gt;

&lt;p&gt;perlでもInline系のモジュールを使えば直接他の言語を埋め込んだりできて他言語のライブラリを使えるけど、言語自体が両方の世界に干渉できるともっと楽ができる。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.kzfmix.com/blosxom_archive/Computer/Informatics/inlinejava060817.html"&gt;Inline::JavaでCDKのニ次元構造立ち上げをperlから&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.kzfmix.com/blosxom_archive/Computer/Informatics/statr060226.html"&gt;Statistics::R なんかいまいち&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Inline::みたいなやり方でも、jythonみたいなシームレスな言語でも結局複数の言語を理解してないとうまいことやれないので、その分習得コストはかかると思うんだけど、シームレスな言語使うと楽しいのは&lt;strong&gt;スケッチするような&lt;/strong&gt;感覚が得られることなのかなと思ってる。&lt;/p&gt;

&lt;p&gt;そういう意味では&lt;a href="http://gainer.cc/"&gt;Gainer&lt;/a&gt;も似たような感じかも。&lt;/p&gt;

&lt;p&gt;&lt;div class="awsxom"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4873113601/ref=nosim/kaerutyuuihou-22"&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/5185XZTvjhL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
&lt;strong&gt;Make: Technology on Your Time Volume 04&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
オライリー・ジャパン &lt;br /&gt;
オライリージャパン / ￥ 1,575 ()&lt;br /&gt;
在庫あり。&lt;br /&gt;
&lt;br clear="all" /&gt;
&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;あとシームレスな言語を使うっていうことはそれにあわせてライブラリのほうも対応していかないといくのが望ましいのかなと&lt;a href="http://baoilleach.blogspot.com/2008/03/pybel-as-generic-api-for.html"&gt;Pybel as a generic API for cheminformatics libraries - proof of concept using CDK&lt;/a&gt;というエントリを見てふと思った。&lt;/p&gt;

&lt;p&gt;chemoinformaticsだと&lt;a href="http://ja.wikipedia.org/wiki/OpenBabel"&gt;openbabel&lt;/a&gt;っていうc++の大きいライブラリと&lt;a href="http://sourceforge.net/projects/cdk"&gt;CDK&lt;/a&gt;っていうjavaのライブラリがあって、その上にpython(とruby)がまたがっている感じなのだけど、さらにこれらでいじくったデータを解析にもっていくためにRが必要だったりとかするのでRpyが役に立ったりする。&lt;/p&gt;
</description><pubDate>Tue, 12 Jan 2010 10:56:03 +0919</pubDate><category>chemoinformatics</category><category>Python</category><category>jython</category><category>java</category></item><item><title>jythonでopsinを使う</title><link>http://blog.kzfmix.com/entry/1213620680</link><description>&lt;p&gt;&lt;a href="http://blog.kzfmix.com/entry/1213275830"&gt;jythonがmacbookにインストールできなかったので&lt;/a&gt;とりあえずlinuxで。&lt;/p&gt;

&lt;p&gt;といってもgcjだとエラーを吐くので、sunのjavaをインストール。
&lt;a href="http://www.ossexpo.net/wiki/index.php/Fedora_Core_5%E3%81%ABSun_Java%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB"&gt;ここ&lt;/a&gt;みて設定。alternativeコマンドを使うとjavaの共存ができるのね。いままで、シンボリックリンクを上書きしてたのでめんどいなーと思ってたけど、これだとらくちん。&lt;/p&gt;

&lt;p&gt;jythonをインストールしたら、あとは&lt;a href="http://oscar3-chem.sourceforge.net/"&gt;opsin&lt;/a&gt;のjarを落としてきてクラスパスに通す。&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; import uk.ac.cam.ch.wwmm.opsin as opsin
&amp;gt;&amp;gt;&amp;gt; opsin.NameToStructure().parseToCML("4-iodobenzoic acid").toXML() 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;二行でIUPAC名がCMLに。
すばらしい。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://depth-first.com/articles/2006/10/17/from-iupac-nomenclature-to-2-d-structures-with-opsin"&gt;jrubyの例&lt;/a&gt;もある。&lt;/p&gt;

&lt;p&gt;ちなみにjrubyはmacbookにさくっと入って、この例の通りにやれば動いた。&lt;/p&gt;

&lt;p&gt;perlで同じ事をやる場合には&lt;a href="http://search.cpan.org/perldoc?Inline::Java"&gt;Inline::Java&lt;/a&gt;を使って&lt;a href="http://www.kzfmix.com/blosxom_archive/Computer/Informatics/perlcdkopsin061019.html"&gt;やればいい&lt;/a&gt;けど、Javaのライブラリを有効に利用するのはJavaで実装された言語処理系がやっぱ楽だ。&lt;/p&gt;
</description><pubDate>Tue, 12 Jan 2010 10:55:10 +0919</pubDate><category>chemoinformatics</category><category>perl</category><category>Python</category><category>jython</category><category>jruby</category></item><item><title>JRubyとかjythonとか</title><link>http://blog.kzfmix.com/entry/1214483589</link><description>&lt;p&gt;&lt;a href="http://twitter.com/kzfm/statuses/844012726"&gt;JRubyとかjythonとかはCGI書くのに苦労するよなとかつぶやいてみた&lt;/a&gt;けどjythonではSimpleHTTPSeverが使えることに気づいた。&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;% jython
Jython 2.2.1 on java1.6.0_06
Type "copyright", "credits" or "license" for more information.
&amp;gt;&amp;gt;&amp;gt; import SimpleHTTPServer
&amp;gt;&amp;gt;&amp;gt; SimpleHTTPServer.test()
Serving HTTP on 0:0:0:0:0:0:0:0 port 8000 ...
192.168.11.xx - - [26/Jun/2008 21:34:28] "GET / HTTP/1.1" 200 -
192.168.11.xx - - [26/Jun/2008 21:34:28] code 404, message File not found
192.168.11.xx - - [26/Jun/2008 21:34:28] "GET /favicon.ico HTTP/1.1" 404 -
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;あーでも、これだと、結局jythonスクリプトでCGI実行しないとあかんからうまくいかんわ。&lt;/p&gt;

&lt;p&gt;というわけで、明日は会社にWebアプリ編を持ってってjythonでwebappサーバーつくるのにチャレンジ。&lt;/p&gt;

&lt;p&gt;&lt;div class="awsxom"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797341815/ref=nosim/kaerutyuuihou-22"&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/418rHjXqbUL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
&lt;strong&gt;みんなのPython Webアプリ編 [みんなのシリーズ]&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
柴田 淳 &lt;br /&gt;
ソフトバンククリエイティブ / ￥ 2,604 ()&lt;br /&gt;
在庫あり。&lt;br /&gt;
&lt;br clear="all" /&gt;
&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;なんかやる気出てきた。&lt;/p&gt;
</description><pubDate>Tue, 12 Jan 2010 10:53:13 +0919</pubDate><category>Ruby</category><category>Python</category><category>jython</category></item><item><title>macbookでjython</title><link>http://blog.kzfmix.com/entry/1215171449</link><description>&lt;p&gt;trunk:4847はコンパイルが通った。&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Jython 2.3a0+ (trunk:4847, 7 4 2008, 20:27:46) 
[Java HotSpot(TM) Client VM (Apple Inc.)] on java1.5.0_13
Type "help", "copyright", "credits" or "license" for more information.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;これで遊べる。&lt;/p&gt;
</description><pubDate>Fri, 04 Jul 2008 20:37:29 +0919</pubDate><category>jython</category><category>macbook</category></item><item><title>jython+web.pyでお手軽Webアプリ</title><link>http://blog.kzfmix.com/entry/1214827204</link><description>&lt;p&gt;jython+web.pyがお手軽で、ちょっとしたことをやるならいい感じ。&lt;/p&gt;

&lt;p&gt;jythonのosモジュールにはfstatがないので&lt;a href="http://blog.kzfmix.com/entry/1214571375"&gt;trunk&lt;/a&gt;のSimpleHTTPServerの静的ファイルの転送ができない。そのため、2.2.1のSimpleHTTPServerと入れ替えた。&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;import java.io.StringReader as StringReader
import org.openscience.cdk.interfaces.IMolecule
import org.openscience.cdk.io.CMLReader as CMLReader
import org.openscience.cdk.ChemFile as ChemFile
import org.openscience.cdk.layout.StructureDiagramGenerator as StructureDiagramGenerator
import uk.ac.cam.ch.wwmm.opsin as opsin
import net.sf.structure.cdk.util.ImageKit as ImageKit

import web

urls = (
    '/(.*)', 'img2d' 
)

class img2d:       
    def GET(self, name):
        cml = opsin.NameToStructure().parseToCML(name).toXML()

        str_reader = StringReader(cml);
        cmlr = CMLReader()
        cmlr.setReader(str_reader)
        chem = cmlr.read(ChemFile());
        mol = chem.getChemSequence(0).getChemModel(0).getSetOfMolecules().getMolecule(0)

        sdg = StructureDiagramGenerator()
        sdg.setMolecule(mol)
        sdg.generateCoordinates()
        mol = sdg.getMolecule()

        ImageKit.writePNG(mol, 300, 300, "./static/test.png")
        print '&amp;lt;h1&amp;gt;' + name + '&amp;lt;/h1&amp;gt;' + '&amp;lt;img src="/static/test.png" /&amp;gt;'

if __name__ == "__main__": web.run(urls, globals())
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;http://localhost:8080/(2,3-diethyl-benzyl)-isobutanolというURLにアクセスすると、IUPACを２次元構造に変換していい感じに描画して表示してくれる。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.kzfmix.com/images/blog/webopsin.png" alt="opsin_web" title="" /&gt;&lt;/p&gt;

&lt;p&gt;ImageKitが必ずファイルに出力するのでテンポラリのファイルを作ればいいのだけど、とりあえず動く事を確認したかったので決めうちの名前で。&lt;/p&gt;
</description><pubDate>Mon, 30 Jun 2008 21:44:20 +0919</pubDate><category>chemoinformatics</category><category>jython</category><category>opsin</category></item></channel></rss>