15122011 java
Part1の概論がわかりやすかった。とはいえ15章のストリーム以降の理解はあやふやだけど。
Part2のサーバプログラミングは興味がわかなかったので大して読まなかったが、Part3のGUIは面白かった。
というわけで、Part1をじっくり読む本かな。
JavaとAndroidの書籍はちょくちょく買う割にはたいして身についてないという、、、
来年はJavaとAndroidに真面目に取り組む年になりそう。
15122011 java
Part1の概論がわかりやすかった。とはいえ15章のストリーム以降の理解はあやふやだけど。
Part2のサーバプログラミングは興味がわかなかったので大して読まなかったが、Part3のGUIは面白かった。
というわけで、Part1をじっくり読む本かな。
JavaとAndroidの書籍はちょくちょく買う割にはたいして身についてないという、、、
来年はJavaとAndroidに真面目に取り組む年になりそう。
アルゴリズムの勉強のしかたに載っていて、java度の低い自分には丁度よいかもと思い即買いしたのだけど、自分にはちょっと基礎的すぎた(どういうライブラリがあるかとリングバッファの実装が役に立ったけど)。
アルゴリズムイントロダクションを買うべきだったな。
ところでperlでアルゴリズムを学ぶなら迷わずMAWPを選択するべきでしょう。
日本語版がでてもおかしくないくらいの良書だと思う。
15082010 chemoinformatics java
GastonでMCSを探索するのは色々無理があったようで、どうするかな困った困ったと探していたら、SMSDを見つけた。cdkには既に組み込まれているらしくてさっきビルドしてみたんだけど、よく考えたらCDKの使い方あんまよくわかんないや、、、ってことでGUIで遊んだ。
ちなみに、java6でビルドしないといけないので、osx(10.5)の場合は環境変数を設定した。
とりあえず、vildagliptinとsitagliptinのMCSをもとめた。
なんで5員環と6員環がマッチしてるんだろうか?あとでペーパーちゃんと読もうっと。
余計な変数多いな。
public class SkiFriction {
public int bestPosition(String sF, String pF) {
int sFl = sF.length();
int pFl = pF.length();
if(sFl >= pFl) return 0;
int result = 0;
for(int i=0;i<pFl-sFl;i++) {
int lmax = 0;
for(int j=0;j<sFl;j++){
int k = sF.charAt(j) - '0'+ pF.charAt(i+j) - '0';
if(k>lmax) lmax = k;
}
result += lmax;
}
return result;
}
}
数字の比較はMath.max使えばいいのか
11042010 java
reverseってメソッドはないのかな? 両方ソートして、一方は先頭から他方は後ろから掛けてsumを求めた。
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<A.length;i++)
{
result += A[i] * B[A.length - i -1];
}
return result;
}
}
java勉強中。
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 < q.length; ++i)
if (!qlist.contains(q[i]))
qlist.add(q[i]);
ans = (int) Math.pow(2, qlist.size());
return ans;
}
}
Set使えばいいのね。
05042010 java
復刊で購入しといたのを読んでみた。
1,2部まで読んだけど、その先ちょっとついていけそうになかったので、読むのを中断した。 並行処理プログラミングってほとんどしないけど、化合物の3次元構造立ち上げとかは並行で動かすのが当たり前になりそうなので、そのうちやらんといかんのだろう。
8coreとか欲しいなぁ。
17032010 java
二年近く積んであったが、最近javaで書いてるので読んでみたら想像以上に面白かった。厚さの割にスラスラ読めたので、二日程度で読み終わった。
良書
後半は、パターンが解決したかった「もの」が多かったので、デザインパターンを知っていないと理解しにくいかもしない。逆に知っていればさらっと入ってくる。
EclipseCoder: TopCoder SRM用Eclipseプラグイン
Testの使い方がわからん。しかも赤い×がついてるし、なんか設定間違ってんのかな。
よくわからんが/Library/Java/Extensions/に入ってたopsin-big.jarが問題だったようだ。これを削除して再起動してみたら普通に動いた。
12012010 chemoinformatics Python jython java
次の二つの章が特に面白かった。
単なるjythonの使い方の本というよりは、jythonのような複数の言語を混ぜ合わせた処理系を通して見えるものを感じ取りましょう的な内容だったように思う。あとその場合に固さやわらかさの長所をうまくのばしてやるようなプログラミングのお作法はこんな感じですよみたいな指針。
perlでもInline系のモジュールを使えば直接他の言語を埋め込んだりできて他言語のライブラリを使えるけど、言語自体が両方の世界に干渉できるともっと楽ができる。
Inline::みたいなやり方でも、jythonみたいなシームレスな言語でも結局複数の言語を理解してないとうまいことやれないので、その分習得コストはかかると思うんだけど、シームレスな言語使うと楽しいのはスケッチするような感覚が得られることなのかなと思ってる。
そういう意味ではGainerも似たような感じかも。
あとシームレスな言語を使うっていうことはそれにあわせてライブラリのほうも対応していかないといくのが望ましいのかなとPybel as a generic API for cheminformatics libraries - proof of concept using CDKというエントリを見てふと思った。
chemoinformaticsだとopenbabelっていうc++の大きいライブラリとCDKっていうjavaのライブラリがあって、その上にpython(とruby)がまたがっている感じなのだけど、さらにこれらでいじくったデータを解析にもっていくためにRが必要だったりとかするのでRpyが役に立ったりする。