System.out.println("たておつです");
ロガー書くのめんどくせ。構文に組み込んでくれねーかな import org.slf4j.*; class Foo { Logger log = LoggerFactory.getLogger(Foo.class); }
いくら頑張って勉強してもジャヴァの派遣ITドカタになったら日本では年収300ー400万ぐらいにしかならないんですか?
SIerに関する話題はスレ違い
スレどころか板が違うわ
8 :
デフォルトの名無しさん :2012/02/20(月) 18:45:50.82
jQueryの$.ajaxのGETで渡したデータ(配列等)をStrutsのアクションで受け取りたいです。 request.getParameterメソッドでうまく取れないのですが、どうしたらいいでしょうか。
> 情報教育が間違ってるなんて苦しいイイワケしてても成長しないぜ。 お前がどれくらいの世代か知らないが、実際、大学によっては間違っていたり、古臭い教育をしているところもあるぞ。 俺が学生の頃の情報系学科は情報系なのに電気電子がメインだった。情報工学という分野があまりにも幅が広すぎて 学科ほとんど分裂していなかったので学ぶことが多すぎたといったところ だから情報系学科を卒業しても、電気回路や電磁気学、デジタル信号処理や数値解析といった計算が得意でも プログラミングがろくにできない奴ばかりなんてのは普通だった。そういう分野を活かせる企業もあることはあるがね それが俺が卒業してからやっと情報系らしい学科になり 情報系内でも電気電子系に近い学科は、分離されて新しい学科がいくつもできた。よりソフトウェア工学に関連する学問 を学びやすい学科が生まれたということだな。 > 評価されないのはお前に自分が思ってるほど実力がないから、そこで評価される人間になっても嬉しくないってのは逃げでしかない。 > 君の得意な技術一筋の仕事しても、Excelでお上手に図書いてるそいつらにも勝てないよ君は、本質が何もみえちゃいないからな。 実力があっても評価されることがないなんて普通だよ。自分の得意分野と会社が求めている分野が初めて一致した時に初めて実力が評価される。 自分を会社に合わせるか、自分にあった会社を探すか、自分にあったビジネスを自分で生み出すか、の違いだ。 925がどう思っているかは知らないが。
レス乞食乙
http://toro.2ch.net/test/read.cgi/tech/1326557705/937 >
http://toro.2ch.net/test/read.cgi/tech/1326557705/928 > いいですね。その日暮らしで生きていきたいものですが、家族が許してくれないという壁が大きいですね。
> 年金とか税金とか払えるのかって、生涯賃金しっかり稼げるのかって。
まず今の会社で200万くらい金を貯めたらどうだろうか。
ムカつくウザい上司や顧客や企業に立ち向かうためには金が必要だ
技術だかっても金がなければお前の才能を活かして反旗を翻すことすらできない。
まずは資金を集めろ。株にでも手を出して副収入を増やせ。
金を貯めたら独立して個人事業主でも企業でもすればいい。
>
http://toro.2ch.net/test/read.cgi/tech/1326557705/930930 > はい自意識過剰です。Fラン大学を周りからちやほやされて上位3位で卒業しましたよ。
>
> でもそうやって育ててきたのはやっぱり学校だと思いますよ。
> 会社がほしい人材と学校の教育方針が思いっきりずれてるとよく言われてますし、
> パソコン学んだから仕事できるんだと言われても、
そこはうまいこと説得するんだな。大学が情報系だからといってPCに関しては何でも知っているだろう
なんて勘違いする奴がいて、いくらそれが間違っていると説明しても納得しない奴に俺も不満を持っていたが
理解する奴はちゃんと理解するぞ。自分は何が得意でなにがしたいか、何ができるかをアピールした方がいい。
> まったく未経験者だけど設計書書いてバッチ書いてる人もいますし。
> 結局、高校や大学で教ええるパソコンの知識なんて趣味でプログラム作るためのもので、
> 社会ではまったく役立たないとやっぱり思います。
そういう不満には誰もが直面することだが
たまたま大学で学んだ技術を活かせる機会がいまのところお前になかっただけだ。
> 配属先の会社、部署までを入社前に調べられるのは内通者か企業スパイだけでしょ。 > 会社はインターンとか会社説明では現実をおもいっきりぼかしてる。 そういうこともあるが、 ネットで会社の情報をぐぐってもっと調べたりこっちから会社に質問して、他の会社と何が違うか問うなりしているか? 零細企業なんかぼかすのが当たり前だから、毎月誰かが入社してきてはたった3ヶ月ですぐに転職活動して他の 会社に転職するというくり返しがよくある。 > 業界研究なんてものは営業向けだけ、わかることはその会社の営業が客先にどうやって頭を下げているかしかないですよ。 > みんなだまされた気分になって、イヤイヤでやめるやめるって言いながら仕事やってくんでしょ。 そういう奴もいるが、そのまま主任になって年収があがっている奴もいるな。今は不景気だから給料がいまいちってだけだな。 > 1〜3年でやめる人間は職務経験者3年以上じゃないから社会的に別枠にされるだけで > 5年でやめる人間も、10年でやめる人間も結局イヤだからやめただけ。 > ずっと続けてる人も嫌だけど何かしら吹っ切れるタイミングがないから続けてるだけかと。 > > 配属先は2ヶ月弱なんで自分の評価は現状、可もなく不可もなくだと思いますし、 二ヶ月ならもっと粘れ。すくなくとも1年以上は。1年経ってから会社に対して直接不満や要望を口にしてみてはどうだろう。 > 社会人なんだから誰かが「すごいね」なんていって褒めてくれるわけないですし、 褒められるためだけに働くのはどうかと思うぞ。
http://toro.2ch.net/test/read.cgi/tech/1326557705/967 >
> 一年未満の正社員で働く職場を間違えたなら、コンビニバイトを二週間で辞めるのと同じでさっさと辞めて他を探した方がいいんじゃないか。
> しかし日本で人材派遣登録や契約社員をやってるなら、スキルだ資格だ云々と意地になっても所詮年収300万程度なんだし、JAVA業界界隈では所詮ITドカタと後ろ指さされるレベルの負け組でしかない。
> Fラン大学ネタはもう飽きたけどせっかく大学卒業して年収300万程度の職場しか見つからないなら、ふがいない業界を選んだ自分について素直に諦めて日本型就業制度の歯車の一部(派遣コボラー)に染まっていく道もある。
だがそれをやると、もっと年収、いや収支が下がるかもしれないぞ
日本経済の現状がこの体たらくだからな
現民主党政権は腐敗しており、日本を社会主義国家にしようと画策している
そんな状況になればビジネスチャンスもますますやってこなくなり
社会保障制度を強化しすぎた結果、税収が増え収入も下がり、ビジネスチャンスも減った分、つまらない単調な人生を送るハメになる。
何か機転を利かせる必要があるということだな。
とにかく、Facebookのマーク・ザッカーバーグを見習え! そういうことだ
荒すな
さすがに長すぎて読む気がしないが、最後だけみるとネトウヨっぽい。 おそらくフジテレビのデモとかで騒いでるチャンネル桜とつるむ暴力団員が シノギでjava土方やってると伺える。
板違いもいい加減にしろ
こんな長いレス書ける奴が2人いるのは奇跡 よって自演
Javaって本当に害虫のための言語だな。 Cへ進んだ人間は社会開発でエリートコースまっしぐらにサクセスストーリーを歩めるというのに Javaへ落ちた奴は契約先の一流企業に寄生する害虫害虫って言われ続けて働きアリのように奴隷生活。 ほら、配属先の人間が呼んでるよ。「害虫さん」って。
>>23 一方しか使えないなんてこと無いだろwww
ArrayIndexOutOfBoundsExceptionはarrayの範囲を超えた参照、セット時に起きると認識していますが それ以外で起こるケースはありますか?
自分で throw すればいつでも起きる
throwの内部処理ってどうなってんだ
28 :
25 :2012/02/20(月) 23:54:45.53
>>26 あー任意例外処理は、なしの方向で…
例えば、Int型のArrayでIntの範囲を超えた場合とか、そーゆーのでないですかね
グローバル変数とgoto文で再現できそうではある
煽りがいちいち突っ込みどころ満載なのはそういう様式美なの?
31 :
25 :2012/02/21(火) 00:17:24.49
ふむぅ 実は、とある関数をネットからコピペして使ってみたのですが ArrayIndexOutOfBoundsExceptionが発生してしまうんです 発生しない事もあって、デバッガ起動するも配列要素が1000以上あって中身のValueを見る事すら困難な状況なのです コピペした内容に間違いはなく、呼び出し方も問題ないです で、ArrayIndexOutOfBoundsExceptionって配列範囲外参照時以外でも起きるのかなぁと思った訳です 関数内ではArray.lengthでfor文回してるので溢れる事はないと思っているってのもあります
ソースコード貼り付けれ。 どうせつまんないバグだろうから。
33 :
デフォルトの名無しさん :2012/02/21(火) 02:19:44.28
というか配列の前後にtry文入れてデバッグすれば一発なんじゃないの?
というか配列の前後にtry文入れなくてもデバッグすれば一発なんだと思うよ
>>25 は仮想マシンのバグを発見したのだろう。
学会で発表すれば伝説の若き天才として名を残せるかもしれない。
俺はjavaを使った事がないから、質問には答えられない。
927 :デフォルトの名無しさん [↓] :2012/02/19(日) 20:39:58.84
ドワンゴとか入ればいいと思うよ。
928+1 :デフォルトの名無しさん [↓] :2012/02/19(日) 20:48:24.94
>>926 俺は日銭しか稼いで無いけど
年がら年中好きなプログラミングをやっているから幸せだよ。
でも凡人に俺のような生き方はおすすめできない。
俺ほど孤独に強くそして独創性の溢れる人間は少ないからな。
ちょっと独創性がありすぎてこの板で全く発言できない。
何故なら皆さんが凡人過ぎて可哀想だから。
954 :デフォルトの名無しさん [↓] :2012/02/20(月) 00:45:25.74
これで生き残れ
スマートフォンアプリを中心に売る
サーバーはクラウド VPSを借りる
電話はスマートフォンSkype
オフィスはコワーキングスペースを借りる
http://bit .ly/sHz1UU
または
地方にプレハブ型の格安高性能オフィスを建て(300万〜500万)
レンタル自習室&シェアオフィスで収入を得ながらそこでアプリを開発する
http://bit .ly/iLIpJa
http://bit .ly/m7nkew
967 :デフォルトの名無しさん [↓] :2012/02/20(月) 06:25:47.25
一年未満の正社員で働く職場を間違えたなら、コンビニバイトを二週間で辞めるのと同じでさっさと辞めて他を探した方がいいんじゃないか。
しかし日本で人材派遣登録や契約社員をやってるなら、スキルだ資格だ云々と意地になっても所詮年収300万程度なんだし、JAVA業界界隈では所詮ITドカタと後ろ指さされるレベルの負け組でしかない。
Fラン大学ネタはもう飽きたけどせっかく大学卒業して年収300万程度の職場しか見つからないなら、ふがいない業界を選んだ自分について素直に諦めて日本型就業制度の歯車の一部(派遣コボラー)に染まっていく道もある。
971 :デフォルトの名無しさん [↓] :2012/02/20(月) 09:21:30.58
ジャヴァなんてのは、英語出来ないと何も作れない割に万年ウインドウズにも勝てないんだし時給1100円でいいだろ
javadoc見ればArrayIndexOutOfBoundsException投げるメソッド全部解るだろ MIDIトラックのインデックス指定がこれ投げるシグネチャなのはどうかと思うが。 キャッチしたIndexOutOfBoundsExceptionが ほんとはArrayIndexOutOfBoundsExceptionだったということもあるだろうな
ライブラリ内でprintStackTrace()で表示して途切れてしまっているために スタックトレースが自分のプログラムまでに及ばす原因を追求するのは難しい事がある。 しかも解決不能なんて事例がSwingのBoxViewやFlowView辺りでは存在する。
訂正:printStackTraceを表示してるかしてないかは別として 例外を内部的にcatchして吐き出さないので、そこで途切れてしまっている。
Servletで使うクラスのメンバ変数って なんでfinalにする事が多いん?
>>41 前スレでもこの質問あったな。
ちなみに「メンバ変数」じゃなくて「フィールド変数」。
(あるいは単に「フィールド」)
Servletオブジェクトはスレッド間で共通であることは知ってるかな?
そんな状況で非finalフィールドが存在したらどうなるかを考えてみよう。
(例えば、doGetメソッドでユーザから受け取った値をフィールドに設定したりしたらどうなるか)
43 :
42 :2012/02/21(火) 11:09:46.06
いや、確か仕様上は共通のServletオブジェクトを使わなくてもいいのか。 でも通常はアクセス毎とかセッション毎に専用のServletオブジェクトを使ったりしない。 あと、SingleThreadModelうんぬんと言い出す輩が居るかもしれないけど、これは忘れていい。
44 :
デフォルトの名無しさん :2012/02/21(火) 11:23:29.59
>>42 えっ、それって普段privateにしてカプセル化してるけど。
45 :
42 :2012/02/21(火) 11:40:08.38
privateでカプセル化? 他のクラスからアクセスできないようにしたところで意味ないよ? あー、もー、面倒だけど説明しよう。 Aさんがブラウザから値を入力するでしょ。 その値をフィールドに格納するでしょ。 そのあと、Bさんがブラウザから値を入力するでしょ。 で、その値をフィールドに格納したら、Aさんの入力した値は消えてしまう。 値が消えていいの? いい場合もあるけど、それは少ない。
知ったかはやめた方がいいぞ。間違ってるから。
47 :
42 :2012/02/21(火) 12:13:06.64
おや、どこが間違ってるか言えますかな?
前提が間違っているから「全部」だ。
49 :
42 :2012/02/21(火) 12:16:14.54
ああ、そうですか。 それはよかったですね。
厚顔無恥
51 :
デフォルトの名無しさん :2012/02/21(火) 12:30:47.30
横からだけど、
>>41 の質問のどこに前提が書かれてるの?
書かれてない前提をエスパーしろってことじゃね
>>48 はエスパーできるなんてすごいね。
よく「間違ってる」なんて断言できるものだ。
42は間違ってないよ
どうも、フォローありがとうございます。 「カプセル化」とか言ってたけど、 こういうこと言いたいんですかね? private int field; public void setField(int field) { this.field = field; } public void doGet(HttpServletRequest request, HttpServletResponse response) { // field の値を参照する。設定はしない。 } まあいいや、41はまだ質問があればしてくれればおk。
56 :
48 :2012/02/21(火) 13:04:48.72
すみません私が厚顔無恥でした半年ROMします
string test = "test1" string[] hairetu = new string{"test1","apple"} 配列の中に”test1”が入ってるかどうかを調べるメソッドってない?
Arrays.asList(test).contains("test1")
コピペの質問ばっかり
メソッドを呼び出す感覚でオブジェクトを作ることに未だ慣れない
じゃあstaticおじさんになればいいよ
またはてなネタなんか出して…
63 :
デフォルトの名無しさん :2012/02/21(火) 15:58:49.76
finalは固定値だと説明すればいいだけでは?w おまけにカプセル化で他からアクセスできないってどんだけ笊セキュリティーなservletだよ。
64 :
デフォルトの名無しさん :2012/02/21(火) 21:21:38.36
文字列をjava.sql.Timestamp型に変換するので悩んでいます。 String val = "2012-01-17 13:03"; Timestamp hogeTime = new Timestamp(new SimpleDateFormat("yyyy-MM-DD HH:mm").parse(val).getTime()); このロジックで、valに、 "2012-01-17 13:03" "2012-02-17 03:01" "2012-03-17 23:06" "2012-12-17 02:07" どれを入れても、月だけ「1月」になってしまいます。 年・日・時・分は正確に反映されるのですが。 何がダメですか?
>>64 DDがダメらしい
"2012-12-99 02:07"なら四月になる
67 :
デフォルトの名無しさん :2012/02/21(火) 22:18:37.65
AWTでアプレット作成しているんですが、ある時からボタンやテキストフィールドの大きさや位置を変更しても全く反映されなくなりました。 どうしたら良いのでしょうか?お願いします。
アプレットを作るのを辞める
69 :
デフォルトの名無しさん :2012/02/21(火) 22:44:28.35
>>68 これは解決できない問題なのでしょうか?windows以外のOSで実行しても変化がありませんでした。
これっていわれても
>>64 どこからのコピペだよ。DDはやめてddにしとけ。
ソースコードうぷれ。 どうせくだらないバグだろうから。
73 :
25 :2012/02/21(火) 23:30:04.35
>>32 private int[] rgb;
private int width, height;
byte[] data;
decodeYUV420SP(rgb, data, width, height);
上記が変数と呼び出し元です。
以下が呼び出し先
//YUV420 to BMP
static public void decodeYUV420SP(int[] rgb, byte[] yuv420sp, int width, int height) {
final int frameSize = width * height;
for (int j = 0, yp = 0; j < height; j++) {
int uvp = frameSize + (j >> 1) * width, u = 0, v = 0;
for (int i = 0; i < width; i++, yp++) {
int y = (0xff & ((int) yuv420sp[yp])) - 16;
if (y < 0) y = 0;
if ((i & 1) == 0) {
v = (0xff & yuv420sp[uvp++]) - 128;
u = (0xff & yuv420sp[uvp++]) - 128;
}
//続きます
74 :
25 :2012/02/21(火) 23:31:00.42
//
>>73 の続きです。
int y1192 = 1192 * y;
int r = (y1192 + 1634 * v);
int g = (y1192 - 833 * v - 400 * u);
int b = (y1192 + 2066 * u);
if (r < 0) r = 0; else if (r > 262143) r = 262143;
if (g < 0) g = 0; else if (g > 262143) g = 262143;
if (b < 0) b = 0; else if (b > 262143) b = 262143;
rgb[yp] = 0xff000000 | ((r << 6) & 0xff0000) | ((g >> 2) & 0xff00) | ((b >> 10) & 0xff);
}
}
}
あ、第三引数と第四引数の値も必要。 まとめると、 第一引数:width * height のサイズの int[] で良いか。 第二引数:byte[] のサイズ 第三引数:width の値 第四引数:height の値
77 :
25 :2012/02/22(水) 00:06:43.70
>>75 それです。
>>76 rgb:(id=829649929216)
yuv420sp:(id=829651570624)
width:854
height:480
となっていますが、
1,2個目は凄い長い配列になっていてコピーしきれませんでした…
lengthを使ってるって話はどうなったんだ?
rgb配列とyuv420sp配列は、idじゃなくてサイズを知りたいんだ。 よろしく。
80 :
25 :2012/02/22(水) 00:25:37.33
>>78 勘違いしていました。ごめんなさい…
>>79 rgbはwidth * heightの値です。
yuv420は[14, 14, 15, 15, 15, 16, 17, 18, 19, 19, 19, 20, 21, 21, 21,
と言う感じです…
>>80 yuv420sp.length とやると、配列のサイズ取得できるよ。
ここが一番肝心なんだ・・・
82 :
25 :2012/02/22(水) 00:30:36.22
>>81 すいません。すいません。
460800でした。
ええと、このコードは、 yuv420sp配列のサイズが width * height の 1.5倍必要だよ。 width:854, height:480 なら、854 * 480 * 1.5 = 614880 は必要。 int uvp = frameSize + (j >> 1) * width ってところあるでしょ。 これが width * height の1.5倍になる。 そのuvpの値を使用して、yuv420sp配列にアクセスしている。 v = (0xff & yuv420sp[uvp++]) - 128; u = (0xff & yuv420sp[uvp++]) - 128; YUV420というのを知らないけど、 yuv420sp配列のframeSizeバイト以降に、何か有用なデータがあるみたいですな。
84 :
25 :2012/02/22(水) 00:49:08.49
>>83 凄い親切に有難う御座いました。
まだまだ勉強不足ですが、少しずつ理解していきたいと思います。
ちなみに、以下は正常時(エラーにならない時)のケースです。
rgb:384000
yuv420sp:115200
width:480
height:800
http://e-words.jp/w/YUV420.html > 1ピクセル当たり12ビットのデータ量で色情報を表現する方式。
ほら、1バイト=8ビット の1.5倍の 12ビットが必要だ。
>>84 いや、こっちも勉強になりました。
なんでこんなところでレスしているかというと、勉強になるから。
>yuv420sp:115200
これじゃ足りないと思うけどな。
まあいいや。
Windows環境を6u31から7u3にすると、.jarファイル名や.jarが存在するパスの一部にでも 全角文字があると起動出来なくなるようですが、これは新たな仕様?
87 :
デフォルトの名無しさん :2012/02/22(水) 03:20:51.88
仕様
修飾子finalの用途がわからない final int の用に変数につけると、一度だけ決めるリテラル。のような物 しかしクラスにつけるとさっぱり。 final class Hoge クラスにつけるfinal=Staticメソッドと同じような扱いと覚えればいい?
調べればすぐわかることを調べないとは
final classでググれ
調べたら文字面は出てくるけど言ってる意味が分からないということだろ ・サブクラスで変更されたくないクラスやメソッドにつける ・不変オブジェクトを作るときに使う コンカレント実行に便利 (synchronized指定が必要ない) ・あとお勧めの用途があれば
継承できない、オーバーライドできないのはしっていましたが calss HogeMain{ p s v main(){ }
継承できない、オーバーライドできないのはしっていましたが calss HogeMain{ p s v main(args){ Hoge hg = new Hoge(); hg.show(); Hoge.show() ←finalとstaticメソッドにするとこう書ける } } final calss Hoge{ static show(){ print("HageHage"); } } ってことなんで
staticメソッドにするだけでそう書けるぜ
p s v main(args){ って何のことですか?
>>95 っていうか、普通に動くんだ
インスタンスを生成してから作れ!と覚えたから
new Hoge ○○ = new Hoge()
って作ってから
○○.method()って書くものだと思い込んでいた。
staticメソッドあたりはなんとなく分かっていたけどさ
calss
99 :
デフォルトの名無しさん :2012/02/22(水) 11:16:16.66
strutsで画面遷移を行う際、遷移元、呼び出されたActionのメソッド、遷移先画面をログを出力しようとしています。 Actionのメソッドと遷移先画面の情報は取れるのですが、遷移元画面の情報はどこかに格納されているのでしょうか。 ActionMapping.getInputForward()は遷移元画面以外に遷移する場合があるため使えません。 格納されていない場合には、hiddenなどで全画面にIDのようなものを持たせれば対応できますか?
Appletのアプリを作成しています。 SwingでHTMLのTableみたいな表を作成して枠線を引くには何のコンポーネントを使ったら良いでしょうか? もしくは他のパッケージで良いのがありましたら教えてください。
JTable
102 :
デフォルトの名無しさん :2012/02/22(水) 20:27:08.44
proguardguiで、inputに入れたjarは難読化とかされるんだけど library jarsに入れたものは難読化されない input jarから参照されているメソッドのみにしつつ、ライブラリも難読化したいのだけど どうしたらいいの?
知らないけど、 難読化したコードを読みやすくするツールとかもあるんじゃねーの?
JFrameを閉じるメソッドってどれっすか?
dispose
106 :
デフォルトの名無しさん :2012/02/23(木) 01:00:17.41
GlassFishの質問てここでいいのかな。
Consoleクラスって端末(コマンドプロンプト)から起動させないと 動作検証できないん? javac java とか面倒なんで Eclipse上で動作するならそれのがいいな〜っと
108 :
デフォルトの名無しさん :2012/02/23(木) 14:03:31.82
うん
アプレットからローカルファイル保存する魔法のクラスがあったら教えてください。
>>109 署名付きでいけるがブラウザごとにやり方違うからアプレットじゃなくてJavaWebStart使うよろし
JFrerChart使ってグラフ書いてるんだけど、その相談という質問も大丈夫ですか?
112 :
デフォルトの名無しさん :2012/02/23(木) 20:45:38.78
JFreeChartは見たこと有るけど、一文字違いのそんなのも有るんだなあ。
113 :
デフォルトの名無しさん :2012/02/23(木) 20:47:07.76
jfreechartってゴミみたいなディベロッパーズガイドを高額で売ってるよな
すいません質問させてください Windows上でjavaで他のアプリにキーイベント送る方法ってありませんか? 研究でユーザテストのためにキー操作を記憶して再生するみたいなことをしたいんですが Robotを使えば押したことにするみたいなのはできるみたいなんですが なぜかDirectXアプリに対してうまく動かなかったりするので… DispatchEventを使うとできるってあったんですが new KeyEvent() の引数に何を入れたらいいかどのコンポーネントで DispatchEvent を呼び出していいか分かりません たとえば実行すると数秒後にデスクトップ上でメモ帳に文字うつようなソースサンプルを教えていただけないでしょうか よろしくお願いします
javaからjava以外には送れん
>>116 そうなんですね…
返信ありがとうございました
118 :
デフォルトの名無しさん :2012/02/23(木) 21:50:31.90
JNIで出来ないか?
ユーストリームの広告がホップアップしてきたら自動で消すスクリプトの作り方を教えてください
java.awt.Toolkit.getDefaultToolkit().createImage("ファイル名"))で得られたjava.awt.Imageインスタンスから 画像を保存するためにはどうするのが一番でしょうか? javax.imageio.ImageIO.read()で読めというのはナシでお願いします
121 :
120 :2012/02/23(木) 22:46:42.93
露出少女遊戯1〜6 F_72938 基本
オレが落としに行くかどうか試す気だな!?
126 :
120 :2012/02/24(金) 03:17:13.05
>>19 ネトウヨを連呼しているってことはお前は朝鮮人か
アホだろ、
チャンネル桜は暴力団を否定しているんだが
ヤクザの8割は、同和、朝鮮人、中国人という実体を知っている以上
彼らが暴力団とつるむわけがないしな
このバカは暴力団がウヨクだと思っているようだがあれはどう見ても左翼なんだが
「しのぎでJava土方」とかって、しかもこいつJavaアンチか
>>23 まるでCが一流みたいな言い方だな
いまどきCだけで食っていける分野は組みこみくらいしかないぞ
これがJavaをなめてかかって痛い目にあった過去を忘れたバカの極みか
昔はJavaの仕事がなかったのに急にJavaの仕事が増えて
慌ててオブジェクト指向の勉強してデザインパターンって何だ?DIって何だ?とかあたふたしているレベルだろこいつw
>>30 > 煽りがいちいち突っ込みどころ満載なのはそういう様式美なの?
煽り方がかなり時代遅れだからな
あのバカは数年前の思考回路で止まっているんだよ
だから煽りが突っ込みどころ満載になるw
byte[]→Byte[]への変換は 配列の中身を1つずつbyte→Byte変換していくしかないのでしょうか?
Commons Lang の ArrayUtils.toObject(byte[]) が使える。
132 :
130 :2012/02/24(金) 11:11:15.67
jniでキー送るのは前に回答した憶えがあるから根性で過去ログ探せば出てくるぞ
>>45 > privateでカプセル化?
> 他のクラスからアクセスできないようにしたところで意味ないよ?
>
> あー、もー、面倒だけど説明しよう。
>
> Aさんがブラウザから値を入力するでしょ。
> その値をフィールドに格納するでしょ。
> そのあと、Bさんがブラウザから値を入力するでしょ。
> で、その値をフィールドに格納したら、Aさんの入力した値は消えてしまう。
> 値が消えていいの?
>
> いい場合もあるけど、それは少ない。
それってーそのフィールドを、ユーザー用のインスタンスに移せばいいのでは
ちょっと自分でも判らなくなってきてしまったんだけど、たとえばdoGetの中で Aというクラスをインスタンス化すると、Aのインスタンス変数はスレッド固有メモリ領域に入るって理解で良いんだよね? ヒープ領域に入るのはHttpServletクラスを継承したインスタンスのインスタント変数って理解で合ってますよね?
138 :
135 :2012/02/25(土) 00:58:21.36
>>133 ほ ほんとですか!?
でも過去ログ読めないんですけど…
もう1度教えてくれたりなんかしたら嬉しいななんて…
140 :
137 :2012/02/25(土) 01:31:51.77
JNI使ってもDirectXのアプリケーションにキー送れたかな?Win32APIだけじゃ無理だったような…
142 :
135 :2012/02/25(土) 03:11:44.01
テスト
テスト
>>135 勉強しなおした方がいいな。そこだけ納得したら先に進めるってレベルじゃないだろ。
146 :
135 :2012/02/25(土) 07:56:13.68
完璧だしwww
い、インスタント変数?
148 :
135 :2012/02/25(土) 08:04:17.57
public void doGet(request, response) { A a = new A(); } new A() で作成したインスタンスはヒープ領域に作成される。 そのインスタンスへの参照をローカル変数aに設定している。 ローカル変数はスレッド毎に固有のスタックに格納される。 HttpServletクラスを実装したクラスのインスタンスもヒープ領域に作成される。 これはTomcatが参照している。 なにか間違ってる?
149 :
135 :2012/02/25(土) 08:06:05.17
「Tomcat」は「サーブレットコンテナ」の間違い。
addWindowListenerのwindowClosedを使って クライアント終了時にウィンドウのサイズとか保存するようにしてるんですが、 実行中にエラーがあってもウィンドウがそのまま残ることがあって、 ウィンドウを閉じるとエラーを吐いたときのクライアントの情報が保存されてしまいます。 javaがエラーを出しているかどうか実行中のプログラムから知る方法はありますか?
152 :
デフォルトの名無しさん :2012/02/25(土) 13:23:04.14
a:bb:ccc の文字列があって、最初に":"が出現する場所の文字のみ(ここでは"a:")を取得したいんですが、 どういう風にすればいいのでしょうか。 Pattern pt = Pattern.compile(".*:"); Matcher mt = pt.matcher("a:bb:ccc"); if (mt.find()) { System.out.println(mt.group()); } だと、"a:bb:"が表示され、最後に:がマッチしたところまで取得してしまうのです。。。
String s = "a:bb:ccc"; int i = s.indexOf(':') + 1; System.out.println(s.substring(0, i));
154 :
135 :2012/02/25(土) 14:02:55.77
>>152 正規表現のパターンを ".*?:" にすれば多分いけるよ。
やってみ?
え
>>153 ,154
ありがとうございます!
期待どおりに動作しました。
*と?と+の使い分けをよく理解できていませんでした。
ずっと悩んでいたので助かりました。
添字5000を持った配列を1000個消して4000にしたいのですが、 そのような関数はありますでしょうか? Array.lengthを4000にしたいです。
javaは作法的に引数で渡されたオブジェクトのデータを変更したり無いですか?
ヨコハマ語でおk
160 :
135 :2012/02/25(土) 15:55:46.67
>>157 java.util.Arrays.copyOfRange() か、Commons LangのArrayUtils.subarray()。
どっちもSystem.arraycopy()を使っているから高速。
>>150 どこかで握りつぶされてなければ
Thread.UncaughtExceptionHandler使って取れると思う。
僕のプログラム中に if((a & b) != 0)という感じの記述が沢山あるのですが もっと簡潔な書き方はないでしょうか?
ビット演算結果で判定となるとなんとも
なんでString#subSequenceってsubstringと同じと決まってるの? CharSequenceでいいんだから文字列の中身コピーしないでラッパー返せばいいのに
substringも実は中身のコピーはしてないよ
>>150 すべてのリスナにtrycatch監視を記述するのは結構大変な作業になるので、
自作のEventQueueでイベントディスパッチャを置き換えるのが楽。
>>163 if( ! (a == -1 && b == -1) )
protected等のアクセス修飾子に関連して質問があります。 「同一パッケージ内のサブクラスのアクセスは許可するが、同一パッケージ内の他クラスからのアクセスは拒否したい」という事を宣言するアクセス修飾子はありますか? つまり、下記3つのjavaファイルは全て同一パッケージ内だとして、 A.javaファイル class A{ ???? funcA(); } B.javaファイル class B extends A{ funcB(){ funcA(); } } C.javaファイル class C { void func(){ B b = new B(); b.funcA(); } } この状況で「classB内ではfuncA()にアクセスしたい」が、「bからはfuncA()を呼ばせたくない」んです。 この時、classA内のfuncA()のアクセス修飾子はどうすればいいでしょうか
どうしてそういう状況になったかわからんがclassCをパッケージの外に出せないの? もしくはそのパッケージの中にサブパッケージを作ってclassCを移動する。 それも嫌なら class B extends A{ funcB(){ super.funcA(); } @Override void funcA(){ throw new UnsupportedOperationException();} } とするとか
>>170 レスどうもありがとうございます。
なるほど、b.funcA()でアクセスした場合は例外を投げさせるわけですね。
そして本来ならclassCをパッケージの外に出すのが王道ということですね。勉強になります。
classCをパッケージの外に出せない理由は特にありません。あえて言えば私が初心者だからです。
一つのアプリを全部同じパッケージにまとめようと思っていましたが、改めた方が良さそうですね。
ちょっとパッケージとサブパッケージに関してぐぐって来ます。
どうもありがとうございました。
172 :
135 :2012/02/27(月) 03:32:39.73
>>171 > 本来ならclassCをパッケージの外に出すのが王道ということですね
>>170 の言っていることを真に受けるなよ。
> どうしてそういう状況になったかわからんが
アホかよ。普通になるだろ。
> classCをパッケージの外に出せないの?
つーか、アクセス制限のためにパッケージ作るの?
class B のサブクラスが10個あったらすごいことになるよ?
発想がアホすぎる。
Javaの設計がおかしいんだよ。
Javaの設計自体が邪道。
公開範囲が無駄に広い。
C#とかKotlinとか、Javaより後発の言語はprotectedの公開範囲がサブクラスのみ。
Javaを使い続けるならこの公開制限の広さは甘受しなければならない。
173 :
135 :2012/02/27(月) 03:39:44.30
> class B のサブクラスが10個あったらすごいことになるよ? > 発想がアホすぎる。 これ間違い。忘れて。
この世からjavaが無くなればいいのに
175 :
135 :2012/02/27(月) 07:31:16.65
使わなきゃいいじゃん
存在するから仕事で無理やり押し付けられることもある
>Javaを使い続けるならこの公開制限の広さは甘受しなければならない パッケージ構造を見直してプロテクトする手段があるのに、 享受しなければ「ならない」って 下っ端が頭カチコチにして鬱憤をぶちまけてるだけじゃん。何様だw
178 :
135 :2012/02/27(月) 09:58:31.56
クラスCとクラスA、Bの役割が異なる場合はそれでいい。 でもクラスCをクラスA、Bと同じパッケージに入れるのが自然な場合はどうすんの? 例えば、クラスCがA、BのFacadeとかの場合。 こんなのでいちいちパッケージ分けてたら、パッケージだらけになる。 センスないね。 あと、「享受」なんて一言も言ってない。 日本語通じてないのかな。
頭硬い奴はプログラマやめた方がいいよ。邪魔だ。
>>135
180 :
135 :2012/02/27(月) 10:46:18.43
>>179 お前だよwww
なんでいちいちJavaの欠陥のために不自然なパッケージ構成にしないといけないんだよwww
>こんなのでいちいちパッケージ分けてたら、パッケージだらけになる。 センスないね。 そう短絡的に考えるのがセンス無いな。 こういう頭が固くて他人の仕事を邪魔ばかりしているお山の大将ってどこにでもいるんだよな。 この業界から出てけよ。
>>180 おまえはjavaの欠陥を正すためにオラクルに乗り込んで銃乱射して捕まるのがお似合いだよ。
183 :
135 :2012/02/27(月) 11:01:50.28
はぁ??? com.example.hoge パッケージだけで済むのに、 com.example.hoge.sub パッケージ作ってそこにクラスC入れるの? こんなことがある度にいちいちパッケージ2つ作んの? 馬鹿なの?死ぬの?
184 :
135 :2012/02/27(月) 11:03:12.67
こんなクラス構成にして他人の仕事する邪魔な奴は、 回線切って首吊った方がいいよ^^
ユーティリティパッケージ com.hoge.utilを作ったとする。 135はcom.hoge.utilパッケージ内にビジネスロジックも書いちゃうのか? ビジネスロジックは別のパッケージに書くのが当然だろ。
>>183 これはヤバイw思わず笑っちまったぜwwどうしてくれんだw
187 :
135 :2012/02/27(月) 11:26:56.98
>>185 その通りだ。
その場合は、protedtedの可視性とか関係なしに、分けるべき。
しかし、最初の質問で困っているのは、
クラスA、B、Cが同一のパッケージにあるのが自然だからだ。
C#なら同じパッケージに入れれば済むものを、
Javaだと別パッケージに分けないといけないのかい?
protectedを使う度に。
>>186 君は頭悪いから理解できないだろうね。
C#教信者は巣にカエレ(・∀・)シッシ
まあ信用出来ない奴とは同じパッケージ作りたくないよな。 流行りのSCM使って同じパッケージを複数人で平行開発していく連中の手法には 正直オジサンついて行けないんだぜ…
C++friend愛好家の救済策に過ぎないprotectedスコープに なぜそこまで熱くなれるんだおまいら
これからjavaとc++を勉強しようと思ってます そこで質問なんですが、javaとc++ってどのあたりが違うのでしょうか? 注意点等あれば教えて下さい また、どちらを先に勉強したほうがいい等のアドバイスもあれば よろしくお願いします
>>191 C++ は前身のCと同じくメモリ管理をきっちり行わなければならない。Java にはそれはない。
C の経験がある程度ある(malloc()/free()を自由に使いこなせる)のであれば、C++ も悪くはない。
そうでなければ Java で先にOOの概念を把握するのが(C++, Java の両方をマスターする希望をお持ちだったとしても)、近道だと思う。
>>192 ありがとうございます
cは触ったことがあるくらいなので
javaを学んだ後に、c++を勉強します
C言語はある程度わかるとして JAVAを勉強しようと思うんだけど、Androidのアプリを作ることを目標としたときに アプリを作りながらJAVAを覚えるか、JAVAをある程度勉強してアプリを制作するか どちらのほうが効率が良いでしょうか。 一応、JAVAも継承・抽象クラスまでなんとか理解しているつもりです。
Javaって実行時にも何行目でエラーおきましたって教えてくれるの親切ですよね CやC++ってSegmentation Faylt とかCore Dumpedしかいってくれないんだもん… まだプログラムはじめて3ヶ月の初心者コメですいません><
男は黙ってアセンブラ
>>195 うにくすで開発してますな。VC++とかBorland C++だと行番号教えてくれるよ。
ByteArrayOutputStream()を使って書きだした情報を、 普段は .toByteArray() でbyte[] にしてから触っていたのですが、 .toByteArray()を使わずに ByteArrayOutputStream から直接 ByteArrayInputSreamなどに変換して そこから読み込む事はできますか?
なぜその質問をしたんですか?
メモリが節約できるかなと思いまして
思っただけですか?
意味ない質問すんなよ
>>195 gcc foo.c -Wall -g
gdb ./a.out
run
b main
c
bt
f #n
>>198 そこで PipedInputStream と PipedOutputStream の連結ですよ
スレッド2ついるが、パイプサイズ意識しながら注意深くやればシングルでもブロックしないはず
ByteArrayOutputStream(writeTo) PipedOutputStream PipedInputStream ByteArrayInputStream の順番でストリームが構成できるな。
ロングタームのプロジェクトを開始する予定なのですが、 Javaは将来性まだありますか? 何かJavaの存在をおびやかすような言語ってありますか?
>>206 どのくらい長いか知らんけど、
消えてしまう心配をするほど長いなら、Cにしとけばいいんじゃないの?
なんだかんだで、Cは生き残ると思うよ。
>>206 まー、APIドキュメントその他の重要資料が永遠に公式邦訳されない覚悟は必要かもな。
Oracleは何考えてるのか知らんが、日本でだけJavaが廃れるシナリオはありうる。
若い世代の英語スキル次第だが。
今時英語読めないプログラマーの男の人って…
サンプルみりゃわかんでしょ。日本語どころか英語すら読まなくても
>>206 ロングタームってどんくらいよ?100年だったら多分終わっている
英語っつーても使ってる単語とか言いまわしなんか決まりきってるものが多いから日常会話に比べりゃ楽でしょうに
チャレンジレスポンス認証というものに挑戦しようと思っているのですが サーバ側で生成したチャレンジコードはセッション変数に保持するのが一般的ですか?
百人単位でIT土方が出動するようなプロジェクトだと、 公式日本語ドキュメントの有無にこだわる立場の人も出てくると思う。 「日本語ドキュメント出るまでJDK7移行は見送り」 な判断がマネジャーから降りてくるのも普通にありえそうなんだが 「半年後にEOL迎えるJDK6も禁止」な現場も出てくるんだろうな。 どうすんだよこれ
実際英語レベルってどれくらい必要なんだろうね? どれくらい必要ですよって示されたことは未だかつて一度もないような気がする
>>213 一般的というか常識的に考えてそうだろ。
日本人の乞食が新聞読んでいて欧米人がビックリしたという逸話があるが。 今時英語も読めないドカタとか居るのかよ。
読めないわけではない 読まないのだ 空気と同じである
その逸話自体一種の識字率幻想だろ。 文科省は20年も調査してないのに識字率99%とかいまだにのたまってるんだから。
日本の場合、プログラマって小学生並みの知能しか持ってない高卒だらけだろ? 英語読めませーんってなるんじゃないか? いつまでStrutsの1系を使うの?っていう現状もあるし
>>220 涸れた技術に固執しているのはむしろ上役だろ。
どうせ技術用語は分かったような分からないような和訳になるか カタカナ英語になるんだから、日本語だろうが英語だろうが大差ないw
Swingアプリケーション内で「org.apache.http.HttpResponse」を使いたいのですが、 httpcore-4.0.jar、httpclient-4.0-beta2.jarなどのjarファイルはどこから入手できますでしょうか? 前にandroidアプリを作った時はjarファイルの指定なしにインポートできたので、AndroidSDKフォルダの どこかに存在すると思うのですが、ファイル検索しても見つかりません。
>>223 やりたいことはURLからjson文字列を取得してパースしたいです。
ネットで調べてもパーサーが沢山あってどれを使えば良いかわからないので
以前に使ったことのあるorg.apacheパッケージを使おうかと思っています。
デフォルトのパッケージで可能でしたらクラス名を教えてください。
private で static で final な int はどう定義すればいいですか? private static final int hoge; ですか?それとも private final static int hoge; でしょうか
コンパイルエラーにならないからどっちでもいいんだろう。 掛け算の順序問題思い出したよ。
後者が多い気がする。
前者じゃないか?
ホントどうでも良い
>>226 Checkstyle導入している職場に放り込まれた時に備えて
static final の癖つけといたほうがいい。
final staic だな
推奨は private static final int hoge;
コンストラクタのオーバーロードって意味あるのか分からん
なぜ意味がないと思うのかわからん コンストラクタは他のメソッドよりもむしろオーバーロードしたくなることが多いと思うんだけど
仕事でずっとVB.netやってましたが、私の職場では1ファイルにクラスは1つでその中にメソッド(プロシージャ)を5〜7個書くという構成が常で 構造化プログラミングに近かったのではないか?という不安がありました。継承とかもしたことありません。 今度別の職場でJavaを扱うので勉強しているのですが、参考までに、オブジェクト指向風に書く場合には、 .javaファイルの中身がこんな構造になったりしないのでしょうか? ┌───────────────────────────────────┐ │class (500〜1000行) │ │ │ │メンバ変数 │ │アクセサ │ │ │┌─────────────────────────────────┐│ ││ main()メソッド ││ ││ ││ ││ ││ ││ ││ │└─────────────────────────────────┘│ │┌─────────────────────────────────┐│ ││ 関数 ││ ││ ││ │└─────────────────────────────────┘│
│┌─────────────────────────────────┐│ ││ 関数 ││ ││ ││ │└─────────────────────────────────┘│ │┌─────────────────────────────────┐│ ││ 関数 ││ ││ ││ │└─────────────────────────────────┘│ │┌─────────────────────────────────┐│ ││ 関数 ││ ││ ││ │└─────────────────────────────────┘│ │┌─────────────────────────────────┐│ ││ 関数 ││ ││ ││ │└─────────────────────────────────┘│ │┌─────────────────────────────────┐│ ││ 関数 ││ ││ ││ │└─────────────────────────────────┘│ └───────────────────────────────────┘
釣られないぞ
半年前の俺のソースソノモノ
そーっす
すいません 釣りではないですが、Javaでオブジェクト指向をする場合、.javaファイルにクラスは基本1つでも それでもメソッドの個数を少なくして、再利用などしやすくするのが普通なんでしょうか?
図書館でもネットでもいいから 1時間x3日。計3時間ぐらい調べてから ある程度下調べしてから質問・相談しような
ある程度調べてきました それで結局どのようなのが普通なのでしょうか?
>>243 は私ではありませんが、ただVB.net(とC#)でコード数年書いてきたのですが
実務でのオブジェクト指向で書かれたコーディングは見たことないのでできれば教えていただきたいです
Javaでもそんなもんです オープンソースプロジェクトの成果物でも読んでろ
自分がわからない質問されるとすぐこれだ
Javaも所詮ドカタ言語ですから
>>241 すまんね、レスを跨って大胆にこられてたんで釣りかと思ったよ。
>>245 >>248 ありがとうございました。
実務においては、再利用やカプセル化などは、クラスなどのオブジェクト指向の機能でやるより
関数化などで行うんですね
はぁ?
様式なんか気にすることはない実際にやってみれば自ずと解る。 VBができるからjavaも余裕綽々でできますと言っちゃった手前、 何か不安があるのかな?と勝手に想像してみた。
質問に対して質問で返すとテスト0点なの知ってるか?マヌケ
やっぱ釣りでしたかw
そういう構造になるクラスもあればそうじゃないクラスになることもある 業務内容とクラスデザインによるし、職場での規約にもよる でも一応デザインパターンくらいは知っといたほうがいいと思う
メソッドを少なくするってのがわからんな。 ファイルあたりの行数を少なくしたいという話だろか? アプリケーションだと、例えばJ2EEデザインだと 委譲を使うのが良くある。 委譲することでファイル内の行数を減らすけど、メソッドの数は減らないね。 JDKでもSwingコンポーネントとかたくさんメソッドもってる。 OSSのライブラリだと、1ファイルに3000行とか 1メソッドにスパゲッティみたいな汚い書き方したものもある。
とりあえず外部から見えるpublic classには javadoc書いて長くなることを考慮して 委譲を頻繁に使ってみるのが良かろう。
258 :
デフォルトの名無しさん :2012/03/01(木) 12:38:24.02
Commonsはソースコードが汚かったりするね。 なぜかというと、速度を追求しているから。
そうなんだ
260 :
デフォルトの名無しさん :2012/03/01(木) 21:38:08.48
下記のようなソースがあった場合、スレッドのインスタンス変数である「t.test01」は
スレッドセーフではないと考えて良いでしょうか?
「
http://itpro.nikkeibp.co.jp/article/COLUMN/20070820/279950/ 」の記事を見ると
インスタンス変数はヒープ領域に格納されてスレッドセーフではないと書かれていますが、
run()の処理に対して安全に値を渡すにはどのようにすれば良いのでしょうか?
Test test = new Test("abcdefg");
Thread t = new Thread(test);
System.out.println(t.test01);
private class Test implements Runnable{
private String test01;
private Test(String abc){
this.test01 = abc;
}
public void run() {
System.out.println(this.test01);
}
}
読んでるだけだから全く問題ない スレッドセーフなんていうのはあくまでプログラマの意図通りに動作するかどうかという話で これがスレッドセーフでなくてこうしたらスレッドセーフになるとかいうのは機械的に決まるもんじゃないよ どういう動作を期待してるかによる
せめてコンパイル通してから質問しに来てくれな
ドキュメントに「このメソッドは○を×します」と書いてあって、それをマルチスレッドで同時に読んだら 正しくその通りに動作しない可能性があるなら、マルチスレッドでは正しく仕様を満たさないという意味で 「このメソッドはスレッドセーフではない」と言うんだよ 別にJVMがぶっ壊れたりするわけじゃなくて使い方の問題
マジでThread関連はわけわからん なんとなく理解できているけど、実際にSynchronizedの使い方とか イミフすぎる
馬鹿には無理
馬鹿には無理さん久々に見たな
>>260 の
>クラス変数とインスタンス変数は複数のスレッドに共有されているのでスレッドセーフではない
これ言葉がおかしいと思う
変数そのものにスレッドセーフもクソもないわ
スレッドセーフとステートレス・ステートフルを混同してそうな気がする
参照だけなら何も考えずに渡せる 更新するならロックかける
スレッドセーフ:Synchronizedとかで同期処理(順番待ち)されている ステートレス:ReadOnly(getterあるけどsetterがない)で同期処理なし。
同期処理してなくてもスレッドセーフな場合は多いぞ
別のところで取り入れたjarライブラリはどういったディレクトリ構成で配置すればいいのだろう やはりMavenでinstallしてから配備?
Javaで大量の文字列置換をしたいんですが、最も早い方法ってなんなんでしょうか? 扱う文字列や状況などにもよると思いますが、 そういった情報を公開しているサイトなどあればご教示下さい。
276 :
デフォルトの名無しさん :2012/03/02(金) 04:01:45.80
最も早いのは正規表現を使うやり方。 最も速いのは正規表現を使わないやり方。
JPanel box = new JPanel(new FlowLayout(FlowLayout.LEFT)); JPanel image01 = new JPanel(); JPanel image02 = new JPanel(); JPanel image03 = new JPanel(); box.add(image01); box.add(image02); box.add(image03); といったインスタンスを作成してboxパネルの中に複数の画像を並べています。 boxパネルの横幅を指定することで、自動でboxパネルの高さが計算されるようにできないでしょうか? box.setPreferredSize()では高さまで指定しないといけないので、横幅のみ指定して、 高さはimage01〜image03が全て表示されるように自動調整して欲しいです。
>>278 クラス変数やインスタンス変数を使って、結果的にスレッドセーフでないコードが書けるだけ
変数がスレッドセーフってどういうことだよ
280 :
デフォルトの名無しさん :2012/03/02(金) 10:23:31.24
281 :
280 :2012/03/02(金) 10:24:37.73
ウソデス…
>>279 スレッドごとに作成されて共有されていない変数はすなわち排他されているから。
>>273 Maven使えるんならShadeで単一JARにまとめちまえよ。
同梱が許されるかどうかはライセンス次第だが
>>277 setPrferredSize()の高さ指示に不満があるなら、
revalidate()しとけばいつかまたgetPreferredSize()で聞いてくるから
その時に希望サイズを伝えればいいよ。
285 :
デフォルトの名無しさん :2012/03/02(金) 20:05:30.89
すみません。 プログラムのアルゴリズムの質問していいですか?
質問していいかどうかという質問は Java に関する質問ではないと思うの
org.apache.tools.zip.ZipOutputStream; を使ってエロ画像をZIPにしてみたのですが、
susileのzip解凍プラグインから開くことができません。
http://twitter.4mydomain.com/108.zip このZIPファイルは壊れているのでしょうか?
LhaForgeからは解凍できましたので、壊れていないかJavaのZIPの仕様がおかしいのかなと
思ってるのですがどうなんでしょう?
>>287 ちなみに中身は2次ブルマのエロ画像集です。
あとsusieのスペル間違えてました。
289 :
デフォルトの名無しさん :2012/03/02(金) 22:37:51.42
>>285 です。
自己解決しました。
>>287 テキストファイルをjavaから圧縮したものと
普通に圧縮したものをバイナリで比較したらいいんじゃないかな。
>>236 >>237 関数を増やす感覚でクラスを切ったほうがいいと思う
一つの意味単位が1クラスになるって教えられた。
それだけ関数が多いのはやってることが多すぎると思うんだ
1000行で関数6つって別に大きくはないだろ
一つの意味単位が1クラスになるってどういうことですか?
例えば「ソケット通信でネットから情報取ってくる、XMLから情報取り出す、情報をSQLiteに詰める」という処理があったとき クラスを ・ソケット通信 ・XML解釈 ・SQLiteの処理 みたいに分けることだと考えてる(もっと細かく分けたほうが再利用が可能になる…と思う)。 上の処理を全部同じクラスでやったりとかいうのはJavaプログラマはしない・・・しないはずッ
それはわかったが、
>>236 が多すぎるという根拠は?
>>293 の挙げた各機能を実現するJavaの標準ライブラリのクラスが
どんだけのサイズで何個メソッド持ってると思ってんの?w
>>294 あ?てか煽りみたいなレスやめろクソが死ね
まあ確かに500-1000行だとそこまで多くないか
細かく分けたほうが再利用が可能になるというのは、5年程度の経験しかない者が設計したクラス・モジュールの場合どういった場面だと有用になるんですか?
再利用が可能になる場面で有用になるんですよ
おばあちゃんが包装紙とか一杯大事に保管してたりするだろ?あの感じ。
配列内のデータ検索はbinarySearch()とわかったんですが 何番目から検索をはじめるというような命令はないでしょうか?
>>299 ふつーにあるだろ?
Arrays#binarySearch(T array, int from, int to, T key)
ああそれでいいですか、どうもです。
>>287 zipのローカルファイルヘッダにCRC32、
圧縮サイズ、非圧縮サイズが設定されてる事を決めうちしてるとかじゃね?
仕様的にはそれらに全部ゼロを出力しておいて、
フッタ(データディスクリプタ)に記述してもOKなんだが、
レアケースなので対応してないソフトもたまにある。
susie使ってないから外してるかもしれんけど。
iTextの日本語版のjavadocってないんですかね?
>>303 多分ない。
iText使うつもりなら、いつの間にかライセンスがAGPLに変わってるから注意しろよー。
設定用ファイルからパス情報を読み込ませたいのですが、 例えば、設定ファイルで ProgramPath=C:\Prog\foo という情報を java.util.Properties や FileReader#readLine を使った自作クラスで読み込ませると \ がエスケープ文字として扱われて読み込まれるため、 「C:Progfoo」 として読み込まれてしまいます。 自作クラスで一文字ずつ読み取ってエスケープしないように取り込むものを作れば可能だとは思うのですが、 その方法以外に、エスケープしないように読み込ませるクラスがすでにあるとか、もっと簡単な方法はありますでしょうか。
306 :
280 :2012/03/03(土) 18:12:48.48
>>305 org.apache.commons.lang3.StringEscapeUtils.escapeJava(String)
307 :
デフォルトの名無しさん :2012/03/03(土) 18:13:13.45
test
大変だね
309 :
305 :2012/03/03(土) 18:33:26.43
>>306 ありがとうございます。
ただ、これだとString 型になっている文字列に対する escapeと unescape処理はできそうですが、
設定ファイルから読み込んで文字列に入れるときに \ が処理されてしまうのは対応できなそうです。
310 :
デフォルトの名無しさん :2012/03/03(土) 18:39:09.86
>>309 String programPath = StringEscapeUtils.escapeJava(props.getProperty("ProgramPath"));
これじゃ駄目なの?
311 :
デフォルトの名無しさん :2012/03/03(土) 18:43:26.16
ああ、\P が P になってるのか。
そんくらい自作しろ。全部他人まかせだと知能が低くなるぞ。
>>312 自作はできますけど、ファイルからパスのように\文字を含む文字列をエスケープなしで読み込むのって
そんなにレアな状況じゃないと思うので
もし自分のしらない一般的な方法があるなら知りたいなと思いまして。
よくわからんけど replaceAll("\\","\\\\");でいいんじゃね?
>>314 読み込むファイルに \Prog と書いてあると、
FileReaderやFileInputStream とProperties クラスで、その文字列を読み込んだ時には、
\マークなしの Prog という文字列になってしまうので、
その方法だと何も行われずに終わっちゃうんです。
\n みたいに文字列中で改行文字になっているとかなら、まだ置換でやりようがあるんですけれど
プロパティファイルじゃないものをPropertiesクラスを使って読みたい ってことだよいわせんなはずかしい
何言ってるかさっぱりわからん。なぜ皆わかる?
Properties クラスに食わせる InputStreamに、 \ を \\ に変換する独自の FilterInputStream を一段噛ませてやる
>>319 それでいけました。ありがとうございます。
InputStream に実装されている int read(byte[], int, int) で\ → \\ にするようにオーバーライドした
UnescapedFilteredFileInputStream を作って期待どおりの動作をしました。
他のみなさんもありがとうございます。
出来合いのクラスは無いものか・・・
321 :
320 :2012/03/03(土) 20:49:16.29
アンカミスった・・・318 さん宛にしたかった
>>318 さん他 みなさんありがとうございます。
えっ ネタのつもりだったのにマジでそれ採用したのか 自前で読み込む方が簡単なんじゃ・・・まぁもう出来たんならいいか
>>317 Properties とか使って楽しようとしたら、
\ を適当に処理をしちゃう仕様なのでどうすればいい?
って質問だろ。
\ を含む文字列を普通に FileReader とかで読みこんでやって、
プロパティ名と値を Map かなにかに入れていけいくって方法もあると思うけど、
Properties の storeToXML とか loadFromXMLとか、ちょっぴり便利だしな
質問です。 javaの最新版(Version 6 Update 31)を公式HPから手に入れてインストールしようとしたのですが、 選択した機能は現在使用できないネットワークリソースにあります。 [OK]をクリックして再実行するか、インストールパッケージjre1.6.0_12.msiを含むフォルダに対する代替えパスを以下のボックスに入力します。 とでてインストールできなかったので、 C:\Users\(ユーザー名)\AppData\LocalLow\Sun\Java\jre1.6.0_12 を参照の欄にいれてもう一度実行したところ、今度は、 内部エラー 2753。 regutils.dll と出て止まってしまいます。 そこで同じような質問が出てないか調べたところ、 Windows Installer Cleanupでjavaを完全にアンインストールしてから最新版をインストールすれば良いかもしれないとのことでしたので、 Windows Installer Cleanupを手に入れてアンインストールしようとしたのですが、一覧にjavaがなくアンインストールできません。 他のソフトも試しましたがダメでした。 どなたか詳しい方ご教授お願いします。 スレ違いでしたら誘導していただければ幸いです。
SQL実行結果ってカラム名を元にArrayListに出来る? SQLの実行後、実行結果をThreadに渡して後続の処理をしたいんだけど、 ThreadにresultSetを渡して、同時にResultSet回すとカーソルとかどうなるんだろ?←ここ基礎がよく分かってない 参照形とか恐いので、ArrayListにしてから渡した方が良いのかなーとか思った ↓SQL実行後、Thread起動! for(int i = 0; i < 5; i++{ threads[i] = new Thread(new CountTable(resultSet)) threads[i].start(); } ↓Threadにするクラス while(resultSet.next()){ String id = resultSet.getString("ID"); ・・・ }
327 :
324 :2012/03/04(日) 00:35:34.81
>>325 無事に解決しました!
もう一度ちゃんとしたのをインストールし直したら良かったんですね…
実はこの方法は、2753のエラーが出る前の最初のエラーが出る前に一度試していたのですが、その時はうまくいきませんでした…
多分ご指摘頂かなければやり直してなかったです。
本当にありがとうございました。
>>326 > ThreadにresultSetを渡して、同時にResultSet回すとカーソルとかどうなるんだろ?←ここ基礎がよく分かってない
> 参照形とか恐いので
分かってるじゃないか。
恐ろしいことになるよ。
カーソルは状態を持っているからね。
1回のSQLの実行結果を複数のスレッドで扱いたいなら、
メモリ上に展開するのが一番簡単だね。
データ量が膨大な場合はできないけど。
あまり関係無いが、ResultSetはConnectionへの参照も保持しているから、 スレッド内でちゃんとResultSetを解放しないとコネクションが溜まりつづける。
330 :
303 :2012/03/04(日) 10:49:10.50
>>304 ありがとうございます
不勉強なの棚に上げるようだけど英語圏の人はその辺いいよなぁ
トランザクションを開始したスレッド以外でコネクションいじくると トランザクションが不正な状態になるかも。
>>328 ありがとう
うーん100万件以上ありそうだから、どうしたものか
ArrayListに入れるなら、resultSet回さないとダメだよね
Threadの数分SQL叩くのもなー
while(resultSet.next()){
ArrayList.add(resultSet.getString("ID"));
・・・
}
質問:O/Rマッパーで彼の抱えている問題を緩和できますか?
DB内の大量データをスレッド使ってメモリに展開する書き方は見たことある
ここの住民ってなんで初心者の質問はスルーしちゃうんですか
初心者なら初心者なほど、何を言っているか分からないから?
>>335 自分で解決する気がない奴にアドバイスしてもしょうがないだろ?
通信待ちの非同期がしたいだけならResultSetを取得するもっと前、 JDBCの操作まるごとで1別スレッドにすればよいだけの話じゃないの? マルチコアによる配列の高速化がしたいとかバカな話ならやめたほうがいい。 GUIやファイル、JDBCのカーソルなどメモリ以外のリソースは シングルスレッドで扱うのが基本。
>>335 答えの無い質問には答えようがないからじゃね
質問です(´;ω;`) デプロイファイルを作成すると、connection.xmlが出来ちゃうのですが、 どうすればいいでしょうか?
StringBufferとBuilder バッファーはスレッドセーフだけど ビルダーはスレッドセーフじゃないよね?
うん
JavaWebStartでフリーソフト作って配布しようとしたらセキュリティの警告画面がでます。 「このアプリケーションには、危険である可能性のある、署名付きと署名なしのコンポーネント(コードやリソース)の 両方が含まれていることがわかりました。」 オレオレ証明書なるもので署名は行っているのですが、この警告をでないようにしてアプリケーションを配布するには どうしたらよいでしょうか?
ムリ オレオレ証明書はオレオレ詐欺と同じで、それが安全だということを何ら証明できない 警告が出るのはセキュリティ上の観点からみて妥当
>>343 のメッセージは正規の証明書で署名すれば出なくなるのでしょうか?
また正規の証明書で署名するのに、無料や一番安く入手可能な場所を知ってましたら教えてください。
ぐぐ
>>166 String#substring、これに関して質問というか愚痴というか。
// java -Xms64m -Xmx64m MyClass
// 1000行、数百MBのテキストファイルについて、行頭2文字をリストに記録する。
try (BufferedReader r = new BufferedReader(new FileReader("big.txt"))) {
List<String> heads = new ArrayList<>();
for (String line; (line = r.readLine()) != null;) {
String head = line.substring(0, 2); // ← せっかくストリームで処理してるのに…。
heads.add(head);
}
}
Java7なんですが相変わらずです。
line.substring(0, 2) を、new String(line.substring(0, 2)) に変えれば
余裕で動きますが、「new String」は単なる冗長なコードに見えないのがアレです。
どうにかスマートに解決できませんかね?
BufferedReader.readLine()!=nullとReader.ready()はループの終了判定で頻出ですがready()の使い道がよくわかりません。 どういうときに使うと違いがよくわかるんでしょうか?
readyはネットワークでまだデータが来てないとか コンソールでまだ文字が入力されてないとか そういう使い道
InputStream#available()に対応するのがReader#ready() public boolean ready() { return 0 < in.available(); } みたいな実装になってる。 ready() はチャットプログラムとかで文字列が読み込み可能状態になったかどうかの確認に使ったりする。 ready() は文字列ストリームの汎用の終了検出としては使えない。
>>345 ちゃんとした証明書でも確認画面が表示されたように思う
Sunの署名の付いたデモがどっかにあった気がするので探して試してみるとか
格安の証明書とかは知らん
while (r.ready()){ とすると運が悪いとブロックせずに処理をすぐ抜けちゃうんですよね。 非同期readのときの他スレッドへの確認用かなと思うんですが、あまり使ったことはありませんでした。 ready()をループ終了条件で使えないとすると、Readerの終了条件式は r.read()!=-1 or r.readLine()!=null だけしかないなんでしょうか。
>>351 SUNに署名されたメモ帳などのデモがありましたが、確認画面なしで実行されました。
一番最初にダウンロードしたときに証明書を信頼するか確認画面がでるのは許容できるのですが、
>>343 のメッセージは実行しないでくださいとズバリ出てくるため、一番最初に出てくる証明書の確認とは
また違ったものだと認識しています。
http://jp.globalsign.com/support/faq/427.html このページをみると「全てのJarファイルに署名をすることで、警告を出ないようにすることができます。」と
書かれているのですが、オレオレ証明書での署名じゃ駄目なのでしょうか?
たかが趣味で作ったフリーソフトに数万円もだして署名する価値があるとも思えませんし、
安く回避できるなら方法を知りたいです。
年1万円程度で署名できる業者とかないでしょうか?グーグルで探した最安は5万くらいでしたので・・・
セキュリティーはノルかソルかを自覚させることが目的なので、そういう中途半端なのは確かないはずですよ。
たかが趣味で作ったフリーソフトなら「自己責任でお使いください」なんだから 警告が出るのが正しいんじゃないの それが嫌なら Java Web Start じゃなくて直接 JAR 配布すればいい
>>347 って何が問題なの?
String head = line.substring(0, 2);
のままでも問題なく動くんだけど。
JWSの問題は1.6.0_30以降で解決済みだろ?
358 :
デフォルトの名無しさん :2012/03/05(月) 01:31:11.53
>>356 substringの標準の実装って、こんな感じなんだよ。
class String {
private int offset;
private int length;
private char[] chars ...
private String(offset, length, chars) {
this.offset = offset;
this.length = length;
this.chars = chars;
}
...
substring(begin, end) {
int offset = begin;
int length = end - begin;
return new String(offset, length, this.chars);
}
}
すごく長い文字列は、内部にすごく長いchars[]を持ってるんだが、
それを、offsetとlengthだけ書き換えて、そのまま使っちまうんだよ。
>>358 そのまま使うと何か問題なんでしょうか?
メモリの節約で大変いいことかと。
String(int, int, char[]) は public/protected ではないので、
char[] を外側から変更できなくて、問題ないと思うんですが。
そうかそうか。 節約になってないのか。 とっとと3文字目以降はメモリから除去したいのに、いつまでも残っていると。 出力の正しさにばっかり気を取られてた。 ありがとう。
>>347 new Stringでラップするのってスマートじゃん?
javaプログラマは10数文字余計なものが増えたくらいでヘコタレナイぞ。
internでもしとけば?
JFaceでTableViewerの勉強しているのですが 特定のカラムだけ非表示にする実装方法はありますか?
ありません
JavaのStringって内部はchar[]なのですか。 Java内部ではUTF16BEだったと思うのですが、 UTF8のサロゲートペアの処理は問題ないのでしょうか。 上にあったsubstringの実装ではダメそうな匂いがします。
368 :
デフォルトの名無しさん :2012/03/05(月) 09:42:39.78
>>366 Javaのcharは16ビット。
UTF8にサロゲートペアはない。
Javaのバイトコードで使われる改変UTF8はUTF16のサロゲートペアそのままUTF8に変換するよな。
たぶん
>>366 の言ってるのとは関係ないけど。
366です。 Unicodeでした。すみません。 charが16ビットということは、サロゲートペアは32ビットなのでchar2文字分になるかと思います。 この場合にString#length()やString#substring()は文字数と同じにはならないという認識であっていますか?
>>371 Yes
「Java サロゲートペア」でぐぐれ。
373 :
デフォルトの名無しさん :2012/03/05(月) 13:58:44.37
上位・下位サロゲートも無視して分断するし、結合文字も分断しやがる。 追加面とか結合文字はcharじゃ表現できないから、まあしょうがないんだが。 「野家コピペ」 見えっかな。これとかJavaだとまともに扱えない。
フォントレンダラの話までごっちゃにすんのはどうかと思うが。
それをまともに扱える言語にどういったものがあるのか興味はあるが、スレ違いになってしまうだろうか
結合文字をどう表示するかはフォントとレンダラの話かもしれんが、 「結合文字は単独の文字ではないよ、前の文字にくっつくよ」 というのは文字コードの話だろ。 こういうのネイティブに扱えるのは欧米製の言語じゃなく、 やっぱり日本で生まれた言語だろ、 と、一瞬Rubyが浮かんだが、あれは1文字1byteだったわ
どうなって欲しいのかわからん。 System.out.println("\uD800\uDC00".length()); これが 1になれば満足なん? 文字とUnicodeのコードユニットの関係はN:M だから 1:1 な現行の char String#charAt(int) はダメ、 char[] String#charAt(int) にしても 1:N だから却下みたいな。
たぶん Grapheme cluster を 1 文字として扱いたいんだろうな そういうライブラリを作るのも不可能ではないと思うけれど
>>364 そうですか
自力でテーブルを構築し直すしかないということですね
>>378 日本語の場合、濁点半濁点は正規化すりゃ済むし、
サロゲートペアは標準ライブラリのサポートで十分じゃね?
381 :
366 :2012/03/05(月) 18:47:32.32
サロゲートペアの件については java.text.BreakIteratorでどうにかできないかなーと思ってます。 見た目上1文字であるものを1として数える目的では使えそう? StringUtil的なものにStringを戻すcharAtとかlengthとかsubstringを一度作れば 次からは使いまわし効くしと思うものの、正しい実装方法がわからなくて模索中です。
猿芸当ペアなんてjava5で解決済みじゃなかったの?
コードポイント数えるだけなら String#codePointCount(int, int) charAtに対応するcodePointAtもあるし
384 :
デフォルトの名無しさん :2012/03/05(月) 22:14:45.93
SmileDownloader みたいな youtube保存ツールを java+swing で作ってくれる神はいませんか?
よしじゃあ作ってやるから待ってろよ 俺が作っててやるんだからこんなレス二度とせず出来上がるまでずっとロムってろよ
adobe flashが死亡した後のflv,vp6はjavafx media的にはどうなるんだろうね。
387 :
デフォルトの名無しさん :2012/03/05(月) 23:06:40.22
サーバーサイドに用意したJavaのプログラムからHTML5のコードを自動生成するような、ライブラリやフレームワークは無いのでしょうか? イメージとしては、Echoフレームワークの進化版のようなもので、ブラウザへのプッシュ配信が可能なものが欲しいんです。
誰か初心者スレ立てろ
いらねえよ
InputStreamで何バイト読み進めたかを取得したいのですがget関数はありますか? readする時に自分で計算するしかないですか?
sprintf(a,(const char*)h,o)
>>390 read()とskip()盗み見てカウントするラッパーを作るのがスマートだろうね。
mark()をどうするかは用途次第。
FilterInputStream継承するのが楽かな
JavaWebStartでSwingアプリケーションを作成しているのですが、ブラウザCookieのような 環境変数を保存するクラスはないでしょうか? Cookieのクラスを探してもServletのCookieクラスしか見つかりません。
ありません
397 :
395 :2012/03/06(火) 04:05:34.49
見つかりました。 Propatiesクラスでiniファイルを作成して対応できるそうですので、ローカルファイルいじれるようにしようと思います。 ありがとうございました。
さっさと初心者スレ立てろや
400 :
395 :2012/03/06(火) 12:31:06.80
なんでお前のためだけにスレ立てないといけないんだ?
>>400 お前のためだけじゃなくてお前用にだよバカ
402 :
395 :2012/03/06(火) 13:00:18.14
(´・ω・`) / `ヽ. お薬増やしておきますねー __/ ┃)) __i | / ヽ,,⌒)___(,,ノ\
ここが初心者スレじゃ
ここは初心者スレじゃねえよ 395みたいなクソみたいな質問はめざわりだから消えろや
お前が消えれば解決。
406 :
395 :2012/03/06(火) 14:57:56.26
自分が答えられない高度な質問がくるとこれだよwww( ´,_ゝ`)プッ
>>395 javax.jnlp.PersistenceService
他の人が作ったソースを見てて気にならないところがあります。 どう考えてもクラス名がおかしいのです。 そのクラスを使ってるものがあるので、クラス名の変更は出来ません。 こういうときって、クラスの名称変更目的で継承するのはありですか? いわゆるエイリアスっていうやつです。
ゆとり世代にはレイヤーに応じてゆとりの本分ってのがあるんですよ。
気にならないところならいいんじゃね 継承した新しいクラスは既存のインスタンスは受けられないから代わりにならないと思うけど
411 :
408 :2012/03/06(火) 17:47:07.16
>>410 ナイスツッコミありがとうございます。
気に入らないって書いたつもりでした。
>継承した新しいクラスは既存のインスタンスは受けられないから代わりにならないと思うけど
なるほど。
既存のクラスは改変するつもりはなく、これから作成するクラスに対して使用したいので、
そのへんは大丈夫かなと思ってます。
しかしなんでこんな名前にしたんだろう・・・
プログラムで使用するデータを、
変換ルールによって他のデータにするconvertから始まる変換系のメソッドが詰まってるようですが、
class IroIroMethodって何orz
うざい
413 :
408 :2012/03/06(火) 18:04:29.58
ちんぽ
>>411 変更する必要は無い。2chにネタを提供して頂ければそれでOK
僕の職場にはこんな人が居ます
for(int i=0;i<array.length;i++){
if(i==n)return array[i];
}
418 :
411 :2012/03/06(火) 19:22:43.06
荒れてるし 今度からはC#のスレで質問します Javaは民度がひくいな
まんぽ
はい。javaの質問はc#のスレでおねがいします
421 :
デフォルトの名無しさん :2012/03/06(火) 21:57:22.59
>>386 applet で flvを再生できたら便利だと思うんですけど
もしかして、そういうappletってすでに存在しますかね?
うん、存在する
ありがとうございました
AspectJってWebアプリに利用できるものですか?
enumで下記の書き方は邪道ですか? コンストラクタ経由のセットだと、引数増えたらその分 コンストラクタを宣言しないといけないなと思いまして。。。 あと下記の書き方だとコンパイル後にクラスファイルが 複数できるんですけど問題無いのでしょうか。 -- public enum HOGE { FOO1 { { setMsg("FOO1"); } }, F002 { { setMsg("FOO2"); } }, ; private String msg; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } }
publicだからだれでもいつでもメッセージを好きに変更できるわけだな 俺の見解としてはenumは定数で定数は変化してほしくないから、邪道とみなす その書き方をすると FOO1 や F002 は HOGE を継承した別のクラスになるのでクラスファイルが複数できるのは問題ない
可変データがあるならEnumMapに納めるかな。配列だから速いぞ
さっきJavaをはじめてみましたのでお手柔らかにお願いします・・・。 「ハローワールド」と出力しようと思って組んでみたところ、 package hello; public class Hello { public static void main(String[] args){ System.out.println("Hello, world!"); } } という風になったのですが、 手元にある参考書では、 class Helloword { 〜〜〜 というように、classから書き始められていて、雛形が違うことに疑問を感じました。 みなさんが、ハローワールドという出力をするときには、 どのようなプログラムになりますか?
echo ハローワールド
息を吐く アーと発音 舌を上あごにつける オーと発音 口をしぼめる アーと発音 舌を上あごにつける ウと発音 ドと発音
>>428 最初に package 宣言がない場合、そのクラスは、デフォルトパッケージというものに所属する
つまりデフォルトパッケージでよければ package 宣言を書かなくていい
プログラムが大きくなってきて複数のパッケージに分割するほどになったとき、
public な class は異なるパッケージから使うことができる
public でない class は異なるパッケージから使うことができない
という違いが生じる
つまりプログラムを複数のパッケージに分割するのでなければ、どっちでも一緒
入門者向け教本を見れば書いてあるようなことをいちいち答えるな。雑魚が群がって荒れるだろ。
434 :
395 :2012/03/07(水) 17:09:21.36
JDBCのドライバーを配置するディレクトリについて相談をさせてください どこに置いています?
まあ確かに初心者の質問は範囲が広すぎて答えに窮する事がある。
>>436 スタンドアローンならプロジェクト\lib
Servletならプロジェクト\src\main\\webapp\WEB-INF\lib
リソース管理をAPサーバに任せるならAPサーバのlib
POJOでAOPやるのに良いライブラリありますか?
java.lang.reflect.Proxy でいいんじゃない?
>>303 でitextの質問した者です
itext使って一つのフォーマット作るのに700行くらい使ってしまう...
書き方が悪いのだろうと思うのですが、綺麗なコードはどのように努力すれば書けるようになるのでしょうか?
プログラミング言語は文法を覚えただけでは意味がないということを痛感しています
itextってpdf作るやつだっけ?ライブラリに癖がありすぎて挫折した・・・。
>>441 採用したiTextのバージョンと自分が書いたソース公開してみなよ。
そうすれば何が足りないのか指摘してくれる人が出て来るかもしれん。
上でも指摘されてるが、iTextはAGPLだから、金払って別のライセンスにしないと成果物とそのソースコードは全世界に公開する義務があるからな。
きれいなソースが書きたいなら自分が読んでわかりやすいと思えるソースをひたすら読め。
読む時はいきなり詳細を読むんじゃなくて大きな処理の流れとコード書いた人間の思想を読み取れ。
慣れればなんとかなるさ、頑張れ。
ソースをひたすら読んだらプログラミング・スキルも自動的に上達するというのは都市伝説ですよ。
ソースを読めとか思想云々いうやつは大抵知ったかの能無し。 Spring過去スレを参照せよ。 >iText 書き方についてはSwing(GUI)とかDOM(XML)の経験があればiTextのコツもわかるはず。 逆にiTextでコツをつかめばSwing(GUI)とかDOM(XML)で経験が生きるよ。 あとこういうJavaのコンポーネント系APIは冗長で、 GUIやXMLだとフレームワークとかもう一段高位のAPIが用意されているんだが、 そういうものがない場合は多少冗長というか力押しで済ませるのも仕方ないこと。
ソースは書きまくれば上達する コピペでなく、自分で変数名を変えただけでもいいから手打ちで そうすれば初心者が躓く原因の 変数名とクラス・メソッドの違いを身体で覚えてきて ソースが読めるようになって、理解力も理解速度も増す。
449 :
デフォルトの名無しさん :2012/03/08(木) 22:41:39.39
.batファイルから実行してるプログラムをctrl+cすると、 Runtime.getRuntime().addShutdownHook() でフックできる でもEclipseのデバッガで終了ボタン(赤い■またはデバッグリストから右クリ>終了)を押すとフックできない どうしたらctrl+cと同じ終了処理を行えますか?
Javaを使ってウェブ上の画像を保存するプログラムを作っているのですが、一部画像が赤く保存されてしまいます。
たとえばライブドアの下記コード内の画像なのですが、ブラウザから保存したり、その他の画像については
色が正常に保存されるのですが、一部の画像のみ赤く変色してしまいます。
たぶん画像に問題があると思うのですが、この画像を正常に処理するにはどうしたら良いでしょうか?
String urlstr = "
http://livedoor.3.blogimg.jp/sugumiru18/imgs/e/3/e3ac04ac.jpg ";
String filename = "c:\\test.jpg";
BufferedImage im = null;
URL url = null;
HttpURLConnection http = null;
BufferedInputStream bis = null;
try {
url = new URL(urlstr);
http = (HttpURLConnection)url.openConnection();
http.setRequestMethod("GET");
http.setDoOutput(true);
http.connect();
bis = new BufferedInputStream( http.getInputStream() );
im = ImageIO.read( bis );
ImageIO.write((RenderedImage) im, "jpg", new File(filename));
} catch (IOException e) {
e.printStackTrace();
}
>>450 この画像をブラウザから自分のローカルに保存して、ローカルにあるファイルをJavaで処理しても
処理後の画像が赤くなってしまうため、ライブドア側の問題ではなく画像フォーマットに何かあると考えています。
保存後のファイルサイズが265KBから120KBに減少するため、何かが削られている気がするのですが
それが判りません。
452 :
120 :2012/03/09(金) 00:41:48.79
>>451 ただ保存するだけなら俺みたいにImageIO使うの諦めて
new BufferedInputStream(new URL("画像URL").openStream())
とかしてそれをBufferedOutputStream使って書き込んでいった方が良いんじゃないかな
>>452 ありがとうございます。保存するだけではなく、実際にはImageIOで縮小処理を行ったりしますので
なるべくImageIOを使いたいです。
ImageIO.read( file ) にフォーマット指定ができないでしょ。 で、このフォーマットはpngなんだよね。 ここでおかしくなってるはずだ。
>>283 >
>>273 > Maven使えるんならShadeで単一JARにまとめちまえよ。
いまはそういう時代なのか。
FatJarとかOneJarなんてもう時代遅れ?
>>455 対象の元ファイルは怪しいですが多分Jpegです。
JpegAnalyzeなる物でJpeg情報を出力してみました。
==================リードできないJPEGファイル==================
Analyze Start. File name = e3ac04ac.jpg
File Size 271,808 bytes / Address (00000000-000425BF)
File Path C:\Documents and Settings\Administrator\デスクトップ\
Address Length Message
00000000 ****** SOI :Start Of Image ******
00000002 [0043] DQT :Define Quantization Table
00000006 QT0-8bit IJG輝度 画質80
00000047 [0043] DQT :Define Quantization Table
0000004B QT1-8bit IJG色差 画質80
0000008C [0011] SOF0 :Start Of Frame 0 - Baseline DCT
1000[0] x 710[2] pixel - 24bit color (YCbCr 4:4:4)
ComponentID-01 Y 1x1 QT0
ComponentID-02 Cb 1x1 QT1
ComponentID-03 Cr 1x1 QT1
これを比べると怪しいJpegファイルには「00000002 [0010] APP0 :JPEG File Interchange Format Ver 1.1 (JFIF)」の 情報がないのが気になるのですが・・・このJpegファイルは何なのでしょうか? ペイントやブラウザでは正常に開けるのですが。 ==================正常なJPEGファイル================== Analyze Start. File name = f977d28f.jpg File Size 56,975 bytes / Address (00000000-0000DE8E) File Path C:\Documents and Settings\Administrator\デスクトップ\ Address Length Message 00000000 ****** SOI :Start Of Image ****** 00000002 [0010] APP0 :JPEG File Interchange Format Ver 1.1 (JFIF) 密度 72:72 dots/inch 00000014 [0043] DQT :Define Quantization Table 00000018 QT0-8bit IJG輝度 画質80 00000059 [0043] DQT :Define Quantization Table 0000005D QT1-8bit IJG色差 画質80 0000009E [0011] SOF0 :Start Of Frame 0 - Baseline DCT 523[5] x 600[0] pixel - 24bit color (YCbCr 4:4:4) ComponentID-01 Y 1x1 QT0 ComponentID-02 Cb 1x1 QT1 ComponentID-03 Cr 1x1 QT1
pngでImageIO.writeしたらどう?
461 :
デフォルトの名無しさん :2012/03/09(金) 02:48:21.45
>>453 JavaのImageIOのバグだから
jpeg画像の場合は
Toolkit.getDefaultToolkit().getImage
使うといいよ
462 :
120 :2012/03/09(金) 02:50:58.34
463 :
デフォルトの名無しさん :2012/03/09(金) 02:54:24.49
>>462 どれが一番か分からないけど
自分は出力にImageIO使ってるよ。
>>461 やはりバグでしたかぁ。ImageIOから切り替える方向で検討してみます。
ありがとうございました。
465 :
120 :2012/03/09(金) 03:32:45.55
>>463 それはToolkit.getDefaultToolkit().getImage()で得たImageインスタンスをRenderedImageでキャスト
したものをImageIO.write()の第一引数に入れるという感じですか?
mac使ってるんですがなんかImageインスタンスがapple.awt.OSXImageとかいうのになって
そのキャストが出来なくて参っちゃってます…winやlinuxでは出来る感じなんですかね…
自分はImageIOで上手くいかないときは com.sun.image.codec.jpeg.JPEGCodec を使ってます。できる確証はありませんが、一度試されてみたらどうですか?
バグの場合は出来るのか同を判断するのに時間がかかるのはしかたない。 あまり人気がない機能とその組み合わせを使おうとするとバグがあったってことはよくある。 せっかく調べたんだからそのバグを再現可能にして調査結果をバグパラダイス(英語サイト)に報告するといいよ。
awt.Image はMIMEのimage/x-java-imageという型で普通のjpg,pngなどとは別物で、ジャバ的に保存したいなら一度メモリに展開する方法による。 DataFlaver,ImageProducer,BufferedImage などいくつかあるけど、初心者だとどれも難しいんじゃないか。
>>458 行儀のいいJPEGファイルと行儀が悪いJPEGファイルってだけ。
ImageIOは行儀の悪いファイルだと読めない場合が多い。
.jnlp の <title> の中身じゃない? たぶん
473 :
120 :2012/03/09(金) 15:28:51.87
>>466 ありがとうございます、下記のようにすることでうまくいきました
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(new URL("URL名").openStream());
ImageIO.write(decoder.decodeAsBufferedImage(), "jpg", new File("output.jpg"));
ただ、微妙に画像が劣化してしまいますね
JPEGEncodeParam#setQualityで品質1.0にしてJPEGImageEncoderで書き込んだ場合も劣化し、サイズも同じでした
カラープロファイルの壊れた画像の表示及び加工が必要な時は使いそうですね
>>472 ありがとうございます。解決できました。
String value = "あああ"; Cookie ck1 = new Cookie("id",value); ck1.setMaxAge(60 * 60 * 24 * 7); response.addCookie(ck1); jspで日本語をクッキーに入れるとサーブレットに変換できません
へー
>jspで日本語をクッキーに入れるとサーブレットに変換できません じゃ、クッキー関係ないじゃん。
>>475 URLEncoder とかでエンコード必須じゃなかったっけか?
エスパーじゃないので、出たエラーを張ってくださいな。
この程度のコード見て原因が分からないのってやっぱりJava知らない連中なんだろうな エラー張らないと分からないなんてもうねバカかと
いくらジャバを勉強しても馬鹿には無理
馬鹿には無理さんジャバさんと同じ人だったんだな
馬鹿には無理さんとかジャバさんとか一体誰のことだよw
馬鹿には無理さんとジャバさんのことだよ
馬鹿には無理さんはスクリプト、これは間違いない きっとレン鯖からcronで定期実行されてる
マルチスレッドで特定のスレッドに標準出力を占有させるにはどうすればいいのでしょうか
他のスレッドで出力しなければいい
呼び出し元スレッドをチェックするPrintStream作って System.setOut()で差し替えるのはどうかな
ありがとうございました。参考にします。
log4jとかはスレッドセーフじゃないの?
492 :
デフォルトの名無しさん :2012/03/10(土) 17:02:15.63
>>489 質問者じゃないが、なるほどな−。
感心したわ
メソッドaに渡せる型をintとdoubleどちらでも可にしたいのですが ご教授お願いします public int a(int n){ return n; } public double a(double n){ return n; }
C#と同じような間隔でこのようにコードを書いてみたんですが こう書いてaにdouble型の値を渡したらエラーになってしまいます
「エラーになってしまいます」だけでエラーの内容も書かないのは釣りなので気を付けてください
説明 リソース パス ロケーション 型 型の不一致: int から double には変換できません って出ます
// 外部クラス public class TestClass { public void test(String[] str[]){ // 処理 } } ------------------------------------ // mainから String[] a = {"a","b"}; String[] b = {"c","d"}; String[] c = {"e","f"}; TestClass tc = new TestClass(); tc.test(a, b, c, d); メソッドに可変引数で配列を渡したいのですがこのように書いたら >型 TestClass のメソッド test(String[][]) は引数 (String[], String[], String[]], String[]) に適用できません というエラーになります どのように配列として引数を可変に渡せますか?
>>499 JDK1.5以降なら public void test (String[]... str) { }
1.4以前なら諦める。
>引数を可変に渡せますか? その質問のフレーズの通り、可変長引数を使えよwwwwww public void test(Strin[]... str){ 処理 }
>>501 String...strという書き方は
String str[]という書き方と同じという風にググって分かったので
配列のほうもそれでいけるのかなと思いました
まともなプログラマなら知っているべき事柄 使う気が失せるというのはわからない 問題を把握してれば回避するのは容易
馬鹿には無理
SQLのResultSetで SQLの結果の最大行(ROW)数を求めるメソッドってあるんですか? getRowは違うみたいだし ・現在の構想 ResultSet rs int colcount = 0 while(rs.next()){ colcount++: } rs.beforeFirst() データ処理
数だけが欲しいなら最初からそういうクエリを投げる SELECT count(*) FROM 〜 データを使うのならどのみちループ回すんだから自分で数えればいいと思うけど スクロール可能なカーソルが使えればlastで最後に移動してgetRowすれば最後の行が得られるかもしれない
>>504 [email protected] 職業プログラマーをしています。いつのまにかプログラマーの「定年」とよばれる年齢を過ぎてしまいましたが、まだまだ若手には負けられないぞということで、
世間ではプログラマーは忙しいわりに報酬の少ない報われない職業という意見もあるようですが、
2011-02-26 業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策
Java言語の使いにくい部分をいくつかピックアップしてみました。Java EEなどの業務系のアプリケーションプログラマーの視点で書いています
1.標準APIのチェック例外が扱いにくい
また、ScalaやGroovyなどの軽量言語を利用するのもよいと思います。現代的なアーキテクトであれば、実際に業務ロジックの開発を行うプログラマーが苦しまないように、適切なプログラミングモデルを標準化しておくことが大切だと思います。*4
2.リソースの解放処理の適切な記述が面倒
それから、現状、Javaプログラマーがとりえる対処としてもっと良いのはGroovyを併用することですね。
3.日付関連APIの使い勝手が悪い
また、Groovyだと以下のように簡単に文字列と相互変換できたり、計算できたりします。
4.特定の精度を保った金額計算が面倒
Groovyだと数値リテラルの最後にGという接尾辞をつけるだけで自動的にBigIntegerやBigDecimalを生成でき、後は普通に四則演算の記号を使って計算できます。
tad0tad0 2011/02/27 21:43 > BigDecimalを使った固定小数演算が面倒
ぜんぜん固定じゃないと思います。API(とくにsetScaleとか)とソースを読んでみてください。
ryoasairyoasai 2011/02/27 23:04 誤りをご指摘いただきありがとうございました。floatやdoubleを使った浮動小数演算に対して気軽に固定小数という表現をしてしまいましたが不正確な記述でしたね。表現を訂正しておきます。
業務系のアプリって普通は MS-VB.NET で作るでしょ。
http://www.javadb.jp/Code.sd?id=4 //標準出力に表示する
for(int i=0;i
{
System.out.println(files[i]);
}
}
こういったfor文を他所でも時折見かけるのですが、単に書き忘れているだけなんですか?
どうあってもエラーになってしまうんですけど、正しくはなんなんでしょうか。
「&lt;」 と出力すべきとこを 「<」 出しちゃったんじゃないかとエスパー
あるある・・・ でも普通、一度読み直せば気付くよな 書きっ放し確認しないんだろうか
ソース表示したら↓と書いてあったぞ。 for(int i=0;i<files.length;i++)<br> 書いた内容表示させて確認しないのかよ・・・
515 :
デフォルトの名無しさん :2012/03/11(日) 12:09:36.40
/´ , -‐- 、. / . i /:::::::::: `''‐ 、..__,. ‐'´ヽ. / 大人は質問に答えたりしない . ! ,':::::::::: 、 ∨ それが基本だ | i:::::::::: 、 、`''ー---‐''´ ヽ |. l:::::::: /へ.\` ー---‐ ´/,.ヘ そりゃあ・・・・かまわない │ \:::::::: _\\, /∠_ | おまえの質問に答えること |. /"ヽヽ:::==。=`,, /=。==│ それ自体は容易い 簡単だ | { i⌒| |:::::` ー-‐' .::.\-‐ ´│ /|. l ト、|.|:::::: ー-‐ ' ::::::::::: l::-‐'.| 負けた時の処遇はこれこれこう / | ヽ.._||::r':; -‐‐' r __::::::::::::: l ー、| こういう施設に行き 何時間働き _/ | /l!:::/:: ー----------ー'--.| 食事は・・・・・・? 就寝時間は? 期限は・・・・? .! .| ./ ::|:::::::::: | そんな話はいくらでもできる | │./ ::|::::::::::: ===== |\ | |/ ::|:::::::::::::... ,.イ .!` しかし 今 オレがそんな話を | |\ :`'' ‐- 、::_:....... ,. ‐'´/| │ 仮にしたとしても | │ \ ::::::::::::::::::`~`''"::::::::/ .| | その真偽はどうする・・・・・・?
>>514 いやそのくらい自力で補完しなきゃダメだ。
1+○=2の○の中はなんですか?ってくらい簡単だ。
そりゃ簡単だけど そんなことを言ってんじゃないでしょ
518 :
511 :2012/03/11(日) 15:18:03.01
ありがとうございました
抽象クラスAとそのサブクラスBがあった場合、 Aのクラス名 変数 = new Bのクラス名 ↑のは成立しませんよね?
Bもabstractだったらね
Aが抽象クラスでもBが具象クラスなら成立するってことですか? 初級者の質問で申し訳ないんですが、 抽象クラスはインスタンス化できないという設定と矛盾してませんか?
522 :
519 :2012/03/11(日) 22:21:05.74
Bもabstractだったら成立しませんと言っている
523 :
522 :2012/03/11(日) 22:21:51.90
抽象クラスはインスタンスが作れないわけじゃなくて継承しないとインスタンスが作れないクラス それ以外は普通のクラスと特に変わらない
new することがすなわちインスタンスを作るってことだ。
会社入ったらまずはテストだってよく言うけど、 テストって具体的に何をどうやるの? JUnit系って使われてる? TPTPの方が多い?
newの次のところがabstructでなければ型の指定のところがabstructでも問題無いってことですね ありがとうございます
>>527 変数の宣言は abstract class とか、更には interface であることが、問題ないどころか好まれる。
>>528 そういう使い方をするんですね
持ってる参考書には書いてないみたいなので助かりました
ところで初級者と初心者はどう違うんですか?
ググれカス 自分で調べろカス
532 :
デフォルトの名無しさん :2012/03/12(月) 17:56:09.42
実行しても上手くいかず、このコードの何処が間違っているのか分からないので、 恐縮ですがご教授お願いします //二つの整数値を読み込んで加減乗除した値を表示 package 変数を使おう; import java.util.Scanner; public class ArithInt { public static void main(String[] args){ Scanner stdIn = new Scanner(System.in); System.out.println("xとyを加減乗除します。"); System.out.println("xの値"); //xの値の入力を促す int x = stdIn.nextInt(); //xに整数値を読み込む System.out.println("yの値"); //yの値の入力を促す int y = stdIn.nextInt(); //yに整数値を読み込む System.out.println("x + y = " + (x + y)); //x + yの値を表示 System.out.println("x - y = " + (x - y)); //x - yの値を表示 System.out.println("x * y = " + (x * y)); //x * yの値を表示 System.out.println("x / y = " + (x / y)); //x / yの値を表示(商) System.out.println("x % y = " + (x % y)); //x % yの値を表示(剰余) } }
どんなエラー文章が出るのか読んだか?
534 :
デフォルトの名無しさん :2012/03/12(月) 18:25:08.44
エラー文章は出ずに、実行結果として xとyを加減乗除します。 xの値:7 が出るだけで、yの反映と、それ以降の演算結果が出ない状況です
エンターキー押してないとかw
質問です。 独自のIteratorを実装したいです。 Iteratorの仕様ってどこかにないですか? #hasNext()でカーソルを進めてbooleanを返し、 #next()で現在のカーソルの値を読む、 という実装ならシンプルに作れるのですが……。 ArrayListなどの標準ライブラリを見ると、 #hasNext()では単純に次のデータがあるか返すだけ、何度呼び出してもok、 #next()では、次のデータを取得 → カーソルを進める → データを返す、 という実装になっています。 Javadocの#equals()のような明確な仕様が読みたいです。 ご存じの方いらっしゃいましたら教えてください。
>>537 > and advances the cursor position.
おー! ありがとうございます!!
ListIteratorではありますが明言されてましたか。
Java7ではじめて追記された仕様っぽいですね。
Iteratorでもやはり、標準ライブラリと同様の実装にした方が無難そうです。
助かりました、どもでした。
仕事のJavaが苦痛で仕方ないのですが 何でこんなことしなければならないのでしょう
>>539 今の会社を辞めて他の言語で食べてくスキルがないから
>>539 今の会社を辞めて他の言語で食べてくスキルがないからじゃね?
>>539 今の会社を辞めて無職になるのが怖いから
jspでページング処理するのにネットで公開されている中で 何か良いカスタムタグはないでしょうか?
545 :
デフォルトの名無しさん :2012/03/13(火) 00:11:02.56
>>539 お前は単なるオブジェクトに過ぎないから
一定時間待つようなのってどうするのっと
>>545 人間のインスタンスの一つじゃね?オブジェクトだとNewでどんどん増やせそう
>>548 やっぱrunTimeだっけ?を継承したクラスをnewして、.sleepしてThreadが終わるの待つ感じ?
550 :
デフォルトの名無しさん :2012/03/13(火) 00:24:56.63
あれってインスタンス化しないと呼べないんだっけ?
あれ、呼べるの?
どうなの?
お前ら自分で調べる気ゼロか
Runtime経由で呼ぶsleepコマンドとかUNIX系でしか動かないぞ。 Threadのstaticメソッドでsleep(1000)とやれば1秒止まる。
メソッド名の表記について質問です Fooクラスにあるbarメソッドの表現として、「Foo#bar()」と「Foo.bar()」という 2つの記述をよく見かけますが、双方に何か内容的な違いはあるのでしょうか? また、どちらの書き方が推奨されているなどあるのでしょうか?
Foo#barはインスタンスメソッド Foo::barはクラスメソッド
:: はもちろん ruby だろw
>>557 Java8で foo::bar() でメソッドハンドル取れるようになる、らしい。
理由は知らんけど foo#bar() は完全にボツ、foo::bar() は議論の余地あり、らしい。
Java言語仕様と被らないASCIIキャラとか、 あと「#」、バッククォート「`」ぐらいしかないよな。 「$」は各種識別子とかぶるんだよな?
APL Symbol (U+2336 - U+237A) あたりがJava言語に採用されるのも時間の問題かな。 Shift_JISプログラマーはさようなら
->がいまのところ候補だけど => はどうなったの?
シフトの差でボツとか? いや、本当のところは知らんけど。
>>561 APLってユニコードに定義されてんのかよw
Javaの記号も追加面にまとめて定義してくれたらいいな。
予約語も1文字として、for := U+xxxx ; JAVA RESERVED WORD FOR LOOP
とか文字コード振ってくれると検索しやすくて助かるわ。
566 :
555 :2012/03/13(火) 15:21:47.91
>>559 今ググったんですがその::については分かりませんでした
ソースとかありますかね?
>>547 で、誰からも見向きされなくなったら人生終わっちゃうんですね。
>>568 誰からも見向きされなくなる=被参照カウンタ0=次のGCの対象に
社内ニート同士で参照しあえばいいんですね? わかりm
>>554 おk、Threadを実装したstaticクラス作って、sleepさせてみる
d
574 :
デフォルトの名無しさん :2012/03/15(木) 04:26:07.96
netbeansでjarをまとめたいです いい方法ありませんか?
antの強力なワイルドカード記法で一カ所にガリガリとコピーしてまとめるか 上レスにあったmavenとshadeプラグインで自動化するか
576 :
デフォルトの名無しさん :2012/03/18(日) 00:56:00.54
cd %~dp1 javac %~nx1 java %~n1 pause こういうバッチファイルを作りました。 ファイルのD&Dや、ファイルを指定して実行から呼び出すとうまくいくのに、 Notepad++から実行すると、 >java Sample1 Exception in thread "main" java.lang.UnsupportedClassVersionError: Sample1 : Uns upported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) Could not find the main class: Sample1. Program will exit. とエラーが出ます。 バッチでechoを使って引数を確認しましたが、Notepad++からの引数はたしかにファイルのフルパスを示しています。 何が違うのでしょうか。 全く理解できません。 教えていただけませんか?
579 :
577 :2012/03/18(日) 07:46:47.91
cd /d %~dp1
580 :
576 :2012/03/18(日) 15:30:54.09
>>578-579 ありがとうございます。
そちらのURLを確認し、579さんの仰るようにcdのオプションを変更してみましたが依然としてあのエラーのままです。
/dはドライブを変更するときのオプションですよね?
%~dp1としてましたが、ドライブは変更しないので%~p1でも問題ありませんでした。
cdを実行したあとはちゃんとカレントディレクトリが変更されているのですが。。。
>>580 ドライブがひとつしかないなら兎も角、DVDでもなんでも、ついてるならカレントドライブ確認しろよ
public main〜{ public int n; n=1; hoge(n); system.print〜 //nが1になってしまう static public void hoge(int n){ n=2; } } nに2が入るように記述するにはどう書いたら良いでしょうか?
public main〜{ public int n; n=1; hoge(n); system.print〜 //nが1になってしまう static public void hoge(int n){ n=2; } } nに2が入るように記述するにはどう書いたら良いでしょうか?
public main〜{ public int n; n=1; n=hoge(); system.print〜 static public int hoge(){ return 2; } }
>>583 こうすればいいですよ
n=1;
hoge(n);
n=2;
Exceptionって全部上位にthurowしていれば Javaがうまいことやってくれるという認識であってます?
うまいことっていうのが終了するっていう意味なら
RuntimeExceptionの子孫クラスはキャッチするもしないも自由 しなければprintStackTraceを呼び出して後は強制終了する この解釈で間違っていませんか? 例外について勉強しているのですがあいまいでして…… 例外処理はプログラミングで一番大事な所だと思うので完璧にしたいです。
間違ってます。
なにより姿勢も間違ってます。 本当に大事だと思い完璧にしたいのが本心なら そのレベルで質問しようなどとは恥ずかしくて思えるはずがないからです。
593 :
590 :2012/03/18(日) 23:10:39.54
ありがとうございます 勉強し直します
自分が答えられない質問はすぐこれだ
他の言語使ってる人に訊きたいんだけど、 Javaのチェック例外ってどうなん? てか他言語でチェック例外ってあんの?
Javaのチェック例外は、本来チェック例外にするのが適切でない例外がチェック例外になってるものが多数ある その反動でなんでもかんでも非チェック例外!っていう単純脳みそもたいがいだが そういう風潮を作った張本人の一人がJavaであるのは残念なこと もともとのコンセプト自体は悪くはない
それからこちらは私見だが 例外の継承関係も失敗しているだろえ 例外(チェック例外)を特化させて非チェック例外を定義するのではなく 例外(非チェック例外)を特化させてチェック例外を定義すべきだった チェックしなくていいのが特殊なのではなく チェックしなきゃならないのが特殊だからだ
チェック例外が活躍するのは、open ... closeを強制させるIO関係だと思ってるんだが、
結局、なんでプログラマがリソース管理しなきゃいけないんだよ、
管理はGCが「よしなに」やってくれるんだろ? って話になるよな
Java7のAutoCloseableもあくまで小手先の解決で、根本解決には至っていない、と思う
……実際にはめちゃくちゃ便利だがw
>>597 非チェック例外でも、
メソッド定義に「throws ArithmeticException, NullPointerException」とか、
ちゃんと非チェック例外も仕様化してるコードが好きだわ
>>597 全てのメソッドは非チェック例外を投げられるから、
チェック例外をそのサブクラスにすると、チェック例外投げ放題だぜ
>>597 function()throws Exception
なんて記述は頻出するしそうした方が便利だから、
こんなのはfunction()と省略できた方がいいやね。
>>598 メモリ以外のリソースの管理までGCにやらせるのは滅多にないと思うが。
>>600 例外連鎖使えば throws Exception する必要はかなり減る。
いちいち宣言してたら throws NullPointerException, IllegalArgumentException, IllegalMonitorStateException, IllegalStateException, IndexOutOfBoundsException, JMRuntimeException, NegativeArraySizeException, NoSuchElementException, SecurityException, ただのアホでしょ
そりゃ実行時例外を例に取ってる時点アホだな。
誰一人として
>>588 の質問に答えられる人材はいないのかよ。
誰もキャッチしない例外の運命を決めるのは
Thread#setUncaughtExceptionHandler()
に渡されるオブジェクトだからな。
人材(笑)
例外がめんどくさいからRuntimeExceptionから派生するの投げるのばっかり SQLのラッパーとかandroidのライブラリとか catch(SQLEXception){ throw new RuntimeException() } 無茶苦茶になっとるわ
>>588 の答えになるか解らんが、大体合っている。
デバッグするときにスタックトレースが便利だからという理由。
各メソッドでcatchしちゃうとそこでトレースが途切れてしまう
だから
}catch(NullPointerException e){
throw new Exception("アレが初期化されてません",e);
}catch(StackOverflowError e){
throw new Exception("メモリ溢れちゃいいました",e);
}
なんてcatchしたものをわざわざ外に放り投げる事も多い。
最終的にはmainなどの根っこに近いところでキャッチして標準出力に書くなりロガーに書くなりする。
ロガーの扱いも一箇所にまとまって楽になる。
610 :
デフォルトの名無しさん :2012/03/19(月) 15:18:35.02
>>598 GCでIOのclose()させるとどれだけ遅延するかわからんからな。
別のスレッドとかプロセスがopen()したいのにずっと待たせられる可能性が高い。
>>609 非検査例外をわざわざ検査例外に変換するとかねーよ。
もちろん竜様ルールだ 誠の漢なら黙って従え
変数にインスタンスではなくクラスの名前などクラスを識別できる程度の情報だけを持たせておいて、 その変数の中身を見てからそれを参考にインスタンスを作るような流れで定石の書き方ってありますか?
ビルダーパターン? ちょっと違うか
あああああ変数の方がvoid *みたいな馬鹿げたことができないから そんなこと誰もやらなかったのかw あざーす
>>612 ねーよって言う奴は浅墓。
例StackOverflowError
まあ非検査例外に渡してなんら問題ないな。こまけぇこたいいんだよ。 catch(StackOverflowError e){ throw new RuntimeException("スタックオーバーフロー",e); }
ねーよじゃねーよ。 ある。 例ServletException
どうすりゃビルドできる? なんでクラスが見つからないんだ・・・ <project name="chapter6-exercise1" default="hoge" basedir="."> <taskdef name="dbunit" classname="org.dbunit.ant.DbUnitTask"> <classpath id="class.path"> <fileset dir="C:\Users\aaa\Desktop\src" /> </classpath> </taskdef> <target name="hoge"> <dbunit driver="com.mysql.jdbc.Driver" url="jdbc:postgresql://localhost:5432/postgres" userid="postgres" password="password"> <export dest="export.xml" /> </dbunit> </target> </project> BUILD FAILED C:\Users\aaa\workspace\AntTest\build.xml:11: taskdef A class needed by class org.dbunit.ant.DbUnitTask cannot be found: org/slf4j/LoggerFactory
ねーよ君はニートの俺よりできないのかよ。
これだから日本のITはダメなんだ。それともお前もニートなのか?
>>621 はドライバーをmysqlからポストグレのに直しても駄目でした
ちなみにantです
626 :
ニート :2012/03/20(火) 13:59:46.03
slf4jが無いって怒られてるんだからパスが通ってないだけじゃないの?
じゃあoracleにしてみてください ちなみにantです
>>626 <taskdef name="dbunit" classname="org.dbunit.ant.DbUnitTask"/>
にすると
BUILD FAILED
C:\Users\aaa\workspace\DataBaseSample\build.xml:9: taskdef class org.dbunit.ant.DbUnitTask cannot be found
パスが通ってないんですかね
javaのクラスでは普通に参照できてるんですが・・・
dbunitってclasspathにdbunit.jarを追加するだけでいいんですよね?
>>627 お前は誰だ
androidプログラムを始めたのですが
↓の解説を見てもバッファがいまいち理解できません・・・
http://www.javaroad.jp/java_io4.htm 01 conn = (HttpURLConnection)url.openConnection();
02 rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
03 line = rd.read(...)
04 処理A;
05 line = rd.read(...)
06 処理B;
のようなプログラムを書いたとき、
02行目の処理が終わった時点でそのURLのデータを全部取得してメモリに配置しているなら
取得したデータが別にBufferedReaderの参照先にあろうが
Stringの参照先にあろうが一緒の気がするんだけど違うんでしょうか
read(何文字)もsubstr(何文字目から何文字目)も一緒のような気がします
それとも一度readした部分はメモリから消されていくから効率的(?)なんでしょうか?
>>629 >URLのデータを全部取得してメモリに配置しているなら
だうと
getInputStream の時点でデータを全部取得してメモリに配置しているのならそうかもしれないが 実際は違う
632 :
ニート :2012/03/20(火) 16:23:41.57
BufferedReaderを使ったランダムアクセス(ただしマークサイズ以内の近傍)は 使わなかった場合に比べ10倍以上高速になるのは経験的に知っているが、 通常のシーケンシャルな読み込みで速くなるかは知らない。
バッファサイズのデフォルトなんて毛ほどだろ。
634 :
デフォルトの名無しさん :2012/03/20(火) 16:45:08.74
デフォルトサイズ2KBだっけ? 8KBぐらいにすると効果がでるって書いてあったが。
毛がないので大きな違いで
>>621 の問題は解決しましたが、今度は
C:\Users\aaa\workspace\AntTest\build.xml:17: Class Not Found: JDBC driver org.postgresql.Driver could not be loaded
これもパスの指定が原因ですかね・・・
別のjavaクラスからまるまるコピペしただけなんだけどなあ
637 :
デフォルトの名無しさん :2012/03/20(火) 19:05:28.21
public interface aaa{ public static final string code1 = "1"; public static final string code2 = "2"; public static final string code5 = "5"; } このようなaaaというインターフェースの中にあるコード値をすべて取得して それをListとして、プルダウンの中の選択値として画面に表示したいのですが あくまでもJavaで取得したリスト値をJavaScrptでfor文でぐるぐる回するのかなと思っていますが ご教授ください。
2日掛かってようやく解決できました 無事にエクスポートできた・・・
>>636 はい
>>637 リフレクション使う程の大事でもなさそうだし問題が何なのかそれが問題だと思われる。
enumでやるか、そもそも考え方がおかしいと思われる
ふいに、Javaなんか早く滅亡すればいいのに って思うことあるよね? 正直もう時代遅れなんだけど普及しすぎて引くに引けない、そのタイミングを伺っているっていうか
>>641 そうなの?
これから勉強しようと思ってるんだけど
別な言語の方がいいのかな?
言語なんて所詮道具、適材適所 要件にあった言語を使いわけりゃいいだけた
Androidのおかげで安泰だろうけど 時代遅れってのは同意
10年前から時代遅れと言われている言語 10年後も時代遅れと言われているであろう
時代に遅れてない言語ってなんだ?
648 :
デフォルトの名無しさん :2012/03/21(水) 05:57:24.70
いきなりですんませんが、教えてください。 現在JNDIに設定した内容でPostgreSQLに対してアクセスしているのですが、 netstatで確認すると、maxActiveに設定した数までEstablishもしくはTIME_WAITが 増えないのです。 これってPoolingできていないってことなのかなと思うのですが…。 Poolingができているかどうかの判断ってどうすればよいのでしょうか??? ちなみに、、、 JDK 1.6 Tomcat 6 PostgreSQL 8.1 JDBC3 8.1 で行ってます。 よろしくです。
>>647 D
「バージョン1.0がリリースされた。比較的新しい言語であるため、
近年発達してきた概念や機能が多く取り込まれている」
D言語 − Wikipedia
650 :
デフォルトの名無しさん :2012/03/21(水) 10:16:37.54
swingの質問なんですが、ここでいいのかしらん? 3階層(FrameA > PanelB > PanelC)で構成される画面があります。 別個のクラスとしており、 Aクラスには、 B obj = new B(); this.add(obj); Bクラスには、 C obj = new C(); this.add(obj); というように記述しました。 このうち、Cを動的に交換したくてBクラスにおいて obj = new C(); を記述したのですが、うまく動作しません。 どなたかヒントをください。
古い obj を remove して新しい obj を add し直す
652 :
650 :2012/03/21(水) 10:49:08.98
>>651 ありがとうございます。
試してみましたが、だめでした。
>>652 コンポーネントを入れ替えたらvalidateを実行する
654 :
650 :2012/03/21(水) 11:24:31.10
>>653 ありがとうございます。
うまくいきました。
おかげで助かりました。
Visual Studioみたいにファイル名.slnをクリックして作業を再開みたいな動作を Eclipseではどうやりゃいいの?
eclipse.exe のショートカットを作って置いとけばいいんじゃない
それだと他人の作ったプロジェクトを再開できないやん
ショートカットでワークスペース指定すりゃいいんじゃね?
コーディング作法やら掲載しているサイトはよく見かけるのですが 設計方法などを紹介しているサイトはないもんですかね
660 :
デフォルトの名無しさん :2012/03/21(水) 19:29:59.50
swingのJAppletについての質問です。 firefoxにて動作確認したところ、firefoxのタブを閉じてもまだ動き続けているようです。 新しくタブを開いてアクセスしても閉じる前の状態のアプレットが表示されます。 この現象の回避方法または、タブを閉じた段階で明示的に終了させる方法はありますか?
普通は新しいタブで開いてロードしなおしたら別のオブジェクトじゃね? なぜ、動き続けてるとおもうの?
IEだと別タブは別セッションだけどFirefoxだと別タブでも同一セッションだった記憶がある。
自分のサーバのIPアドレスを取得したいのですが InetAddress.getLocalHost()メソッドで取得しようとすると Javaのセキュリティマネージャーとやらに却下されて ループバックアドレス(127.0.0.1)しか取得できませんでした。 上記のメソッド以外にIPを取得する方法はないのでしょうか?
java.net.NetworkInterface使えば?
665 :
660 :2012/03/22(木) 12:53:28.44
>>661 ありがとうございます。
私もそう思っていました。
「何故、動き続けていると思ったか」は、下記3つの状況からそう表現しました。
1.660の通り、新しいタブでも前のタブのクローズ時が再現される
2.firefoxを閉じてもfirefoxプロセスが残る
3.firefoxのプロセスが残っている場合、参照先であるjarファイルがロックされている。
>>662 ありがとうございます。
完全に独立したアプレットなので、特にセッション管理は明示的に行ってはいないのですが、アプレットの場合必須だということでしょうか?
Eclipse がフリーズしまくりで ついに起動の段階でも固まるようになっちゃったんだが、 何が原因だと思う?
俺の場合 adb を殺せば直ることがある
うん
Android のスレと勘違いした。すまぬ。
>>665 >前のタブのクローズ時が再現される
この意味がわからないな。
たとえばテキストエリアだけのアプレットでも同じことがおこるってこと?
>2.firefoxを閉じてもfirefoxプロセスが残る
なんかずっこけてるんだな。
バージョンが古いかも?
>>670 ウィンドウを開くと、閉じたタイミングの状態から再開するんじゃない?
例えばブロック崩しのゲームだと、開いた直後はゲーム開始メニューから始まるはずなのに、
ボールが動いている状態でfirefoxを閉じて、再度立ち上げると、
再度ボールが動いているところから始まるっていうことじゃないかと思う。
動き続けているという話だから、ボールが落ちてゲームオーバー画面かもしれないけど。
672 :
660 :2012/03/22(木) 23:35:23.09
>>670 ありがとうございます。
firefoxは11で、JREとJDKは1.7相当でやっています。
再現の意味は、
>>671 さんの解釈の通りです。
>>671 ありがとうございます。
その解釈の通りです。
実際に作ったのはヒット&ブロウという数当てゲームなので、入力がなくても進行していくというゲームではないのですが。
673 :
デフォルトの名無しさん :2012/03/23(金) 09:30:49.64
ど素人です 改行の関係でimportは省略してます labelにActionListenerが登録できないのですが、なぜでしょうか class test extends JFrame{ test() { getContentPane().setLayout(new FlowLayout()); JLabel label = new JLabel("てすと"); JButton b1 = new JButton("OK"); b1.addActionListener(label); getContentPane().add(b1); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("JButtonTest"); setSize(200, 100); setVisible(true); } public static void main(String[] args) { new test(); } } class LetLabel extends JLabel implements ActionListener{ public void LetLabe(){ } public void actionPerformed(ActionEvent ae){ } }
>>673 JLabel は表示専用の部品で、クリックに反応しないものだから。ボタン使えば?
675 :
デフォルトの名無しさん :2012/03/23(金) 10:16:32.51
>>674 私としてはボタンを押した時にラベルが反応するというプログラムを書きたかったのですが
そもそも逆だったのかもしれないということですかね・・・
>>673 のソースを見た感じ
・JLabel label = new JLabel("てすと");をLetLabel label = new LetLabel("てすと");に変更
・getContentPane().add(b1);の後にgetContentPane().add(label);を追加
・public void LetLabe(){}をpublic void LetLabel(){}に変更
・public void LetLabel(){}の後にpublic void LetLabel(String text){super(text)}を追加
でとりあえず動くんじゃないか
ボタンを押したときにラベルが反応するように書くなら ボタンのアクションのとこにラベルの反応を書かないと
うん
コンストラクタでいくつかの引数をとってその値をフィールドに値を代入していく手法 中身のないコンストラクタを記述しセッターを用いてフィールドに値を代入していく手法 どちらがいいのでしょうか? 後者は引数の値のチェックなどが楽そうですが……
両方できるようにしておけば使う側の都合で選べて便利だと思うな 不変オブジェクトには後者の方法を採れないが
ぬるぽじゃダメなものもあるしな。
クラス間の依存をなくすとか無理ゲーじゃないですか
>>683 完全になくすのは無理だし無意味。ちょっとでも減ればラッキーくらいな感じ。
まあ、幼少のみぎり、コンセントに鍵つっこんだオレの見解としては、 何でも刺さる穴はヤバイ。
日本語でおk
ツリー構造みたいな依存関係はいいと思うけど、 循環している依存関係はオブジェクト指向スパゲッティだと思う。
688 :
683 :2012/03/23(金) 21:04:30.09
インターフェイス使いまくれば無くせるよ 実際そういう手法はある
>>679 基本的にできるだけ不変にしてそのクラスが管理しなければならない状態数を削る。
コンストラクタの引数が増えてきたらビルダを使って不変オブジェクトを生成することを考える。
ただし、ビルダの分だけコードの量が増えるので、特に、外から隠蔽できる場合や、
アプリケーションを作っていて使う側も自分の制御下にある場合は、そのトレードオフ。
なお、JavaBeansなどは不変とは対極を行くものなので、それを考慮せずにごちゃまぜにしてはいけない。
コンストラクタの引数は7つぐらいが我慢の限界かな
>>679 RenderingHintsみたいに、大量の引数納めるためだけの専用Map作ってもいいのよ?
JDKが落とせなくなったんだけどなんぞこれ cookie OFFにしてもダメだ
引数は3つが限界
695 :
660 :2012/03/24(土) 14:44:59.08
オーバーロードで作るのはよくない? まぁ、シグネチャ一緒になっちゃうパターンも多いか
696 :
660 :2012/03/24(土) 17:02:13.49
ふうふう
オブジェクトコンポジションと委譲について混乱しています どちらも同じような意味で使われていませんか?
Composite な委譲のついでに ChainResponsibility と Proxy と Decorator が同居とか 大して珍しい設計ではない。 何も心配することないので安心していいよ
699 :
697 :2012/03/25(日) 11:14:59.42
>>698 ありがとうございます 安心して勉強を続けられます
>>698 パターンが混在するのはあるが
> ChainResponsibility と Proxy と Decorator が同居とか
これはないだろ
ジェネリックにIntegerではなくてintを入れたいです もしくはAllocatorを指定できればIntegerでもかまいません ようはintが使えない場合プールしたメモリを自前で切り盛りしたいのですが どのような書き方で可能でしょうか
>>702 できないと思う。int[] をどうぞ。
なるほど了解です
705 :
デフォルトの名無しさん :2012/03/25(日) 19:47:54.49
渡された文字列に対応するオブジェクトを返すクラスを作りたいと思います。 class ExtA extends Base{ … public getObject(String str){ if(str.equal.("test")){ return new Test(); } else if(str.equal.("moge")){ return new Moge(); } } … } class ExtB extends Base{ … public getObject(String str){ if(str.equal.("tea")){ return new Tea(); } else if(str.equal.("cup")){ return new Cup(); } } … } 作ってみたところ同じような処理なので、Baseの中に処理を書きたいと思うのですが このような場合どういう風に抽象化すればいいのでしょうか? Baseを継承した各クラスにListを使って文字列をキーとしてそれに対応するクラスのインスタンスを入れておこうかと思ったのですが冗長なような気がしたので。。
HashMap<String, Class<?>> map = new ... map.put("test", Test.class); map.get("moge", Moge.class); ... Class<?> cls = map.get(str); if (cls != null) { try { return cls.newInstance(); } catch ( ... こんな感じ?
sun.comドメイン終わったな。
こんな雰囲気? コンパイルしてないので動くか分からないが class Base { public Object getObject(String str){ return ObjectType.valueOf(str.toUpperCase()).getObject(); } } enum ObjectType implements ObjectReturnable { TEST { @Override public Object getObject() { return new Test(); } }, MOGE { @Override public Object getObject() { return new Moge(); } }, (略) } interface ObjectReturnable { public Object getObject(); }
ワロタ
interface Factory { Object create(); } private final Map<String, Factory> map = ... Object getObject(String name) { return map.get(name).create(); }
え?
ArrayListで要素をn個用意して指定の値で埋めるメソッドないですか?
探して見つけられなきゃ作ればいい
作るのは簡単ですけどこんな単純な処理をプログラマ単位で書かせるのはjavaとして当たり前なんでしょうか? 例えばC++だとstd::vector::assignとして組み込まれています。 それと指定した値でfillする方法ももしかしてないのでしょうか。 C++でいうstd::fillなのですが、javaだと配列に対してはjava.util.Arrays#fillで出来るのですが ArrayListに対して同様にfillすることは出来ないのでしょうか。
出来ない おまえのJavaには
>>714 new ArrayList<String>(Collections.nCopies(10, "abc"));
Collectionsでいけました
>>716 ありがとうございます!
718 :
705 :2012/03/26(月) 01:47:32.11
>>706 回答ありがとうございました。
早速試してみたいと思います。
ライブラリとAPIの違いがよくわからないのですが教えてもらえないでしょうか
文脈によるけどAPIはインターフェイスでライブラリは実装。 ライブラリではないAPIの典型例としてはPOSIX規格。
>>720 なるほど
しかし、ライブラリなのにAPIって使われ方している物が多くないですか?
>>721 APIとライブラリが1:1に対応してると、それほど区別する必要がない。
そのためライブラリとAPIは混同される事が多く、
相手がどんな意図で使ってるかは文脈による。
724 :
デフォルトの名無しさん :2012/03/26(月) 12:51:31.58
Web上でデータベースと関連付けて、顧客管理したり、店の予約したり、会員登録したり、登録したやつがマイページから自分の情報を書き込んだりできるサイトが作りたいんですが、 まずJAVAの勉強でいいでしょうか あとは何を勉強したらいいでしょう html、cssは完璧か知らんが大丈夫です あとmySQLって何?言語?ソフト? ここで聞くことではなかったらすいません 先生お願いしゃす
API は外部の者がこれを通じてアクセスすることを期待するもののセットを表す。 これは一種のインタフェースだが、言語レベルでのinterfaceと区別するためにAPIという言葉が使われたりする。 API として明記されていないものを経由してアクセスすると、後方互換性について保証されることはないだろう。 ライブラリはフレームワークと対を成す用語で、制御の方向が ユーザのコードから提供されるソフトウェアを呼び出す場合はライブラリ、 提供されるソフトウェアからユーザの作成したコードを呼び出すものがフレームワーク と呼ばれる。一般にフレームワークの方が大掛かりなソフトウェアになりやすいが、 ソフトウェアの大きさで区別されているわけではない。
>>727 それが答えか
じゃあ自力で頑張るわ
ありがとう
Eclipseマーケットプレイスからのダウンロードがすぐ止まっちゃって進まないんだけど、 何が原因でどうすりゃ進むんだ・・・ タスクマネージャ開くと空きメモリがないっぽいんだけど・・・ ちなみにmavenの統合環境です
ヒープ増やすぐらいのことはしたの?
731 :
デフォルトの名無しさん :2012/03/27(火) 11:13:53.00
>>725 NetBeansのEコマースチュートリアルあたりから始めてみたら
>>725 多分3年じゃ終わらなくて5年位かかると思う。
求人の仕方とか学んだ方が早いかも
>>725 はどっかのスレにいた、上司に無茶振りされた非PGだな
>>725 サーバーがどんな位置づけかをはっきりさせること。
自宅サーバなのか、会社なのか、プロバイダの中に構築したいのか。
それからソフトはあなた専用の物か、それとも、汎用の、場合よると
製品として販売できるものを目指していのか。
自宅サーバ、固定IPを持つ会社の場合は、言語は
C,C++,Java,PHP,Ruby,Python,Haskall,Prolog なんでも問題なく
作ることができる。プロバイダの環境を借りる場合は、PHP,Java,Perl
などしか、使うことができない場合が多い。
MySQLはリレーショナルデータベースシステム製品の名前でこの
データベースに問い合わせるための言語がSQLなのだが、この言語は
それぞれの製品(処理系)によって拡張が甚だしく、他の処理系に転用
できないコードをいつの間にか書いてしまう。それで最初の選択が大事。
PostgresSQLを勧めます。
>>735 すまん。PostgreSQLだ。sがひとつ余計だった。
>>731-
>>736 みなさんありがとうございます
自力と言ったはいいもののウロウロしてました
確かに非PGなので、超初心者です
5年は正直キツイですが、覚悟してあれこれ使えるように頑張ります
Netbeansと言うのはわからないのでググってみます
phpがいいようですね
あとpostgreSQLはどっかの本に出てきたなあ程度しかわからないので、こちらもググります
サーバはレンタルサーバの中に構築したいのです
いずれ今来ている
>>725 のような案件が自分で出来たらいいなと思っています
今はその部分は全部プログラマーさんに投げています
アマゾンでPHPとSQLでデータベースを作るという本を今注文してみました
頑張りますー
>>737 森北出版の「Webアプリケーション構築入門 第2版」が参考になるよ。
あなたに必要なものがひと通り盛り込まれてる。
こういう本でおおまかに掴んでから、DBその他、個々の技術を詳しく学べば、捗ると思う。
もはやジャバを勉強する必要はないようだ
>>737 自分で出来もしないことを
投げるとは言わない
今ならどっかのクラウドサービス利用してそこにサーバ建ててもいいよな レンタルサーバなんかより遥かに柔軟に弄れる
>>740 言うだろ。
いずれにせよ主題から外れた些末な指摘だな。
主題なんてもともとない
言わない
跳ねない
目につかなーい
PHPはLAMPみたいな鉄板環境があるけどJAVAはどうなの? というか、LAMJでは駄目なん? PHPのが使い勝手がいいんじゃね?と思えてきた
java1.6ってupdate18以降からJTextAreaの折り返しがおかしなままになってる? まだバグフィックスできてないみたいだけど、開発条件がupdate18以降なので作り込むしかないですかねぇ。
>>747 「使い勝手」をどう捕らえるかによるな。
複雑な業務ロジックをPHPで記述して、メンテするとかぞっとする。
複雑な業務ロジックってたとえばどういうの?
751 :
デフォルトの名無しさん :2012/03/28(水) 15:49:29.21
そもそもPHPで大規模なWEB構築ってしないだろ。
大規模は知らないけど、中小規模だとPHPの案件ばかりだな
何をもって大規模なのか
>>750 俺がやった奴で一番面倒だったのは、ワークフローの承認部分
状態遷移図がすごいことになった
RailsでLaunchして、結局Javaで作り直すパターンがあった。
ジャバとデザパタは前世代のフロー・パラダイムではなくOOPパラダイムと典型セットですから
Java関連のファイルをアンインストールするときにJava7 JRE U2はWindowsフォルダのどこかに ブラウザのプラグインのDLLのゴミが残るとか、Java6 JRE U30はインストールしたユーザーの Application Data\Sun\Java\jre1.6.0_30のフォルダに30億のJavaイスのステマ画像のゴミが残るとか そういった手動で消す必要のあるフォルダファイルをまとめたようなものってありますか?
日本語でおか
Application Data\Sun\Java\jre1.6.0_30 でイメぐぐって吹いた
並べ換えてちょっと補完してみた Java関連のファイルをアンインストールしても、 Java7 JRE U2の場合は、ブラウザのプラグインのDLLのゴミがWindowsフォルダのどこかに残り、 Java6 JRE U30の場合は、インストールしたユーザーのApplication Data\Sun\Java\jre1.6.0_30のフォルダにゴミが残ると伺いました。 そういったフォルダファイルは手動で消す必要があると思いますが、まとめた一覧ってありますか? 30億のJavaイスのステマ画像
きっとあるから探してみてね
762 :
デフォルトの名無しさん :2012/03/28(水) 22:39:23.43
Javaで、特定の文字列から含まれる特定の文字を取り除くにはどうすればいいのでしょうか。 取り除くべき文字は常に固定なんですけど、文字の種類は複数あります 例えば h,o.g_eという文字列から「.」と「.」と「_」を取り除きたいんですが、 自分でやろうとしたら、substringにLastIndexofの組み合わせを3回も使ったやり方になってしまいました。
apache mysql phpがいいじゃろ
javax.sound.midi.Receiverの自己実装部分ですが @Override public void send(MidiMessage message, long timeStamp) { // -112はケンバンの意味? if (message.getMessage()[0] == -112) channel.noteOn(message.getMessage()[1], message.getMessage()[2]); } channelはjavax.sound.midi.MidiChannelのオブジェクト @noteOffは必要でしょうか? Aピッチベンド整数値-31を制御する方法 Bいい感じのサンプルどこかにありませんか? どれか回答お願います
すみません、VBA使いでJavaの勉強を始めたのですが、 ちょっと調べてもわからなかったので教えてください。 VBAのWithステートメントのように、 With A .Value .Name End With というような書き方を、Javaでもできないのでしょうか。
>>764 リンク先が見れないのですが、Replace.allだけですか?
ありがとうございました。
いえいえ
VBA ?
>>738 ありがとうございます
さっそくアマゾンで注文してみます
ときたまVBのこんな書き方が、とかアホ質問する基地外が紛れ込むけど、これはやっぱりステマステマ言ってほしいんだろうか。
>>754 そういう部分だけPrologを呼ぶとかないものか。Java、PHPどちらもだけど。
部品化再利用の時代にフレームワーク固定ってのは厳しいよね 後で変更がいくらでも可能でないと。
>>772 懐かしいなprolog
大学の実習で家系図を作るってのをやった。
天皇家とサザエさんと。
30億のJavaイステマ
>Aピッチベンド整数値-31を制御する方法 自己解決したので需要無いだろうけど書き込み 8192に収まる値をjavax.sound.midi.MidiChannel.setPitchBend(int pitch) これでいけました。正しいかは不明 引き続き@Aの回答お待ちしております
>>766 おお!
With ってPascal だけかと思ったらVBAにもあるのか。
Javaだとメンバーへの大量アクセスは所属クラスのメソッド化するのが定石だね。
ないと言うより、基本的でもっと便利な方法があるってことだね。
778 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/03/30(金) 22:25:07.34
>>747 俺も同じとこ悩んでる
エロい人知恵かしてー
JEditorPaneのLineWrapのバグの直し方は知っているが、JTextAreaは知らぬ。
781 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/03/31(土) 23:56:50.70
ふーん
783 :
782 :2012/04/01(日) 11:36:18.30
独り言になっていました、すみません。 問題のURIはどのように扱えばいいのでしょうか?
>>782 「複数のPCでクッキーを共有させる」ってのがそもそも間違ってると思うけど。
>複数のPCでクッキーを共有 まさかサーバを作る話じゃないよな?クライアントを作るんだよな? >クッキーが所属するURIは、HttpCookieのgetDomainとgetPathで取得できる を本気でアテにしていいのなら、マネージャーへのURIはnullで構わないはず。
786 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/01(日) 16:51:58.21
入門書片手にJava勉強中の身です。 pck1ってパッケージの下にsub1ってパッケージ作った場合 実際にディレクトリpck1が作成されて、その中にディレクトリsub1が作成されてるんですか? 自分で調べろ、と思われそうですがEclipseのワークスペース以外から 実際の(?)パッケージをどうやって見ることが出来るのかわからず…。
そうです
てかEclipseのキャプションバーにでんだろ
789 :
786 :2012/04/01(日) 17:42:52.07
>>787 ありがとうございます
>>788 あっタイトルバーに出るんですね、ありがとうございます
すごく便利ですね
eclipseは1週間以上使ってますが、全然気づきませんでした
例外処理で catch(IOException e) { System.out.println("エラー1"); } catch(NumberFormatException e) { System.out.println("エラー2"); } みたいにValiableDeclaratorIdは重複してつけても問題ない?
問題ない
同じtryブロックに係る例外ハンドラの例外仮引数名だけならOK。 取り囲むブロックのローカル変数や仮引数の名前と被ってたらダメ。
コマンドプロンプトから実行するときの話です。 java Sample1 test.txt java Sample1 "C:\Documents and Settings\User\workspace\Sample10.java\test3.txt" こののように二重引用符があってもなくても問題なく実行できるのはなぜですか? 下の方はわかるのですが、なぜ上のケースで実行できるのか腑に落ちません。
Java関係ねえ 途中にスペースとかなくてパスが通ってるからだろ
795 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/01(日) 20:30:08.11
>C:\Documents and Settings この部分を2重引用符で囲まないと、javaコマンドは引数がたくさんあると勘違いしてしまう。 javaコマンドに引数を渡すときはスペースで区切っていくつでも渡すことができるから。 だから、パス名などにスペースを含むときは必ず2重引用符でくくらなきゃいけない。
エスパーするとカレントディレクトリにtest.txtが存在しないのになんで実行できるのかってことだろ? わかんねーよ
相変わらずアホなスレですな
パスが通ってるとか関係ないんじゃね? 単にSample10.classが C:\Documents and Settings\User\workspace\Sample10.java\ にあるだけかと
800 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/02(月) 03:54:29.31
java.net.URLの URLオブジェクトから特定のGET引数を除去したURLオブジェクトを作成する方法を教えて下さい
デフォルトポート用HTTPなら url = new URL("http", url.getHost(), ""); でいいんじゃない?とエスパー
ブルートフォース用の辞書ファイルを作ろうと思うのですが、8桁までの数字をメモ帳などに出力するプログラムはどう組めばいいですか?
803 :
忍法帖【Lv=2,xxxP】 :2012/04/03(火) 08:27:46.09
すいません、下げちゃいました
>>802 0 〜 99999999 をテキストファイルに書き出したいってこと?
そんな簡単なこともできないの?
ってか、そんな辞書作ってなんの意味があるんだろう…。
805 :
忍法帖【Lv=2,xxxP】 :2012/04/03(火) 08:51:17.61
>>804 まじで自分でもそう思います……
まだjava始めたばっかりなんです…
どうしたらいいんですかね?
馬鹿には無理
807 :
765 :2012/04/03(火) 11:43:37.76
だれかBにレスください
>>8 桁までの数字
その8桁は何かを引用するの?それとも生成するの?
File file = new File("path/ファイル名.拡張子");
fileに対してwriteとかしちゃえばいいと思うよ 検索キーワードは java File操作
String.valueOf(arg)がいろんな型を食ってStringにしてくれるから nullを食わせたら"null"になってくれるんじゃないかと思ったら ぬるぽになりやがってくそうくそう。
String#valueOf(char[])の方を呼び出しちゃったんだな。
810 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/03(火) 19:09:59.62
If (hoge.toString().indexOf("manko") < 0) { } という式を A > Bという風にしたいのですが、何か良い方法はないのでしょうか? (!(hoge.toString().indexOf("manko") > 0) というのは無理でした ((hoge.toString().indexOf("manko") == -1) はあまり好きではないのですが
int ret = hoge.toString().indexOf("manko"); if (0 > ret)
If (-hoge.toString().indexOf("manko") > 0) {
こだわる意味がわからない
if (0 > hoge.toString().indexOf("manko")) {
>>810 int A = 0;
int B = hoge.toString().indexOf("manko");
if( A > B ){
}
817 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/03(火) 19:48:20.27
新規開発で選ぶならORMは何が良い? むしろRDB捨ててODBとか使ったほうが良いのかな?
818 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/03(火) 19:49:34.50
-1と==で比較すると遅いの?
820 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/03(火) 21:22:50.21
ううん
そのプログラム内で統一されてば書き方などどうでもいいと思う。
最適化ってどの程度の範囲でされるんだ
823 :
765 :2012/04/04(水) 01:02:58.47
とりあえず 比較演算子は < の向きに統一するのが作法 って、おじいちゃんがゆってた
>>504 『Javaの鉄則』とか『Effective Java』とか読んでいれば必然的に配列を使うのを避けようとするようになるよ。
ArrayListでなんとかなるものはなるべくArrayListで解決しようとする。
それ以外で配列を使うのは、パフォーマンスの問題やそれ以上修正する予定がないであると思われる単純なコードに配列を使うのみ。
配列はインデックス・アクセスで、Listはランダムgetメソッド経由なんで、ジャバ的には両者を比べること自体間違ってますよ。
827 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/04(水) 11:10:54.25
byte value = (byte) Integer.parseInt("10101100", System.out.println(Integer.toBinaryString(value)); System.out.println(Integer.toBinaryString(value & 0xff)); -- 11111111111111111111111110101100 10101100 -- byte 型を int型にキャストすると、なんと左側に 1 が埋められるという 意味がわからない仕様なんですが、どうしてこうなるんですか
byte 型は符号付きなので値の範囲は -128〜127 それを int に変換したらそのまま -128〜127 負の値というのは左側に 1 が埋まっている値だから、そうなる
あんまJava関係ないですが 長らくCばかりいじっていて久しぶりにJavaをさわったら オブジェクト指向的ってどんなんだっけな状態です あるデータ構造をXMLでセーブして、 ロードするとまた構造が復元できるっていう風にたいとき セーブ、ロードのメソッドがあるインターフェースを定義して、 データ構造の構成要素のクラスでそのインターフェースを実装して ・・・あれ、こっから先どうするんだっけ? 共通のインターフェースを使ってなんかまとめられたような気がするけど よく分からなくなって結局べた書き なんかきれいな方法ありましたっけ?
馬鹿には無理
シリアライズでググれ
>>829 XMLにできれば何でもいいなら java.beans.XMLEncoder, XMLDecoder があるけど、
そーゆー事じゃなくて?
個人的にはデータ集合の管理とXML入出力はまーったく別クラス設計にすることが多いかなあ。 特にデータ集合の方はXMLのエの字さえ許さない徹底ぶりを 後でJSON追加とか言われたときも同様 各種マッパーは基本あてにしない。作業量次第だけどナー
なんでもかんでもオブジェクト指向にするのは今でも流行ってます
オブジェクト指向というなら本当はXML入出力をデータから分離したりするべきじゃないけどな
xmlは、今思えばなんでこんな形式が出現したのかわからなくなってるw jsonみたいなもっと短くていい形式はあるのに。で、json というか、 キーと値みたいな単純な形式がネットワークを行き来する プログラミングは文句なくスクリプト言語のほうが短く綺麗に書ける java は近年のプログラミングスタイルに合わなくなってきてる。 ゴタゴタとアクセサメソッド書かせるのはまったく今の状況と合ってない。 込み入った処理を書くには Java がいいなあと思うこともあるけど、JavaScript の 軽快さに慣れていかないといけない。
>>836 後から出てきたもののほうがよくて、今思えば、ってのは当たり前のことじゃないの
結局データに振る舞いとか不要
>>835 >オブジェクト指向というなら本当はXML入出力をデータから分離したりするべきじゃないけどな
タグ名や属性名に変更入るたび本家実装がいじくりまわされるのは我慢OK?
動けばよい
うん
>>838 Javaの最大の問題点は、振る舞い持たなくていいデータの定義を
どうすりゃいいのか迷うとこだな スクリプト言語みたいに、
単に HashMap 使うスタイルが推奨されてないのがまずい。
しかし、こってり振る舞いを定義してはいるが、少しはデータを持ちたいオブジェクトや、
大量にデータを抱えてはいるが、少しは振る舞い持ちたいオブジェクト、が世の中必要なシーンがあるのだ。
たぶん、この、大量にデータを抱えてはいるが、少しは振る舞い持ちたいオブジェクト、
これが綺麗に書けないのが Java の一番よくないところだ。
意味不明
広い世界を自分で狭くしてるって感じなんだろうな。
よくわからん 少しの振る舞いを定義したクラスにMapでも持たせればいいだけじゃないの?
JavaのOOPを難しく考えすぎ。Javaでも「HashMap使うスタイル」で「綺麗に書ける」よ。 高度なオブジェクトにしたくなければ単純なObjectとしてHashMapに詰め込めば良い。
そういうのはドメインモデル貧血症っていうアンチパターンだよ あくまでオブジェクト指向的にはアンチパターンなんであって開発がうまくいくかどうかは別
オブジェクト指向的には「大量にデータを抱えてはいるが、少しは振る舞い持ちたいオブジェクト」が 必要になるような設計がおかしいということか
849 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/06(金) 16:25:31.96
activeobjectsを試しに使ってみようとテストコードを書いてみたら EntityManager#migrate(); で You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ENGINE=InnoDB' at line 8 となった activeobjectsがどんなSQLを発行しているのかも良くわからない どうしたらいいですか?
諦めて勉強し直すのが一番早い
早いね
うぇーい
853 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/07(土) 10:38:39.16
Javaで1.6以下のコンパイラーにてstringを使ったswtich文をどうEnumを用いたものにすればいいのでしょうか。 enum enumtest { AAA("あ"), BBB("い) private String name; private test (String name) {this.name = name; } @Override public String toString() {return name;} } public class test { //メンバ変数 Sting strString; public void methodA() { if (条件) { strString = enumtest.AAA.toString; } else { strString = enumtest.BBB.toString; } } pulic void methodB() { switch (strString) { case AAA: break: case BBB: break: } } } 単純化してますが、こんなコードで、swichの所の(strString)でエラーになりますし、 (enumtest.valueOf(strString))にしてもエラーが出ました・・・。
valueOf は定数の本当の名前 ("AAA" とか "BBB" とか) じゃないといけない "あ" とか "い" とかは単に name という名前のフィールドに保持してるだけの文字列であって、その定数の本当の名前とは違う Java は名前に日本語が使えたと思うから enum enumtest { あ, い } でいいんじゃない それか自分で "あ" → AAA, "い" → BBB に変換するプログラムを書く
変に日本語使うと文字コードの問題にブチ当たる
>>854-856 ありがとうございました。
実際のコードはもと込み入っていて日本語名変数を使うと長くて保守も厳しいのですが、
Enumの中で、strString = "あ"という引数を与えられたら、"AAA"を返すメソッドを作ればいいんですね?
SIの会社に新卒で入って研修を2〜3ヶ月やるけど、 どのくらいできるようになるの? 世間的には高学歴な人でも挫折する奴多い?
微妙に間違ってる
>>858 >どのくらいできるようになるの?
そんな千差万別の話されても…
>世間的には高学歴な人でも挫折する奴多い?
新人研修についてけないやつは普通雇われないんじゃね。
研修内容なんて大体どこもやってることは同じだろ サーブレット動いたよ程度 専門卒涙目だなw
862 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/07(土) 14:53:11.86
activeobjectsって公式サイト見てもチュートリアルすら無くないですか? ちゃんとチュートリアルがある簡単なORMがあったら教えて下しあ
863 :
849 :2012/04/07(土) 15:04:46.30
mysql connectorのバージョンが古かった+Entityを継承したインターフェースにidフィールドを書いていた ことが原因だった
解決オメ
865 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/07(土) 15:35:51.60
普通、必須なフィールドはコンストラクタで指定するようにしますが activeobjectsだとEntityをEntityManager#create()したあとsetterでセットする感じになるんですか?
>>856 ジャバ言語で書いたソースコードならそうでもないですよ
基盤系エンジニアって具体的に何を作ってんの? javaじゃない?
配線
フロントエンドはぶっちゃけ何でもいいよ
>>857 普通hashMapとか使ってkeyとvalueで対応させるんじゃないの?
C++を少しだけ使えるようになったのでjavaも勉強しております。 そこでどうしてもわからないことが出てきてしまいました・・・。 javaでクラスを管理できるような変数、方法はないでしょうか。 // イメージ //main.java public class main { public static void Init() { /* これのtest1等のクラス名を変数に格納したい if( id == 0 ) test1.Init(); if( id == 1 ) test2.Init(); */ XXXX classMgr = ""; if( id == 0 ) classMgr = "test1"; if( id == 1 ) classMgr = "test2"; classMgr.Init(); // こんな感じにしたいです。 test1〜testXのクラスには必ず同じ関数名の関数があります。 } } わかりにくいご質問で申し訳御座いません。 ご教授頂けないでしょうか。
Class<?> classMgr = null; if( id == 0 ) classMgr = test1.class; if( id == 1 ) classMgr = test2.class; classMgr.getMethod("Init").invoke(null);
EclipseでVisual Studioみたいに sって入力したら即座にsから始まるメソッド等が表示されるような設定ってできないの? できるんならどうやるの?
できたと思うけどウザイんじゃないかなぁ ctrl+space でいつでも出せるんだし Preference の Java > Editor > Content Assist > Auto activation triggers あたりをいじってみそ
やったことあるけどVSほど精度よくないからウザいよ
Javaの有効化なんとかトリガー これDefaultだと「 . 」になってるけど、 どの文字を打っても候補が出てくるようにするにはどうすりゃいいんだ?
.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_ って記述する以外で頼む
クラス名を変数に格納するようなことはc++では出来ました?
880 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/08(日) 09:27:47.07
うんにゃ
881 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/08(日) 09:37:11.15
activeobjectsで、 public interface 契約 extends Entity{ @OneToMany public Person get甲(); @OneToMany public Person get乙(); } こうすると、get甲でもget乙でも 甲乙を区別しない合算された結果が返ってくるのですが 解決方法をご存知の方いませんか?
swingのフォーカスについて質問です。 子コンポーネントのフォーカスリスナーはaddFocusListenerで登録できますが 子コンポーネントにフォーカスが当った事を親に通知するイベントが存在しますか? また存在するならリスナー登録方法を教えて下さい。
通知を受けたい人 (親?) が問題の子コンポーネントに直接フォーカスリスナーを登録すればいいじゃないか
J2EEについて質問があります 普通の(HelloWorldなど)Javaのプログラムを組んでいるときJDK(J2SE)を使っていますよね。 Tomcatなどのアプリケーションサーバを利用してサーブレットを作る際はJDK(J2SE)+J2EEを使っていることになるのですか? このJ2EEとは一体どういうものなのでしょうか?サーブレット等Webアプリケーションをプログラミングする際に必要になるライブラリ群のような考えでいいのでしょうか
そんなことは気にしないでどんどんつくれ そのうちわかるようになる
886 :
884 :2012/04/08(日) 18:06:39.02
>>885 いやww そこをなんとか教えてください……
断固として断る
>Javaの最大の問題点は、振る舞い持たなくていいデータの定義を >どうすりゃいいのか迷うとこだな スクリプト言語みたいに、 >単に HashMap 使うスタイルが推奨されてないのがまずい。 JavaでもMapを使う実装をを見たことがあるが、C言語の構造体っぽく使うから、HashMapの中にさらにHashMapが何重にもネストして入っていて最低だった。(さらにしかもおもいつきレベルでぽこぽこデータを突っ込んでまったく整理されていない) 普通にセッター・ゲッターのみをもつクラスをつくればいいだけだと思うんだが、スクリプトではこれが普通なの?
>>872 です
ご連絡が遅くなってしまいすみませんでした。
ご丁寧にありがとうございます。
教えて頂いたソースを見ながら、色々と試してみて
コンパイルは通るようになったのですが
ログキャットにものすごい警告が出てしまいます。
(クラスの中身の処理はたまにされております。)
getMesodだけだとコンパイルが通らないので
いろいろなものをクラスにthrowしております。
(try catch)でもやってみました。
try catchなどを付けなくても動くものなのでしょうか。
>>889 try catchはException系例外が発生する場合にのみ必須になります
RuntimeException系例外が発生する場合try catchをつけなくても動作します
>>884 サーブレットやJDBCなどエンタープライズアプリケーションを作る際に
必要となるさまざまな仕様を集めたもの。バージョンも括り付けられている。
サーブレットで言えば、J2EE1.4なら2.4、JavaEE5なら2.5とか。
GlassFish, JBoss, WebSphereとかのアプリケーションサーバは
J2EE仕様に基づいて作られた実装。
JavaEE仕様に基づいて作ったアプリであれば、基本的に
どのアプリケーションサーバでも動く(はず)。
>>891 難しいですね
サーブレットのサンプルプログラムを作った というのは
「J2EEの仕様に基づいて組まれているライブラリを使いサーブレットのサンプルプログラムを作った」と同義でしょうか?
J2EEは利用する物ではなく仕様であり、J2EEに基づいて作られた物を利用する。
891さんが説明なさってくれた物を自分なりに解釈してみたのですが間違いありますでしょうか?
馬鹿には無理
J2SEも仕様だからね。 実装としてOracleのがあったりする。
895 :
766 :2012/04/08(日) 23:01:49.82
>>777 なるほど、所属クラスのメソッド化ですね。
ありがとうございました。
>>890 さん
ありがとうございます!
何とか実装できました。
処理は出来ているので警告は何とかします。
897 :
765 :2012/04/09(月) 02:05:55.54
映像ストリーム出力か、swing任意のコンポーネント(例JPanel1枚)を DirectXのキャプチャソフトに認識させたいと思ってます。 説明がつたないけど許して たとえばswingのフレームを最小化した状態でも、キャプチャできる状態にしたいのです 何か提案おねがいします 使用例としてはニコ生ライブエンコーダ上のWEBカメラ上に半透明の描画オブジェクトを 表示したいのです
898 :
765 :2012/04/09(月) 02:09:40.09
以前Bのよさげなサンプルプログラムを探していましたが こちらは事故解決しました。需要あるかわからないけど述べておきます WINDOWSだとMIDIマッパーがjavaから制御できるので そちらにショートメッセージを投げるだけで後はMIDIまっパーにお任せできるようです
なんでこんなにtryアンドぬるぽの繰り返しになってしまうんですか?
ガッしないからです
901 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/10(火) 15:39:39.73
java(TM)6 Update31をインストールできません。 インストール中にエラーメッセージが出ます。 選択した機能は現在使用できないネットワークリソースにあります。 OKをクリックして再実行するか、インストールパッケージ’jre1.6.0_12.msi’を含むフォルダに対する代替パスを以下のボックスに入力します。 となって先に進めません。ちなみにjavaはアンインストールしています。 助けてください。
アンインストールに失敗してて残骸が残って悪さしてるか インストーラが壊れてるか、その両方か。
>>904 valueOf((Object)arg) で良いんじゃね?
907 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/11(水) 01:34:21.34
初歩的な質問です class a{ b b = new b(); string test="a"; } class b{ string test="b"; } こんな感じの時クラスaからクラスbのtestを取るにはb.testでとれると思うんですが クラスbからクラスaのtestを取るにはどうしたらいいでしょうか testの値は変化するので現在のtestの値を取得したいです
クラスとインスタンスの考え方があやふやな気がするけど… クラスaの中に自身のtestの値を返すメソッドを置けばいいんじゃないかな getTest()みたいに
そのプログラムでなら、new a().test;
publicとprivate明示させて getterとsetterでやり取りするやり方の利点を学んで、クラスとインスタンスの関係を学べば良い
java(TM)6 Update31をインストールしようとしたら
このページは表示できませんと出てしまいます
現在対処法がわからず困ってます
これは
>>903 でよろしいのでしょうか?
何かアドバイスをいただけたらありがたいです
microsoft.com/support に電話して有料相談を受けましたか?
914 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/11(水) 12:36:48.87
>>911 903とはちがうでしょ
インストール時の問題じゃなくて、そもそもダウソできねーって話でしょ?
ちなみに、こちらの環境でもダウソできないから、HP側の問題じゃない?
別のサイトとかFTPとかから落とせばモウマンタイかと
915 :
914 :2012/04/11(水) 12:56:13.33
JRE・・・オフライン用もオンライン用もサーバーが見つかりませんでしたって出てダウソできない・・
板違いだろ。
糞オラクル死ねよ
>>914 >>915 なるほど、あちら側の問題という事ですか
解決策だけでなくサイトまでご紹介していただきありがとうございます
今ちょっと外出してるので、後ほど利用させていただこうと思います
どうもありがとうございました
Linux に JDK を入れたのですが、困っています>< Linux 版 JDK は 7 しか置いてません>< なので仕方なく JDK 7 を入れました。 一方、JRE は 6 を入れています。 まとめると、以下のような環境です。 ・CentOS 6.2 ・JDK 7 ・JRE 6 テストとして以下のコード (Main.java) をコンパしました。 public class Main { public static void main(String[] args) { System.out.println("><"); } } コンパイル (javac Main.java) はうまくいきました。 実行 (java Main) したらエラーが出ました>< (今自宅なのでエラーメッセージを再現できません><) やっぱり、JDK 7 と JRE 6 の組ではダメなのですか?
JREとJDKどっちのJVM使うんだYO!的なメッセージを エラーメッセージと勘違いしてるだけ、とかないよね? あとはクラスファイルのバージョンが1.7のだから実行できないYO!とか。 そっちなら -target 1.6 すりゃいいだけ。
>>923 迅速適切なレスありがとうございます!
明日試させてもらいます。
いえいえ
俺も明日になったら試す!
2つ質問があります。 Linux上でJTextComponentのフォーカスが取得できない事があるバグを直す方法を教えて下さい。 10年以上前からバグとしてSunのページに乗ってますが直す気配がありません。 ComponentShownをつかって遅延validateするDelayPanelを作りました。 しかしそれをJTabbedPaneのrepaintしまくりのバグによって誤動作してしまいます。 JTabbedPane以外でタブを扱う方法を以前に使っていたのですが忘れてしまいました。 そのタブを使う別法を思い出すヒントを下さい。
928 :
827 :2012/04/11(水) 22:17:25.32
すみません、二番目の質問を取り下げます。 ネットで検索してたら自作TapPanelで良さそうなのがあったのでそれで行こうと思います。
bugID晒せば? voteしてくれる奇特な人がいるかも知れんし。
930 :
827 :2012/04/11(水) 22:53:01.76
Bug ID: 6506617 これだったかな?これはキーフォーカスのバグで、他にも同問題のBugIDが複数あることを確認しています。 このバグはjava1.4以上で起こる事を確認しています。1.3以下はテストしていません。 Windowsでは起こりません Linux(複数の種類)でのみしばしば再現します。
>>927 上にボタン並べて
panel取っ替えればいいんじゃないの?
932 :
827 :2012/04/12(木) 07:03:27.46
lang ←これなんて読んでる?
らんぐ
ペーパーテストをあらわすPaperTest.java
途中投稿すいません 設計方法について困っています。アドバイス頂ければ幸いです。 以下いま抱えてる疑問 ペーパーテストをあらわすPaperTest.java フィールドには点数、日付、氏名、問題を持ちます これを採点するCheck.javaを作ろうとする場合 採点したものを保管するために、上記のPaperTestの持つフィールドと同じものを用意すべきでしょうか? PaperTestのコンストラクタでCheckを呼び出し、採点結果をPaperTestの各フィールドに代入しようと思っています この場合Check側に採点済みの各フィールドを取得するためのゲッターを用意しなきゃならんと思うのですが、 なんだか冗長なコードになってる気がします。
プロジェクトというものはまず動くものを作って次に設計云々を考えないとそれはいつまでも机上の空論のままですよ。
永続化すること前提なのかどうかとかで色々かわるからなぁ。 最終的にDBに入れるなら、そっちの設計考えてからにするけど。 Entityがどうなるかとか。
>>937 ありがとうございます
動く物は既につくってあります 一ヶ月かけてWebアプリケーションを作成しました。
ただ自分のコードを見直してみると、フィールドに持たせるべき物はこれでいいのかと考えてみると困ってしまいまして。
フィールドってなんなんだと混乱してきてしました……
プログラムってただ動くだけのものは簡単でも綺麗に組むのは難しいですね
どうやったら綺麗に組めるのか結城浩さんのデザインパターン入門やら読み込んでいるのですが……
道のりは長そうです
java.langのlangってどういう言葉の略語や由来なんですか?
langage
>>941 ありがとうございます。
なんだこのネーミングセンスは。
>>937 設計という物をなんだと思ってんだよwww
ネタだろうが・・
設計という物を一体なんですか?
動く物を考えて机上の空論で語るもんじゃないんですか?
机上の空論はいいすぎた・・ 机上で語るに言い換えて欲しい
断る
if (Array) { } のように配列だけ条件文に書いてある時、このif節はどういう条件分岐するんでしょうか?
Main.java:4: 互換性のない型 検出値 : int[] 期待値 : boolean if (Array) { ^ エラー 1 個
エラー見た感じArrayはint型の配列 if文は論理式のみ判定できる
>>948 コメントアウトしないとコンパイルエラーになるような手動の条件分岐。
953 :
950 :2012/04/13(金) 13:01:14.96
なんか語弊がある 修正させてください ネタかどうかわからないけど自分も学び始めのときいろいろと困ってるときは苦しかったので if文は論理値を判定する構文ですね int x = 10 if(x > 0) ならこの「x > 0」という論理式はtrueを出し、trueの処理へと。論理式がtrueという論理値を出してることになるんですね boolean result = true; if(result) でもtrueの処理に移ります ようはtrueかfalseか判定できる物をif文には突っ込まんといけんのですよ あなたがやってるのはint型の配列をそのまんまぶっこんでるだけです 論理値は出るはずがありません 母親に牛乳買ってくるように言われてゲーム買ってくるぐらいお門違いのことをしています
そのとーりーじゃけん!
>>942 略し方よりもjava.langなんて名前のパッケージを実行環境のコアに据えてるのが気持ち悪い
>>955 は否定しないけど、language を lang と略すのは普通。
動物クラス 猫クラス(動物クラスを継承) チンチラゴールドクラス(猫クラスを継承) 今このような状況で動物クラスのインスタンス変数へチンチラゴールドのインスタンスを代入しようとしたところ 型の不一致 とeclipse先生に怒られました スーパークラスのインスタンス変数へサブクラスのインスタンスは代入できるはずなので何がおかしいのか困っています
958 :
957 :2012/04/13(金) 16:02:41.52
解決しました チンチラゴールドクラスに何もまだ書いてませんでした せっかく例を考えたのにこんなしょうもないことだったとは
参考書の中で、 コンストラクタの中にフィールド宣言int div = 2;を単純に記述すると、 divはフィールドではなくなってしまうので注意しましょう。 と、あるのですが、どういう意味なのでしょうか? プログラムはこんな感じです。 class Calc { int div; Calc () { div = 2; } int calcDiv (int x) { return x /div; } }
>>959 コンストラクタで初期化する意味ないじゃんって参考書はいいたいのかな
よくわからんです
class Calc { Calc () { int div = 2; } //初期化してるけどフィールドじゃないよ! } って事じゃね?
フィールドのdiv変数がコンストラクタ内の同名のdivという変数に隠匿されて, フィールド変数のdivへの代入ができなくなるよってことでふぁ
963 :
デフォルトの名無しさん :2012/04/13(金) 19:46:17.15
藻前ら、漏れにservletとJSPとトムキャットの関連を教えろ
アプレット=クライアントJAVA サーブレット=サーバJAVA JSP=PHP トムキャット=サーブレットとJSP用のサーバ
そういや、tomcatでしか動かしたことないけど、ほかにもサーブレットに対応しているサーバーってあるんだろうか?
>>963 サーブレット仕様やJSP仕様に基づいて作られたアプリを
実行する環境の一つがトムさま。
>>966 サーブレット仕様やJSP仕様はJavaEE仕様の中の一つなので
JavaEE準拠のサーバであればどこでも動く。
Glassfish,WebSphere,WebLogic,Cosminexus,InterStage,WebOTX,JBossなどなど。
GlassfishとInterStageは使ったことがあるのですー☆
なるぽ
970 :
959 :2012/04/14(土) 01:14:34.45
ある文章(String型)をエスケープシーケンス含め表示させたいのですがいい方法ないですかね?
考えとくのでまた来てください
>>971 そのエスケープシーケンスを何で表示させるかによる
コンパイル時に元々エスケープシーケンスだったって情報は失われてる。
質問の仕方がダメすぎ
>>955 むしろ「スクリプト言語にありがちな、コアを特別扱い」なんかしないぞ、
という、設計者の意気込みを感じるんだ。
なかなか素敵だろ。
intやdoubleやStringを特別扱いしといてそれはねーよ
java.lang自体が特別扱いされてるところはスルーか。
例えば?
プログラミング・パールズのオートゲリマンダーの話は読んどいて欲しい。
大学2年でCやって3年の今Javaの授業が始まってクラス、オブジェクト、メソッド、インスタンス変数など 正直あまり理解できなかったのですが、参考書を読む際いきなりクラスとかからの説明から読み始めても Cの文法理解してればあまり支障ないですかね?
支障があるかどうかはお前次第
Cの文法とかは関係ない 大事なのは文法じゃなくてパラダイムの方
Cやってれば構造体はわかるでしょ。 その構造体に関数つけたい!ってのがクラスだよ。
関数ポインタ使えば構造体に関数つけられるじゃん
初期のC++でももうちょっとマシな解決してるだろ
c++11
>>981 FILE *fp 関係の関数って、いつも
fprintf(fp, .....);
fscanf(fp, ....);
fgetc(fp, .....);
fgets(....., fp);
fputc(....., fp);
fputs(....., fp);
ungetc(...., fp);
fread(...., fp);
fwrite(...., fp);
って fp をつけるよね。あと、
fp = fopen();
fclose(fp);
は最初と最後に必ずおくよね。
これってなんにでも当てはまる一種のパターンじゃないの?
>>981 Cやった時点でちゃんと理解していなかったバカ
Cでプログラミングやってればこういう機能欲しいなとか思うはず
それがクラス的な機能だったりする
>>989 >Cやった時点でちゃんと理解していなかった
それはさすがにかわいそう。
1万行くらいの中篇小説に手を出したりでもしないかぎり、短期間、しかもCをやっている時点で、クラスのような機構の必要性・利便性を予測するのは困難なのでは。
C++11 C99 C11 gcc g++ cc
Javaの勉強をすることで、更に理解を深められればそれでよし。 今すぐに理解を深められなくても、後々活かすことができればそれでよし。 プログラムの仕事につかなかったとしても、 プログラム意外の場で考え方とか整理の仕方が生かされる場面があればそれでよし。 それを理解できた時に理解できない者に大して高圧的になったりバカにしたりするよりマシ。
馬鹿には無理
>>981 俺も昔はCしか知らなくて
java始めた頃はmainがほぼ全ての処理だったよ
staticなメソッドばっか並べてさ
今改めて考えるとすんげーおもろいのw javaファイル1個なんよねw
そんな俺も数年したらちゃんとデザインパターンや色々考えるようになった
でも未だにjavaって冗長だなってつくづく思う
まあ大丈夫そのうちなれていくよ がんばって
じこしょうかいおつ
他のオブジェクト指向言語をいくつか触ると、違う意味でJavaは冗長だと感じるようになる
実際問題Javaは冗長だ 仕事増やすために作られた言語
985 地震雷火事名無し(東日本) [] 2012/04/15(日) 00:58:20.56 ID:lyWM/WtS0 Be: 18 名前をあたえないでください 2012/04/14(土) 18:45:57.12 ID:5MQDBpmZ 勘違いしちゃいけないのは、テレビ局にとっての「お客様」とは、視聴者ではなく、カネを持ってくる者。 では、スポンサー企業がそうかというと、実態はさに非ず。スポンサーを束ねる「広告代理店」これこそがテレビ局の金ヅル、お客様。 木村太郎が言ったように、韓流コンテンツ採用で、韓国からカネが入るのは、もう周知の事実だから、韓国そのものがお客様でもある。 テレビ局だけじゃなく、間にいる広告屋にも、当然それなりのものが流れているのは想像に難くない。韓流は、局と広告屋の双方にとっての金づるなわけ。 特に韓流番組は、韓国からの金+国内スポンサーの金と、局にとっても広告屋にとっても、利幅が大きい「おいしい商品」なんだね。 スポンサー料以外の、特に外国から来る金は、いろいろ偽装しやすいから、裏金にも回せて、局にとってはたいへんありがたい存在でもある。 以前、NHKが、韓国番組を相場の三倍で購入していると言われたが、常識で考えて、その金すべてが韓国へ行ってるわけがない。 自身や、間に入った傘下の会社へ、たっぷりと還流するシステムができていると考えるのが当然。 どこのテレビ局にとっても、こんなおいしいシステム、ちょっとくらい批判されたって、やめられる訳がありませんって。
千
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。