★★Java質問・相談スレッド134★★

このエントリーをはてなブックマークに追加
946デフォルトの名無しさん:2009/12/31(木) 16:03:35
GoogleはGoogle依存の形態で全てやろうとしているからなあ。
オープンで囲い込みですが何か?って感じ。
947デフォルトの名無しさん:2009/12/31(木) 17:29:34
>>946
gglは共産主義者だし
今EUとアメリカでほぼ黒確定の
独禁法違反になるから無視しておけ
948デフォルトの名無しさん:2009/12/31(木) 17:58:30
Google 依存が強いところは、気をつけておいたほうがいいだろうな。
949デフォルトの名無しさん:2009/12/31(木) 18:23:34
ニュースサイトにロボット埋め込んで、街は許可なく勝手に撮影、本は勝手にスキャン、コードは盗み放題。
それもただの商業利用でしょ。
国民から徴収してアンテナ立てたりコンテンツ作ってるのに、それを2次販売して商業的な利益を上げてるNTTやNHKみたいなもんじゃないの?
950デフォルトの名無しさん:2009/12/31(木) 18:27:42
googleは検索以外だとgmail(hotmail)ぐらいしか思い浮かばないし依存になることもないと思うんだが、googleは依存になりそうなサービスを提供してたか?
951デフォルトの名無しさん:2009/12/31(木) 18:32:18
アンドロイドは思ったほどでもないですしね
952デフォルトの名無しさん:2009/12/31(木) 18:39:18
グーグルの、サンタクロース追跡に便乗した商売にはかなり引いた。
日本、中国(アジア)としてはそういう宗教的(伝説的)なところは理解できない。
953デフォルトの名無しさん:2009/12/31(木) 20:37:46
enumってなんでfinalないの?設計ミスじゃね?
954デフォルトの名無しさん:2009/12/31(木) 20:45:13
ミスかもね
955デフォルトの名無しさん:2009/12/31(木) 20:45:53
>>953
enum のどの部分の事言ってるのかわからんが暗黙で final 扱いになってね?
956デフォルトの名無しさん:2009/12/31(木) 20:57:04
ほんとだ・・・extendsって書いたときのコンパイルエラーが変だから継承できるかと思ってたすまぬ
957デフォルトの名無しさん:2009/12/31(木) 21:25:41
謝ったから許してやる
958デフォルトの名無しさん:2009/12/31(木) 21:27:10
ああもう年末だ・・・
いいから金くれ
959デフォルトの名無しさん:2009/12/31(木) 23:26:41
enum enum 人間って enum
960デフォルトの名無しさん:2010/01/01(金) 00:10:53
おっイーナムってよんでんのかー
961デフォルトの名無しさん:2010/01/01(金) 00:12:20
なぜJDKドキュメントにはEnum#values()が載っていないのだ?
962デフォルトの名無しさん:2010/01/01(金) 00:26:01
おっ新年だ
お年玉くれ
てかおみくじどうやるんだっけ?
963デフォルトの名無しさん:2010/01/01(金) 00:28:16
>>961
ソース読んでご覧。valuesってメソッドないから。
自動生成されるんかねぇ
964 【898円】 【大吉】 :2010/01/01(金) 00:34:32
ナムナム
金くれ
965デフォルトの名無しさん:2010/01/02(土) 19:05:37
高校の宿題で、サーバー役とクライアント役に分けて、プログラム作って、簡易チャットを作っているのですが、分からない点があります。

client1 とclient2が接続されてるとして、server側でclient1が発言したのを、client2側の画面に反映する方法がわからない。(client2の出力ストリームに流し込む方法が・・・分かりません)

よろしけれあ、ご教授願えないでしょうか?
966デフォルトの名無しさん:2010/01/02(土) 19:13:18
何処の高校?
967デフォルトの名無しさん:2010/01/02(土) 19:47:03
サーバプッシュでぐぐりなさい
最悪client2からのポーリングでもできるが
968デフォルトの名無しさん:2010/01/02(土) 20:20:52
>>966
勘弁してくださいorz

>>967
軽く調べてみましたが、どちらも難しそうですね。。。
しかし、ポーリングのほうがそれでも簡単な気がするので、掘り進めてみます。
969デフォルトの名無しさん:2010/01/02(土) 20:38:45
PHPの、PEAR::Net_UserAgent_Mobileに相当するライブラリなどはありますでしょうか?
まぁ、「大体振り分けられればOK」ならそれほど難しくもなくできるとは解っているのですが、もしメジャーなライブラリなどがあるのならそちらを使った方がいいかと思いまして・・・。
何かご存知の方がいらっしゃれば、情報をいただければ幸いです。よろしくお願いします。
970965:2010/01/03(日) 10:24:24
なにやら、宿題関係の質問はスレ違だったことに気付いたので、java宿題スレに移動します。申し訳ありません。
971デフォルトの名無しさん:2010/01/03(日) 15:27:15
hello,worldの次に何作れば良いですか?
ステップアップ式にお題出してるサイトとか無い?
972デフォルトの名無しさん:2010/01/03(日) 15:37:45
1.とりあえず一冊買う
2.とほほのjava
3.javaの道
973デフォルトの名無しさん:2010/01/03(日) 16:03:02
画像について質問です。
巨大なBufferedImageに図形などを描画してそれをImageIOでファイルに書き出したいんですが
画像サイズがデスクトップサイズを超え始めたぐらいからOutOfMemoryが出て生成に失敗してしまいます。
大きい画像を使いたい場合何か方法はありますか?
jdkは1.6です。

//そういえばImageIOでjpgを保存すると色にセピアみたいになる変換掛かりますよね?どうすれば治るんでしょうか・・・
974デフォルトの名無しさん:2010/01/03(日) 16:14:43
>>973
VM引数に -Xmx512m とかつけて最大ヒープサイズを大きく取るとか。
975デフォルトの名無しさん:2010/01/03(日) 16:36:56
デスクトップサイズって巨大かなぁ?
1920x1200x3[byte]として6,912,000[byte]。7MB弱だし。
どっかメモリリークしてないか?
976デフォルトの名無しさん:2010/01/03(日) 17:01:27
public static void main(String[] args) throws Exception {
BufferedImage im = new BufferedImage(1920*2,1200*2,
BufferedImage.TYPE_INT_RGB);
Graphics2D g = im.createGraphics();
for (int x=0; x<im.getWidth(); x+=10) {
for (int y=0; y<im.getHeight(); y+=10) {
Color c = new Color((int)(Math.random()*256)
,(int)(Math.random()*256)
,(int)(Math.random()*256));
g.setColor(c);
g.drawLine(0, 0, x, y);
}
}
g.dispose();
OutputStream out = new FileOutputStream("test.jpg");
ImageOutputStream ios =
ImageIO.createImageOutputStream(out);
ImageWriter iw = (ImageWriter)ImageIO
.getImageWritersByFormatName("jpeg").next();
iw.setOutput(ios);
iw.write(im);
out.close();
}

これとか問題出る?
977デフォルトの名無しさん:2010/01/03(日) 17:20:08
>>976
大丈夫でした!
どうやら、画像以外にもいろいろやってるからそれらがメモリを圧迫しているようです。
ちなみに出力部分のところはImageIO.write(im,"jpeg","test.jpeg");と何か違うんでしょうか?
978デフォルトの名無しさん:2010/01/03(日) 20:17:28
>>977
ImageIO.java見ると分かるけど、実はほぼ同じ。
ImageIO.getImageWritersByFormatName("jpeg") がサービスプロバイダの
イテレータなので複数の実装があったときに使い分けられる程度。
979 ◆QZaw55cn4c :2010/01/03(日) 21:42:10
java.text.SimpleDateFormat の質問です。
http://codepad.org/n24uZLFz
のようなエラーが発生するのですが、何が悪いのでしょうか?
980デフォルトの名無しさん:2010/01/03(日) 21:52:15
そのエラーメッセージが理解できないという事は、
Javaの言語仕様をきちんと読んでいないだろ。
981 ◆QZaw55cn4c :2010/01/03(日) 21:56:33
>>980
なにぶん初学者で、テキストの範囲をちょっと逸脱するとこうなってしまいます。
もうちょっと我慢して教科書を読んでいきます。
982デフォルトの名無しさん:2010/01/03(日) 22:12:21
「スローするにはキャッチまたは、スロー宣言をしなければなりません。」
と丁寧に教えてくれてるもんな。頑張ってこの意味を理解しようね。




俺は面倒がってExceptionでスロー宣言しまくりだけどなー。(小言は聞こえない)
983デフォルトの名無しさん:2010/01/03(日) 22:20:58
>俺は面倒がってExceptionでスロー宣言しまくりだけどなー。(小言は聞こえない)

catch して捨てるよりはまし。

>>979
みたいな、サンプルプログラムでは、 throw Exception しちゃうのが
結局、一番合理的な解じゃないかな。
catch しても printStackTrac()ぐらいしかできることないっしょ。
コードが読みにくくなるだけで、実用上のメリットがさしてない、

ただ、初心者が、「どこでも throw Exception すればいい」 と思い込んだらちょっとまずいってだけで、
984デフォルトの名無しさん:2010/01/03(日) 22:30:44
一番正しいのは契約プログラミング的な考え方で、前提条件は全て事前チェック
しておいて、それに引っかからないモノはそれこそ例外として扱うことじゃないかと
思ってるんだがどうかな?
985デフォルトの名無しさん:2010/01/03(日) 22:35:06
最初は、throw Exceptionされているメソッドを呼び出すときは、呼び出し元もthrow Exception定義しましょうでもかまわないと思う
だんだん勉強して、例外についての理解も進めば、throwかcatchかどっちがいいか分かるようになるでしょ

ところでそろそろ次スレたてるね
986デフォルトの名無しさん:2010/01/03(日) 22:38:55

★★Java質問・相談スレッド135★★
http://pc12.2ch.net/test/read.cgi/tech/1262525781/
987デフォルトの名無しさん:2010/01/03(日) 22:47:54
でも例外に関するエラーメッセージは解りづらい気がする
例外って常用的な日本語だから、慣れないうちはスペルミスでもあるのかと思ってしまう。
さらにExceptionがソースをいくら検索してもみつからないって混乱したり
988デフォルトの名無しさん:2010/01/03(日) 23:03:13
JAVAをはじめてまだ1週間程の初心者なんですが、
http://kitten.ace.nitech.ac.jp/ichilab/mech/software/gate/
ここで公開されているアプリと似たものを作りたいと思っています。
それでこのアプリのソースコードが見てみたいんですが、
ソースコードが公開されていないアプリのソースコードを見る方法ってありますか?

馬鹿な質問かもしれませんが教えていただきたいです。
よろしくお願いします。
989デフォルトの名無しさん:2010/01/03(日) 23:19:06
>>988
>>91
これで一応見ることができる
990デフォルトの名無しさん:2010/01/03(日) 23:36:33
>>989
ありがとうございます!
やってみます。
991デフォルトの名無しさん:2010/01/04(月) 10:31:42
C/C++での「配列のある要素のポインタを関数に渡す」みたいな処理はどうやるのでしょうか?

void func(int n, int a[]);

int main(void){
  int a[] = {1,2,3,4,5};
  func(3, a+2); //これの「a+2」
}
992デフォルトの名無しさん:2010/01/04(月) 11:48:18
>>991
配列と添え字を渡す。
static void func (int n, int[] a, int index) { }
static void main(String[] args) {
 int[] array = { 1, 2, 3, 4, 5 };
 func(3, a, 2);
}

もしくは位置情報持ってるオブジェクトを渡す。
static void func (int n, IntBuffer b) { }
static void main(String[] args) {
 int[] array = { 1, 2, 3, 4, 5 };
 func(3, IntBuffer.wrap(array, 2, 3));
}
993デフォルトの名無しさん:2010/01/04(月) 11:52:33
ポインタ概念を排除するという意図のもと、出来ないように設計されている。
プリミティブ型には参照も無いし。
近いやりかたとしては配列自身とインデックスを渡す。
例、ByteArrayOutputStream#write(byte[] b, int off, int len)
994デフォルトの名無しさん:2010/01/04(月) 12:12:03
呼び出し元の処理における添え字( >>991 では 2 )が
マジックナンバーになっちゃうからな。
C で書く場合も、I/O をアクセスするとか、バイナリデータを操作するとか、
特殊な理由が無い限り >>991 のようなことはしないでしょ。
995991
調べても見当たらなかったので、もしかしたらと思ってましたが
やはり別途添え字を渡さないとだめなんですね。
ありがとうございました。