GoogleはGoogle依存の形態で全てやろうとしているからなあ。
オープンで囲い込みですが何か?って感じ。
>>946 gglは共産主義者だし
今EUとアメリカでほぼ黒確定の
独禁法違反になるから無視しておけ
Google 依存が強いところは、気をつけておいたほうがいいだろうな。
949 :
デフォルトの名無しさん:2009/12/31(木) 18:23:34
ニュースサイトにロボット埋め込んで、街は許可なく勝手に撮影、本は勝手にスキャン、コードは盗み放題。
それもただの商業利用でしょ。
国民から徴収してアンテナ立てたりコンテンツ作ってるのに、それを2次販売して商業的な利益を上げてるNTTやNHKみたいなもんじゃないの?
googleは検索以外だとgmail(hotmail)ぐらいしか思い浮かばないし依存になることもないと思うんだが、googleは依存になりそうなサービスを提供してたか?
951 :
デフォルトの名無しさん:2009/12/31(木) 18:32:18
アンドロイドは思ったほどでもないですしね
グーグルの、サンタクロース追跡に便乗した商売にはかなり引いた。
日本、中国(アジア)としてはそういう宗教的(伝説的)なところは理解できない。
enumってなんでfinalないの?設計ミスじゃね?
ミスかもね
>>953 enum のどの部分の事言ってるのかわからんが暗黙で final 扱いになってね?
ほんとだ・・・extendsって書いたときのコンパイルエラーが変だから継承できるかと思ってたすまぬ
謝ったから許してやる
ああもう年末だ・・・
いいから金くれ
enum enum 人間って enum
おっイーナムってよんでんのかー
なぜJDKドキュメントにはEnum#values()が載っていないのだ?
962 :
デフォルトの名無しさん:2010/01/01(金) 00:26:01
おっ新年だ
お年玉くれ
てかおみくじどうやるんだっけ?
>>961 ソース読んでご覧。valuesってメソッドないから。
自動生成されるんかねぇ
964 :
【898円】 【大吉】 :2010/01/01(金) 00:34:32
ナムナム
金くれ
高校の宿題で、サーバー役とクライアント役に分けて、プログラム作って、簡易チャットを作っているのですが、分からない点があります。
client1 とclient2が接続されてるとして、server側でclient1が発言したのを、client2側の画面に反映する方法がわからない。(client2の出力ストリームに流し込む方法が・・・分かりません)
よろしけれあ、ご教授願えないでしょうか?
何処の高校?
サーバプッシュでぐぐりなさい
最悪client2からのポーリングでもできるが
>>966 勘弁してくださいorz
>>967 軽く調べてみましたが、どちらも難しそうですね。。。
しかし、ポーリングのほうがそれでも簡単な気がするので、掘り進めてみます。
969 :
デフォルトの名無しさん:2010/01/02(土) 20:38:45
PHPの、PEAR::Net_UserAgent_Mobileに相当するライブラリなどはありますでしょうか?
まぁ、「大体振り分けられればOK」ならそれほど難しくもなくできるとは解っているのですが、もしメジャーなライブラリなどがあるのならそちらを使った方がいいかと思いまして・・・。
何かご存知の方がいらっしゃれば、情報をいただければ幸いです。よろしくお願いします。
970 :
965:2010/01/03(日) 10:24:24
なにやら、宿題関係の質問はスレ違だったことに気付いたので、java宿題スレに移動します。申し訳ありません。
hello,worldの次に何作れば良いですか?
ステップアップ式にお題出してるサイトとか無い?
1.とりあえず一冊買う
2.とほほのjava
3.javaの道
画像について質問です。
巨大なBufferedImageに図形などを描画してそれをImageIOでファイルに書き出したいんですが
画像サイズがデスクトップサイズを超え始めたぐらいからOutOfMemoryが出て生成に失敗してしまいます。
大きい画像を使いたい場合何か方法はありますか?
jdkは1.6です。
//そういえばImageIOでjpgを保存すると色にセピアみたいになる変換掛かりますよね?どうすれば治るんでしょうか・・・
>>973 VM引数に -Xmx512m とかつけて最大ヒープサイズを大きく取るとか。
デスクトップサイズって巨大かなぁ?
1920x1200x3[byte]として6,912,000[byte]。7MB弱だし。
どっかメモリリークしてないか?
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();
}
これとか問題出る?
>>976 大丈夫でした!
どうやら、画像以外にもいろいろやってるからそれらがメモリを圧迫しているようです。
ちなみに出力部分のところはImageIO.write(im,"jpeg","test.jpeg");と何か違うんでしょうか?
>>977 ImageIO.java見ると分かるけど、実はほぼ同じ。
ImageIO.getImageWritersByFormatName("jpeg") がサービスプロバイダの
イテレータなので複数の実装があったときに使い分けられる程度。
そのエラーメッセージが理解できないという事は、
Javaの言語仕様をきちんと読んでいないだろ。
>>980 なにぶん初学者で、テキストの範囲をちょっと逸脱するとこうなってしまいます。
もうちょっと我慢して教科書を読んでいきます。
「スローするにはキャッチまたは、スロー宣言をしなければなりません。」
と丁寧に教えてくれてるもんな。頑張ってこの意味を理解しようね。
俺は面倒がってExceptionでスロー宣言しまくりだけどなー。(小言は聞こえない)
>俺は面倒がってExceptionでスロー宣言しまくりだけどなー。(小言は聞こえない)
catch して捨てるよりはまし。
>>979 みたいな、サンプルプログラムでは、 throw Exception しちゃうのが
結局、一番合理的な解じゃないかな。
catch しても printStackTrac()ぐらいしかできることないっしょ。
コードが読みにくくなるだけで、実用上のメリットがさしてない、
ただ、初心者が、「どこでも throw Exception すればいい」 と思い込んだらちょっとまずいってだけで、
一番正しいのは契約プログラミング的な考え方で、前提条件は全て事前チェック
しておいて、それに引っかからないモノはそれこそ例外として扱うことじゃないかと
思ってるんだがどうかな?
最初は、throw Exceptionされているメソッドを呼び出すときは、呼び出し元もthrow Exception定義しましょうでもかまわないと思う
だんだん勉強して、例外についての理解も進めば、throwかcatchかどっちがいいか分かるようになるでしょ
ところでそろそろ次スレたてるね
でも例外に関するエラーメッセージは解りづらい気がする
例外って常用的な日本語だから、慣れないうちはスペルミスでもあるのかと思ってしまう。
さらにExceptionがソースをいくら検索してもみつからないって混乱したり
>>989 ありがとうございます!
やってみます。
C/C++での「配列のある要素のポインタを関数に渡す」みたいな処理はどうやるのでしょうか?
void func(int n, int a[]);
int main(void){
int a[] = {1,2,3,4,5};
func(3, a+2); //これの「a+2」
}
>>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));
}
ポインタ概念を排除するという意図のもと、出来ないように設計されている。
プリミティブ型には参照も無いし。
近いやりかたとしては配列自身とインデックスを渡す。
例、ByteArrayOutputStream#write(byte[] b, int off, int len)
呼び出し元の処理における添え字(
>>991 では 2 )が
マジックナンバーになっちゃうからな。
C で書く場合も、I/O をアクセスするとか、バイナリデータを操作するとか、
特殊な理由が無い限り
>>991 のようなことはしないでしょ。
995 :
991:
調べても見当たらなかったので、もしかしたらと思ってましたが
やはり別途添え字を渡さないとだめなんですね。
ありがとうございました。