<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>java / Drkcore</title><link>http://blog.kzfmix.com/java</link><description>Programming, Music, Snowboarding</description><language>ja</language><lastBuildDate>Thu, 15 Dec 2011 20:36:36 +0919</lastBuildDate><item><title>パーフェクトJava</title><link>http://blog.kzfmix.com/entry/1323948909</link><description>&lt;p&gt;Part1の概論がわかりやすかった。とはいえ15章のストリーム以降の理解はあやふやだけど。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774139904/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51sc1ff5eML._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2)&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    アリエル・ネットワーク株式会社&lt;br /&gt;
    技術評論社 / 3780円 ( 2009-09-24 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;Part2のサーバプログラミングは興味がわかなかったので大して読まなかったが、Part3のGUIは面白かった。&lt;/p&gt;
&lt;p&gt;というわけで、Part1をじっくり読む本かな。&lt;/p&gt;
&lt;p&gt;JavaとAndroidの書籍はちょくちょく買う割にはたいして身についてないという、、、&lt;/p&gt;
&lt;p&gt;来年はJavaとAndroidに真面目に取り組む年になりそう。&lt;/p&gt;</description><pubDate>Thu, 15 Dec 2011 20:36:36 +0919</pubDate><category>java</category></item><item><title>Javaデータ構造とアルゴリズム基礎講座</title><link>http://blog.kzfmix.com/entry/1317130788</link><description>&lt;p&gt;&lt;a href="http://d.hatena.ne.jp/nowokay/20110922"&gt;アルゴリズムの勉強のしかた&lt;/a&gt;に載っていて、&lt;strong&gt;java度の低い自分には丁度よいかも&lt;/strong&gt;と思い即買いしたのだけど、自分にはちょっと基礎的すぎた(どういうライブラリがあるかとリングバッファの実装が役に立ったけど)。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774136972/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/41XXm8UokQL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Java データ構造とアルゴリズム基礎講座&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    長尾 和彦&lt;br /&gt;
    技術評論社 / 2709円 ( 2008-12-26 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;アルゴリズムイントロダクションを買うべきだったな。&lt;/p&gt;
&lt;p&gt;ところでperlでアルゴリズムを学ぶなら迷わず&lt;a href="http://blog.kzfmix.com/tag/MAWP"&gt;MAWP&lt;/a&gt;を選択するべきでしょう。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/1565923987/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/511%2BTGdCRjL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Mastering Algorithms With Perl&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    Jon Orwant&lt;br /&gt;
    Oreilly &amp; Associates Inc / 2553円 ( 1999-07 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;日本語版がでてもおかしくないくらいの良書だと思う。&lt;/p&gt;</description><pubDate>Tue, 27 Sep 2011 22:44:03 +0919</pubDate><category>perl</category><category>java</category></item><item><title>SMSD (Small Molecule Subgraph Detector)を使う</title><link>http://blog.kzfmix.com/entry/1281838804</link><description>&lt;p&gt;GastonでMCSを探索するのは色々無理があったようで、どうするかな困った困ったと探していたら、&lt;a href="http://www.ebi.ac.uk/thornton-srv/software/SMSD/"&gt;SMSD&lt;/a&gt;を見つけた。&lt;a href="http://sourceforge.net/apps/mediawiki/cdk/index.php?title=Main_Page"&gt;cdk&lt;/a&gt;には既に組み込まれているらしくてさっき&lt;a href="http://twitter.com/kzfm/status/21190482380"&gt;ビルド&lt;/a&gt;してみたんだけど、よく考えたらCDKの使い方あんまよくわかんないや、、、ってことでGUIで遊んだ。&lt;/p&gt;

&lt;p&gt;ちなみに、java6でビルドしないといけないので、osx(10.5)の場合は&lt;a href="http://stackoverflow.com/questions/695350/running-ant-with-jdk-1-6-on-mac-os-x"&gt;環境変数を設定&lt;/a&gt;した。&lt;/p&gt;

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

&lt;p&gt;とりあえず、&lt;a href="http://pubchem.ncbi.nlm.nih.gov/summary/summary.cgi?cid=6918537&amp;amp;loc=ec_rcs"&gt;vildagliptin&lt;/a&gt;と&lt;a href="http://pubchem.ncbi.nlm.nih.gov/summary/summary.cgi?cid=4369359&amp;amp;loc=ec_rcs"&gt;sitagliptin&lt;/a&gt;のMCSをもとめた。&lt;/p&gt;

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

&lt;p&gt;なんで5員環と6員環がマッチしてるんだろうか？あとでペーパーちゃんと読もうっと。&lt;/p&gt;

&lt;h4&gt;追記openbabelでのdiscussもあった&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.mail-archive.com/openbabel-discuss@lists.sourceforge.net/msg00130.html"&gt;Somebody interested in a VF2 based structure matcher for OB?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://gist.github.com/255970"&gt;gist&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Sun, 15 Aug 2010 11:45:50 +0919</pubDate><category>chemoinformatics</category><category>java</category></item><item><title>SRM435DIV2_250</title><link>http://blog.kzfmix.com/entry/1271155867</link><description>&lt;p&gt;余計な変数多いな。&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;public class SkiFriction {

    public int bestPosition(String sF, String pF) {
        int sFl = sF.length();
        int pFl = pF.length();
        if(sFl &amp;gt;= pFl) return 0;
        int result = 0;
        for(int i=0;i&amp;lt;pFl-sFl;i++) {
            int lmax = 0;
            for(int j=0;j&amp;lt;sFl;j++){
                int k = sF.charAt(j) - '0'+ pF.charAt(i+j) - '0';
                if(k&amp;gt;lmax) lmax = k;
            }
            result += lmax;
        }
        return result;
    }    
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;数字の比較は&lt;a href="http://www.topcoder.com/stat?c=problem_solution&amp;amp;cr=22731949&amp;amp;rd=13697&amp;amp;pm=10294"&gt;Math.max&lt;/a&gt;使えばいいのか&lt;/p&gt;
</description><pubDate>Tue, 13 Apr 2010 19:51:40 +0919</pubDate><category>java</category><category>topcoder</category></item><item><title>SRM433DIV2_250</title><link>http://blog.kzfmix.com/entry/1270982982</link><description>&lt;p&gt;reverseってメソッドはないのかな？
両方ソートして、一方は先頭から他方は後ろから掛けてsumを求めた。&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;import java.util.*;

public class RoyalTreasurer {

    public int minimalArrangement(int[] A, int[] B) {
    java.util.Arrays.sort(A);
    java.util.Arrays.sort(B);
    int result = 0;
    for(int i=0;i&amp;lt;A.length;i++)
        {
        result += A[i] * B[A.length - i -1];
        }

    return result;
    }   
}
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.topcoder.com/stat?c=problem_statement&amp;amp;pm=10007&amp;amp;rd=13695"&gt;SRM433 DIV2 250&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Sun, 11 Apr 2010 19:49:42 +0919</pubDate><category>java</category></item><item><title>SRM460DIV2_250</title><link>http://blog.kzfmix.com/entry/1270890325</link><description>&lt;p&gt;java勉強中。&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;import java.util.ArrayList;
import java.util.List;

public class TheQuestionsAndAnswersDivTwo {

    public int find(String[] q) {
        List qlist = new ArrayList();
        int ans = 0;
        for (int i = 0; i &amp;lt; q.length; ++i)
            if (!qlist.contains(q[i]))
                qlist.add(q[i]);

        ans = (int) Math.pow(2, qlist.size());
        return ans;
    }

}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://www.topcoder.com/stat?c=problem_solution&amp;amp;cr=22826981&amp;amp;rd=14146&amp;amp;pm=10769"&gt;Set使えばいい&lt;/a&gt;のね。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.stackasterisk.jp/tech/java/collection01_01.jsp"&gt;コレクションフレームワーク&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.javaroad.jp/java_collection1.htm"&gt;javaの道&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Sat, 10 Apr 2010 18:09:00 +0919</pubDate><category>java</category><category>topcoder</category></item><item><title>Java並行処理プログラミング</title><link>http://blog.kzfmix.com/entry/1270424384</link><description>&lt;p&gt;復刊で購入しといたのを読んでみた。&lt;/p&gt;

&lt;p&gt;&lt;div class="awsxom"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797337206/ref=nosim/kaerutyuuihou-22"&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/51WIJVxGYIL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
&lt;strong&gt;Java並行処理プログラミング ―その「基盤」と「最新API」を究める―&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
Brian Goetz,Joshua Bloch,Doug Lea &lt;br /&gt;
ソフトバンククリエイティブ / ￥ 3,990 ()&lt;br /&gt;
在庫あり。&lt;br /&gt;
&lt;br clear="all" /&gt;
&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;1,2部まで読んだけど、その先ちょっとついていけそうになかったので、読むのを中断した。
並行処理プログラミングってほとんどしないけど、化合物の3次元構造立ち上げとかは並行で動かすのが当たり前になりそうなので、そのうちやらんといかんのだろう。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://plusd.itmedia.co.jp/pcuser/articles/1003/29/news054.html"&gt;8core&lt;/a&gt;とか欲しいなぁ。&lt;/p&gt;
</description><pubDate>Mon, 05 Apr 2010 08:40:15 +0919</pubDate><category>java</category></item><item><title>Java言語で学ぶリファクタリング入門</title><link>http://blog.kzfmix.com/entry/1268823509</link><description>&lt;p&gt;二年近く積んであったが、最近javaで書いてるので読んでみたら想像以上に面白かった。厚さの割にスラスラ読めたので、二日程度で読み終わった。&lt;/p&gt;

&lt;p&gt;良書&lt;/p&gt;

&lt;p&gt;&lt;div class="awsxom"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797337990/ref=nosim/kaerutyuuihou-22"&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/51L%2BbdStACL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
&lt;strong&gt;Java言語で学ぶリファクタリング入門&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
結城 浩 &lt;br /&gt;
ソフトバンク クリエイティブ / ￥ 3,360 ()&lt;br /&gt;
在庫あり。&lt;br /&gt;
&lt;br clear="all" /&gt;
&lt;/div&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;enumでシンボリック定数を表現&lt;/li&gt;
&lt;li&gt;名前重要&lt;/li&gt;
&lt;li&gt;双方向リンクは避ける&lt;/li&gt;
&lt;li&gt;タイプコードを表す新しいクラスを作る&lt;/li&gt;
&lt;li&gt;リスコフの置換原則&lt;/li&gt;
&lt;li&gt;@override&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;後半は、パターンが解決したかった「もの」が多かったので、デザインパターンを知っていないと理解しにくいかもしない。逆に知っていればさらっと入ってくる。&lt;/p&gt;

&lt;p&gt;&lt;div class="awsxom"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797327030/ref=nosim/kaerutyuuihou-22"&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/51KjORDEySL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
&lt;strong&gt;増補改訂版Java言語で学ぶデザインパターン入門&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
結城 浩 &lt;br /&gt;
ソフトバンククリエイティブ / ￥ 3,990 ()&lt;br /&gt;
在庫あり。&lt;br /&gt;
&lt;br clear="all" /&gt;
&lt;/div&gt;&lt;/p&gt;
</description><pubDate>Wed, 17 Mar 2010 19:59:16 +0919</pubDate><category>java</category></item><item><title>EclipseCoder入れた</title><link>http://blog.kzfmix.com/entry/1267564747</link><description>&lt;p&gt;&lt;a href="http://d.hatena.ne.jp/gnarl/20100201/1264971398"&gt;EclipseCoder: TopCoder SRM用Eclipseプラグイン&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Testの使い方がわからん。しかも赤い×がついてるし、なんか設定間違ってんのかな。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://fornwall.net/eclipsecoder/"&gt;EclipseCoder&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;追記10.03.03&lt;/h4&gt;

&lt;p&gt;よくわからんが/Library/Java/Extensions/に入ってたopsin-big.jarが問題だったようだ。これを削除して再起動してみたら普通に動いた。&lt;/p&gt;
</description><pubDate>Wed, 03 Mar 2010 20:48:19 +0919</pubDate><category>java</category><category>Eclipse</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></channel></rss>