X



Java入門・初心者質問スレ Part.5©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0003デフォルトの名無しさん
垢版 |
2017/09/30(土) 10:23:06.80ID:bCNd7Mo3
Thread thread = new Thread();
thread.res.add(">>1乙")
0004デフォルトの名無しさん
垢版 |
2017/09/30(土) 18:50:43.35ID:oMV1vB2C
例外について質問させて下さい。
「起動直後にIOExceptionを送出して異常終了するようなプログラムを作成して
下さい」という問題に対して、以下のようなコードを作成したのですが、
https://ideone.com/wW1fnW
コンパイルエラーになってしまいます。どこがいけないのでしょうか。
0008デフォルトの名無しさん
垢版 |
2017/09/30(土) 20:45:35.27ID:Rtv4M1A2
っつーかさぁ
ほんとに勉強したいならideoneなんて使うのやめろアホか
eclipse落として来てローカルでやれ

例外のやつもideoneのトップページから初期のコードと自分のコードみりゃ
何が悪いか一発でわかるのにどうやったらこんなザマになるんだよ
000935歳
垢版 |
2017/09/30(土) 20:47:29.52ID:y8lb5R8S
クレリッククラスの作成例です。少し解答を参考にしましたが…。
http://ideone.com/24RQIb
mainメソッドはありません。
001035歳
垢版 |
2017/09/30(土) 20:50:55.33ID:y8lb5R8S
>>8
私は適正が有ると言われており、javaは一年間学習してます。
なぜ、そんなに偉そうなんですか?
おそらく、私の方が学歴が上だと思いますよ。
0011デフォルトの名無しさん
垢版 |
2017/09/30(土) 20:50:57.35ID:Rtv4M1A2
ゴミ
チラシの裏にでも書いてろアホ
質問以外のくだらねぇことは他所でやれカス
001335歳
垢版 |
2017/09/30(土) 22:03:09.35ID:y8lb5R8S
あぁ。。ああ。。。

すいません。頭の悪い人に対して、どの言葉を使えば良いのか分からないんです。
ところで、IF文はどうやって使うのですか?
001435歳
垢版 |
2017/09/30(土) 22:18:42.58ID:y8lb5R8S
俺を肯定してくれる方には
読むにあたりストレスを与えてしまいますが、すいません。ご了承ください。
>>8,>>12みたいに世の中にはおかしな人もいるので…。
0015デフォルトの名無しさん
垢版 |
2017/09/30(土) 22:29:31.70ID:YGfpYuAo
頭のおかしい人は自分と違うだけで狂ってると思ってしまうものさ
多様性を排除したければ引きこもってな
0016デフォルトの名無しさん
垢版 |
2017/09/30(土) 22:39:58.87ID:u0QhnRq8
いきなり気持ち悪いカスが表れたな、おいwww

でもまあ、35歳って名前で固定してくれれば、透明人間にできるから助かるわ

頼むから、名前は変えないでくれよ

一番いいのは消えてくれる事だけどさw
001735歳
垢版 |
2017/09/30(土) 22:40:30.15ID:y8lb5R8S
それより、>>9の評価を頂けれませんか?
コードが読めないんですか?
001935歳
垢版 |
2017/09/30(土) 22:43:05.42ID:y8lb5R8S
無能な人間に限って「w」が多いんですよね。
可哀そうです。

>>16
気持ち悪いカスは黙っといて下さい。
002035歳
垢版 |
2017/09/30(土) 22:44:00.75ID:y8lb5R8S
>>18
東京の大学です。
0021デフォルトの名無しさん
垢版 |
2017/09/30(土) 22:49:34.89ID:exgaAJX4
>>20
具体的な大学名は?

後、ソース見たけど、
メッセージ出てるだけでMP回復してないよね?
002235歳
垢版 |
2017/09/30(土) 22:54:25.75ID:y8lb5R8S
真面目に質問してるのに、訳の解らない事を言わないで下さい。
メッセージは出てます。 怒りますよ?
0023デフォルトの名無しさん
垢版 |
2017/09/30(土) 22:56:56.02ID:9q0iHIlE
>>4
まずは出力されているエラーメッセージを自分がよく理解できる言語に翻訳しましょう。
0024デフォルトの名無しさん
垢版 |
2017/09/30(土) 23:03:59.38ID:exgaAJX4
>>22
お前のプログラムで、
>天に祈ったMPが?ポイント回復しました!

ってメッセージで出力してるけど、
何で実際のmpを回復してないの?

お前ドラクエで
MPが回復してますってメッセージが出てて
実際のMPが回復しなくてもおかしいと思わないのか?
0025デフォルトの名無しさん
垢版 |
2017/09/30(土) 23:04:27.32ID:T2YNvN1J
なぜ、JAVAのライブラリにはCにあるような単純なスワップメソッドが無いのでしょうか?
簡単なのだから個々で実装しなさい、ということでしょうか?
0026 ◆BrBq2CJg6HGd
垢版 |
2017/09/30(土) 23:08:27.22ID:oMV1vB2C
「35歳」のコテハンは私の立てたスレを荒らす愚か者です。
皆さん迷惑を掛けてすいませんでした。
お手数ですが、無視/スルーを続けて下さい。お願いします。
002735歳
垢版 |
2017/09/30(土) 23:19:25.29ID:y8lb5R8S
タヒなすぞこいつ
0029デフォルトの名無しさん
垢版 |
2017/09/30(土) 23:24:59.29ID:u0QhnRq8
>>26
了解

つか、わざわざ全角で35を書き直してngから外れようとするとか、本当に迷惑なゴミクズだよな
003035歳
垢版 |
2017/09/30(土) 23:26:41.64ID:y8lb5R8S
「 ◆BrBq2CJg6HGd」のコテハンは私の立てたスレを荒らす愚か者です。
皆さん迷惑を掛けてすいませんでした。
お手数ですが、無視/スルーを続けて下さい。お願いします。

>>28
タヒなすぞこいつ
003135歳
垢版 |
2017/09/30(土) 23:30:35.37ID:y8lb5R8S
今日のコードです。
クレリッククラスの作成例です。少し解答を参考にしましたが…。
https://ideone.com/24RQIb
mainメソッドはありません。
003235歳
垢版 |
2017/09/30(土) 23:31:57.65ID:y8lb5R8S
今日のコードです。
クレリッククラスの作成例です。少し解答を参考にしましたが…。
http://ideone.com/24RQIb
mainメソッドはありません。

どうして、エラーなんですか?
003335歳
垢版 |
2017/09/30(土) 23:32:47.72ID:y8lb5R8S
今日のコードです。
クレリッククラスの作成例です。少し解答を参考にしましたが…。
http://ideone.com/24RQIb
mainメソッドはありません。

どうして、エラーなんですか?
はやく答えて下さい。
003435歳
垢版 |
2017/09/30(土) 23:33:20.28ID:y8lb5R8S
今日のコードです。
クレリッククラスの作成例です。少し解答を参考にしましたが…。
http://ideone.com/24RQIb
mainメソッドはありません。

どうして、エラーなんですか?
はやく答えて下さい。

学歴が低いと答えれない内容でしたか?
003535歳
垢版 |
2017/09/30(土) 23:33:55.10ID:y8lb5R8S
今日のコードです。
クレリッククラスの作成例です。少し解答を参考にしましたが…。
http://ideone.com/24RQIb
mainメソッドはありません。

どうして、エラーなんですか?
はやく答えて下さい。

学歴が低いと答えれない内容でしたか?
003635歳
垢版 |
2017/09/30(土) 23:34:28.04ID:y8lb5R8S
今日のコードです。
クレリッククラスの作成例です。少し解答を参考にしましたが…。
http://ideone.com/24RQIb
mainメソッドはありません。

どうして、エラーなんですか?
はやく答えて下さい。

学歴が低いと答えれない内容でしたか?
すいません、頭の悪い人に何て言えば良いのでしょうか?
003735歳
垢版 |
2017/09/30(土) 23:35:22.38ID:y8lb5R8S
今日のコードです。
クレリッククラスの作成例です。少し解答を参考にしましたが…。
http://ideone.com/24RQIb
mainメソッドはありません。

どうして、エラーなんですか?
はやく答えて下さい。

学歴が低いと答えれない内容でしたか?
すいません、頭の悪い人に何て言えば良いのでしょうか?
数学わかります? 私は解るんですけど? 分かりませんか?
003835歳
垢版 |
2017/09/30(土) 23:36:13.68ID:y8lb5R8S
今日のコードです。
クレリッククラスの作成例です。少し解答を参考にしましたが…。
http://ideone.com/24RQIb
mainメソッドはありません。

どうして、エラーなんですか?
はやく答えて下さい。

学歴が低いと答えれない内容でしたか?
すいません、頭の悪い人に何て言えば良いのでしょうか?
数学わかります? 私は解るんですけど? 分かりませんか?

私は適性が有りますけど、無い人には解らない問題ですか?
0039デフォルトの名無しさん
垢版 |
2017/09/30(土) 23:36:27.11ID:p2BJ+7X/
spoj: The program compiled successfully, but main class was not found.
Main class should contain method: public static void main (String[] args).

エラーメッセージにダイレクトに書いてあるじゃねーかwwwwwwwwww
マジでアホやんこいつ
0040355歳
垢版 |
2017/09/30(土) 23:36:48.05ID:y8lb5R8S
今日のコードです。
クレリッククラスの作成例です。少し解答を参考にしましたが…。
http://ideone.com/24RQIb
mainメソッドはありません。

どうして、エラーなんですか?
はやく答えて下さい。

学歴が低いと答えれない内容でしたか?
すいません、頭の悪い人に何て言えば良いのでしょうか?
数学わかります? 私は解るんですけど? 分かりませんか?
0042355歳
垢版 |
2017/09/30(土) 23:51:26.97ID:y8lb5R8S
人の頭が可笑しいとか、犯罪だとか言う前に
働け
0043 ◆BrBq2CJg6HGd
垢版 |
2017/09/30(土) 23:59:50.30ID:oMV1vB2C
>>40
分かった。お前のコードはよく出来ているから。
元のスレッドに戻ろう、な。頼むから。
0044デフォルトの名無しさん
垢版 |
2017/10/01(日) 00:04:41.63ID:PSOu2Em3
ドラクエとかオワコンだろUIは別に実装するとしてソシャゲで頼むわ
0047 ◆BrBq2CJg6HGd
垢版 |
2017/10/01(日) 00:38:44.71ID:kAvWXYJO
>>45
失礼しました。ちょっとパニクってました。
何とか彼をなだめようとして自分のコードを褒めるというアホらしい結果に
なってしまいました。
あの個所は、「お前の気持ちは分かるから」、と書くべきでした。
0050デフォルトの名無しさん
垢版 |
2017/10/01(日) 01:44:40.51ID:OSXVzYJs
Javaのように普及した大衆言語は
利用者が多いのでここの嵐のように
頭のおかしい人間も出てくる罠

犯罪者にパンや米を
食べている奴が多いのと同じ
0052デフォルトの名無しさん
垢版 |
2017/10/01(日) 10:26:45.06ID:KfqhHCIu
最近はPythonの方がよっぽどゆとり言語だろ
0056デフォルトの名無しさん
垢版 |
2017/10/01(日) 12:43:05.69ID:m+w/jR3z
>>◆BrBq2CJg6HGd
時間や年齢は関係無いと思うけど、10ヶ月でそのコードなら
もう少し、いろいろ考えた方が良い
0059デフォルトの名無しさん
垢版 |
2017/10/01(日) 13:54:25.71ID:4trAwtIa
>>55
いや、みんなして子供のようだから今の状態になっているだけ。
0060デフォルトの名無しさん
垢版 |
2017/10/01(日) 13:58:04.78ID:4trAwtIa
>>57
ゆとりと言えばみんなで手を繋いでゴールするだの円周率3で教えるだのが言われていたが、これは実際にやっている学校はなく都市伝説だったそうだな。
0062デフォルトの名無しさん
垢版 |
2017/10/01(日) 14:56:04.33ID:4trAwtIa
>>61
無知と誤解によってそうなってしまう。
そしてだいたいの人間はそのまま大人になる。
結果的に体の大きい歳を取った子供が世に溢れる状態になり、無知と誤解を本物の子供に植え付ける。
0063デフォルトの名無しさん
垢版 |
2017/10/01(日) 16:29:29.97ID:O1KcNr/O
Javaは今後消滅する可能性が非常に高い言語だけど、割とクラスのパーツをつなげる作業が暇つぶしになって面白いよな
0064デフォルトの名無しさん
垢版 |
2017/10/01(日) 16:59:41.15ID:E/2/FISs
消滅するとしてもC言語並みに何十年も尾を引くのではないかと思う。
0065デフォルトの名無しさん
垢版 |
2017/10/01(日) 17:07:23.91ID:E/2/FISs
場合によってはCOBOL並みに尾を引くかも知れん
0066デフォルトの名無しさん
垢版 |
2017/10/01(日) 17:35:34.78ID:k8w4pTeI
まぁ馬鹿には使いこなせない言語だからな
消えることはまずないけど使いこなせない馬鹿が勝手に消えていくから
新規案件および馬鹿が存在する前の保守案件は非常に快適なソースコードになるだろう
0070デフォルトの名無しさん
垢版 |
2017/10/01(日) 19:16:09.68ID:E/2/FISs
Kotlinはまだまだ下の方だなあ。
Swiftが上がってきたな。
0073デフォルトの名無しさん
垢版 |
2017/10/01(日) 20:29:46.58ID:S9iaWel0
ぬるぽ対策が無い生のJavaってこの先生き残らないと思う。
マジョリティはkotlinで、ぬるぽと無縁なマイナー賢者はscalaかclojureに移行するだろう。
0075デフォルトの名無しさん
垢版 |
2017/10/01(日) 20:50:14.97ID:TmBxNMg6
残ってしまう、というべきだろうね
COBOLと同じ立場
ほとんどウイルスのようなものだ
0076デフォルトの名無しさん
垢版 |
2017/10/01(日) 23:37:33.21ID:fsOijMh9
>>73
例外処理ガッんばれ
00784 ◆BrBq2CJg6HGd
垢版 |
2017/10/02(月) 01:12:35.76ID:bion7b7Q
レスが遅くなってしまい、すいませんでした。
>>4にレスをくれた方、ありがとうございました。

>>5
解答を見ても分からなかったので質問しました。
今は何となく理由が分かりました。

>>8
勉強自体はJDKでやっています。(コマンドプロンプトとメモ帳)

比較しても分からなかったです。

>>23
はい。やってみます。

>>56
しばらくスランプの時期もありまして…。
少し前くらいから気合入れて勉強を再開しています。
何とかしなきゃいけないというのはよく分かってますので…。
0079デフォルトの名無しさん
垢版 |
2017/10/02(月) 02:33:51.76ID:cA7Tubsm
だから「eclipse」っていう開発ツール落として来てそこでソースを書けって
そのレベルのくだらないエラーはコンパイルするまでもなくツールが教えてくれるから
ググってこんなことも出来ないなら向いてないからマジで諦めろ
0080デフォルトの名無しさん
垢版 |
2017/10/02(月) 09:17:50.27ID:EOa1zx84
     _,,...,_
  /_~,,..::: ~"'ヽ
 (,,"ヾ  ii /^',)
    :i    i"
    |(,,゚Д゚)   ・・・
    |(ノ  |)
    |    |
    ヽ _ノ
     U"U
0081デフォルトの名無しさん
垢版 |
2017/10/02(月) 10:44:23.50ID:Xes2ugBy
 
  ∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧
 <JDK!JDK!JDK!JDK!JDK!JDK!JDK!JDK!JDK! >
  ∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨
    、        、        、       、        、
  /っノ      /っノ      /っノ     /っノ      /っノ
 / /  ∧_∧ / /  ∧_∧ / /  ∧_∧ / /  ∧_∧ / /  ∧_∧
 \\(    )\\(    )\\(    )\\(    )\\(    )
0082デフォルトの名無しさん
垢版 |
2017/10/02(月) 23:42:47.15ID:psZRHuxF
        lヽ ノ l        l l l ヽ   ヽ
  )'ーーノ(  | |  | 、      / l| l ハヽ  |ー‐''"l
 / J  | | |/| ハ  / / ,/ /|ノ /l / l l l| l J ヽ
 l   ・  i´ | ヽ、| |r|| | //--‐'"   `'メ、_lノ| / ・  /
 |  D  l  トー-トヽ| |ノ ''"´`   rー-/// |  D |
 |  ・   |/     | l ||、 ''"""  j ""''/ | |ヽl  ・ |
 |  K   |       | l | ヽ,   ―   / | | l  K  |
 |  ! !  |     / | | |   ` ー-‐ ' ´|| ,ノ| | |  !! |
ノー‐---、,|    / │l、l         |レ' ,ノノ ノハ、_ノヽ
 /        / ノ⌒ヾ、  ヽ    ノハ,      |
,/      ,イーf'´ /´  \ | ,/´ |ヽl      |
     /-ト、| ┼―- 、_ヽメr' , -=l''"ハ    |  l
   ,/   | ヽ  \  _,ノーf' ´  ノノ  ヽ   | |
、_    _ ‐''l  `ー‐―''" ⌒'ー--‐'´`ヽ、_   _,ノ ノ
   ̄ ̄   |           /       ̄
0086デフォルトの名無しさん
垢版 |
2017/10/04(水) 15:01:26.75ID:DMSv62cB
>>79
初学者が迷惑するから相手するの辞めてくれ。

知らない人居るの?
◆BrBq2CJg6HGd  は無職の35歳で10ヶ月javaを勉強しています。

職歴、大学後に新卒で入社、28から35まで無職(自称、アセンブラ経験5〜6年)。
就職したいですと発言し、ハロワ行きません。
体力有りませんが、靴が痛むので歩くの嫌です。
失敗するのが嫌です。10ヶ月の期間JAVAを学習しました。
先行投資と言う名目で、無職ですが親に高級ノートPC買わせました。
10ヶ月の間、プログラミングの問題といたら?→時間制限がry 失敗したく無いです。準備ができてからetc
最後は無敵の40歳までに就職します。


私たちは、つい反応したくなる気持ちをぐっとこらえ、彼らに影響されないようにする方法を見つけなくてはなりません。
彼らが私たちに影響を与えることを許してしまったら、絶えずイライラしていなくてはならないでしょう。
今後の皆さんの課題は、超然として反応しないようにすることです。
0087デフォルトの名無しさん
垢版 |
2017/10/05(木) 08:12:28.96ID:ZnOI5oFl
>>86
誰が誰にレスしようとその人の勝手で外野が喚く事ではない
スルーを求めるなら関連レスすらスルーしておけばいい

知らない人居るの?
真・スルー 何もレスせず本当にスルーする。簡単なようで一番難しい。
偽・スルー みんなにスルーを呼びかける。実はスルーできてない。
予告スルー レスしないと予告してからスルーする。
完全スルー スレに参加すること自体を放棄する。
無理スルー 元の話題がないのに必死でスルーを推奨する。滑稽。
失敗スルー 我慢できずにレスしてしまう。後から「暇だから遊んでやった」などと負け惜しみ。
願いスルー 失敗したレスに対してスルーをお願いする。ある意味3匹目。
激突スルー 話題自体がスルーの話に移行してまう。泥沼状態。
疎開スルー 本スレではスルーできたが、他スレでその話題を出してしまう。見つかると滑稽。
乞食スルー 情報だけもらって雑談はスルーする。
質問スルー 質問をスルーして雑談を続ける。
思い出スルー 攻撃中はスルーして、後日その思い出を語る。
真・自演スルー 議論に負けそうな時、ファビョった後に自演でスルーを呼びかける。
偽・自演スルー 誰も釣られないので、願いスルーのふりをする。狙うは4匹目。
3匹目のスルー 直接的にはスルーしてるが、反応した人に反応してしまう。
4匹目のスルー 3匹目に反応する。以降5匹6匹と続き、激突スルーへ。
0088デフォルトの名無しさん
垢版 |
2017/10/05(木) 19:58:22.56ID:xjK/Oc+X
質問です。
同一ディレクトリ・同一パッケージ内に、共にpublicで2つのクラス(RenshuA、
RenshuB)を作り、それぞれmethodA、methodBをpublicかつstaticで定義し、
methodB内でRenshuA.methodA();と呼ぶコードを作成したのですが、
コンパイルが通りません。
どなたか原因を教えて頂けないでしょうか。
008988
垢版 |
2017/10/05(木) 20:01:15.37ID:xjK/Oc+X
それとエラーは「シンボルを見つけられません」というものです。
よろしくお願いします。
009288・89
垢版 |
2017/10/05(木) 20:49:30.26ID:xjK/Oc+X
kenshou2という名前のディレクトリ・パッケージ内に、クラスRenshuA・
RenshuBが入っています。

以下RenshuA.javaのコード
package kenshou2;
public class RenshuA {
public static void methodA() {
System.out.println("A");
}
}

以下RenshuB.javaのコード
package kenshou2;
public class RenshuB {
public static void methodB() {
System.out.println("B");
RenshuA.methodA();
}
}

RenshuAはコンパイル通っています。
コマンドプロンプトにおいて、javac RenshuB.javaと入力しました。
0093デフォルトの名無しさん
垢版 |
2017/10/05(木) 22:22:46.50ID:Iw1gUCSC
>>92
javac - Java programming language compiler
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html#searching

| The compiler searches for class files first in the bootstrap and extension classes,
| then in the user class path (which by default is the current directory).
| The user class path is defined by setting the CLASSPATH environment variable
| or by using the -classpath command line option. (For details, see Setting the Class Path).

コンパイラは、まずブートストラップクラスと拡張クラスのクラスファイルを検索し、
次にユーザークラスパス(デフォルトではカレントディレクトリ)を検索します。
ユーザークラスパスは、CLASSPATH環境変数を設定するか、
-classpathコマンドラインオプションを使用して定義します。

クラスパスのオプションが指定されていないのでユーザクラスパスはカレントディレクトリですよと
パッケージ名がついてるときはパッケージ名と同じディレクトリがないといけないですよと
なのでこうかな

javac -cp ..\ RenshuB.java

cd ..
javac kenshou2\RenshuB.java
0094デフォルトの名無しさん
垢版 |
2017/10/05(木) 22:44:07.57ID:RWFlOlgJ
Java は、実際のフォルダ階層と、

各クラスのパッケージ階層を、同一にしないといけない
009588・89
垢版 |
2017/10/06(金) 04:22:34.25ID:GT9/18A+
>>93 >>94
丁寧にありがとうございました。やってみようと思います。
0096デフォルトの名無しさん
垢版 |
2017/10/06(金) 05:37:22.47ID:JP/D7qWJ
JSFを勉強しているのですが、JSF2の参考書は分厚い難しそうなのしかないのですが、JSF1とかの参考書は
Amazonの中古で割と砕けた感じのがありとっつきやすそうなのですが、JSF1と2ではやはりだいぶ違いますか・・?

根幹とかが一緒なら、やってみたいとも思うんですが・・。
0097デフォルトの名無しさん
垢版 |
2017/10/07(土) 10:28:44.48ID:ao3GcIPR
>>96
俺は1覚えた状態から2を覚えたけど、今なら最初から2の方がいいでしょ。というか、俺は5年前にJSFを捨てた。当時は気に入ってたけど、今時のweb開発とは全く違うから。
内部で使う管理ツール的なアプリならいいけど、普通のアプリはちょっと辛いよ
0098デフォルトの名無しさん
垢版 |
2017/10/08(日) 01:10:37.77ID:hbsbK/yL
実際の現場で、新入社員等に○○されたら
ブチ切れる……みたいなことありますか?
JAVAか、少しスレちですが開発現場関係で
教えてくださいませ!
010496
垢版 |
2017/10/11(水) 11:38:51.27ID:Ys/lPH2g
だいぶ亀レスですが、ご容赦ください・・。
>>97
やっぱそうですよね・・。どのWebページ見てもJSFは2からやったほうが良いようなことを書いてあります。
JSF1はくだけた解説書があるのですが、JSF2はあんまりないです(´・ω・`)…

Kindle本で評判悪いですが、あるのでやってみようと思います。KindleUnlimtedに加入すると0円らしいです・・・

お礼が遅くなりすみません。どうも体調が悪くて・・・。しかし、今時のWeb開発とは違うんですね・・。

私がやってたころは、Strutsしかなかったのに・・・。
0105デフォルトの名無しさん
垢版 |
2017/10/11(水) 12:44:18.73ID:uj1SUlbB
保守作業するんでもない限り今からやるならspringのほうが良いだろ
むしろspringがあるからJava使うレベル
0106104
垢版 |
2017/10/11(水) 15:33:31.63ID:Ys/lPH2g
>>105 Springってそんなにいいんですね。図書館にSpringの本がたくさんあったので
それやってみようと思います。J2EE関連の本はJSFばっか取り扱っているので、Springなんておまけみたいなものなんだろうと思っていました。それ、やってみます。

どうもありがとう。
0107デフォルトの名無しさん
垢版 |
2017/10/11(水) 20:30:44.86ID:QnvmwpWa
プログラミング GROOVY、2011

Spring Framework 4 プログラミング入門、掌田津耶乃、2014
Spring Boot プログラミング入門、掌田津耶乃、2016
0108デフォルトの名無しさん
垢版 |
2017/10/12(木) 02:29:30.72ID:uD/G1fwI
プログラミング速度を上げる方法を教えてください。
バリバリの初心者で、とにかくベタベタ上から書いています。
しかし、先を見据えてないので、書いて消して悩んで……で
時間だけが無駄に過ぎていきます(;;)
(料理の初心者が、あたふた料理している感じ)
何回なアルゴリズムをすぐに思いつく! ではなく……
普通のアルゴリズムの普通のソースコードを、
たんたんと書いていけるようにしたいのです。
(料理人が危なげなく、並列して料理している感じ)

みなさんは、どうやって開発、記述しているのでしょうか?
0109デフォルトの名無しさん
垢版 |
2017/10/12(木) 02:47:30.24ID:D7OLf+6g
>>108
行き当たりばったりに書かないで
全体から書いていくと良い

具体的にはUML(のクラス図とか)を書く
慣れたらいちいち書かなくてもいいけど
最初のうちは書いて全体の見方を覚える

そうすると料理で言ったら煮込んだり
時間のかかる調理をしながら
下ごしらえをするみたいなことができる

要するにムダがなくなる
0111104
垢版 |
2017/10/12(木) 09:00:15.46ID:fTkEvokp
>>107
ありがとう。その2冊は図書館にあったので、見てみます。前から、ちょっとは見てみたいな…と思ってたやつです。
あと掌田津耶乃さんはけっこうSpringとかGroovyとか推してますよね(´・ω・`) JSFでググったときに出てきました。

一度読んでみます。ありがとう。ステマじゃないよw
0112デフォルトの名無しさん
垢版 |
2017/10/12(木) 09:17:19.57ID:uD/G1fwI
>>109
UMLは全図を勉強しましたが、もっぱらクラス図を見るだけですね。(〜_〜;)
クラス図以外は使っていないので、だんだんと記憶が……。
例えば、下記のような仕様のソースを109様が開発するときは、すらすらとクラス図にできるのでしょうか? もしコツがあるならご教授ください……! 
稚拙な例ですいません(><)

「なんでも計算機」
・基本機能は加減剰余のみ。
・プラグイン形式で数学的計算機能を追加可能。
(開発者が追加していくパターン)
・プラグイン形式でユーザー独自の関数を追加可能。
 ・方法:テキストファイルに決まった形式でユーザーが関数を書き込み、
     それを取り込み、機能を実現。

>>110
慣れ……ですか。(><)
110様の普段のコツは無いのでしょうか?
0113109
垢版 |
2017/10/12(木) 09:48:27.62ID:D7OLf+6g
>>112
>「なんでも計算機」
3D描画エンジンとかもそうだけど
そういう専門的なものを作る場合は
UMLとか一般的なOOP手法だけじゃなくて予備知識がいる

例というだけじゃなく本当にその仕様を実現したいなら
インタプリタとか言語処理系の知識が必要
「バリバリの初心者」向きの題材じゃない
0115デフォルトの名無しさん
垢版 |
2017/10/12(木) 11:18:21.19ID:Qd5qTvbC
>>112
自分用にあったら便利そうな小さなツールから作っていく
次第に「あれとあれ組み合わせたらいいのできるかも?」みたいに思いつくから
段々規模を大きくしていく

でももし趣味とか好きだからじゃなく仕事で仕方なくとかなら思いつきにくいかも

後々土台の変更が必要になったりしてもいいなら
まず単純に加減乗除の式だけテキストから読み込んで実行できるようなのを作ったら
後は機能追加でいいから土台だけでもやってしまうとか

何桁まで扱うようにするのかとか多倍長整数まで扱うのかとかも要検討かな
0117デフォルトの名無しさん
垢版 |
2017/10/12(木) 11:21:03.26ID:W4Y9jhaF
面白いことに「数式を入力して計算するアプリを作る」よりは「色々な数式ボタンをつけた電卓を作る」ほうがずっと簡単なのだ
テキストパーサの知識はゆくゆくはあったほうがいいが、初心者がやるもんじゃねーな

んで、もし

プログラミング行為自体が遅い(1時間に打つ文字数が少ない、等)と思った場合:
・ 文字列やコレクションが持つメソッドの動作、高度な制御構造の使い方だけは絶対に記憶しておく
(書き方は覚えなくていい。「配列を○○する方法ってそういえばあったな」と気付ける程度でいい)
・ メジャーなデザインパターンを、これまた基本的な動作だけやって納得しておく(書けなくていい)

7割くらい機能ができた時点でかなり消して3割くらいから書き直すが動かない、みたいなことが頻発する場合:
・ gitや、gitや、あとgitのようなバージョン管理システムを利用する
(git類は「ここまでできたので保存しておく」「壊してしまったので保存時点まで戻す」「試しにコピーして改造する」がすぐできる。必須)
・ 上記に関し、メソッド単位で編集保存するという作り方を心掛ける(いきなりあちこち書き換えない)

メソッドAを使うメソッドBを作ったのだがそのまま動くと思ったメソッドAでエラーが出る、みたいな「このメソッドいきなり動かなくなった」が多発する
・ "ユニットテスト"を導入する。小難しい議論が大量にあるが当座「このメソッドはこの引数Aの時戻り値Bを返す、Cのときは実はD」という使い方でいい

UMLやクラス構成図を使っているのにぐちゃぐちゃになるという場合:
・いまのあなたに必要なのはもっと自由ならくがきである可能性が高い。方眼プロジェクトペーパーと書きやすいペンを用意しよう
0118デフォルトの名無しさん
垢版 |
2017/10/12(木) 11:46:27.97ID:UV6Mfibu
UMLは設計を整理したり人に伝えたりするもので
それ自体が分析設計を生み出すものではない

分析設計を生み出すのは開発手法
RPとかOMT
0119デフォルトの名無しさん
垢版 |
2017/10/12(木) 14:10:31.81ID:o8TlX9Z0
>>108
大きな問題を小さな問題に段階的に繰り返し分解する
十分に粒度の小さな問題の解法は何度も必要になるのでメモするなりしてすぐ参照できるようにする
>>117が書いてるような文字列操作・コレクション操作・制御構造なんかはこのレベル

少しやってれば上のようなレベルは資料を見なくてもすぐ出来るようになるので
次はそれらの小さな問題を集めたもう少し粒度の大きい問題を解くパターンを認識して
それらをメモするなりしてすぐ参照できるようにする

これを繰り返していけば問題に対する解法をすぐに思いつけるようになる
それぞれの解法に対応したスニペットや汎用的な抽象化コードを用意しておけば
考える速度だけじゃなく書く速度も上がる

小中学校の算数・数学の問題を速く解くための勉強方法と基本的に同じ
0120デフォルトの名無しさん
垢版 |
2017/10/12(木) 14:27:19.38ID:W4Y9jhaF
もしにひょっとしてIDEを使っていないのならIDEは使ったほうがいいよ
IDEなしにいまどきのJavaなんてタチの悪い修行だよ
書かないと覚えないだろなんてのはその「書くべきこと」が1行で済むような場合だけだ
IDEの使い方(正確には実行設定の仕方)とトラブル対処を覚えないといかんのでちょっとアレなのだけれど、そこをなんとか
0121デフォルトの名無しさん
垢版 |
2017/10/12(木) 21:08:07.21ID:chOTaJW5
「あるサブクラスのオブジェクト」から、
「そのスーパークラス」や「スーパーのスーパークラス」の
属性やメソッドを使用するのが苦手です。
サブクラス上から見えないからです。
エディタなどで上手く一覧する機能ありませんか?
importしたライブラリのメソッドや属性もどういう構成になっているか
がわかりません。
0124デフォルトの名無しさん
垢版 |
2017/10/13(金) 00:24:47.19ID:24qBoS+k
>>123
継承を委譲に互換できるようにリファクタリング
する方法はありませんか?
0126デフォルトの名無しさん
垢版 |
2017/10/13(金) 08:37:40.23ID:xmEIYn5a
>>113
なんとこの例は専門的なものだったんですね。
思いつきで考えた例なので申し訳ありませんでした。

>>114
設計がうまくなりたいです。
そうすれば眠る時間も増えそうです……。
(z_z)

>>115
小さなツールというのは再利用可能なクラスということでしょうか?
正直、私の作ったクラスはネストと専用処理だらけで再利用できないのです……。

>>116
怒られたというか、注意されました。
上司、先輩に確信を持ってコーディングしろと……。
担当レベルで「バグ0」にして提出と言われたので、今回のような
質問をしたら、「根性で学んでこい、とにかく動けばいい」と……。
根性で何を学んだらいいのか教えてもらえませんでした。
スレのみなさんの意見で、たぶん「設計」を学ぶと良いのかなと思いました。
0127デフォルトの名無しさん
垢版 |
2017/10/13(金) 08:38:26.90ID:xmEIYn5a
>>117
丁寧に助かります。
GIT調べてみます。
ユニットテストはprintlnでログを確認してます。
私の開発手順は……
・口頭で「xxxなクラスを作ってくれ」と指示を受ける。
・クラス名を考えて、とりあえず必要そうなフィールドを書く。
・ここで手が止まる。(何か書かなきゃ、そうだ! アクセッサ!)
・全フィールドのアクセッサをかく。(焦る。とにかくメソッド書かなきゃ!)
・時価の商品価格を計算するとしたら、メソッド名(calcPrice)を書く。
・とりあえず分岐はするはず! そうだif文の枠だけ書こう!
・(省略)以下、確信なく恐怖でベタベタ書く……
・ifネスト、forネスト、switchネストな恐ろしいメソッドが1つできあがる。
(アクセッサ抜かすと、大抵はpublicメソッドが1〜2個しかない)
・printlnでログみてテスト。一応動くが、確信は無い。
・(そして大抵は)仕様変更、追加のお知らせが届き、デスマーチへ。
(合間に結果としてのエラーも当然でて、ブレークでトレースしてると
あっというまに1時間経ってます……)

>>118
RP、OMT、調べて参考書探してみます。

>>119
その粒度を小さくするという作業が「設計」ということでしょうか?
数学(簡単なもの)ならその分解作業が可能なのですが、
ことシステム設計になると、とっかかりが見つからないのです……。(><)
数学で言えば、計算式は解けるが、文章題から計算式が導けない感じです。

>>120
エクリプス使っています。
といっても、フォルダ管理と構文チェック、結果ログ見る程度です。
0128デフォルトの名無しさん
垢版 |
2017/10/13(金) 09:32:14.92ID:GrUYgy4I
>・口頭で「xxxなクラスを作ってくれ」と指示を受ける

この時点で既に常識的な開発現場としてありえないんだが
ユニットテストまでやって仕様変更云々って言ってるってことは
もう詳細レベルまで落とし込んだ仕様があるのに口頭でやってとかありえんだろ
詳細設計書あるならどういう作りすればいいか壊滅的な馬鹿でもない限り誰でもわかるし
作り終わったらテスト仕様書作ってテストするから仕様変更やデスマーチも糞もねぇだろっていう
お前のところ色々おかしいかお前が意地悪されてるか敢えて何かを試されてるか何かだと思うわ
0129デフォルトの名無しさん
垢版 |
2017/10/13(金) 09:44:47.25ID:GrUYgy4I
ネストしまくるような複雑な条件の仕様を口頭で言うとかありえないから
とりあえず実際にどういう指示されたか書いてみ
0131デフォルトの名無しさん
垢版 |
2017/10/13(金) 10:37:26.01ID:a1m8Fd6w
配列定数はイニシャライザーにおいてのみ使用可能です
これどういう意味ですか?
0132デフォルトの名無しさん
垢版 |
2017/10/13(金) 11:20:18.34ID:1VCWZvPT
>>131
それ自体はそのまんまの意味だが、配列リテラルを代入し損ねてるときに言われることが多い
その代入の書き方は本当に合ってる? arrじゃなく arr[ ] とかが必要なんじゃない??
0133デフォルトの名無しさん
垢版 |
2017/10/13(金) 15:38:08.18ID:+zTlsJiZ
>>127
>その粒度を小さくするという作業が「設計」ということでしょうか?
設計の一部だけど全部じゃない
一つの問題に対して解法は一つではないので
複数ある選択肢からどの解法の選択するかが設計の核
問題の分解方法は解法選択の一部


>数学で言えば、計算式は解けるが、文章題から計算式が導けない感じです。
これは問題を明確に定義できてないから
明確に定義されてない問題は解けない

「xxxなクラスを作ってくれ」と指示を受けたらまず以下3点を明確にする
1. なぜそのクラスが必要なのか? クラスの責務は何か?
2. そのクラスに必要なパブリックインターフェースは?
  - 例外を含めた入力・出力の型(メソッドシグニチャ)
3. どういうテストをパスしたら十分なのか?
  - 事前条件、事後条件、不変条件

3点とも指示を出した側に質問する必要がある(嫌がられてもしつこく)
特に3の何ができたら問題を解けたと言えるのかを明確にするのが一番大事


問題の定義と解法の選択、解法の選択の主要な方法として問題の分解がある
算数で考えればものすごく当たり前だよね
0134デフォルトの名無しさん
垢版 |
2017/10/13(金) 16:00:23.53ID:uBikma4h
>>126
設計を考える上で標準ライブラリを参考にするといい
たとえばどの言語でも日付なんかは標準になってる

そういう共通してて何度もおこなう処理を考えよう
たとえば価格の計算であちこちで何度も
税額を算出してるならメソッドにくくり出すとか

>>127
とりあえずクラス使ってるってだけで手続き的な
オブジェクト指向らしくないコードのようだね

なるべく深いネストは外していこう
メソッドに抽出してその組み合わせで処理する

そうして粒度を細かくすると
クラスやメソッドの数が増えて不安かもしれないが
重複が減るし読み書きしやすいから
その方が全体として作業量は減っていく
0135デフォルトの名無しさん
垢版 |
2017/10/13(金) 21:11:04.47ID:xmEIYn5a
皆様、いろいろご丁寧にありがとうございます。
指示は先輩が手帳を見ながら口頭で伝えられるので、
それを急いでメモするという感じです。とにかく忙しそうです。
具体的な内容は業務内容に触れてしまうので控えさせてください。

とりあえず、下記のことをやってみようと思います。
・設計の本で良いのがないか本屋で探す。
・仕様詳細をもっと聞く。
・まずクラス図を書いて、責務の粒度を細かくする。
・再利用できるメソッドを作るよう心がける。
 (といっても、どうやればいいのか……)

あとは、みなさんのレスを反芻していきます。
本当にありがとうございました。
最後の質問ですが、設計に関してのおすすめの書籍はありますか?
ぜひ、購入したいと思います。
0136デフォルトの名無しさん
垢版 |
2017/10/13(金) 21:36:38.72ID:uBikma4h
>>135
>設計に関してのおすすめの書籍

まずJavaやOOP自体に慣れてないなら
『スッキリ Java』が一番やさしい

狭義の設計じゃないけど設計力の土台になるのが
『Javaで学ぶアルゴリズムとデータ構造』

本題の設計は難解な本が多いから
UMLの本とかデザインパターンの本とか個別のテーマで
やさしそうな本から読んでいくのがオススメ

メソッドの抽出とかは『リファクタリング』に
いろんな手法が載ってるから
ある程度JavaやOOに慣れたら読んでみよう
0137デフォルトの名無しさん
垢版 |
2017/10/13(金) 23:16:37.77ID:JHJOvcP0
>>127
アクセッサは、アノーテーションを付けるだけだろ

テスト駆動開発(TDD)でやる。
最初は関数で処理を作っていき、だんだん高度になってくると、クラスにする
0138デフォルトの名無しさん
垢版 |
2017/10/14(土) 03:37:43.62ID:mgPn9dNJ
書いてる内容見る限り、立ち位置的に設計云々とかクラス図とか
考えるレベル以前の問題で職場の奴はそういうのは求めてないように見える
言われて作ったクラスがどういう使われ方してるのかもよくわからんし
書いてる事から想像するに、勉強も兼ねた誰かの手伝いとして適当に使われてるだけだろ
いずれにしても作業指示の仕方が糞すぎるからそこは辞めた方がいいよ
0139136
垢版 |
2017/10/14(土) 04:10:51.25ID:ZBYXJflL
>>136
>『Javaで学ぶアルゴリズムとデータ構造』
あっ今検索したら同名の書籍があったけど
望洋の明解シリーズの奴ね
図解が多くて分かりやすいから
0140デフォルトの名無しさん
垢版 |
2017/10/14(土) 09:07:23.00ID:9JuWfEXp
>>135
> ・再利用できるメソッドを作るよう心がける。
1, これは再利用するだろうなってのをメソッド化
2, この処理は別の所でもやったなってのをメソッド化
3, 機能毎にメソッド化(分割や統合)できそうだなってのをメソッド化
他にもあるだろうけどこんな感じでいいよ
0141デフォルトの名無しさん
垢版 |
2017/10/14(土) 09:38:10.74ID:5+/c+cYf
自宅で自分用の(自分で勉強するための)プログラムを書いて慣れるというのがいちばんだと思う
業務指令で範囲限定されたコードだけ書いててもまっっっったくメソッド感覚(?)は身につかないよ
だって「そんなことしなくても動く」もの、業務中にやる理由ないよね
0143デフォルトの名無しさん
垢版 |
2017/10/14(土) 11:03:35.03ID:K4XROtS+
なぜこのクラスが必要なのですかと訊くと
キレ気味にいいから黙ってやれと言われる
別にイヤとかやりたくないとかじゃないんだけど適当な仕様だと文脈背景わからないと間違いの元
他の奴が黙ってやっちゃうから味を占めたんだろうな
また無駄な後戻り工数が生まれて実装のせいにされる
0144デフォルトの名無しさん
垢版 |
2017/10/14(土) 11:22:15.08ID:+XwGR1nT
わかってないだけだって
人はわからないことを聞かれた時に不機嫌になるってのはわかるだろ
0145デフォルトの名無しさん
垢版 |
2017/10/14(土) 11:24:26.80ID:+XwGR1nT
>>142
そのせいなのかメールで聞くと返事が返ってこないやつはマジでイラつく
そういう奴は無責任の意気地なしとみなす
0146デフォルトの名無しさん
垢版 |
2017/10/14(土) 13:23:40.40ID:ZBYXJflL
>>135
>・再利用できるメソッドを作るよう心がける
間違ってもいないんだけど実際には

最初から再利用を目指すより
リファクタリングで重複した処理を
メソッドに切り出す方が簡単なんだけど

「動いた物をいじるな」という職場だと
まあそっちもそっちで難しいよな
0147デフォルトの名無しさん
垢版 |
2017/10/14(土) 13:24:19.64ID:lMgWewwv
>>145
口頭で聞いた後に

先程の備忘です。
認識齟齬などあれば返信にて訂正願います。

とかなんとか理由付けてこっちからメール送ればいい
一手間かかるけどある程度身を守れる
0148デフォルトの名無しさん
垢版 |
2017/10/14(土) 13:44:26.23ID:YpZiBRe4
>>142
じゃあ録音しとけ。
または忘れやすいということにして詳細にメモをする。
0149デフォルトの名無しさん
垢版 |
2017/10/14(土) 19:47:58.75ID:/I4SGVxg
>>136
書店で推薦書を購入し、
1「スッキリ」の2冊
2「Javaで学ぶアルゴリズムとデータ構造(明快シリーズ)」
の順番が良いかと思いましたので、
本日からスッキリを学んでいこうと思います。
ありがとうございました。

>>138
おっしゃる通り、重要業務は任されていないと思います。
今はとにかくスキルを上げたいと考えています。

>>140
たぶん再利用可能メソッドは標準ライブラリで提供されているような
ものだろうと思っています。
なんとかくくり出せるように考えてみます。

>>146
デザインパターンをマスターすると保守しやすいクラスや
メソッドになると知りました。
デザインパターンとリファクタリングも学んだほうが良いようですね。
0150デフォルトの名無しさん
垢版 |
2017/10/15(日) 01:07:03.66ID:y0fiNdyH
今から「スッキリ」で勉強を始める、素人か。
そんな奴に、一々説明していたら、数年かかる

オブジェクト指向を知らない奴は、仕事でプログラミングしたら、いけないレベル

少なくとも、Java の本を10冊読んで、資格や数年以上の経験が必要
0151デフォルトの名無しさん
垢版 |
2017/10/15(日) 01:23:31.23ID:hZRxEBGG
本10冊くらいはそりゃ読む必要あるけど
資格や経験年数はほとんど関係ないよ
本人の素質と努力次第
0152デフォルトの名無しさん
垢版 |
2017/10/15(日) 01:38:06.25ID:h2ngFzeR
新卒?中途採用?
何歳か知らんけどプログラミングほとんどやったことないなら
普通研修みたいなの1か月ぐらいは与えられるもんだが今がそれなのか?
0153デフォルトの名無しさん
垢版 |
2017/10/15(日) 01:56:56.82ID:ZgJv24or
その辺はその会社次第なんじゃないの? 教育やる余裕がない小さい会社とか
大きくてもその辺のこと分かってない会社とか色々あるだろうし。

ま、しかし、基本的にワザは教えて貰うよりは盗んだ方が良いだろうな。
自分で求めてこうだと分かったことなら忘れないが教えて貰ったことは忘れるから。

なんてことをこの前テレビで坊さんが言っているのを聞いてその通りだと思った。
0154デフォルトの名無しさん
垢版 |
2017/10/15(日) 02:43:30.36ID:XpJLTK+d
Javaの「スッキリ」はRPGで言うと
「ひのきの棒」や「竹のやり」みたいな初期装備だが
丸腰よりはるかにマシ
「明解」でやっと「銅のつるぎ」

ファウラーの「リファクタリング」や
GOFのデザパタやエヴァンスのDDD本は
もっと高級な剣だが
レベルが足りないと装備できない
0157デフォルトの名無しさん
垢版 |
2017/10/15(日) 18:51:46.03ID:XpJLTK+d
>>156
そうだよ

でもスッキリ2冊読んで終わりとか
それほど甘くはないよ
スッキリは基本的に初心者向け
0159デフォルトの名無しさん
垢版 |
2017/10/16(月) 16:09:19.43ID:4dXapby2
オブジェクト指向はあまり良くないだろな。
GUIと相性が良かっただけで、その他一般的な問題とは親和性が低い。
0161156
垢版 |
2017/10/16(月) 20:19:21.78ID:tOLHzrTo
>>157
レスが遅くなってすいません。

そうですよね、ありがとうございます。
でも今の自分には実践編(緑の本)の中盤以降が結構難しいです…。
0162デフォルトの名無しさん
垢版 |
2017/10/17(火) 14:09:59.12ID:ywtVys1/
オブジェクト指向がマッチしないと言っているのは
設計を構造化とかどやっといて
オブジェクト指向プログラミング使えないと言ってる奴がよくいる
機能とか流れって出てきたら注意
0163デフォルトの名無しさん
垢版 |
2017/10/17(火) 14:22:15.60ID:H+HUM8Ad
オブジェクト指向がよくわかってないからマッチさせられないだけではないか?
0164デフォルトの名無しさん
垢版 |
2017/10/18(水) 10:19:44.01ID:LGKAL/cG
>>156
リストの頭だけを掻き集めてリスト化したような良書ではある
0165デフォルトの名無しさん
垢版 |
2017/10/18(水) 11:33:37.26ID:NAca40Iu
Javaスレ少なくなったなあ。
0167デフォルトの名無しさん
垢版 |
2017/10/18(水) 12:11:48.42ID:NAca40Iu
メモリー使用量が個人利用の壁になっているんだろうな。
0170デフォルトの名無しさん
垢版 |
2017/10/19(木) 03:47:23.04ID:ymhc97rd
何故使えるようにならなかったのか考えないのがJavaユーザぽくていいよね。
0171デフォルトの名無しさん
垢版 |
2017/10/19(木) 09:32:34.88ID:vpgxLHGK
スクリプト言語はその場で書き直しゃ動くからねぇ
JavaとかC#とかはビルド→デプロイまたは
ビルド→パッケージング→デプロイとか面倒
GAEはどこまでショートカットしてくれるのか知らん
0172デフォルトの名無しさん
垢版 |
2017/10/19(木) 12:11:01.39ID:gt24D1Vb
俺って大体そこらへんの能無しより2倍ぐらい仕事早いほうなんだけど
金融系の内部管理システムで1画面にボタンが20個ぐらいあって
段階的に5回ぐらい認証する機能で鬼のように状態持ってるから
設計書の相関チェックも凄いことになってて当然こんなレベルの機能だと
設計書にも不備ありまくりで実装してく度に何十回も設計者と確認しないといけないレベルで
外部結合で持ってくる情報も鬼の用にあるからSQLも100行超えるわ
外部ファイルも取り込んだりするわでエビデンスのページ数も余裕で100ページ越えるレベルで
これが最初テスト完了まで2週間ぐらいの線表で
毎日残業して1か月かけて作ったらプロパーが後ろで「こんだけ時間かけられるとは思わなかったわ」とか
嫌味言ってくるのが典型的な能無し無能システム会社なんだよな
0174デフォルトの名無しさん
垢版 |
2017/10/19(木) 12:24:42.39ID:ScM6nrf0
そういう無理のあるものを断れない立場に居ること事態が既に能のある状態とは言えない
0175デフォルトの名無しさん
垢版 |
2017/10/19(木) 12:41:04.00ID:gt24D1Vb
過疎ってるから暇つぶしに書いただけだ
プログラムやらず嫌いのプロパーしかいない無能会社の中でも大ハズレの部類
当たりはバグ調査が全然できないプロパーがいるところのバグ調査担当
0178デフォルトの名無しさん
垢版 |
2017/10/19(木) 12:59:35.28ID:ymhc97rd
リリースノート。
0180デフォルトの名無しさん
垢版 |
2017/10/19(木) 18:18:57.97ID:r3vXhCvd
ストリームバッファについて質問です。どれがいいのでしょうか?

FileInputStream fis=new FileInputStream("file");
0.
InputStreamReader r=new InputStreamReader(fis);
1.
InputStreamReader r=new InputStreamReader(new BufferedInputStream(fis));
2.
BufferedReader r=new BufferedReader(new InputStreamReader(fis));
3.
BufferedReader r=new BufferedReader(new InputStreamReader(new BufferedReader(fis)));

そもそもバッファの効果もよくわかってません
0181デフォルトの名無しさん
垢版 |
2017/10/19(木) 18:21:13.65ID:r3vXhCvd
訂正
3.
BufferedReader r=new BufferedReader(new InputStreamReader(new BufferedInputStream(fis)));
0183デフォルトの名無しさん
垢版 |
2017/10/20(金) 09:35:26.11ID:swuaN5aR
>>180
バッファがあると一回の読み書きに時間が掛かる機器の場合に効率が良くなって速度が上がる可能性がある。

例えばHDD。一回の読み書きが遅いのでまとめて読んだり書いたりした方が速度は上がる。
ということでファイル入出力にはバッファがあった方が良い。
0184デフォルトの名無しさん
垢版 |
2017/10/20(金) 09:42:05.09ID:VprmOZRL
どのくらい早くなりますか?
0186デフォルトの名無しさん
垢版 |
2017/10/20(金) 10:20:18.18ID:VprmOZRL
100回繰り返した場合はどうですか?
0187デフォルトの名無しさん
垢版 |
2017/10/20(金) 10:30:19.12ID:D9t+ZWOa
割合算でいいんじゃないの
つまり速い方に書き換えると「その部分だけが」2%くらい速い
そこの処理が0.03秒だった場合は処理速度が0.0294秒になって0.0006秒の改善になる

どっちかってと速度なんかじゃなくHDDとメモリ酷使するのを良しとするかどうかで動作決めていいよバッファ系は
0188デフォルトの名無しさん
垢版 |
2017/10/20(金) 10:40:23.48ID:VprmOZRL
OSはバッファしないのですか?
0190デフォルトの名無しさん
垢版 |
2017/10/20(金) 12:44:07.68ID:q2wuGssb
>>188
するよ
そこまで行ったならオブジェクト生成コストやGC負荷とアルゴリズム、加えて「コ ン パ イ ラ が 完 全 最 適 な オ ブ ジ ェ ク ト 構 成 に 置 き 換 え て く れ る」まで考えて、
結局は実際に計測して遅くなきゃいいや、人力脳内最適化は無意味でクソである、といういま一番トレンドな結論に至る
おめでとう
0191デフォルトの名無しさん
垢版 |
2017/10/20(金) 12:44:37.57ID:Gvoola1V
ヨハン・セバスチャン
0192デフォルトの名無しさん
垢版 |
2017/10/20(金) 13:02:09.19ID:PCOS2CdI
>>184
接続されてるHDDやプログラムがどのぐらい細切れにデータを読み書きするかで変わる。
ま、なんだったら自分でバッファありとなし作って試してみな。だいたいはバッファありの方が速くなる筈。

速度差が出ないとか、むしろ遅くなる場合はバッファの大きさがそのプログラムでの一度の読み書き量に対して適切ではないとか接続されているHDDに対して適切ではないのかも知れない。
あるいは最初から適切だったためにバッファありにしても殆ど変わらないかかな。固定長の大きな電文を自分で作ってその単位で読み書きする場合はその電文の塊がバッファみたいなものなので変化がないかも知れない。
0194デフォルトの名無しさん
垢版 |
2017/10/20(金) 16:29:37.22ID:umJD7f7O
HDDはあまり関係ないような気がする。
0195デフォルトの名無しさん
垢版 |
2017/10/20(金) 16:37:33.80ID:umJD7f7O
OSはほぼ確実にバファリンしてるのでHDDの読み書きではなく、システムを呼び出すオーバーヘッドで
変わるだけじゃないだろか。
0196デフォルトの名無しさん
垢版 |
2017/10/20(金) 16:42:56.58ID:umJD7f7O
BufferedReaderを使うとシステム呼び出し回数が減らせるのでスレッドの切り替え確率が
減るという説明のほうが納得がいくような気がスルスル。
0197デフォルトの名無しさん
垢版 |
2017/10/20(金) 22:57:05.24ID:h7aVEIq7
OS・HDD は、バッファリングしてる

だから突然の電源断により、書き込まれない事があるため、
必ず正常にシステムを終了させること

普通OSは、5秒ごとに、HDDに書き込む

フラッシュメモリーには、書き込み回数の上限があるため、
SSD の書き込み回数が気になるなら、15秒ごとに書き込むように設定できる
0198デフォルトの名無しさん
垢版 |
2017/10/21(土) 02:10:59.27ID:x42CzbVN
Javaの最大の欠点は100kbのデータを扱うプログラムにGBクラスのメモリーが必要になるような
効率の悪さ。
0202デフォルトの名無しさん
垢版 |
2017/10/21(土) 03:59:19.02ID:W+SO0xqJ
>>200
この問題
「am[0]」の使い方に違和感があるな

AMCounterクラスとか作って
カウントの責務を分離したい感じがする
0204デフォルトの名無しさん
垢版 |
2017/10/21(土) 04:20:38.55ID:xu+p9cdr
>>202
ああ。違和感あるな。これダメな設計だよなあ?

am[0].countAutomobile() や am[0].countHeavy() でカウントした結果が出るということは
new Automobile() した時にコンストラクタで Automobile クラス内にある static のクラス変数の
カウントをしていて countAutomobile() や countHeavy() メソッドでそれを読み出すという
ことになるが、そんなクラスは一つのVMで同時に一つしか動かせない。複数のスレッドで
同時に使おうとすると意図した通りに動かない。Java のクラスとしてはなんだかとても
嫌なクラスだ。
0205デフォルトの名無しさん
垢版 |
2017/10/21(土) 10:41:58.06ID:PVB7G2Ex
ハイエークラスに集計メソッドを持たせてはどうか。
0206デフォルトの名無しさん
垢版 |
2017/10/21(土) 10:42:56.10ID:PVB7G2Ex
せっかくだからシークエルを渡せるようにしてはどうか。
0207デフォルトの名無しさん
垢版 |
2017/10/21(土) 14:19:09.90ID:L87nxTYD
>>200
可能

5台と固定だから付ける意味ないんじゃないかな
クラス変数の挙動を知る課題かな
その使い方や設計としては悪いが
0209デフォルトの名無しさん
垢版 |
2017/10/21(土) 15:47:20.68ID:PVB7G2Ex
ぴったりじゃん?
0210デフォルトの名無しさん
垢版 |
2017/10/21(土) 16:49:24.05ID:oMtVUNUR
何この糞問題wwwひっでぇな・・マジで
これ作ったの教員?生徒?
なんで配列の一要素でしかないクラスが配列全体の情報を持ってこれるんだよw
こんなレベルだと生徒もダメになるゴミ問題だな
0211デフォルトの名無しさん
垢版 |
2017/10/21(土) 16:53:51.90ID:oMtVUNUR
しかもこれで大学だからなwww
>200も相当な馬鹿っぽいし100%Fランだなw
0212デフォルトの名無しさん
垢版 |
2017/10/21(土) 16:58:21.30ID:oMtVUNUR
あーこれあれかw
最初から車の総数と大型車の台数わかってるから
countAutomobileとcountHeavyは5台と2台を直打ちで返すようにしてるだけなのかwww
中学校のマイコン倶楽部の問題かよwwwwwww
0213デフォルトの名無しさん
垢版 |
2017/10/21(土) 17:35:53.13ID:g5bh72yL
>200です。みんな色々とありがとう。まあFランなのは否定しないですw lengthなくてもいけるのはわかったのでもうちょい頑張ってみます
0214デフォルトの名無しさん
垢版 |
2017/10/21(土) 17:58:44.98ID:ZBz0JWdz
countAutomobile()やcountHeavy()は
コレクションクラスに持たせるのが普通でしょ
AMCounterクラス作って切り出すほどでもない
この規模ならHighwayクラスのメソッドでも十分

for文の中括弧省略はアンチパターン
あと大型車を数えるのにcountHeavy()という名前は不適切
0215デフォルトの名無しさん
垢版 |
2017/10/21(土) 18:16:41.12ID:g5bh72yL
>>214
まあ一応課題に沿って作成しないといけないんで与えられたクラス内でやるしかないみたいです。ご指摘ありがとうございます。
0216デフォルトの名無しさん
垢版 |
2017/10/21(土) 18:22:53.02ID:W+SO0xqJ
>>204
その通りだね
課題の範囲だとstatic使うくらいしかないよな

>>205
それもアリだと思う
countメソッドはAutomobileよりかは
Highwayが持つ方が自然

ただ何を作るかにもよるけど
Highwayが将来的に肥大化しそうだから
Counterクラスに切り出す場合もありそう
0217デフォルトの名無しさん
垢版 |
2017/10/21(土) 18:27:25.26ID:W+SO0xqJ
>>214
コレクションクラスでもいいというか
課題だとそっちの方がいいね

ただ課題のはサンプルコードで超小規模だけど
実用的なプログラムだと
カウントの仕方が多種類で複雑になるから
0218デフォルトの名無しさん
垢版 |
2017/10/21(土) 18:28:53.58ID:CGeTMVG8
俺様が素晴らしい解答を用意してやったぞ
但し実行結果は見てない

class Automobile {
private static AtomicInteger count = new AtomicInteger();

private static AtomicInteger weight = new AtomicInteger();

public Automobile(int weight) {
this.weight.addAndGet(weight);
}

public int countAutomobile() {
return count.incrementAndGet();
}

public int countHeavy() {
return this.weight.get();
}
}
0219デフォルトの名無しさん
垢版 |
2017/10/21(土) 18:37:22.59ID:CGeTMVG8
よく考えたらincrementAndGetはコンストラクタでやるしかねえな
オブジェクト作る意味無いコード書いたの初めてだから中途半端なコードになっちまった
0220デフォルトの名無しさん
垢版 |
2017/10/21(土) 18:42:09.63ID:oMtVUNUR
ダメだ・・このあまりに低レベルな流れ見てると吐き気がしてくる・・
問題の質があまりに低レベルなの見れば設計とかそういう以前の問題で真面目に考える余地なんかないのに
staticだのコレクションだの将来性だのアホか・・
0223デフォルトの名無しさん
垢版 |
2017/10/21(土) 20:07:37.18ID:mG9cdR79
国語よりJavaのほうが必修だろ。
0226名無しさん@そうだ選挙に行こう! Go to vote!
垢版 |
2017/10/22(日) 12:27:36.98ID:/zkBCLsm
初心者どうこういう以前にお前等のその解釈って無駄というか”無意味”なんだよね
問題文がインスタンス作りましょうとかっていうレベルのものなのに
問題に書かれない範疇のことまで勝手に想像を膨らませてあーだこーだ考えて
逆に質問者を混乱させ、陥れる無能の典型というか馬鹿の代表というか
なんだろうねこのド素人特有の客観的に問題点とそれに対する回答を指摘できない低知能ぶりは
0229名無しさん@そうだ選挙に行こう! Go to vote!
垢版 |
2017/10/22(日) 13:31:52.16ID:hgYX0k8x
>>228
昔のjava重かっただろ
0244名無しさん@そうだ選挙に行こう! Go to vote!
垢版 |
2017/10/22(日) 19:31:25.01ID:AUtmH3Uy
>>237
いいじゃん。全部覚えろよ。
0247デフォルトの名無しさん
垢版 |
2017/10/23(月) 00:52:06.58ID:Zv+DKPlp
>200です。もう無理だw大学で配られた資料だけじゃだめだ、理解が追いつかない。本とか買わないとまずいかな。まあ勉強不足なのはわかってるんだがやっぱ無理なもんは無理だ。誰か教えて…
0248デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:05:36.93ID:u5IDZl2p
>>247
実現するならstatic変数を作ってコンストラクタでインクリメントするだけ

staticを解説するためだけのアンチパターンな設計だから深く考えたらだめなやつ
0249デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:06:44.62ID:y4/LHG7i
>>247
とりあえず何がわかんないのか箇条書きで書いて見なよ
親切なおじさんと不親切なおじさんがレスするから
0250デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:14:38.16ID:Zv+DKPlp
>>249
まず、合計台数だけを出力するプログラミングを作ろうと思ったんですけど、
整数型配列の初期化とかはあってるはずなんだけど、Automobileクラスでint countAutomobile(){(←コンストラクタ?)内で何を打てばいいのかわからないです。ただ、return weightだと配列の1つ目の値だけが出力されますので。
https://i.imgur.com/APIeS93.jpg
0251デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:16:06.32ID:Zv+DKPlp
>>249
もちろん課題の内容としてはさらに大型車の台数も出力しないといけないんですけど、まず簡単なとこからと思って合計台数だけをやり始めたらそこすらできない次第です。
0253デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:23:14.60ID:y4/LHG7i
>>250
なるほど、それほど筋悪く無いと思うよ

他の人がいろいろ書いてるように1台の車を表現してるAutomobileクラスのインスタンスが
全部で何台あるのかを把握してること自体がおかしい、つまり課題のコードのほうがおかしい

だからそこは分からないほうが普通というか
100人いたら100人ともam[0].countAutomobile()とは書かないから
他のやり方したらいいんでないの?
0254デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:29:14.79ID:u5IDZl2p
Automobile(int g)がコンストラクタだよ
int weight → static int weight って変えてみたらわかると思う
253が言うように筋はいいと思う

>>253
残念ながら課題として出てるのでこれに回答せねばならないんだよ
とてつもなく不服だがな
0255デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:29:54.34ID:Zv+DKPlp
>>253
課題がおかしいんですかね…どこか一部を直せばいいんでしょうか?それか他の意見でもあったように新しいクラスを作るべきなのでしょうか?たびたびすみません。
0257デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:38:13.20ID:y4/LHG7i
>>255
HighwayクラスにcountAutomobile()やcountHeavy()を作って上げるのが一番簡単

どうしても課題のコードに従ってやるならAutomobileクラスに
クラスレベルの変数として台数合計を管理するものを用意する
0258デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:55:19.63ID:Zv+DKPlp
>>257
前者の方法についてもう少し詳しく教えていただけませんか?自分の解釈ではまずHighwayクラス内にint countAutomobile()と int countheavy()をつくる。
0259デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:55:42.85ID:Zv+DKPlp
>>257
countAutomobileに関してはreturn weightで返して、heavyに関してはif文で大型車の時だけreturn で返せる。と考えたのですが、あってますでしょうか?無知ですみません
0261デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:00:11.05ID:Zv+DKPlp
>>260
先ほどの画像にstaticを足してみたところ5つ目の配列の要素が表示されたのですが、どこがおかしいんですかね?
0263デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:05:09.61ID:u5IDZl2p
>>261
8って出たならあってるよ
出力してるところでは1番目を指定してるのに5番目が出たってところが大事
0264デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:06:00.66ID:yUlbauj/
またアホどもが初心者を混乱させてるwww
問題が糞で最初から台数わかってんだから台数はハードコーディングングでそのまま返せばいいんだよ
なんでsataticにすんだよ阿呆
0267デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:11:15.70ID:u5IDZl2p
>>265
まだまだ途中
そもそも台数を出すのであれば重さを設定する必要はない
static int weight → static int weight=0 って変えて
weight=g → weight++ って変えてみな
0276デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:34:41.53ID:c0Vu/KQR
>>274
ひとまず、な
できるだけ手を加えずまずは動き
命名も大事だがまずは動かすことを目的とした

>>275
後はstatic変数を増やして
さっき5台って出たものと今2台って出たモノを組み合わせれば完成
0277デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:37:41.34ID:yUlbauj/
キモすぎてもう見てられん・・早く終わってくれ

public class Automobile {
static int TotalMobile = 0;
static int TotalLargeMobile = 0;

Automobile(int weight){
TotalMobile++;
if(weight >= 11){
TotalLargeMobile++;
}
}

public int countAutomobile(){
return TotalMobile;
}
public int countHeavy(){
return TotalLargeMobile;
}
}

public class Highway{
public static void main(String[] args) {
Automobile[] am = new Automobile[5];
int[] weight = {1, 15, 12, 5, 8};
for(int i=0; i<5; i++){
am[i] = new Automobile(weight[i]);
}
System.out.println("自動車総数:" + am[0].countAutomobile() + "台");
System.out.println("うち大型車:" + am[0].countHeavy() + "台");
}
}
0279デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:42:53.75ID:Zv+DKPlp
皆さんありがとうございます!おかげでどうにか出来ました!この恩は一生忘れないです!
0281デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:48:37.75ID:Zv+DKPlp
>>280
けれどこんなヽ(・∀・)ノウソコ設計でもみなさんちゃんと理解して完成まで持ってけるなんてほんとにすごいと思います。
0283デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:54:14.67ID:c0Vu/KQR
こちとら仕事でこんなもんじゃないレベルのウンコを相手にしてるからな
本来いらないスキルだからお前は真っ当に育ってくれ
0285デフォルトの名無しさん
垢版 |
2017/10/23(月) 03:04:25.94ID:Zv+DKPlp
>>283
センスないと言われたらそこまでですが、将来IT系で働きたいと考えているのですがどう思いますか?ちな理系です。
0286デフォルトの名無しさん
垢版 |
2017/10/23(月) 03:11:54.62ID:c0Vu/KQR
>>285
働くだけなら誰でも行けるよ
スキルは後から付ければいいけどあればあるだけ有利にはなる
0288デフォルトの名無しさん
垢版 |
2017/10/23(月) 04:09:38.68ID:H84xHXVr
>>281
完成については最初に問題を見た直後に大半のやつはわかっていて、
それだからクソだと言っていたのだ。この程度は誰でも慣れてくると
すぐに頭に浮かぶようになる。というか見た直後にまず違和感を覚える。
それからその違和感の原因はなんだろうと心の中を探り、それから
ソースを二度見して気づく。
0289デフォルトの名無しさん
垢版 |
2017/10/23(月) 04:25:40.26ID:yUlbauj/
ネットで色々調べ物してたら大学生とか院生でも仕事でjavaってる奴よりも
遥かに賢いコード書いてる奴が腐るほどいるのに
大学で出る課題がこれでそれに悪戦苦闘してる奴が仕事とか夢見すぎだろ
0292デフォルトの名無しさん
垢版 |
2017/10/23(月) 12:06:33.05ID:Lz0ZCAGx
初歩中の初歩的なことで申し訳ないんですが、Windows 10上でのJava開発環境の構築は
a. JDKインストール → Eclipseインストール →Pleiades プラグインインストール (一般的?)
b. Pleiades All in One [Eclipse 4.7] Java (Full Edition)
どちらの方法がお勧めでしょうか?最近まで開発にMacを使っていたものでどうすべきか悩んでいます。
後者は最初からよく使うプラグイン類が導入済で便利とは聞きますが...
0293デフォルトの名無しさん
垢版 |
2017/10/23(月) 12:18:29.77ID:QxUDS6F0
>>292
本当の初心者とか楽したいなら後者
開発経験あるなら前者で必要なプラグインだけ選出して入れる
0294デフォルトの名無しさん
垢版 |
2017/10/23(月) 16:12:01.87ID:QKnEuIrp
必要ないプラグインは外せる
だからプラグインと呼ぶ

学校でのプログラミングの課題はあくまで穴埋め的に特定手法の記憶度を見るものであり
独習時の問題とも業務実習時の課題とも違うものだから出来不出来は気にしないのがよい
ネイティブだろうがプロ翻訳家だろうが「学校の」英語「習熟度ドリル」は満点取れなかったりするものだ
0295デフォルトの名無しさん
垢版 |
2017/10/23(月) 16:23:54.92ID:t7W7X0PH
あー。帰国子女で日本語片言のやつがなぜか満点取れないと。
0297デフォルトの名無しさん
垢版 |
2017/10/23(月) 18:36:46.88ID:NKAmnKE1
この課題はインスタンス変数とクラス変数の違いを知るためのものだから
こういう間違えをして調べるのを期待してるんだろ
0298デフォルトの名無しさん
垢版 |
2017/10/23(月) 19:16:35.52ID:YIhcz2Te
ま、しかし、もうちょっとましな課題作れないもんだろうか。
疲れてたのかな。
0299デフォルトの名無しさん
垢版 |
2017/10/23(月) 19:31:38.35ID:Pe+98mGG
やっと流れに追いついた
>>200のは、設計がどうのという以前に
キチガイの所業

あるいはお前らの脳を疲弊させるための実験
お前らマトモにとりあってたらダメだぞ
0300デフォルトの名無しさん
垢版 |
2017/10/23(月) 19:40:11.90ID:YIhcz2Te
あー。そうか。スレを活性化させるために投下された燃料だったのか。
0301デフォルトの名無しさん
垢版 |
2017/10/23(月) 20:12:20.31ID:y4/LHG7i
一般的にこういう課題ってam[0]の箇所を
自分なりに修正して提出したら減点対象になるの?

もしそうなら大学レベルの教育方法ではないよね
0302デフォルトの名無しさん
垢版 |
2017/10/23(月) 20:22:05.75ID:YIhcz2Te
わからんな。先生の気分次第なんじゃないか?
0303デフォルトの名無しさん
垢版 |
2017/10/24(火) 00:45:00.97ID:MROfWTvM
配列ってホッチキスで止められた書類みたいなもんだから最近嫌いだわ
0306デフォルトの名無しさん
垢版 |
2017/10/24(火) 23:49:49.40ID:++BilNP+
>>304
要素一つ一つaddする地獄もなくなったし、これからはListの時代
0308デフォルトの名無しさん
垢版 |
2017/10/25(水) 07:05:25.56ID:KHRIvL/L
>>307
処等後にプロセスがすぐに死ぬなら
閉じる必要もないでしょ
flushだけでいい
キャッチはまるまるいらない
0311デフォルトの名無しさん
垢版 |
2017/10/25(水) 09:44:49.84ID:ZmgYAolO
まあ実際的にも教育的にも「closeなんてしなくていいよ」ということはないな
自動でcloseしてくれる普段使い用コンビニエスメソッドが本家でもあるべきではあるが
0313デフォルトの名無しさん
垢版 |
2017/10/25(水) 11:01:31.98ID:lQVA76dW
>>311,312
直前のレスくらい読もうぜ
0314デフォルトの名無しさん
垢版 |
2017/10/25(水) 18:36:25.22ID:9pgp/kzo
プログラミング完全初心者でこれから始めようと思っているんですが
何を何からやれば良いでしょうか
お勧めの本やサイト等もご教授ねがいます
OSはLinux Mintでとりあえずeclipseというのとopen java8というのを入れました
0316デフォルトの名無しさん
垢版 |
2017/10/25(水) 18:44:11.98ID:MjxzUPyN
C#と座間林が話題になってたからそっちのほうがいいのかも
0317デフォルトの名無しさん
垢版 |
2017/10/25(水) 18:54:09.43ID:ZmgYAolO
>>314
>何を何からやれば良いでしょうか
>お勧めの本やサイト等もご教授ねがいます
全部おんぶに抱っことかアフィかッ!
やんわりマジレスすると最初の最初はJavaでないほうがいいよ
これはたとえ小難しくても業務でカッチリ書けるという面が重宝された言語だから、個人がいきなり趣味でやるとしんどい
ひょっとしたらアンドロイドアプリが頭にあるかもしれないけど、もしゲームならUnityがいいよ
0318デフォルトの名無しさん
垢版 |
2017/10/25(水) 19:02:06.72ID:ZmgYAolO
環境見てなかったwwww
もしリッチなマシンがLinuxマシンしかなく、それでもGUIアプリを世に出したいのだとしたらJava...しかないかなあ
アンドロイドアプリをLinuxで作りたいなら実質Java/Kotlinしかないよ
ただ、あなたの中では知名度ないかもしれないけど Python をやるという手もあるよ
よかったら検討してくれ
0319デフォルトの名無しさん
垢版 |
2017/10/25(水) 19:08:59.03ID:9pgp/kzo
ありがとうございます
webアプリ作成、Androidアプリ作成、機械学習をやってみたいと考えております
調べていてpythonというのも候補には挙がったんですが
javaをやると基礎がしっかりつくと聞いてjavaにしてみようかなと思いました
学生で新しいパソコンを買う余裕がなく、お下がりのにlinuxを入れて使っています
0320デフォルトの名無しさん
垢版 |
2017/10/25(水) 19:37:30.37ID:9pgp/kzo
すいませんちょっと嘘つきました
お金がないよりも、勉強の邪魔になるからって買わせて貰えない
の方が正しかったです
0321デフォルトの名無しさん
垢版 |
2017/10/25(水) 19:47:59.66ID:ZmgYAolO
学生さんならJavaなんてやるのは勿体ないよ
あとLinuxでのアンドロイドアプリ作成はメモリ4GB必要だから気をつけてね
0322307
垢版 |
2017/10/25(水) 20:18:00.51ID:ZfgKJLFw
何件かレスを頂き、ありがとうございます。

仕事でJavaを使う際、catch文の中にclose処理を入れるのは有りなんでしょうか?
引き続きで恐縮ですが、皆様の見解をよろしくお願いします。
0323デフォルトの名無しさん
垢版 |
2017/10/25(水) 20:28:08.31ID:lZypkF1g
>>322
規約と契約による
あなたの会社がしても良いといえばどっかのJavaのエラい人がなんと言おうとあなたの会社では正しいし
Javaのエラい人が顔をしかめネットで炎上し掲示板で荒らし扱いされる手法であっても上司がそのようにしてくれと言えばあなたはその書き方をすべきである
0324デフォルトの名無しさん
垢版 |
2017/10/25(水) 20:30:59.72ID:zzC6q5u4
>>317
え?Javaってそんなに難しいか?

まあでも元の質問してる人はOSがLinuxなので多分何も知らない初心者じゃないと思うぞ。
多分他の言語はわかるんじゃないか?
0325デフォルトの名無しさん
垢版 |
2017/10/25(水) 20:36:12.40ID:zzC6q5u4
あ、ごめん。リロード忘れてた。なんでLinuxか書いてあったな。

まあでもLinux入れてまで使おうとするやつはもはや初心者ではないと思うが。
0326デフォルトの名無しさん
垢版 |
2017/10/25(水) 20:40:19.16ID:lZypkF1g
>>324
まーなんだ、「小難しい」のは間違いないな
1行実行するために10行書くような言語だ
IDEがあるとはいえ学生さんにはもっと前のめりな言語で遊んでほしいところ

あと君が何歳かは知らないけど今のデスクトップ用Linuxのインストールと使用はスマホの設定変更くらいの難易度だぞ
0327デフォルトの名無しさん
垢版 |
2017/10/25(水) 20:56:31.41ID:zzC6q5u4
>>326
いや、今時のLinuxはインストール始めれば後はだいたいマウスポチポチ押してればなんとかなる事は知ってる。
しかしPC初心者は普通はLinuxの存在すら知らない。あるいはWindowsの上で動くソフトだと誤解していたりする。
そういう誤解がないということはそれなりにわかっていると考えて良かろう。
0329デフォルトの名無しさん
垢版 |
2017/10/25(水) 21:45:19.10ID:/TUaBfz7
314です
泥アプリの作成にもRAM4GB必要だそうなので何とかしてもうちょっと新しいPC手に入れて出直してきます
ありがとうございました
0330デフォルトの名無しさん
垢版 |
2017/10/25(水) 22:42:58.25ID:RILf1WwA
泥アプリ開発ならvsでxamarinとかブラウザでmonacaみたいな選択肢もあるし
一旦言語選択から考え直してみたら
0331スッキリ厨
垢版 |
2017/10/25(水) 23:26:15.55ID:M2TcZ1xf
>>314-321
まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014

その後、この2冊をこの順に読む
たのしいRuby 第5版、2016
みんなのPython 第4版、2017

ここまでが基礎で、実際にアプリを作れるようになるには、数年掛かる。
アルゴリズム・OS・環境構築運用で、少なくとも数年は掛かる
0332デフォルトの名無しさん
垢版 |
2017/10/26(木) 00:28:50.10ID:qkSUMYmO
クラス名からインスタンスを生成して、
そのインスタンスが保持するフィールドにダミーの値をセットする機能を作りたいのですが、
privateなメンバ変数にも値をセットすることはリフレクションで出来ますか?

class Entity{
@getter @setter
private Long age;
}
があったときnew Entity()のインスタンスとその中のageに何か数値が入っている状態にしたいです
0333デフォルトの名無しさん
垢版 |
2017/10/26(木) 00:42:22.95ID:qkSUMYmO
自己解決した ありがとう
0334デフォルトの名無しさん
垢版 |
2017/10/26(木) 01:29:13.40ID:N/UTfD1S
>>314
Progate行ってこい
やれそうだと思ったらスッキリ入門編
0335デフォルトの名無しさん
垢版 |
2017/10/26(木) 09:58:09.89ID:/KWiwsxI
>>333
どうやって解決したかを書け
0336307
垢版 |
2017/10/26(木) 20:11:51.32ID:DirVuC/B
>>323
分かりました。ありがとうございました。
0337デフォルトの名無しさん
垢版 |
2017/10/29(日) 00:13:25.42ID:jaLMlrXm
H2 Databaseに接続するプログラムをコンパイルし実行したいのですが、
クラスパスを何て書けばいいか調べても分かりません。
どなたか教えて頂けませんでしょうか?
0339337
垢版 |
2017/10/29(日) 12:46:42.34ID:jaLMlrXm
>>338
レスありがとうございます。
具体的には、javac -cp h2*.jar Main.java (Main.javaはクラス名)と入力し、
java -cp h2*.jar Main と入力すればいいんですか?
0341デフォルトの名無しさん
垢版 |
2017/10/29(日) 13:18:28.37ID:oFRxn/Jf
>>339
いや、h2*.jar が入っているディレクトリごと指定しないと普通はダメなのでは?
カレントディレクトリにあるならそれでも良いのかも知れんが。
0342337
垢版 |
2017/10/29(日) 15:33:37.93ID:jaLMlrXm
コンパイルは通るのですが、実行できませんでした…。
ClassNotFoundExceptionとSQLExceptionが発生してしまいます。
どなたかヒントを下さい。
ソースコードは以下です。
https://ideone.com/4xrmgz
0343337
垢版 |
2017/10/29(日) 15:35:28.67ID:jaLMlrXm
>>340
すいません、今回はコマンドプロンプトで書かせて下さい。
0344デフォルトの名無しさん
垢版 |
2017/10/29(日) 15:57:54.47ID:0Uo9CHxR
>>342
javacで取り込むわけではないので
javaで実行時にもCLASSPATHを通して見つかるようにしてやる必要がある
0346337
垢版 |
2017/10/29(日) 16:26:53.49ID:jaLMlrXm
>>344
はい。それは分かります。javacと同じクラスパスをjava実行時にも付けています。

実は根本的に、h2*.jarファイルがどこにあるのかよく分かってない気もするんですが、
H2 DatabaseのホームページからDL出来るh2-setup-2017-06-10.exeファイルの
中にあるんですよね?
0347337
垢版 |
2017/10/29(日) 16:32:10.42ID:jaLMlrXm
>>345
はい。
なのでjarファイルの位置指定がそもそも間違ってるんじゃないかと思い始めて
いるんですが…。.jarという拡張子のファイルが見当たらないんです。
0348デフォルトの名無しさん
垢版 |
2017/10/29(日) 17:11:13.08ID:0Uo9CHxR
>>346
知らないけど
それは自己解凍ファイルなのかな
検索して実際のjarファイルを探してみればいい

コンパイル時はインタフェースさえわかればいいから
その実装のclassには通ってない可能性がある

ちゃんと何してるかから理解した方がいいと思うぞ
0349337
垢版 |
2017/10/29(日) 20:16:42.57ID:jaLMlrXm
>>348
あれからいろいろ調べて、Cドライブを検索した結果、h2*.jarファイルが
見つかりました!やはり.exeファイル内には無かったようです。

クラスパスを更新したら実行(javaコマンド)も無事成功しました。
回答して頂いた方々、ありがとうございました。
0350デフォルトの名無しさん
垢版 |
2017/10/29(日) 22:13:14.03ID:ZPOHC70p
コンストラクタで引数チェックをし、例外を投げることは設計上良くないのでしょうか?例えば
class hoge {
private final int i;

hoge(int i) {
if(i >= 0)
this.i = i;
else
throw new IllegalArgumentException
}
}

フィールドiに負の数を持たせたくない場合このようにするのが自然かなと考えたのですがいかがでしょうか?
0351デフォルトの名無しさん
垢版 |
2017/10/29(日) 23:14:29.92ID:ILWFk/IO
>>350
クソだと思う
値をチェックする責務は専用のクラスに任せて
それ以外のクラスに持ち込むべきじゃない
0352デフォルトの名無しさん
垢版 |
2017/10/30(月) 00:07:29.30ID:RKfFK5VC
>>350
別にいいと思うぞ

作ってからIsValidで確認するか
そもそも作らせないようにするかの違い
どっちのやり方も良し悪しがある
0353デフォルトの名無しさん
垢版 |
2017/10/30(月) 00:34:24.41ID:EdHEI0+x
空のオブジェクト作って後でsetter使って入れるのも微妙だしコンストラクタで値チェックとかしていいと思うぞ
俺ならPattern.compileメソッドみたいに自分自身を返すstaticメソッドで価チェックする
0355デフォルトの名無しさん
垢版 |
2017/10/30(月) 00:45:02.55ID:eddodMAs
>>351
値チェック専用のクラスを作る場合どのように作るべきでしょうか
値チェッククラスでOKだった数値(正の数)をどのようにhogeのコンストラクタに渡すのかいまいち正しいイメージがつかめません
値チェッククラスのインスタンスをhogeの内部に持たせる(フィールドとコンストラクタの引数を変更する)のが良いのでしょうか?
とんちんかんな質問かもしれませんがよければお答えいただけると嬉しいです
>>352
なるほど
isValidメソッドであとからチェックするというのは思い付きませんでした
0356デフォルトの名無しさん
垢版 |
2017/10/30(月) 01:04:31.28ID:JH+/yPWP
>>350
>コンストラクタで引数チェックをし、例外を投げる
問題ない
バグでおかしくなるのが一番の問題
0357デフォルトの名無しさん
垢版 |
2017/10/30(月) 01:12:17.89ID:RKfFK5VC
Hibernate Validatorみたいなバリデーションフレームワークは一般的に作ってから確認する方式

そもそも作らせないようにするのは”always valid”と呼ばれてる
“always valid model”とかで検索すれば参考になるサイトが出てくる

長所短所を理解して使い分ける
0358デフォルトの名無しさん
垢版 |
2017/10/30(月) 01:16:09.26ID:ImI1HNcW
俺だったらPositiveNumberみたいなジェネリッククラスを作るか、@positiveみたいなアノテーション作る
0359デフォルトの名無しさん
垢版 |
2017/10/30(月) 01:51:11.96ID:eddodMAs
>>353
ありがとう
>空のオブジェクト作って後でsetter使
>って入れるのも微妙だし
私もそう思ったのですがコンストラクタで例外を投げるのは良くないというような意見をどこかで目にしたので聞いてみました
>>357
ふむふむ
個人的にはそもそも作らせないって方が好みな感じがします
調べてみます情報ありがとう
0360デフォルトの名無しさん
垢版 |
2017/10/30(月) 02:19:42.12ID:sRaOGV/D
コンストラクタとセッタに同じことを示す文が複製されるのもちょっと良くないな
0361デフォルトの名無しさん
垢版 |
2017/10/30(月) 03:04:30.08ID:nQXUW6Dj
>>351
クソ?しかし API にも new した時に例外出すやつ沢山あるわけだが、そういうのは全部クソ?
0362デフォルトの名無しさん
垢版 |
2017/10/30(月) 07:16:59.94ID:fX/oTiYO
>>360
コンストラクタで最初に値をセットして後から変更できないようにsetterは持たせないというつもりでした
(フィールドをfinalにしているのはそのためです)
0363デフォルトの名無しさん
垢版 |
2017/10/30(月) 07:22:42.37ID:b9ZBDRTb
>>355
オブジェクト作る前にValidatorクラスでチェックするだけ
0364デフォルトの名無しさん
垢版 |
2017/10/30(月) 07:24:54.59ID:b9ZBDRTb
>>361
全部クソ。
オブジェクトの責務をわかっていない。
0365デフォルトの名無しさん
垢版 |
2017/10/30(月) 08:14:47.50ID:JH+/yPWP
インスタンス変数(やクラス変数)は
そのオブジェクトに付属するデータだから
コンストラクタなどでデータチェックの責務を
オブジェクト自身に持たせるのはおかしくない

ただしチェックが複雑化したときに
責務を委譲するのもアリ
0366デフォルトの名無しさん
垢版 |
2017/10/30(月) 08:43:10.77ID:5RpC60IR
>>365
そのただしが問題
検証はシステムの関心ごとだから
集約するべきでオブジェクト毎に持つものじゃない
コンストラクタはオブジェクトを初期化するという
特別な処理であってここでデータチェックが必要になるのは
責務の分離ができてないシグナルみたいなもの
staticメソッドでtryCreateという名前なら100歩譲ってオーケーだ
0368デフォルトの名無しさん
垢版 |
2017/10/30(月) 08:55:34.55ID:JH+/yPWP
>>366
>検証はシステムの関心ごとだから
>集約するべきでオブジェクト毎に持つものじゃない

責務を分離するのは重要だがそのオブジェクトの
規模が大きくなって複雑化するにつれて分けていくもの

たとえば生成の責務をファクトリに分離してもいいが
何でもかんでも全部ファクトリにする必要はない

だからコンストラクタでチェックしてもいいし
バリデータみたいのに分離してもいい
0369デフォルトの名無しさん
垢版 |
2017/10/30(月) 08:56:23.29ID:5RpC60IR
思わず激昂してしまいましたがとにかく小生が言いたいのはコンストラクタで例外投げるのおかしいですよということなんです
0370デフォルトの名無しさん
垢版 |
2017/10/30(月) 09:00:29.54ID:5RpC60IR
>>368
どっちでもいいなんていうそんな優柔不断で玉虫色な考えに真実があるわけない、あなたは思考を放棄しているに等しい、ここにはこういう値しか保持したくないんです、立派な業務要件でしょうが!!

じゃあその要件をまとめましょうよ、システムの関心ごととして切り出しましょうよ
0373デフォルトの名無しさん
垢版 |
2017/10/30(月) 09:06:06.45ID:5RpC60IR
もっと具体的にちゃんと説明して
小生良い事言ってるからそれちゃんと説明して
0374デフォルトの名無しさん
垢版 |
2017/10/30(月) 09:12:06.74ID:JH+/yPWP
>>370
いやそれは極端でしょ
OOPの要素はどれも使い分けじゃないの?

複雑化したら切り出すが抽象化にはキリがないので
IF文を全部ポリモーフィズムにするわけでもないし
最初から全部デザパタにするわけでもない
0375デフォルトの名無しさん
垢版 |
2017/10/30(月) 09:17:39.73ID:5RpC60IR
>>374
ifの話じゃないだろ
なんでもかんでも一緒にするな
極端なのはそなたの方

こなたが言いたいのはとにかくコンストラクタでチェックするのおかしくないですかってこと
0376デフォルトの名無しさん
垢版 |
2017/10/30(月) 09:21:09.70ID:JH+/yPWP
>>375
コンストラクタでチェックするのはおかしくない
JavaのAPIでやってるくらいなんだから
むしろやるなって方が押しつけ
0377デフォルトの名無しさん
垢版 |
2017/10/30(月) 09:22:44.13ID:5RpC60IR
コンストラクタでチェックして例外投げるのは
ようわからんけどオブジェクト作ってみるわー
でけへんかったわーゲヘヘーと言ってるようなもの
文明人のやることじゃない

アサートを使うべき
アサートは本番では動かさないからね
検証は専用のオブジェクトでやりましょう
0378デフォルトの名無しさん
垢版 |
2017/10/30(月) 09:25:45.46ID:5RpC60IR
>>376
アホかお前は、お前はアホか
JavaのAPIははっきり申し上げてクソでござる
クソがやってるから大丈夫なんだとはならんだろうが
どこがクソかはお前に任せるよ
0379デフォルトの名無しさん
垢版 |
2017/10/30(月) 09:46:48.33ID:JH+/yPWP
アサートでもいいが例外投げてもいい

つーかコンストラクタで例外投げるのが大問題なら
Javaの言語仕様でできないようにするだろ……

普通に考えて2ちゃんの一個人より
Java(API)のやり方の方がいいわ
0380デフォルトの名無しさん
垢版 |
2017/10/30(月) 10:01:28.68ID:5RpC60IR
>>379
ファイナライザでは例外投げないようにしましょう
というのがベストプラクティスだけど言語仕様ではできるでしょうに

言語仕様ってその程度のものですよ

コンストラクタでも例外投げるのやめましょうよ

2chネラーだから信用しないっていうのは権威主義的というか誰が言ってるかより中身で判断していただきたい、小生絶対良い事言ってるから!!
0382デフォルトの名無しさん
垢版 |
2017/10/30(月) 10:37:40.45ID:5RpC60IR
それでええんか?
議論って考えを広げるためにあるんやで
キチガイとレッテルを張っておしまいでほんとにええんか?
小生が可哀想だと思わない?罪悪感を感じない?お前のお母さんもお前には優しい人に育ってほしいと思ってたのじゃないか?
0386デフォルトの名無しさん
垢版 |
2017/10/30(月) 12:29:49.28ID:ich1HAGc
>>377
何が悪いか分からん。
オブジェクトの生成失敗も業務メソッドの実行失敗も、中断すべき状況になったら例外飛ばして何が悪いのか。

コンストラクタで例外飛ばすなって話はC++ならメモリの回収がややこしくなるんで一利あるけど、JavaやC#なら問題ない。
0387デフォルトの名無しさん
垢版 |
2017/10/30(月) 12:30:44.96ID:FeUZMDfY
>>364
オブジェクトの責務とは?
0388デフォルトの名無しさん
垢版 |
2017/10/30(月) 12:38:10.73ID:OufZdVP7
遡及IDは嘘つかないな
ソノトキ何をしたかよりもソノアト何をしたかが一目瞭然である
便利でよろしい
0389デフォルトの名無しさん
垢版 |
2017/10/30(月) 12:38:19.13ID:FeUZMDfY
>>367
なんというか、それそのものは Java 自体の問題のようにも思えるね。
つまり、unsigned が型として用意されてないからとか、PASCALみたいに数値の範囲を指定した新たな型を作れないからとかね。
まあそういう数値型のクラスを自作してしまえば良いだけかも知れないが。
0390デフォルトの名無しさん
垢版 |
2017/10/30(月) 12:47:31.30ID:FeUZMDfY
>>385
そんなにそれを求めるなら最初からそれができない新言語作れば?
大丈夫。君にも作れるよ。実装までできなくても言語仕様考えてネットで晒してフォーラム作って議論してまとめ直してから作ってくれる人募集すればその内なんとかなるだろう。全てを君が作る必要はない。
0391デフォルトの名無しさん
垢版 |
2017/10/30(月) 12:53:44.32ID:6Zg8+NGr
Google Apps Scriptで
http://www.pre-practice.net/2017/10/line-bot_22.html?spref=tw
ここを参考にLINEBOTを作っていて、
文章中の特定の文字列に反応して返答するようにしたのですが、

else if (strpos(input_text, "寒い") !== false ) {
reply_text = "もう冬だね";
  }


これを挿入しても反応してくれません。
何がいけないのでしょうか教えてください。
あと質問場所が適切でなければどこで聞けばいいか教えてください
お願いします。
0392デフォルトの名無しさん
垢版 |
2017/10/30(月) 13:41:37.04ID:3rz3HBcW
たまに生成されたクラスファイルが分割されることがあるんですがどういう条件で起きるんですかね?
ファイル容量の問題かと思いきや大きいものでも分割されてなかったり…
0394391
垢版 |
2017/10/30(月) 14:17:58.64ID:6Zg8+NGr
>>391
これがPHPというのがわかりました
スレ汚し失礼致しました。
0396デフォルトの名無しさん
垢版 |
2017/10/30(月) 15:50:40.06ID:3rz3HBcW
>>394,395
色々調べてみたらどうもシリアライズ可能なクラス?というのが原因みたいでした…
お手数おかけしました
0398デフォルトの名無しさん
垢版 |
2017/10/31(火) 08:25:04.95ID:OmcraJl8
>>359
範囲外の入力値エラーだろ

private、つまりクラス内では、戻り値でエラーを示すが、
public、つまりクラス外では、例外でエラーを示す

なぜなら、クラス内をコーディングしているのは、普通は同じ会社だから、
その会社内で規定したエラー値を使っても、見落としが少ない

でも、クラス外の場合は、クラスをコーディングした会社と、異なる会社が使うから、
そのクラス内で規定したエラー値を使っては、いけない。
なぜなら、他社の人は、クラスのドキュメントを読まずに、クラスを使うから

つまり、クラス外部の人に対しては、絶対にエラーが起こるように、例外を使う

クラス内をコーディングする人と、そのクラスを使う人は、
異なる会社を想定している。
他社の場合は、クラスのドキュメントを読まないことを想定すべき

「スッキリJava」にも書いてある。
クラスを使う側と、フレームワークなど、他社が使うクラスを作る側の、
コーディングの違い。
他社を想定している場合は、全く違う

この辺は、品質管理をやってないと知らないはず
0400398
垢版 |
2017/10/31(火) 09:49:23.34ID:OmcraJl8
「スッキリJava」では、クラスの責務を、明確に分けている

前半は、クラスを使う側の知識で、
上級編はフレームワークなど、他社が使うクラスを作る側の知識

フレームワークを作る側では、検査例外を使って、コンパイルエラーにしないと、
ドキュメントを読まずに実行した客が、実行時エラーを起こして、
電話をかけてくるから、商売にならない

本を読んで、実行時エラーを起こした客が、出版社に電話をかけてくるだろ。
それと同じで、商売にならない

だから例外にして、その例外をキャッチしない人は、実行できないようにする

サポート契約をしない、無料相談の客をはじかないといけない。
無料で見積もりさせる客も
0402デフォルトの名無しさん
垢版 |
2017/10/31(火) 21:22:09.98ID:BSBih/VQ
javaでWebアプリ作ってるのですがグラフ表示をしたいです
jfreechartとかchart.jsとか出てくるんですがおすすめとかってありますか?
0404350です
垢版 |
2017/11/03(金) 17:28:51.99ID:AmIWbkAj
>>380
しばらく2ちゃんを見れない状況だったので亀レスとなってしまいましたが、コンストラクタで例外投げるのが良くない理由をできれば聞きたいです
0405デフォルトの名無しさん
垢版 |
2017/11/03(金) 17:36:15.65ID:lQ0XoM3e
>>404
責務の分離ができてない証拠だから
0406デフォルトの名無しさん
垢版 |
2017/11/03(金) 17:39:40.36ID:lQ0XoM3e
コンストラクタっていうのはオブジェクトを初期化する特別な処理を書くところ
渡された値をそのまま何の加工もせずにフィールドにお納めするのが義務なんです
0407デフォルトの名無しさん
垢版 |
2017/11/03(金) 17:42:31.79ID:lQ0XoM3e
どうしても例外を投げたいならtryCreateというスタティックメソッドを作って
例外投げますよ作れないかもしれないですよということをメソッド名で
陽に示すべきだ、この処理は検証も含んでいますよと示すべきだ
なぜならば検証も含むからだ、オブジェクトを作るメソッドなのにだ
0408デフォルトの名無しさん
垢版 |
2017/11/03(金) 18:39:37.30ID:lQ0XoM3e
FileStreamもコンストラクタで例外を投げるが
あの設計も大間違いだから

コンストラクタでリソース確保しようとするのが完全に間違ってる
closeの処理でリソースを解放するならばリソースを確保するのはopenだ
openの責務をFileStreamは持つべきでそれはオブジェクトを初期化する
コンストラクタとは役割が根本的に100憶パーセント異なるわけ
0410デフォルトの名無しさん
垢版 |
2017/11/03(金) 19:18:22.44ID:lQ0XoM3e
>>409
フィールドを初期化するという大事な処理がある
セッターは代入だから、初期化じゃないから
0411デフォルトの名無しさん
垢版 |
2017/11/03(金) 19:40:27.12ID:lQ0XoM3e
UI -> アプリ(バリデータ) -> ドメイン -> DAO
レイヤーはこのように分けてドメインから先にバリデーションのコードを持ち込んではいけない
オブジェクトをクリーンに保つためのベストプラクティス
0412デフォルトの名無しさん
垢版 |
2017/11/03(金) 19:47:48.30ID:lQ0XoM3e
バグがないように引数をチェックするという目的でやるなら
アサートを使うべきだ
ただしアサートを使うのは開発時のみで本番コードには含めない
本番コードで引数チェックが必要になるようならそれは
業務要件として抽出するべきだ
0413350です
垢版 |
2017/11/03(金) 20:10:50.22ID:AmIWbkAj
なるほど
405~410まではなんとなくわかりました
411, 412は私の経験or勉強不足でいまいち理解できませんでした
でも、解説してくれてありがとう
0414デフォルトの名無しさん
垢版 |
2017/11/03(金) 20:17:00.78ID:lQ0XoM3e
>>413
ありがとうの後にはございますだ
それが礼儀だ
0415デフォルトの名無しさん
垢版 |
2017/11/03(金) 20:19:43.27ID:EWAV0hJA
なるほど。わかった。スレが過疎って来たらコンストラクタで例外の話を出せば書き込みで溢れてスレが活性化するのだな。
時折反論を書きありがとうの後にございますを付けなければなお良いと。
0416デフォルトの名無しさん
垢版 |
2017/11/03(金) 20:21:29.16ID:lQ0XoM3e
僕が活性化しちゃうおおお
0418デフォルトの名無しさん
垢版 |
2017/11/03(金) 21:35:59.49ID:Ro85MhDs
コンストラクタに不正なもの渡された場合に例外を出すことが
なぜいけないのかについては1ミリも説明されてなくて草
0419デフォルトの名無しさん
垢版 |
2017/11/03(金) 21:41:52.50ID:lQ0XoM3e
>>418
責務の分離ができてない証拠だから
100ミリくらい説明してますけど
10メートルですよ
0420デフォルトの名無しさん
垢版 |
2017/11/03(金) 21:42:46.79ID:lQ0XoM3e
違うわ1,000ミリの間違いね
0421デフォルトの名無しさん
垢版 |
2017/11/03(金) 21:52:44.52ID:9CXEo34m
むしろ初期化の異常で例外を投げるのは
コンストラクタの責務だろ

なぜならコンストラクタの引数で渡されたデータから
インスタンス変数(やクラス変数)を初期化するわけだから
情報エキスパートの原則からして
データの処理はデータを持ってるオブジェクトが行うのが原則

ただ処理を全部抱え込むと肥大化するから
他に委譲することは構わない
newの代わりにファクトリを使ったりするのと同じ
しかしそれは「newを使うな」ではない

「外部に委譲してもいい」のであって
「コンストラクタで例外を投げてはいけない」ではない
0422デフォルトの名無しさん
垢版 |
2017/11/03(金) 22:00:57.69ID:Ro85MhDs
>>419
責務を理解できてない典型だね
君がそういう規約で開発するのは勝手だけど
それをベストプラクティスだからとか言って
他人に押し付けるのはよくないよ
0423デフォルトの名無しさん
垢版 |
2017/11/03(金) 22:01:56.36ID:lQ0XoM3e
>>421
ベストプラクティスってそういうものだよ
こういう実装もできるけどこっちの方が好ましいよねっていうものだから
そういう意味で言ってるわけよ
たとえばModel View ControllerのアーキテクチャがあるけどViewに
Modelのコードも全部書きまくっちゃってもいいわけよ
でも分離するのが好ましいだろ、そういう意味で言ってるわけよ
その真意をくみ取って欲しいわけよ
コンストラクタでデータチェックヤラナイのが好ましいわけよ
え?ヤラナイの?なんていうふしだらな誘いに乗らないで欲しいわけよ
0424デフォルトの名無しさん
垢版 |
2017/11/03(金) 22:02:38.01ID:lQ0XoM3e
>>422
理解できてないことを1ミリも説明してないじゃん
話にならないよ
0425デフォルトの名無しさん
垢版 |
2017/11/03(金) 22:03:47.06ID:lQ0XoM3e
自分の考える責務の分離はこうっす
自分こう思うっすとはきはきと説明できないかね
若さが感じられない
0426デフォルトの名無しさん
垢版 |
2017/11/03(金) 22:42:06.17ID:lQ0XoM3e
説明を求められたら言葉を失ってしまうみなさん
0427デフォルトの名無しさん
垢版 |
2017/11/03(金) 22:47:53.53ID:L9/pWClM
どんなに外部でチェックしてもインスタンス生成に失敗することはあるわけで、
そういうときに失敗を通知する手段は例外しかないわけで、
コンストラクタで例外を投げてはいけないとする方が問題だ。
0428デフォルトの名無しさん
垢版 |
2017/11/03(金) 22:49:18.72ID:lQ0XoM3e
モデルに存在するべきコードがコントローラに存在するものをファット・コントローラと言うけれども
バリデータに存在するべきコードがコンストラクタに存在するものをファット・コンストラクタと呼んで
クラスの生活習慣病に位置付けるのはどう?
徐々にシステムを蝕んでいきます
コーディングの習慣を見直しましょう
0429デフォルトの名無しさん
垢版 |
2017/11/03(金) 22:52:55.66ID:lQ0XoM3e
>>427
どんなに外部でチェックしてもインスタンス生成に失敗するときは例外投げて良い
そんなのケースバイケースだろ、柔軟に対応しろよ
0430デフォルトの名無しさん
垢版 |
2017/11/03(金) 22:53:28.36ID:lQ0XoM3e
ベストプラクティスっていうのは柔軟っていう意味もありまぁす!
0431デフォルトの名無しさん
垢版 |
2017/11/04(土) 00:31:14.87ID:FdHKGPou
入力値チェックは、MVC のビューでやるけど、

ドラクエ10 の記事によると、
通信データの500バイトに、1バイトは間違っているから、
通信データは、絶対に信用しちゃいけない。
必ずサーバー側でも、チェックすべき

途中のルーターが、データが間違っていても、データを破棄せず、
間違ったデータで、パリティを再計算して送ってくるから、
正常なデータのように見える
0432デフォルトの名無しさん
垢版 |
2017/11/04(土) 01:00:49.14ID:O0AU1SEY
サーバーが受け取ったデータが外部入力なんだから
それをチェックするのは当たり前
ユーザー入力と同じ

境界の外から入ってきたデータを
どのレイヤーでチェックしてエラーハンドリングするかということと
モデルレイヤーのコンストラクタが事前条件に反した不正値を受け取った場合に
例外を投げるかどうかは関係はしてるが種類の違う問題
という話をしてる
0433デフォルトの名無しさん
垢版 |
2017/11/04(土) 02:59:59.82ID:Wr8YwoWe
できれば不正値はコンパイル時にエラーになって欲しいものではあるな。
不正な値を引き渡せるようにプログラミングできること自体がなくなった方が良い。
I/O絡みのエラーは実行時じゃないとわからないから別としてね。
(指定したファイルがなくて読み出しオープンでエラーとかは仕方がない)
0438デフォルトの名無しさん
垢版 |
2017/11/04(土) 08:55:38.30ID:KxJ3WBAq
モデルの引数を間違えてるっていうのはバグなのでー
開発時に分かればよいことなのでー
アサート使うべきだよねー

コンストラクタをぶくぶくと太らせる理由にはならぬよ
メタボリッククラスから脱却してスマートクラスにしよう
0439デフォルトの名無しさん
垢版 |
2017/11/04(土) 13:21:03.20ID:O0AU1SEY
>>436
Javaの場合はアサートって言うとビルトインのassertをさすからね
事前条件なら自動的にアサート使えとはならないよ

それともコンストラクタでは
ExceptionではなくErrorを投げるべきって言いたいのかな?
0440デフォルトの名無しさん
垢版 |
2017/11/04(土) 13:36:25.85ID:KxJ3WBAq
>>439
何言ってんだおめー
assert使うべきで
例外を投げるべきじゃない
0442デフォルトの名無しさん
垢版 |
2017/11/04(土) 17:10:27.14ID:KxJ3WBAq
>>441
でも設計的に大間違いですよそれ
コンストラクタの使い方完全に間違ってますよ
0444デフォルトの名無しさん
垢版 |
2017/11/05(日) 13:12:43.81ID:z+9Dn5/C
以下のコードをideoneで実行できません。(ブラウザとしてエラーが発生)
どなたか理由を教えてもらえないでしょうか?

import java.lang.reflect.*;
class RefSamp {
public int times = 0;
public RefSamp(int t) {
this.times = t;
}
public void hello(String msg) {
this.hello(msg, this.times);
}
public void hello(String msg, int t) {
System.out.println("Hello, " + msg + " x " + t);
}
}

public class Main {
public static void main(String[] args) throws Exception {
Class clazz = RefSamp.class;
Constructor<?> cons = clazz.getConstructor(int.class);
RefSamp rs = (RefSamp) cons.newInstance(256);
Field f = clazz.getField("times");
f.set(rs, 2);
System.out.println(f.get(rs));
Method m = clazz.getMethod("hello", String.class, int.class);
m.invoke(rs, "refrection!", 128);
boolean pubc = Modifier.isPublic(clazz.getModifiers());
boolean finm = Modifier.isFinal(m.getModifiers());
}
}
0447デフォルトの名無しさん
垢版 |
2017/11/05(日) 14:34:37.57ID:k/LyUYN/
ideoneは知らんけどリフレクションはjavaセキュリティマネージャ動いてたら実行できないからそれじゃねーの
0449444
垢版 |
2017/11/05(日) 18:22:30.39ID:z+9Dn5/C
>>445
決めつけるなよ。それに初心者認定したのはあんたらだろ?

>>447
レスありがとうございます。
ideoneではなにかしらそういう安全装置が働いているということですね。
0450デフォルトの名無しさん
垢版 |
2017/11/05(日) 18:54:33.30ID:qSskq3Yv
釣りでエラーが発生と言ってるだけだろ
https://ideone.com/yLwAJh
0451デフォルトの名無しさん
垢版 |
2017/11/05(日) 18:59:33.63ID:0YSHLKzk
まず質問の仕方がおかしいんだよなぁ
ここは学校じゃないし、相手は先生じゃない
質問者の言わんとしてることを一生懸命に汲み取ってくれる人なんてほとんどいない
もっと相手に伝わるように質問しろ
0452444
垢版 |
2017/11/05(日) 19:41:51.63ID:z+9Dn5/C
>>448
たひんで

>>450
OSなど実行環境の違いによるんですかね…。

>>451
それはその通りだと思うけど、あんたは親切な人だったの?
0456デフォルトの名無しさん
垢版 |
2017/11/05(日) 21:21:54.00ID:0YSHLKzk
>>452
なんで質問が分かりにくいって指摘に対
し、
俺が親切な人だったのか聞かれてるの?
全然意味分かんないんですけど
0458デフォルトの名無しさん
垢版 |
2017/11/05(日) 21:31:07.85ID:0YSHLKzk
そもそももっと答えの得られやすい質問が出来るようになれば解決なんだけど、
なぜ君は指摘に対してわざわざ「じゃああんたはごにょごにょ」とわざわざ全く関係ない事持ち出して喧嘩売ってきてるの?
中学生なの?反抗期なの?
自分の行動を振り替えって恥ずかしくない?
0461 ◆BrBq2CJg6HGd
垢版 |
2017/11/06(月) 00:49:04.71ID:Lce8rfVs
今実行したら出来ました。何でさっきは出来なかったんだろ…。
https://ideone.com/KdavqO

>>453
プログラマー板のコテハンです。

>>454
いや、リンクをたどるのは大丈夫でした。

>>456
ただ冷たくあしらわれたと思ったら、アドバイスをくれたので。

>>458
えっ?褒めてるのに?
0462デフォルトの名無しさん
垢版 |
2017/11/06(月) 02:26:46.28ID:tjV5ukzM
>>459
前回はみんなが教えちゃったけど
正直ためにならないと思うんだよね

でも一個だけヒント言うなら一行ずつ処理を追ってみ(2番目の)
「この変数にはどんな値が入っているか(入るべきか)」意識しながら

現状インプットからアウトプットまで線でつながってない
インプットの仕方は「Java コマンドライン 入力」でググれ
0464デフォルトの名無しさん
垢版 |
2017/11/06(月) 06:09:30.85ID:sonxQjeP
>>461
ごめんなさい、褒められてると思ってなかった
字面で反応してしまったのは俺も同じでした
反省してきます
0466デフォルトの名無しさん
垢版 |
2017/11/06(月) 07:25:39.44ID:kblaZiQ3
>>459
5月の宿題を今やってんじゃねーよ

せっかくお金払って学びに行ってるんなら先生に聞きな
0467デフォルトの名無しさん
垢版 |
2017/11/06(月) 08:51:22.52ID:f5Hwp3Jw
課題の内容および詳細がバッドノウハウの固まりだな
やっぱ学校はCかLispでいいと思うよ
0469デフォルトの名無しさん
垢版 |
2017/11/06(月) 13:56:05.08ID:Ql637c4l
javapro wwww
前に安易に答え教えたせいか変数の使い方すらろくに理解してなくてひでぇな・・
金ドブだからもうやめた方がいいぞマジで
0470デフォルトの名無しさん
垢版 |
2017/11/06(月) 14:05:17.27ID:Ql637c4l
問題も毎回酷すぎてガチでビックリすんだけど学校の名前教えてくれよ
こんなゴミみたいな問題できても全く勉強にならんレベルの酷さだぞ
0471デフォルトの名無しさん
垢版 |
2017/11/06(月) 14:39:48.25ID:Ql637c4l
public class Month {
int hi;
int[] days = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

Month(int num){
hi = days[num-1];
}

public int getDays(){
return hi;
}
}

public class Calendar{
public static void main(String[] args) {

int tsuki = Integer.parseInt(args[0]);

if(tsuki >= 1 && tsuki <= 12){
Month m = new Month(tsuki);
System.out.println(tsuki + "月は" + m.getDays() + "日あります。");
}
else{
System.out.println("1〜12月を指定してください。");
}
}
}
0472デフォルトの名無しさん
垢版 |
2017/11/06(月) 14:53:59.17ID:FN/Llmne
days = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

month = 2
puts days[month] #=> 28

Ruby では、これだけ。
ただし、days[0]は使わない

画像などを貼るな!
paiza.io, codepad などのサイトに、ソースコードを貼って、質問しろ
0473デフォルトの名無しさん
垢版 |
2017/11/06(月) 14:56:54.74ID:PEro5dbb
>>471
何で教えるんだ?
1,2,3,4,5の配列から3番目の値を得る方法を教えろよ。
そうすれば月から日数得る方法も分かるだろ。

考え方が分かって無い人には答えを教えるべきじゃない。
0474デフォルトの名無しさん
垢版 |
2017/11/06(月) 15:10:14.26ID:Ql637c4l
>>350
上級Javaグラマーアカデミー一般命令・規約

規約6第23項18節
パラメータとして渡される値に関して
クラスの不変式を破っているオブジェクトの生成を防ぐため一般原則の特殊な場合として
メソッドおよびコンストラクタは後で使用されるパラメータの正当性を検査すべき
非公開メソッドに関しては一般に、アサーションを用いて検査すべき
上記規約に対する例外として、正当性検査のコストが高いか現実的でなく、かつ
正当性検査が計算の処理の中で暗黙的に行われる場合はこれに該当しない
また暗黙的検査によって誤った例外がスローされる場合はエラーアトミック性が失われることになるため
このような状況下においては抽象概念に適した例外をスローできるようにイディオムを使用すべき
0476デフォルトの名無しさん
垢版 |
2017/11/06(月) 15:37:21.27ID:VIJ1bqUv
だいたいハードコーディングというところがもうダメなのに。
0477デフォルトの名無しさん
垢版 |
2017/11/06(月) 16:59:11.52ID:V0vtn4gd
こういう場合は月の値がおかしかったら例外投げるのが良さそうに思うが、そうすると今話題のコンストラクタで例外になる。
かといってそれをしないならどのタイミングで例外投げるのが良いのか?
(まあそもそもこんなもんクラスにすべきではないのかも知れんが)。

さて、このネタでまたスレが活性化するかな・・・
0478デフォルトの名無しさん
垢版 |
2017/11/06(月) 17:19:53.91ID:f1KpQ6jU
最近Javaを始めた者です。
質問させてください。

質問1)
店から客が弁当を買うような仕組みのプログラムを作りたいのですが、
用意するクラスは「店」「商品の弁当」「客」「実行するためのメインクラス」で良いのでしょうか?
変数は「店と客の所持金」、「客の腹の空き具合」、「弁当によって満たされる満腹度」のようなものを考えています。

質問2)
この様なプログラムの場合、売買のメソッドはどのように作ればいいのでしょうか?
「店が売る」メソッドか「客が買う」メソッドのどちらかだけ必要なのか、両方必要になるのかが分かりません。
現実的に考えれば客が居なければどんなに商品があっても意味が無いので、「店は商品を用意する」それを「客が買う」ような設計になると思うのですがどうでしょうか?

質問3)
現実的には客が弁当を買えば店の在庫は減り、客が所持する弁当が増えます。
このようにオブジェクトの中のオブジェクトが違うオブジェクトに移動するようなプログラムはどのように書けばいいのでしょうか?

質問4)
「客が買った弁当を食べる」という行為を行った場合、客が所持している弁当が無くなるわけですが、この様な仕組みはどのように書けばいいでしょうか?

以上、長くなりましたが良い方法があればご教授ください。
よろしくおねがいします。
0481デフォルトの名無しさん
垢版 |
2017/11/06(月) 18:52:01.06ID:KtrOSJPo
>>480
君は読解力なさすぎでは?
0483デフォルトの名無しさん
垢版 |
2017/11/06(月) 19:13:07.93ID:T+apbet3
>>478
そのシステムの軸がどれなのか?

店、客、弁当を眺めるシステム?
0484
垢版 |
2017/11/06(月) 19:30:58.35ID:/hMSyilp
>>478
売買を真面目に考えると面倒くさい。
弁当のクラス以外に、店と客が「持ってる弁当のリスト」を持つか、
弁当リストクラスを別に作って、弁当に持ち主「店」「客」を持つとか、そんなんじゃないの?
どこにも属してない弁当が存在し得れば後者だと思うし、今回はどこにも属してない弁当があったほうが便利。
食った=無くなった=オブジェクトをリストから削除するか、弁当の満たされる満足度を食ったら残り0にするかじゃないかな。
腹の空き具合と弁当の容量のコンバート関数でももたせりゃ便利じゃねえの?後々。
その空き弁当箱は、捨てるときに、持ち主無しにしといて、たまに持ち主無しの弁当箱をバサッと消したほうが楽かも。

客が来たら作る、となるとまた面倒くさい。
店の方の在庫数で、負在庫に突入しそうなら補充とか、残り○個になったら補充、そういう風にするんじゃないの?

業務アプリみたい。
0485デフォルトの名無しさん
垢版 |
2017/11/06(月) 20:04:51.42ID:tjV5ukzM
>>478
いかにも初心者らしい疑問だけど
同時にどれももっともな質問だね

>質問1)
>用意するクラス
ソフトの規模の大きさに応じて
クラスは細分化していく

>「店」「商品の弁当」「客」「実行するためのメインクラス」
でもまあ小規模な前提なら
それで大筋でおかしくないと思う

もし規模が大きくなるなら
「金」とか「(弁当の)具」とか「客の行列」とか
クラス化する場合もあるかも

>「客の腹の空き具合」
ゲームなの?
業務アプリとゲームだとかなり考え方が違う
0486デフォルトの名無しさん
垢版 |
2017/11/06(月) 20:10:14.21ID:tjV5ukzM
>>478
>質問2)
>売買のメソッド
これは二者関係だから
複雑になりがちなんだよね

まず話を簡単にするためゲームだとして
店視点の販売目的のゲームなのか
客視点の満腹目的のゲームなのかで違う

小規模ソフトならプレイヤー視点の方に
メソッドをつければOK


じゃあもっと複雑な場合どうするか?

客の買うメソッドから
店の売るメソッドを呼ぶという
二重呼び出しもありうるし

第三者が「売買」メソッドを
持って仲介するケースもありうる

「デザインパターン」とか学ぶと
そういう複雑な関係のさばき方が分かってくる
0487デフォルトの名無しさん
垢版 |
2017/11/06(月) 20:13:40.02ID:tjV5ukzM
>>478
>質問3)
店の弁当を減らす処理と
客の弁当を増やす処理を同時に行う

>質問4)
客クラスの変数で弁当の所有数を表現して
食事メソッドなどで消費したら減らす

店側で帳簿をつけていて
客側でも家計簿をつけているとイメージして
それをプログラムで表現すると
何をすればいいか分かりやすいかも
0488デフォルトの名無しさん
垢版 |
2017/11/06(月) 20:27:33.35ID:tjV5ukzM
なお今回は弁当だから店と客の所有数の増減の
つじつま合わせだけやればいいと思うけど

組織間の社員や会員の移動みたいに
個体識別が必要なものが移動する場合は
参照したりIDを振ったりやはり複雑になる
0490デフォルトの名無しさん
垢版 |
2017/11/06(月) 20:33:36.39ID:T+apbet3
やろうとしていることがシミュレーションゲームだよな。
0491デフォルトの名無しさん
垢版 |
2017/11/06(月) 20:57:20.04ID:f1KpQ6jU
みなさんありがとうございます。
質問にあいまいな部分が多すぎて分かりにくい文章ですいません。
自分はまだ始めたばかりの初心者なので、大規模なものでは無くeclipseの練習がてら細々と色々作ってコンソールで実行しようと考えています。

いくつかご指摘があった通り、確かに「客視点」なのか「店視点」なのかを決めてしまったほうが良いですね。
とりあえず486の通り客視点で作ってみようかと思います。
あまり規模を大きくすると混乱すると思うので、「店1つ」「客1人」「弁当1種類」でやってみます。
485で書いていただいたような「通貨」や「弁当の具」や「客の行列」などはまだ考えないことにします。

>>487
この場合、客と店にそれぞれカウンター変数を作ってそれぞれカウントするような認識で良いでしょうか?
それとも弁当自体にカウンターを持たせてオブジェクト数をカウントするのでしょうか?

>>484
リスト構造はLinkedListしか使ったことが無いので他にどのようなものがあるか調べてみようかと思います。
0492デフォルトの名無しさん
垢版 |
2017/11/06(月) 21:32:12.25ID:T+apbet3
目的のわりにやろうとしてることが複雑すぎる。
0493デフォルトの名無しさん
垢版 |
2017/11/06(月) 21:39:56.46ID:tjV5ukzM
>>491
>客と店にそれぞれカウンター変数を作って
>それぞれカウントするような認識

「カウント」が弁当の数のカウントならそうだよ
(販売数のカウントだと一度に複数売るとズレてしまう)
弁当の所有数を店と客の変数で表現するのが一番簡単


ただ弁当の種類が増えたり売買が複雑になってくると
リストなどに入れて店や客に直接弁当オブジェクトを持たせる
というやり方の方が逆に分かりやすくなってくる

弁当が100個なら100個オブジェクトを生成するというように
ゲームの世界とオブジェクトが一対一対応すると認識しやすい
ミニゲームにはそこまでいらないけど本格的なゲームなら必要
0494デフォルトの名無しさん
垢版 |
2017/11/06(月) 21:56:37.61ID:C9PfqYRK
複雑にした Life game か?
0495デフォルトの名無しさん
垢版 |
2017/11/06(月) 23:32:04.04ID:hLy/qxdc
>>478
直接の答えじゃないんだけどオライリーの「HeadFirstデザインパターン」を
読んでみるのもいいかも
質問のような店、商品、客のクラスを例にしてデザインパターンを使ってどう扱うかを
サンプルコードで説明しているので参考になると思う
0496デフォルトの名無しさん
垢版 |
2017/11/07(火) 05:57:39.09ID:uepCx6fG
これは、プログラムの問題じゃない。
システムの設計。SE の仕事。
図書館の貸し出しシステムとか

情報処理資格上級のデータベーススペシャリストの、過去問題集に一杯載ってる。
上級SE とか、部長クラスの資格
0497shosinsha
垢版 |
2017/11/07(火) 08:48:13.35ID:G8xLWgQW
privateとpublicはよく使うけど protected とか未指定って何!
パッケージとかサブクラスって何!
finalって何!
なんで無駄に継承して作るの!!
みたいなこと思うのは私だけでしょうか メリット・デメリットが一切わからん・・・
0498350です
垢版 |
2017/11/07(火) 08:51:50.25ID:FPDcUT3d
>>474
ありがとう
上級javaグラマーアカデミー調べてみます
0499350です
垢版 |
2017/11/07(火) 08:57:52.64ID:FPDcUT3d
>>478は私じゃないですが

コンストラクタの件もそうなのですが、自分でこうしてプログラムを書いてみようとすると、同じようにい設計面での様々な悩みが大量に出てきて
どうしていいかわからなくってしまう

なにか指針となる良い本とかないだろうか
0500遊園地
垢版 |
2017/11/07(火) 09:53:53.39ID:Pq/ecwAD
>>478
>>499

質問の仕方からプログラムの基礎ができて無い。

 過去スレのjava入門スレや図書スレとggる事ぐらいしろ。




言い訳するな
0501デフォルトの名無しさん
垢版 |
2017/11/07(火) 10:24:16.08ID:uepCx6fG
まずこの本で、オブジェクト指向を学ぶ。
スッキリわかる Java入門 第2版、2014
スッキリわかる Java入門 実践編 第2版、2014
スッキリわかる サーブレット&JSP入門、2014

実践Javaコーディング作法 プロが知るべき、
112の規約と21の心得、森崎雅稔(まさとし)、2014

Java 最強リファレンス、田中裕一、2014

EFFECTIVE JAVA 第2版、2014

Spring Framework 4 プログラミング入門、掌田津耶乃、2014
Spring Boot プログラミング入門、掌田津耶乃、2016

これらはプログラミングの本だから、これらを読んでも設計はできない。
システムの設計は、SE の仕事

図書館の貸し出しシステムとか、中古車販売システムとか、
情報処理資格上級のデータベーススペシャリストの、過去問題集に一杯載ってる。
上級SE とか、部課長クラスの資格

実際の仕事では、プログラミングよりも、設計とフレームワーク、
サーバーの環境構築・運用が重要で、10年以上掛かる
0502デフォルトの名無しさん
垢版 |
2017/11/07(火) 10:33:42.87ID:OjaJJCZW
10年経つと学習速度が追いつかなくなってお払い箱になる
SEとは成れの果てだ
だが毎日感謝の正拳突きを続ければ道が開ける、生涯現役
0503デフォルトの名無しさん
垢版 |
2017/11/07(火) 10:50:50.46ID:9O+xl0zZ
>>431
どのみちチートがあるからサーバ側でvalidateするんじゃ
MVCのViewがjavascriptだったりローカルアプリでもするでしょ
0505デフォルトの名無しさん
垢版 |
2017/11/07(火) 14:59:23.44ID:X/d0WSR0
>>499
Javaは俺も初心者だが本立ち読みして、買って、ネット検索して苦労することが成長させてくれると思うけどね。
お手軽に手に入れても深みが足りないんじゃないかな。
0507デフォルトの名無しさん
垢版 |
2017/11/07(火) 16:45:25.12ID:1gOGMHE5
>>506
実務がないのにあんなにやってもどれほど意味があるのかどうか。
0509デフォルトの名無しさん
垢版 |
2017/11/07(火) 18:24:58.95ID:1gOGMHE5
>>508
インストールするようなものではない。
初めから間違っている。
0510デフォルトの名無しさん
垢版 |
2017/11/07(火) 18:27:07.48ID:UinuS14I
最近はIntelliJが流行りなんでしょ
0511デフォルトの名無しさん
垢版 |
2017/11/07(火) 18:30:19.78ID:1gOGMHE5
統合開発環境がどうのこうの言うのは話がそれる。
0512デフォルトの名無しさん
垢版 |
2017/11/07(火) 19:11:35.77ID:e+Onr1Ut
eclipseはソースコード呼んだほうがいいと言われた
それなりに読めるようになるまでどれ程かかるか…
0514デフォルトの名無しさん
垢版 |
2017/11/07(火) 20:21:32.13ID:JPbswaOw
>>510
そして気づいたらKotlinの方にハマってると
0515デフォルトの名無しさん
垢版 |
2017/11/07(火) 20:52:30.52ID:Mdyxq0ii
>>513
慣れたいのがEclipseなのかJavaなのか?

まあEclipseの使い方から入ってもいいが、Java環境の基本の勉強なら遠回りになる。
0516デフォルトの名無しさん
垢版 |
2017/11/07(火) 20:56:35.41ID:OjaJJCZW
eclipseがオワコン言ってるのは泥目当ての子たちだろう
皮肉にもAndroidのおかげでJavaに関心が集まったのも事実だ
でなきゃ悠久の時の中で緩やかに死んでいた
0517デフォルトの名無しさん
垢版 |
2017/11/07(火) 20:58:14.04ID:6QEepYb8
>>513
アーカイブ展開するだけのことをインストールとは言わないと思ってる人が最近増えたっぽいね
最近はeclipseもインストーラー提供してるけど、そっちでインストールしたら> >509も納得なんじゃない?w
0518デフォルトの名無しさん
垢版 |
2017/11/07(火) 21:45:35.21ID:Mdyxq0ii
アーカイブ展開という言葉もおかしいけどな。
0519デフォルトの名無しさん
垢版 |
2017/11/07(火) 21:47:33.19ID:Mdyxq0ii
>>516
どこの世界にいるのか?
0521デフォルトの名無しさん
垢版 |
2017/11/07(火) 22:02:52.09ID:Mdyxq0ii
日本ではセットアップと言うのが無難。準備でもいい。

インストールは日本語にない概念だから、日本人には定義が難しい。
0522デフォルトの名無しさん
垢版 |
2017/11/07(火) 22:06:45.45ID:UinuS14I
>>521
柔王丸
0525デフォルトの名無しさん
垢版 |
2017/11/08(水) 06:43:41.74ID:pFtekju4
ポータブル版
ダウンロードして解凍するだけだから、安全。
フォルダごと移動できるし、アンインストールも削除するだけ

システムをいじっていない

インストール版
システムをいじっている

環境変数PATH などに、インストールしたフォルダを追加しているため、
単純にアンインストールしただけでは、システムは元に戻らない

所定のアンインストール作業が必要で、フォルダごと移動したりも出来ない
0526デフォルトの名無しさん
垢版 |
2017/11/08(水) 06:50:29.41ID:Ct/mmK9J
客の見るメソッドで店頭にある弁当の在庫を確認
客の購入メソッドで弁当を客の注文リストに追加、店の在庫を減らす
客の支払いメソッドで店のレジに客自身のオブジェクトを追加してレジに並ぶ
店のレジで追加された客の注文を参照して、客に支払いを要求する
0527デフォルトの名無しさん
垢版 |
2017/11/08(水) 07:08:44.82ID:zA0Iq8dD
単に買い物する仕組みならショッピングカートで実現されてる
アマゾンも楽天も流れは同じだよね
システム改良や業務改善ではなく売上を上げることを目標にしているなら
客の不信感を想起させないようこれら大手と同じアプローチを採用した方がいい
一方、システム改良というのは例えばレジ無人化のためにICタグをどこにつけるとか
実店舗の在庫とオンラインの在庫を統合して即日配送するとか、そういう話だろうね
0528デフォルトの名無しさん
垢版 |
2017/11/08(水) 20:25:46.62ID:laSDUSFT
このスレで聞くべきでなかったらすみません

2年前にjavaシルバーse7の資格を取りましたが、今更になってgoldを目指そうと思っています
今はもうse8が新しく出てるみたいですが、やはり取るならse8のゴールドをとるべきなのでしょうか?

その場合、移行試験でシルバーse7→シルバーse8をとり、ゴールドse8を取る流れであっていますでしょうか?
0529デフォルトの名無しさん
垢版 |
2017/11/08(水) 20:58:35.99ID:fA12vdwi
資格かあ。取ろうと思ったことないなあ。
0532デフォルトの名無しさん
垢版 |
2017/11/08(水) 21:59:06.12ID:Rd/X6Lpc
>>531
移行試験の試験対策情報は少ないから気をつけた方がいい。
0533デフォルトの名無しさん
垢版 |
2017/11/10(金) 18:24:31.68ID:Hs3iAD9z
eclipseでpostgresqlデータベースにアクセスしようとするとこのエラーが出てしまいます。
解決策を教えていただけませんか?お願いします。
org.postgresql.util.PSQLException: Connection to 10.0.0.5:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:262)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:52)
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:216)
at org.postgresql.Driver.makeConnection(Driver.java:404)
at org.postgresql.Driver.connect(Driver.java:272)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at test.conectDAO.Conect(conectDAO.java:22)
at test.Main.main(Main.java:6)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at org.postgresql.core.PGStream.<init>(PGStream.java:61)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:144)
... 8 more
0534デフォルトの名無しさん
垢版 |
2017/11/10(金) 19:18:51.17ID:vS+vTxvI
>org.postgresql.util.PSQLException: Connection to 10.0.0.5:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

ここに書いてある。
このエラーメッセージで検索すれば?
正確なエラーメッセージで検索するのが、開発者の基本!

システムの構築・運用は、プログラミングと関係ないから、勉強に数年掛かる
0535デフォルトの名無しさん
垢版 |
2017/11/10(金) 19:26:57.77ID:O9mK3j04
psqlを使って10.0.0.5にログインできるか試しファイアウォールの設定を見直すんじゃないかな
つかJavaどころかeclipseの話にすらなってなくね
0536デフォルトの名無しさん
垢版 |
2017/11/10(金) 21:02:52.57ID:EtowUS5u
技術というか歴史?思想?についての質問です
Cを一通りやってからJavaに入ったんですけどもうとにかく長々と書くことが多くてゲンナリしています
例えば勉強の一環でオンラインジャッジとかやってるんですが、Cならscanf一発で済むのがbufferedreader云々……とあーもーと
文法上でもCを下地にしてるのは感じ取れるのですが、ならなんでもう少し分かりやすい方向に行かなかったんでしょう。複雑すぎる気がしています
0537デフォルトの名無しさん
垢版 |
2017/11/10(金) 21:04:50.40ID:J1b6d6mW
>>533
Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
0538デフォルトの名無しさん
垢版 |
2017/11/10(金) 21:08:42.80ID:J1b6d6mW
>>536
慣れの問題。

それと、短く書きたいなら Kotlin やってみるのもいいかも知れないが、まだ Java を知らない人向けの入門書はないようだ(少なくとも日本語の本には)。
0539デフォルトの名無しさん
垢版 |
2017/11/10(金) 21:29:38.83ID:J1b6d6mW
そういえば、出てきたメッセージが英語というだけで全く読もうともせずに人に聞く人が昔から居るように思うのだが、なぜ居なくならないんだろうか?

英語が全然わからないのか?まあわからなくてもいいんだが、しかしコピペするだけで自動翻訳してくれるサイトもかなり前からあるわけで、なぜそういうのを活用しないのか?
0541デフォルトの名無しさん
垢版 |
2017/11/10(金) 21:51:22.98ID:U9BLdyQY
エラーメッセージ程度の英語すら理解できないような残念な人に限ってすぐに人に聞くというだけのことでしょう
何も不思議ではない
0543◇BrBq2CJg6HGd
垢版 |
2017/11/10(金) 22:28:27.11ID:yN1hofrq
全力出してないのに過小評価されてしまいます。
どうしたら良いでしょうか?
0544◇BrBq2CJg6HGd
垢版 |
2017/11/10(金) 22:30:43.32ID:yN1hofrq
まあ客観的に見れば初心者のレベルは超えてますね。
0547デフォルトの名無しさん
垢版 |
2017/11/11(土) 01:40:30.49ID:cTWJmMx0
>>543
全力出せばいいんじゃないでしょうかね。

これにて一件落着。
0548デフォルトの名無しさん
垢版 |
2017/11/11(土) 02:41:43.39ID:+e5YBpfH
出そうと思ってますが体力が無いです
体力つけるには靴が擦り減るんです
1000円も大事なので靴が買えないんです
それに選ぶの面倒じゃないですか
これじゃあ全力出せまでんよ

あえて基礎から学んでますがね
0549デフォルトの名無しさん
垢版 |
2017/11/11(土) 03:02:08.67ID:4HyMUlDc
靴は座敷の入り口に色々なものが並んでるから合うのを持ってきたらいいのでは。
0550デフォルトの名無しさん
垢版 |
2017/11/11(土) 03:23:36.30ID:cTWJmMx0
>>548
君の言っていることがよくわからない
0551デフォルトの名無しさん
垢版 |
2017/11/11(土) 05:16:17.78ID:3tqm8fVd
>>536
組込用の言語だったから、初期の設計の時点では機能的に欲張れなかったのが第一の理由
ン十年前の組み込みだからメモリなんかほとんどない、16Mbytes「もあるのか」レベル
たぶん必要ないってなったらかたっぱし実装を諦めていくことになる

で、その言語をWeb系に転用したら大評判になった
評判になってしまうとヘタに仕様いじれないでしょ、互換性の問題で
これが、Javaがときおりやたら回りくどい理由の主因
はなから機能が少ないものがなぜか流行ってしまったわけです

で、例えばバッファリングとかでWebアプリ高速化的な需要があるんス、とかいうと
「既存のコードをラップするクラスでごまかす」以上の手がなくなるわけで
彼らはそうしたというか、まぁそうなるわ

おっしゃられるbufferedreaderとかは「過去の互換性の問題でラップラップをキメにキメてキメまくった結果
初心者にはイミフでチェケラなんて言えんわ逝ってよし、になってしまったもの」と諦めてください
つまり定型文として飲んでしまうしかないわけ
0552デフォルトの名無しさん
垢版 |
2017/11/11(土) 09:30:20.77ID:zWQHyOB4
>>551
ユーザーにラップさせなくても、commonsみたいによりシンプルなAPIを提供することはできたわけだし、
そうすりゃ互換性云々は関係ないし、その考察は筋が悪いね
0553デフォルトの名無しさん
垢版 |
2017/11/11(土) 11:30:26.02ID:SGA9z9gD
>>536
scanfに相当するのはDataInputStreamあたりで、
BufferedInputStremはエンコードとかオーバーフローの問題を見てくれるから、ちょいと複雑になるのはしょうがない。
例題がマズイのかもしれんが実は実現されていることが1と10ぐらい違うよ
0554デフォルトの名無しさん
垢版 |
2017/11/11(土) 14:48:52.87ID:cTWJmMx0
そういや printf() はあるんだから scanf() のようなものも標準で作れば良いのにね。
Cみたいに代入先の変数のポインタ渡す必要なくて、入力元とフォーマットだけ受け取って
戻り値は List か配列に並べて返して戻された側が(必要であれば instansof で型チェック
してから)値を受け取ればいい。

というか、そんなもんは標準になってないだけで多分誰かもう作ってるだろうな。
0556デフォルトの名無しさん
垢版 |
2017/11/11(土) 15:07:25.99ID:q33W9Eq8
んなもん誰も使わねーよと思ったがJava9でrepl追加されたしな、ありかもしれない(手のひら返し
0557デフォルトの名無しさん
垢版 |
2017/11/11(土) 16:49:44.72ID:mUpupxIk
プログラミング初心者です
以前までCを学習しており苦Cを一通り終えました
そしてJavaを始めようと思ったんですがVS2017でのJavaのインストールがわかりません
スレチでしょうか?
それとおすすめの解説サイトを教えてもらえれば光栄です
0559デフォルトの名無しさん
垢版 |
2017/11/11(土) 17:33:42.50ID:Lc3pPUB/
>>556
既に scanf() なんて個人で勝手に作ったのが世界中に溢れかえっていてちょっとクグれば何万箇所もダウンロードサイトが出てくる、
と思ったら一件も出てこなくて世界中Javaでscanf()と同じようなないのかという質問だらけ。どうやら今までに作ったやつは居ないか物凄く少ないようだ。

これはチャンスだ。
初心者向けのお題としても良いかも知れん。
0560デフォルトの名無しさん
垢版 |
2017/11/11(土) 18:06:51.35ID:Kl6g3F68
>>557
統合開発環境はVSだけじゃないんだから少しは調べてみてはどうだろう?
0561デフォルトの名無しさん
垢版 |
2017/11/11(土) 18:53:02.06ID:0Zx9tY2B
あのーJava9とかでたみたいだけどいろいろ見てたらいまだに現場はJava7ですとかいうのをみました
ほんとのところはどうなの?
新しいJava9とかつかってる人はいないの?
0562デフォルトの名無しさん
垢版 |
2017/11/11(土) 20:31:16.85ID:d+WjX2lt
新プロジェクトが始まってJavaのバージョンが6から7になったぞ
やったー!
0564デフォルトの名無しさん
垢版 |
2017/11/11(土) 23:01:21.79ID:3tqm8fVd
>>552
JSRみたいなの見てると、Java界は大きな機能入れづらい風土なんだろなーって印象はあるわ
外部の誰かが楽になるものを書いたら似たようなのが次のJavaSEなりEEに入る感じで、後追い

EEに関してはEclipse移管で開発速度上がるんだろうか? Java MVCが結局おしゃかなのは残念だ
0565デフォルトの名無しさん
垢版 |
2017/11/12(日) 02:29:11.67ID:0YSprajH
>>561
うちの会社は古いプログラムでは1.1で、新しいやつは1.6使ってるよ。
なんでバージョンアップしないのかというと、既に膨大な量が作られていて検証するのが大変だから。
まあその内またJavaで新しいの作るかも知れないけど、その時はその時のバージョンで作ると思う。
しかし年月が経ってJavaのバージョンが上がってもそのプログラムに対してはそのバージョンのJavaを使い続けると思う。
業務用のプログラムはだいたいそんなもんだ。一度動いたものをそう簡単には変えないんだ。
変えて動かなくなったら損失になるからね。金と信用が掛かってるから物凄く保守的なの。
0567デフォルトの名無しさん
垢版 |
2017/11/12(日) 03:49:09.64ID:DpCGzFcJ
逆にバージョンアップするたびに変えてたら
莫大な更新費用が掛かるのは明白だからな
0568デフォルトの名無しさん
垢版 |
2017/11/12(日) 08:32:33.39ID:G8Pw/Luh
>>565
くわしくありがとー
0569デフォルトの名無しさん
垢版 |
2017/11/12(日) 14:52:06.17ID:GpB3XqQ3
サポート切れのシステムを使うと、

セキュリティーホールがあるから、顧客から損害賠償請求される
0570デフォルトの名無しさん
垢版 |
2017/11/12(日) 15:01:18.14ID:/VKzDrV0
サポートが切れると穴が空くというわけじゃないがな。穴があるとすれば最初から空いているもの。
そういう意味では新しすぎるものよりある程度枯れたバージョンの方が安全だったりする。
どっちにしても、サポートが切れてもリプレースせずに使い続けるのは顧客の責任だわな。
0573 ◆BrBq2CJg6HGd
垢版 |
2017/11/12(日) 16:59:34.52ID:8BlcDgq9
>>543-544
俺の名をかたって書き込んでじゃねーぞボケが

他の方、失礼しました。
0575デフォルトの名無しさん
垢版 |
2017/11/12(日) 17:42:04.33ID:/IhaJnpm
若干スレチで板違いですがJavaFXでゲームを作ってます
Timelineでゲームループ作って0.何秒ごとにループを回してキーボード方向他入力→処理→画面描画をやる、みたいなの守って作ってみたのですが
標準のListViewみたいなのを持ち物選択とかに使おうとするとキーボード入力→描画を1ループに収めたりするのが困難または苦痛になってきました
もしかしてゲームループみたいなものと標準の単独操作可能なコントロールコンポーネントは相性悪いのでしょうか
ゲームループを使うと決めたらCanvasに表もボタンも一覧も全部自前で絵として描いて全主導権を得るような感じじゃないとよくないのでしょうか
0577デフォルトの名無しさん
垢版 |
2017/11/12(日) 18:03:49.92ID:dvIcUwwY
>>566
以前 .JXW という拡張子のファイルを見つけて、調べたら一太郎のファイルだったことが判明。
0578デフォルトの名無しさん
垢版 |
2017/11/12(日) 18:07:09.44ID:dvIcUwwY
>>575
スレッド使ってないの?
0579デフォルトの名無しさん
垢版 |
2017/11/12(日) 18:36:35.39ID:/IhaJnpm
>>578
いや特には
描画が終わってから次のフレームに行くことさえ守られてればいいんだろうなと思って
だからイベントリスナーはSceneにキーボード一つだけだしプロパティ同士のbindによる即時反映も使えないっぽいのでお互いがとっても遠いです
0580デフォルトの名無しさん
垢版 |
2017/11/12(日) 20:19:49.04ID:MJJ1XJCL
>>570
新しいバージョンで塞がれ既知となったセキュリティホールが
サポート終わったバージョンではそのままかもよ
0581デフォルトの名無しさん
垢版 |
2017/11/12(日) 20:25:10.79ID:PPWufhUc
セキュリティホールごときにびびってんじゃねえよ
男ならもっと大きく構えてろ
0582デフォルトの名無しさん
垢版 |
2017/11/12(日) 22:52:51.63ID:OjUQAGRR
外向けの案件なんてまずほとんどないんだから
セキュリティホールあろうが何だろうが全く問題ない
strutsですら現役なんだからな
0584デフォルトの名無しさん
垢版 |
2017/11/13(月) 00:26:21.18ID:x22VT2Cx
>>575
だから完成したゲームはプレーンな機能を駆使して複雑に組み上げた俺俺フレームワーク+データになる
ビジネスフォームやレイアウトノード(かなり罠)とゲームの画面制御の考え方が相性悪いのもその通り
勉強にすらならんので、ゲーム作るならJavaFX以外、JavaFX学ぶならゲーム以外、をお勧めするよ
0585デフォルトの名無しさん
垢版 |
2017/11/13(月) 01:54:41.58ID:zqq3IZFf
>>575
なんでJavaでゲーム制作が少なかったかっていうと
Javaは業務アプリ作るのに使うことが多いから
リアルタイムのGUIをあんま想定してない

一方C#はJavaに似てるけど
MSがゲーム(本体)作ってるから
GUIライブラリで差が付く
0586デフォルトの名無しさん
垢版 |
2017/11/13(月) 06:15:48.65ID:meU8fNdA
JavaでゲームだとLWJGLやjMonkeyEngineやlibgdxなど
ライブラリやフレームワークがいくつもあるみたいだね
どのみち応答速度や描画更新を考える必要があるから
JavaFXで作ろうとするとすぐ限界になると思う
0588デフォルトの名無しさん
垢版 |
2017/11/13(月) 08:08:58.44ID:OHcpKwzL
あるwebから読み込んだhtml内の改行コードに、「0x0A」が含まれていて
windows環境ではこの改行を正規表現での置換ができないっぽいんだが
対処方法おしえて
0589デフォルトの名無しさん
垢版 |
2017/11/13(月) 08:23:57.23ID:x22VT2Cx
別に高速描画でなければならないゲームだけではないから作れるゲームジャンルは少なくはないのだが
使ったのはCanvasとImageとTextとTimelineだけだったみたいな「JavaFXのメリットって何だったっけ?」というオチになる
どうせなら>>586が挙げてるようなOpenGLとかにもっと近いライブラリがお勧めだ
困ったことに話題のKotlinでも同じ問題があって、新規さんが注目しそうなゲーム関連が標準ライブラリで超苦手という…
まあ、ゲーム製作なんてそんなもんだということで
0590デフォルトの名無しさん
垢版 |
2017/11/13(月) 08:38:26.56ID:xZ3UOIq3
>>588
正規表現で変換すればいいの?
s/\x0a// で空になるんじゃないの?
(""の中では \ は \\ な)
0591デフォルトの名無しさん
垢版 |
2017/11/13(月) 09:01:10.83ID:meU8fNdA
>>588
LINE_SEPARATOR_PATTERNで検索すると目当ての正規表現がScanner.javaの中にみつかる
参考にしながら自前で用意しなおすとか
0593デフォルトの名無しさん
垢版 |
2017/11/14(火) 09:43:03.58ID:9B++yybF
>>592
Javaだとそれ固定だったっけ?
だったらそれで良い。
0594デフォルトの名無しさん
垢版 |
2017/11/15(水) 02:21:01.57ID:edbITJRa
>>588
その質問、どういう状況なのかもうちょっと詳しく書いてみて。
何をやりたくて自分では何をやりそしてどのようにうまく行かなかったのか?
0596デフォルトの名無しさん
垢版 |
2017/11/15(水) 14:49:56.29ID:lFcBndcM
Javaのコレクションについて詳しく解説している本はありますか?

実装でどのようなデータ構造が使われているのか知りたいです。
0597デフォルトの名無しさん
垢版 |
2017/11/15(水) 16:57:23.32ID:MYmTne2b
>>596
何を作るのかによる。
0598デフォルトの名無しさん
垢版 |
2017/11/15(水) 17:06:22.80ID:MYmTne2b
>>596
スッキリわかるの実践編でも説明されている。

アマゾンでJavaの本を見てる?

業務システムだとArrayListばかりだけど。
0599デフォルトの名無しさん
垢版 |
2017/11/15(水) 20:23:09.65ID:lFcBndcM
>>597-598

ありがとうございます。

スッキリわかるの実践編は見ました。

が、実装について詳しく書いていません。

たとえば、TreeSetが赤黒木を使って実装されているとかそういうことを知りたいです。
0600デフォルトの名無しさん
垢版 |
2017/11/15(水) 20:30:46.46ID:VZRlTA/C
>>599
『(新)明解 Javaで学ぶアルゴリズムとデータ構造』
でアルゴリズムの基本を押さえれば実用上は問題ない

そうではなくどうしてもJava自体の実装が知りたいなら
Javaのソースコードを自力で読むしかないと思う
0601デフォルトの名無しさん
垢版 |
2017/11/15(水) 20:41:33.78ID:h8srGYM+
いつでもオンラインリファレンスとsrc.zipへジャンプできるようにしときなよ
intelliJもeclipseも設定あるよ
0602デフォルトの名無しさん
垢版 |
2017/11/15(水) 20:51:38.01ID:Ia+zHPxc
遥か昔、惨舞黒という武人がいた
彼は邪葉という流儀を拓き、人々は目盛管理から(ひとまず)解放された
…そこに目を付けたのが親日派を筆頭に持つ悪羅狂である

民明書房刊「こんにちは世界!」より抜粋
0603デフォルトの名無しさん
垢版 |
2017/11/15(水) 21:01:01.44ID:lFcBndcM
>>600-601

ありがとうございました。

ソースコードを見られるとは知りませんでした。
0605デフォルトの名無しさん
垢版 |
2017/11/17(金) 14:39:13.24ID:CqEl0MQ+
すみません。

src.zip がパソコンの中に見つかりません。

どこを探せばいいでしょうか?

Javaのダウンロード&インストール時にはデフォルトを選択しています。
0607デフォルトの名無しさん
垢版 |
2017/11/17(金) 20:01:51.97ID:CqEl0MQ+
>>606

ありがとうございました。

Eclipseから見られるようになりました。
0608デフォルトの名無しさん
垢版 |
2017/11/17(金) 22:41:21.56ID:iD/s4mHg
今使っているjavaの入門書がインナークラスを多用しすぎていて
実務的に使い物にならないのでいい本・・・というか
しっかり1クラスずつ分けて書いてある本が欲しいです。

入門用のサイトでも、インナークラスが大半で
アクションイベントの説明がインナーで書かれてる長すぎるコードで困っています。
どういう本を買う ないしはどういうサイトを参考にすれば良いでしょうか?
0609デフォルトの名無しさん
垢版 |
2017/11/17(金) 22:44:17.67ID:m4E+5Wqt
自力でアウタークラスに書き直せ、名前を追加するだけでよいのではないか?
0610デフォルトの名無しさん
垢版 |
2017/11/17(金) 23:37:12.15ID:tGAvpZAK
>>608
それな
実は超実用的だぞ
業務で好き勝手にファイルを追加なんてしたら処刑されてしまう
だからファイルを作らずにクラスを作れる内部クラスはありがたい
0611デフォルトの名無しさん
垢版 |
2017/11/17(金) 23:38:35.39ID:aGWwpVlc
>>608
それは説明が面倒だからインナークラスになっているのかもしれない。
0612デフォルトの名無しさん
垢版 |
2017/11/18(土) 00:01:03.60ID:aGnQcjwq
見やすさ考えたら別のクラスに分ける方がいいと思うんだけどね

入門書の違和感が凄いのは パッケージを使って複数の単純なjavaファイルを組み合わせろって言ってるのにも関わらず
実際にはインナー使いまくって
javaファイル1個で収めてしまってるっていうところかな

勉強にならないっていう
0619デフォルトの名無しさん
垢版 |
2017/11/18(土) 10:39:06.66ID:9qldwfu/
TreeSetのソースコードを見てみましたが、Red Black Treeの実装はそこには含まれていませんでした。

たくさんのクラスやインターフェースが関係しているようで、全貌を理解するのは容易ではないみたいですね。

そこで質問なのですが、入門書を読み終わった後に、本格的に勉強するにはどの本を読めばいいのか
教えていただけないでしょうか。

本屋で見てみた結果、どうも日本語のJavaの本はやさしい入門書ばかりのようです。

Javaによるライブラリーの設計の仕方の本のようなものはないでしょうか?
0620デフォルトの名無しさん
垢版 |
2017/11/18(土) 11:04:32.59ID:mXawvBur
リスナーはインナーで当然としても、
各種機能は別クラスで書いて欲しいよ

実際には別クラスにする事が多いだろう
その為の教則本であり参考書なんだから頼む
それとも今はネイティブなんてどこも書かんのかね
0621デフォルトの名無しさん
垢版 |
2017/11/18(土) 11:15:36.08ID:1t/7h042
>>619
何が目的なのか説明してくれ
0622デフォルトの名無しさん
垢版 |
2017/11/18(土) 11:19:41.03ID:grusuN0I
>>619
クラス分けでどう役割を分けるかとかならデザインパターンで、処理の効率とかメモリ消費とか言ってるんならアルゴリズムら辺じゃない?
0623デフォルトの名無しさん
垢版 |
2017/11/18(土) 11:21:23.13ID:9qldwfu/
>>621

Javaのような広く使われている言語のライブラリーがどのようなものなのかを
理解したいです。

アルゴリズムとデータ構造の本のあるトピックを読んだ後に、実際に広く使われている
ライブラリーではどのように実装されているのかが知りたくなります。

細かいテクニックも使われていると思いますし、プログラミングの勉強にもなると思います。
0624デフォルトの名無しさん
垢版 |
2017/11/18(土) 11:23:37.89ID:sryiIqkf
>>619
入門書ちゃんと読んでればTreeSetはTreeMapを使ってるってわかるっしょ
TreeMapがRed Black Treeの実装だよ
0625デフォルトの名無しさん
垢版 |
2017/11/18(土) 11:24:14.86ID:9qldwfu/
>>622

ありがとうございます。

TreeSetのソースコードを読んでみてあまりにも沢山のクラスやインターフェースが
からんでいるので、圧倒されてしまいました。

肝心のRed Black Treeの実装部分以外の部分がコードの行数の大半を占めている
というのに驚きました。

デザインパターンの本を読んでみようと思います。
0627デフォルトの名無しさん
垢版 |
2017/11/18(土) 11:28:40.42ID:9qldwfu/
>>624

ありがとうございます。

コアな部分を見つけるのですら大変な感じで、見つけられませんでした。
0628デフォルトの名無しさん
垢版 |
2017/11/18(土) 11:38:42.95ID:sryiIqkf
>>627
TreeSetはTreeMapに処理を委譲してるスカスカのクラスじゃん
見つけられないわけないだろ

たとえばTreeSetのaddメソッドを見ればこうなってるから
mがなんのオブジェクトか調べるだけっしょ

public boolean add(E e) {
 return m.put(e, PRESENT)==null;
}
0629デフォルトの名無しさん
垢版 |
2017/11/18(土) 14:01:42.10ID:1t/7h042
>>623
オープンソースの製品を見ればいい。
0631デフォルトの名無しさん
垢版 |
2017/11/18(土) 16:17:35.67ID:6foiYhRZ
平衡二分木の赤黒木を図解している本は、あまりない。
川中真耶の本で、図解していたかも知れない

まず、AVL の図解で、木の回転・縮約などを勉強する。
それから赤黒木

AVL では、木の高さをそろえるため、最小最大の高さの差が、2になると、
木の回転・縮約をして、差を1以内に収束させる。
この処理が頻繁に入るため、赤黒木が考案された

赤黒木では、最小最大の高さが2倍になるまで、何もしない。
例えば、最小の高さが10、最大の高さが20になると、木の高さをそろえる

Linux で、数ミリ秒毎にプロセスを切り替える、プロセス実行ツリーは赤黒木。
プロセスをツリーに挿入し、実行されたら、ツリーから削除する

同じノードの挿入・削除が繰り返される場合に、
一々、木の高さをそろえないから、赤黒木は効率的
0632デフォルトの名無しさん
垢版 |
2017/11/18(土) 17:22:26.42ID:6foiYhRZ
>Linux で、数ミリ秒毎にプロセスを切り替える

間違えた。もっと速い。
コンテキストスイッチは、1秒間に10万回だったな
0633デフォルトの名無しさん
垢版 |
2017/11/19(日) 17:48:09.87ID:kX4SliJD
javafxのButtonでボタンの大きさ変えるには?
0635デフォルトの名無しさん
垢版 |
2017/11/20(月) 00:44:14.05ID:1mq1CQ1q
Java始めるためにEclipseダウンロードしました
人気らしいんですが使ってる人いますか?
あと他の言語を使う場合Eclipse一つで賄えるのですか?
ここにいる人たちのおすすめ統合開発環境かエディタ教えてもらいたいです
0636デフォルトの名無しさん
垢版 |
2017/11/20(月) 01:25:50.57ID:mDfqs7je
ほとんどの入門書がeclipse導入を前提にしていると思う
だから学習用途でならユーザー数は多いんでないかね
0637デフォルトの名無しさん
垢版 |
2017/11/20(月) 09:55:37.07ID:XIksiTJJ
>>635
何せ古いからねー
困ってもググればなんとかなるし、
よほど複雑な事しない限りはeclipseでいいと思うよ
0639デフォルトの名無しさん
垢版 |
2017/11/20(月) 12:34:55.29ID:teQ/6eqN
無茶苦茶速いゲーミングPCでも使ってやればよい
0641デフォルトの名無しさん
垢版 |
2017/11/20(月) 13:03:06.04ID:GA+fru4l
IntelliJは?
0642デフォルトの名無しさん
垢版 |
2017/11/20(月) 16:03:17.43ID:ohy70QIE
>>641
Kotlin用またはAndroid Studioのベース用
既存プロジェクトがIntelliJで動いてるとか職場になんでも知ってるIntelliJマイスターがいるとかでない限り新規で選ぶ積極的理由はない
加えて、きちんとしたプロジェクト方向性(と有償IDEに使えるお金)があるならAndroidスマホはC#&UnityでもC++でもいいからAndroid Studioの優位性は思ったほど高くない
IntelliJはいまが踏ん張りどころ
0643デフォルトの名無しさん
垢版 |
2017/11/20(月) 16:08:42.84ID:GA+fru4l
>>642
なるほど
素直にEclipseにしとくのが良さそうですね
0644デフォルトの名無しさん
垢版 |
2017/11/20(月) 22:00:35.84ID:1mq1CQ1q
Java使ってる人って何作ってるの?
ゲームで使うにしてもJavaダウンロードしなきゃ動かないんじゃないの?
てか同人ゲーの主な言語って何?C#?C++?
0645デフォルトの名無しさん
垢版 |
2017/11/21(火) 01:54:49.24ID:zUV8sDjk
>>644
サーバ用プログラムとAndroid用プログラムが一番多いんじゃないかな。
PCでクライアント用プログラムというのも業務用だとたまにある。
個人向けPC用だとやはり JavaVM インストールしなきゃいけなかったりするのがあってかあまりないように思う。

2chの専ブラにJavaで作ったやつがあったが、2chが接続に関して制限をした時に対応しなかったので
2ch用としては終わった(その他互換性のある掲示板には使えたが)。
0647デフォルトの名無しさん
垢版 |
2017/11/21(火) 07:31:51.24ID:OOffmQFA
>>644
ゲーム製作はゲーム用ライブラリやゲームエンジンに強く依存する
むろん、言語から選んでOpenGLバインディングをゼロからごりごり書いてもいいが、それは言語の理解のためにゲームを利用してる状態で、あんまりゲーム製作とは言えない
(企業ならそうやって時間とコストかけて特定言語の自社製フレームワークを作ってもいいが、それは企業だから維持できることだ)
いまいちばん新しくて個人人気があるのがUnity+C#。PC/スマホの両対応。有料アセットストアのゲーム用リソース支援が強すぎる。おかねは正義
ゲーム用途ではJava+JavaライブラリはAndroidですら少数派だと思う(昔はこれしかなかったから今もこれで作ってる人は多いが)

もっとプログラミングレベルを下げたもの、つまりやれることが減ってるがその分作りやすいもの、となると各種ゲームエディタやツクールになる(スマホ向けはあまりうまくいってないようだ)
ゲーム製作プログラミング自体をしたいわけじゃない、ネタやリソースはすでに持っててありものに反映させたいだけ、という人が効率よく使う
ツクールツクール言って煽る人がいるが、そう馬鹿にしたものでもない。だって願望の実現効率がいいんだから
0651デフォルトの名無しさん
垢版 |
2017/11/21(火) 23:05:59.16ID:PCscOrJ1
彼の言ってることを3行にまとめると
Unity3Dスキスキだいすきー
あれC#だ、Java使わない
金ないならツクールで作れ
0652デフォルトの名無しさん
垢版 |
2017/11/22(水) 02:55:16.46ID:Nn/9sF3F
やっぱなんかソフトを思い描いて作りながら勉強するほうが効率的なのかなぁ
今スッキリ入門、実戦、SQLまで読んだ、というか何回も読んでる途中だけどソフト作れる気がしねぇ
0653デフォルトの名無しさん
垢版 |
2017/11/22(水) 03:05:25.75ID:Fja20xY7
最初から実用レベルのアプリを作るのは難しくて
小さいツールをたくさん作っていくうちに
パターンが分かってきて作れるようになっていく
0655デフォルトの名無しさん
垢版 |
2017/11/22(水) 13:44:16.88ID:04NSPu4h
>>652
目的がないのにやるのはおかしい。
0656デフォルトの名無しさん
垢版 |
2017/11/22(水) 15:56:14.43ID:NgxFNsMl
>>655
あんがいそうでもない
プログラミングの思考が好きでプログラミングをやっている、という向きもある
0658デフォルトの名無しさん
垢版 |
2017/11/22(水) 17:04:48.21ID:MbIFD/uR
プログラミングのお題スレでも見て作れそうなの作れば良いのではないかな
0659デフォルトの名無しさん
垢版 |
2017/11/22(水) 17:21:17.55ID:ENKJMmst
この本で、オブジェクト指向を学んだら、
スッキリわかる Java入門 第2版、2014

その後、この2冊をこの順に読む。
たのしいRuby 第5版、2016
みんなのPython 第4版、2017

これで基礎ができるから、パズルを解くか、ツールを作れる
0660デフォルトの名無しさん
垢版 |
2017/11/22(水) 17:55:08.98ID:Q4N3BSHt
・スッキリわかる Java入門 第2版、2014
これは読みました。
わかりやすさに感銘を受けました。

ところでこの2冊を読む意義はなんでしょうか?
言語としてのRubyとPythonには興味がない人でも読む価値はありますか?
・たのしいRuby 第5版、2016
・みんなのPython 第4版、2017
0662デフォルトの名無しさん
垢版 |
2017/11/22(水) 18:18:15.55ID:ENKJMmst
Ruby, Python は、シェルスクリプトの代わりになる。
OS のコマンドを実行できる。
その後に、PowerShell もやった方が良い

Vagrant, Chef も、Rubyだから、仮想OS, Linux で使える。
つまり、環境構築に強くなる

関数型言語の勉強にもなるから、Kotlin, JavaScript へ移行しやすい。
さらに、ツールも作りやすくて、パズルも解きやすい

ここまでが基礎で、その後に数言語を学ぶ
0664デフォルトの名無しさん
垢版 |
2017/11/22(水) 18:34:07.61ID:milfaijK
Eclipseを使っていますが、タブキーを押すとスペースが4個入力されるようにするにはどうすればいいのでしょうか?
0665デフォルトの名無しさん
垢版 |
2017/11/22(水) 18:55:16.70ID:/wgdkUUe
>>664
趣味が変わってるな
0666デフォルトの名無しさん
垢版 |
2017/11/22(水) 22:29:18.03ID:Clb/PdqY
>>664
設定をtabで検索
0667デフォルトの名無しさん
垢版 |
2017/11/23(木) 01:29:11.09ID:F7iNVWnV
>>655
作ってみたいプログラムならあるよ
データベースとウェブを組み合わせた何かを作ってみたい
具体的にはゲームのwikiページみたいなのとか
ネットによくある装備シュミレーターみたいなのとか
ネットショップとかの会員管理や取引決済管理みたいなのとか
ネトゲがどういう形でデータベースを使ってるのかわからないけどネトゲみたいな自由自在にデータベースの使う方法を知りたいとかもある
ただどれも今は雲をつかむような感じで出来る気がしねぇ

>>657
何書いていいかわからないんだから書けないよ
C言語から入って入力を求めて数学的処理をしてテキストに出力するようなプログラムは数個書いた
でもなんか思ってたのと違うと思ってJava勉強してるんだけどこっちでも何書いて良いかわかんない
0668デフォルトの名無しさん
垢版 |
2017/11/23(木) 01:34:20.60ID:F7iNVWnV
あとスッキリの例題なんかもやってるけどミナト君のRPGとかなんか書いててしょぼく感じるんだよなぁ・・・
0669デフォルトの名無しさん
垢版 |
2017/11/23(木) 02:54:03.42ID:zrxDpziz
>>668
俺もスッキリの問題解いてみたけど、問題を解くだけだとアルゴリズムを考える力が
あまり付かない感じがした。ああ、あくまでも入門書なんだなあって。
前AOJのサイトこのスレで勧められたんだけど、良かったらやってみたら?
本見てコード打つより考える力が付く気がする。
0671デフォルトの名無しさん
垢版 |
2017/11/23(木) 06:45:47.99ID:NKBG+ZId
息抜きにawtでもswingでも簡単なguiをつくればモチベには繋がると思う
自分の思い描いていたプログラミング感みたいな
0673デフォルトの名無しさん
垢版 |
2017/11/23(木) 12:09:43.44ID:ZxDTak3A
>>667
こんな感じのそれぞれのやり方を調べてやってみれば勉強にはなるんじゃない?
Springとライブラリ使った方が簡単だけど
1.JSONを解析して内容を返すクラスを作る
2.JSONをPOSTされたら内容に応じて特定の応答を返すWebアプリを作る
3.そのWebアプリをDB使うように変更する
4.ブラウザで見られるページを作る
5.WebページからJSONをPOSTできるようにする
6.レスポンスに応じてWebページを変えてみる
0674デフォルトの名無しさん
垢版 |
2017/11/23(木) 13:03:34.43ID:2mSc0LjS
java始めたきっかけは
仕事の効率化やったな
エクセル集計やpdf整理や雛形メール送信できたらなあってのがきっかけだった
目的があれば逆引きで勉強しながらトライアンドエラーの繰り返しですぐできるようになるよ
0676デフォルトの名無しさん
垢版 |
2017/11/23(木) 13:56:39.07ID:JkIKu46w
まず本を読む
良いコードとは何かについて考える
考えをまとめたら実際に書いて確かめる
書くものは実用性のないサンプル用の課題でいい
例えば架空のオンラインショップなど

この思索の経験が実務で活きてくる
これをやらない奴のシステムはいつもめちゃくちゃ
0677デフォルトの名無しさん
垢版 |
2017/11/23(木) 14:07:22.20ID:AMXsylzt
>>675
ちょっと違和感がある
目的に沿うのが良いコードだと思う
コードがきれいなのも使いやすさのうち
0678デフォルトの名無しさん
垢版 |
2017/11/23(木) 17:17:20.32ID:2mSc0LjS
確かに寄せ集めだったり 動けばいいって感じだから最初は汚いなwww
でもまずは動くものを完成させるというのが大切よ
そこがスタートライン
0680デフォルトの名無しさん
垢版 |
2017/11/23(木) 19:44:46.58ID:0qz2CzGv
ほんとここって質問に対してゴミみたいな返しばっかだなw
まぁここで質問する奴も馬鹿なんだが回答とは程遠い的外れレスしかなくて呆れるわ
0681デフォルトの名無しさん
垢版 |
2017/11/23(木) 19:49:55.51ID:uF7hi9HH
座学と実技は交互にやるのがいいよ
飽きにくくなるし
Javaに限らず

なかなか座学に戻るきっかけがない
通勤中の読書とかいいね
0682デフォルトの名無しさん
垢版 |
2017/11/24(金) 00:11:30.15ID:XU2XTCN8
ゲーム作るなら正直C#のがいいの?
マイクラのMOD作りたかったらやっぱマイクラと同じJava使わないといけないの?
0684デフォルトの名無しさん
垢版 |
2017/11/27(月) 19:15:24.32ID:pOrXaMs/
バカはお前だろ
初心者相手に何イキってんだよ
0686デフォルトの名無しさん
垢版 |
2017/11/28(火) 03:03:07.11ID:399RPoge
サーブレットの勉強をしているのですが、web.xmlの仕様がよく分かりません。ググっても説明を羅列しているのが多く、具体的にどういう時に使用するのか理解できていません。
(Welcomefile、アノテーションで代替されたサーブレットのタグは除く)

なにかよい本かサイトはありますでしょうか
0687デフォルトの名無しさん
垢版 |
2017/11/28(火) 10:49:06.91ID:wXhMIi8n
>>685
なんでだよ?
0688デフォルトの名無しさん
垢版 |
2017/11/28(火) 12:12:47.83ID:VI0KQalJ
GoFの入門にお勧めの本ありませんか
Java言語で学ぶデザインパターン入門は買って見たけど全然意味解りませんでした
0689デフォルトの名無しさん
垢版 |
2017/11/28(火) 12:22:39.90ID:BSaeQFIU
>>688
あれって、サンプルプログラムなかったっけ

ちゃんとプログラムを動作させてみた?

単にコピペするだけじゃなくて、多少アレンジしてどのような挙動をするのかの確認とかもしないとね
0690デフォルトの名無しさん
垢版 |
2017/11/28(火) 12:57:36.68ID:Ym/qH3G+
Javaのfocusの使い方が分かりやすい本があれば教えて頂きたい(Swing)

トップコンテナをFlameとして
子コンテナをjpanel
孫コンポーネントをlabelとかtextとか
キーイベントで画像出すとか

簡単なもの作って見ようかとやってたんだけど focusの使い方がサッパリ分かりません

今持ってる入門書は明快入門javaですが
Guiについてはほとんど書かれてない

書店や図書館行って見てきたけども
これといってguiの本は無かったので
どのように勉強すればいいか
ご教授お願いします
0691デフォルトの名無しさん
垢版 |
2017/11/28(火) 21:51:06.98ID:PkJOT8pW
>>686
スッキリわかる サーブレット&JSP入門、2014

>>690
Javaで、GUI の本は無いね。
Kotlin で、Android とか、Web(HTML)とかかな?
0692デフォルトの名無しさん
垢版 |
2017/11/28(火) 23:13:50.65ID:399RPoge
>>691
遅くなりましたがスッキリシリーズの本紹介ありがとうございます。
実は何年版かわかりませんが既に持っているのですが、2014版が詳しく載ってるんですかね
まずは持っている版を見なおしてみます
0693デフォルトの名無しさん
垢版 |
2017/11/30(木) 18:34:00.77ID:A1E/mSxW
セジウィックとウエインのcourseraのオンライン講義を聴講しています。

java.util.List
java.util.Stack
java.util.Queue

は最低だそうですね。

Best practices: Use our implementations of Stack, Queue, and Bag.

だそうです。
0694デフォルトの名無しさん
垢版 |
2017/11/30(木) 19:52:37.31ID:REpnm3ls
>>693
どういう理由で?
0695デフォルトの名無しさん
垢版 |
2017/11/30(木) 19:56:29.88ID:7wApdvUL
まあ誰も使ってなさそうなListIteratorとかgetがO(1)である保証がなかったりするのとかはクソだと思う
0697デフォルトの名無しさん
垢版 |
2017/11/30(木) 20:41:40.24ID:n7dx9HSj
zipファイル、7zファイルを読み込み、圧縮されているファイルを
ランダムアクセスで処理するプログラムを作ろうと思ってます

ファイルを実際に展開してそのファイルをランダムアクセスする、
ということになるのかなと思ってるのですが、一応、パスワード付きzipにも
対応する必要があって、例えばプログラムを強制終了したときに
パスワードを入れて展開した一時ファイルが残ると嫌だなあと思ってて、
メモリ上に展開し、メモリの内容をランダムアクセスして、ということが
できないかと思ってます

圧縮ファイルの内容をメモリ上に展開し、それをランダムアクセスする方法を
教えてください
0699デフォルトの名無しさん
垢版 |
2017/11/30(木) 20:59:36.57ID:aDlGM/9P
>>697
Ruby なら、IO の振りをする、StringIO というクラスがあるけど

つまり、メモリ内だけに存在する、単なるバッファ
0700デフォルトの名無しさん
垢版 |
2017/11/30(木) 23:34:58.88ID:REpnm3ls
>>693
ど う い う 理 由 で ?
0703デフォルトの名無しさん
垢版 |
2017/12/01(金) 07:25:24.88ID:4WTG5BjQ
インスタンスフィールドが初期化されるのはオブジェクトが作られたときでは
あるけれどもコンストラクタではないっすよ

なぜならばコンストラクタよりも先に実行される初期化ブロックで
すでに初期化された値を使用できるから

細かいようだけれども細かいことを問う試験なので用語は慎重に選んだがよいかと

>>701
0になる理由がわからないということだけれども
100になると思ったとするならば、クラスとオブジェクトの理解が不十分かと
クラスは設計図でオブジェクトはクラスをもとにメモリを確保したもの。
値を保持するのはオブジェクト。

Employee emp = new Employee();
Sales sal = new Sales();

これらの2つは別のオブジェクトなので
empに設定した値がsalに引き継がれるわけじゃないっすよ
0705デフォルトの名無しさん
垢版 |
2017/12/01(金) 10:02:11.12ID:9wzwhss2
java10からはvarとかexprswitchとか大分モダンになりそうだな
特にvarは左辺にジェネリクス書く必要性で代入のコードが大分見苦しかったから嬉しいわ
0706デフォルトの名無しさん
垢版 |
2017/12/01(金) 12:43:09.58ID:0P5bG9O7
JavaはC++になりたいのだろうか。
0707デフォルトの名無しさん
垢版 |
2017/12/01(金) 12:43:32.32ID:At9jdIip
>>701
emp.empNo には 100 を代入してるけど sal.empNo には何も代入してないからだ。
0710デフォルトの名無しさん
垢版 |
2017/12/01(金) 18:38:31.83ID:LP6gYbOQ
Item が Generic Type Parameter のときに

new Item[n]

とするのが禁止されている理由は何ですか?
0711デフォルトの名無しさん
垢版 |
2017/12/01(金) 19:39:56.19ID:22T+oeFd
>>710
Javaのジェネリクスは引数渡すときと戻り値受け取るときに暗黙的に片っ端からObjectからのダウンキャストを挿入しまくるだけ
当時のSunにはJVM弄る金がなくて、無理にC#に対抗しようとしてこんな手抜き実装になった
Javaのジェネリクスの不可解な制限は、「型パラメータの箇所は実際には全てObjectになる」と考えると理解できる
0712デフォルトの名無しさん
垢版 |
2017/12/01(金) 19:42:03.24ID:22T+oeFd
>>711
訂正
引数受け取るときはダウンキャストの挿入は不要だな
コンパイル時に型チェックが入るだけだ
0713701
垢版 |
2017/12/01(金) 20:34:25.02ID:V0hDe4m4
>>702 >>703 >>704 >>707 の方、
ありがとうございました。
理解を深めたいと思います。
0714デフォルトの名無しさん
垢版 |
2017/12/01(金) 21:13:13.85ID:dI2KS8fm
相変わらずここで回答してる奴等のレベルが糞すぎて呆れるw
なんで関係ないことをごちゃごちゃと書くんだ
見ててイライラするわアホ
0716デフォルトの名無しさん
垢版 |
2017/12/01(金) 22:50:38.37ID:9jtwLqtC
>>714
言ってやってくださいよ
関係あることだけをバシッと
0717デフォルトの名無しさん
垢版 |
2017/12/02(土) 08:19:53.33ID:35kZuAMb
varになるんだ
varがくるんだ
var
リリーススパン短くなるんだよな
リリースはいつだ
0721デフォルトの名無しさん
垢版 |
2017/12/02(土) 12:43:44.55ID:LweVlrmz
参照型変数は、普通何バイトの容量を食うのでしょうか?
0723デフォルトの名無しさん
垢版 |
2017/12/02(土) 14:03:58.05ID:N3tVMu/3
>>721
今さっき俺環境で調べたところ
Boolean=16
Character=16
Byte=16
Short=16
Integer=16
Long=24
Float=16
Double=24
であった
0725デフォルトの名無しさん
垢版 |
2017/12/02(土) 21:25:17.55ID:sygCH7Ik
やっとスッキリ全4巻読んだわ
4ヶ月かかった
なんかプログラムのイメージ変わったわ
プログラムといったらGUIソフトウェアや組み込みやゲームソフトっていうイメージだったけど
スッキリ(特にサーブレットJSPの本)読んでからようやくWEBアプリもプログラムという認識持てたわ
まぁ、あとになれば当たり前といえば当たり前だけど意識が変わってちょっと感動した!
0726デフォルトの名無しさん
垢版 |
2017/12/02(土) 21:27:53.94ID:FDfy7oeX
質問です。
Dogクラスと、それを継承したShibaDogクラスがあるとした場合、
Dog dog = new ShibaDog();
と宣言するのと、
ShibaDog dog = new ShibaDog();
と宣言するのでは、どう違いが出るのでしょうか?
生成されるインスタンスに間違い出るのでしょうか?
0728デフォルトの名無しさん
垢版 |
2017/12/02(土) 21:36:17.47ID:8UWC/wK0
>>726
後者で書くとコードレビューで意識高い系に
なんとなく俺は気に入らないという理由でリジェクトされるという違いはある
0729デフォルトの名無しさん
垢版 |
2017/12/02(土) 21:36:55.89ID:7Ki6lhB6
>>723
参照先で変わるの?
Object型で定義した変数にInteger型やLong型を代入したらどうなるの

普通に考えると参照先のアドレスの桁数分食うんじゃ
アドレスの替わり(本来逆)に値を直接入れるのが値型
そこらへんは書籍「なぜjavaで作るのか」にわかりやすくあった気がする
0730デフォルトの名無しさん
垢版 |
2017/12/02(土) 21:48:51.16ID:Q685GJlR
>>726
ShibaDog dog = new ShibaDog();

こうするとDogが提供してないけれども
ShibaDogが提供してる機能を使えるよ

一方で

void useDog() {
 Dog dog = createDog();
 ...
}

Dog createDog() {
 return new ShibaDog();
}

こういうふうにしてShibaDogの型情報を隠蔽すれば
ShibaDogの実装を変える必要があったときも
それを使う側に影響を与えなくできるよ

ケースバイケースで
0731デフォルトの名無しさん
垢版 |
2017/12/02(土) 22:12:09.80ID:UE7qzU9L
>>726
親クラス型 = 子クラスのインスタンス

子クラスのインスタンスを、親クラス型の変数へ代入して使うのは、
オブジェクト指向の基本だろ

まずこの本を読んで、オブジェクト指向の基本を学べ。
スッキリわかる Java入門 第2版、2014
0732デフォルトの名無しさん
垢版 |
2017/12/02(土) 22:14:49.24ID:TmTI6KJY
すっきり快便、健康が一番、みたいなやつか。
0733デフォルトの名無しさん
垢版 |
2017/12/02(土) 22:19:08.44ID:eNpd/Xiw
スッキリ本を売りたい奴がここに出入りしてるなw
0734デフォルトの名無しさん
垢版 |
2017/12/02(土) 22:34:23.46ID:rF0m5aZh
オラクル認定 Java SE Bronzeのレベルの知識もないのか。

ここはJavaの初心者というより、プログラマの初心者のスレッド?
0735デフォルトの名無しさん
垢版 |
2017/12/02(土) 22:37:08.24ID:ASbNJyJG
頼むから回答する馬鹿はまともな回答できるようになってからレスつけろって・・マジで
質問者が知りたい回答に対して1、2行で端的に回答できることを
混乱させるようなゴミみたいな内容でダラダラとレスするなよくっそイラつくわ
0737 ◆BrBq2CJg6HGd
垢版 |
2017/12/02(土) 23:03:23.71ID:dI4lTiLt
>>736
何だこいつ こんなとこで喧嘩売ってくんじゃねぇ
0738デフォルトの名無しさん
垢版 |
2017/12/02(土) 23:09:45.66ID:Q685GJlR
>>735
まともな回答を端的に示してくださいよ
あなたいつも他人にケチつけてるだけで
自分は何も書かずに安全圏から石投げてるヘタレじゃないですか
みんなそれわかってますよ、ちゃんとしてください
0739デフォルトの名無しさん
垢版 |
2017/12/02(土) 23:31:46.89ID:Q685GJlR
イラつくアピールしても何も改善しないでしょうに
手本を示してそれが素晴らしいものならみんな真似すると思うんだよね

自分ならこう答えるっていうのをすれば良いのに
それをしないからフラストレーションを溜め込むことになるんだよ

でも結局できないだろうけどね
質問者が知りたい回答なんて質問者しか知らないから想像して書くしかない
他人に文句付けた以上、自分の想像が外れていたらどうしようもない
怖くて結局自分では回答できない

その循環に陥って最終的にイラつくアピールするしかない
自ら作った檻に閉じ込められているプライドが高い臆病なケモノ
0741デフォルトの名無しさん
垢版 |
2017/12/02(土) 23:35:40.36ID:Q685GJlR
掲示板なんだからみんなであーでもないこーでもないとわいわいやったら良いじゃん
気軽に書き込めば良いじゃん、そしたらイラ立ちも減るんじゃないかな
0742デフォルトの名無しさん
垢版 |
2017/12/02(土) 23:39:24.24ID:rF0m5aZh
>>735
そもそもまともに質問してるやつがいるのか?
0743デフォルトの名無しさん
垢版 |
2017/12/02(土) 23:41:50.52ID:rF0m5aZh
学校の宿題みたいなものなら簡単だが、そうでない質問は情報不足ばかりで答えようがない。
0744デフォルトの名無しさん
垢版 |
2017/12/02(土) 23:46:12.83ID:Q685GJlR
>>743
想像力を膨らませるんだよ
きっとこの人は子供のころにこういう風な体験をして
星空を見上げながらこうつぶやいたんじゃないだろうかと
そういうことを想像しながら質問者の立場に思いを馳せて息遣いを感じれば回答できるよ!
もしくは欲しい情報を聞くとか
0745デフォルトの名無しさん
垢版 |
2017/12/03(日) 00:29:32.29ID:VmYuVA7J
>>744
そういうのは絶対ダメだよ。学生?
0746デフォルトの名無しさん
垢版 |
2017/12/03(日) 00:46:24.43ID:PfM4W5v0
>>745
学生じゃないよ、学生かどうかは関係ないと思うけどね

そういうのってどういうの?
想像力を膨らませること?
欲しい情報を聞くこと?

情報不足だから教えて欲しい
と、まあこのように聞くことができるわけです
0747デフォルトの名無しさん
垢版 |
2017/12/03(日) 00:57:27.93ID:9IXVpMSN
なんだ、ニートか
0748デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:02:20.47ID:PfM4W5v0
>>747
ニートじゃないよ、ニートかどうかは関係ないと思うけどね
0749デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:08:51.75ID:PfM4W5v0
学生とかニートとかそういう社会的な立場を持ち出すのってどうなの?
しかも社会的には下に見られるようなものばかりじゃん
相手を貶める意図があるのかな? ん? どうなんだ?
自分が上だと思い込みたい卑しい思いがあるんだろ?
ちなみに俺は黒色のパンツを履いてる29歳の女医だ
0750デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:17:09.93ID:VmYuVA7J
書いてないこと、言ってないことを想像で決めるなんて実務ではありえない。
0751デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:19:27.02ID:PfM4W5v0
>>750
マジで? これよろしくやっといてよって仕事任されない?
0752デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:24:58.38ID:WBs9Zv02
それは多分任されたのではなく丸投げと言う
右から左でスルーパスが彼のSIGOTOなんだろう
0753デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:25:49.34ID:PfM4W5v0
ある程度想像で進めておいて詳細はあとで詰めるなんてことザラにあるよ
不明な点をすぐに確認しないと仕事進められないこともあるけどね
仕事っていうのは何でもあり、想像力も調整力も観察力もコミュ力も
使えるものは何でも使ってとにかく頑張るんやで
0754デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:29:53.79ID:PfM4W5v0
>>752
パスして責任はきちんと取ってくれる上司がいるなら
仕事を任されてると言っていいのじゃないかな

俺にはそういう上司がいるし俺は本当に運が良くて恵まれてる
天が俺に幸せになれって言ってる
0755デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:38:31.04ID:PfM4W5v0
上司に恵まれないみなさん
自分が上司になったときは部下を幸せにするんやで
0756遊園
垢版 |
2017/12/03(日) 01:42:14.45ID:bHdcLBGh
ガチの5年無職 スキル無しが来てやったけど、

 お前ら、震えてんの?
0757デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:48:39.47ID:PfM4W5v0
>>756
温めてくれ
0758デフォルトの名無しさん
垢版 |
2017/12/03(日) 04:08:43.73ID:eihlpLuq
>>726
Dog dog = new ShibaDog(); と書いた場合は dog が ShibaDog クラスのインスタンスを
指してはいるが dog は Dog クラスとしてしか扱えない。つまり Dog クラスで定義されていて
アクセス可能になっているメソッドや変数にしかアクセスできない。

このようにすると折角新たな機能を追加したのにそれが使えなくなるために損をしたかの
ように見えるかも知れない。しかし他の Dog クラスまたは Dog クラスを継承したクラスの
インスタンスでも同じ Dog クラスとして扱えるという利点がある。

すると例えば Dog クラスの配列やリストを作って ShibaDog やその他色々な Dog クラスを
継承したクラスのインスタンスを要素として代入して同列に扱う事が出来たり、Dog クラスの
インスタンスを引数とするメソッドを書けば Dog クラスのインスタンスだけでなく Dog クラスを
継承したクラスのインスタンス(今回の話の場合は ShibaDog のインスタンス) であっても
受け付けられる。
0759デフォルトの名無しさん
垢版 |
2017/12/03(日) 09:00:42.87ID:WBs9Zv02
どうでもいい話でよく続けられるな
Dogを何に使うのか不明だが、おそらくこの場合はデータ構造としての犬だろうから
ShibaDogを作るよりenum BreedTypeを用意しShibaInuを追加した方が自然じゃないか
0762デフォルトの名無しさん
垢版 |
2017/12/03(日) 09:21:54.60ID:YOGcX2ny
世界自体が究極的にはデータの羅列
クラスは人間が決めた枠組みだ
人間が柴犬は特別だとおもえばそれはクラスになるんだ
文句あるか
0763デフォルトの名無しさん
垢版 |
2017/12/03(日) 14:39:37.44ID:eihlpLuq
>>759
この場合は、な。
0764デフォルトの名無しさん
垢版 |
2017/12/03(日) 17:52:29.67ID:UM90GHZA
Runnable の run() メソッドの中で計算した結果をメソッド終了後に取り出したいと
考えています。
インスタンス変数を用意して run() の終わりに保管し、getter メソッドで読むことは
できたのですが、他に簡単な方法はないでしょうか。
0765デフォルトの名無しさん
垢版 |
2017/12/03(日) 17:52:57.59ID:6/4LIkpN
ジャバーって名前空間ないのかよ。
0766デフォルトの名無しさん
垢版 |
2017/12/03(日) 17:56:46.43ID:UHFhaXR5
>>758
Dog型の配列やリスト構造でShibaDogを扱った場合に、ShibaDog固有のメソッドが必要になった場合はどうすれば良いのでしょうか?
諦めるしかないですか?
0767デフォルトの名無しさん
垢版 |
2017/12/03(日) 18:08:10.62ID:D+X5wALj
>>764
CallableとかFutureを使う
同期化してないインスタンス変数を使って状態を共有するのは、バグの元だからやめた方がいいよ
0771デフォルトの名無しさん
垢版 |
2017/12/03(日) 21:32:21.30ID:CdnEE9AY
>>766
>Dog型の配列やリスト構造でShibaDogを扱った場合に、
>ShibaDog固有のメソッドが必要になった場合は、どうすれば良いのでしょうか?
>諦めるしかないですか?

オーバーロードは、オブジェクト指向の基本だろ

だから、こういう事をさせないために、親子クラスで、同名の関数を使っても、
各クラス独自の処理が呼ばれるようになっている

親クラス型の変数.f()
と書くと自動的に、インスタンスのクラスを判別して、各クラス独自の処理が呼ばれる

モンスター型の変数.攻撃()
と書けば、その怪物がドラゴンでもスライムでも、
各クラス内で書いたメソッドが呼ばれる

>>731 を読め
「スッキリわかる Java入門 第2版、2014」を読まないと、わかるのは無理
0772771
垢版 |
2017/12/03(日) 21:38:46.41ID:CdnEE9AY
モンスター型の変数.攻撃()
と書けば、その怪物がドラゴンでもスライムでも、
各クラス内で書いたメソッドが呼ばれる

switch (モンスター型の変数){
case ドラゴン:
case スライム:
}

つまり、オブジェクト指向で書くと、型を判別していた、switch 文が消える。
ここに新たな怪物、ゾンビを加えても、switch 文を修正しなくてよい

逆に言えば、switch 文で型を判別していたら、オブジェクト指向ではない!
0773デフォルトの名無しさん
垢版 |
2017/12/03(日) 22:02:54.85ID:UM90GHZA
> オーバーロードは、オブジェクト指向の基本だろ

そうなんですか。
非OOでもあり得るので、なんか本質的じゃない気もしますが。
0774771
垢版 |
2017/12/03(日) 22:22:47.04ID:CdnEE9AY
つまり、オブジェクト指向で書くと、型を判別していた、switch 文が無くなる。
ここに新たな怪物、ゾンビを加えても、switch 文を修正しなくてよい

設定ファイルに、怪物を追加しても、ソースコードを修正しなくてよいから、
簡単にテストできる

設定ファイル側を、ノンプログラマーに任せることができるので、
プログラマーとノンプログラマーなど、開発人材の配分がしやすい
0775デフォルトの名無しさん
垢版 |
2017/12/03(日) 22:45:20.02ID:r8GFm6Ok
オーバーライドのことがいいたいんですかね
0777771
垢版 |
2017/12/03(日) 23:12:16.74ID:CdnEE9AY
>>771
>オーバーロードは、オブジェクト指向の基本だろ

間違い。
Overload ではなく、Override
0778デフォルトの名無しさん
垢版 |
2017/12/03(日) 23:55:21.77ID:3T6nt+t7
スッキリを読むとバカになるという見本ですね、わかります
0779デフォルトの名無しさん
垢版 |
2017/12/04(月) 00:16:15.78ID:hBPXmQoD
いくら初心者スレとはいえ、オーバーライドとオーバーロードを混同する人は
回答側でレスしないでもらいたい。typo だとしても。
0780デフォルトの名無しさん
垢版 |
2017/12/04(月) 00:53:38.50ID:6+W+PiHG
スッキリ4冊を読むのに、4か月掛かった人がいるようだが、4冊で、100時間ぐらいだろ。
サラリーマンかな?

ニートなら、2週間ぐらいで読める。
サラリーマンは、ニートの1/8の能力しかない
0782デフォルトの名無しさん
垢版 |
2017/12/04(月) 01:22:12.91ID:SrwphgOz
しかしニートの場合付けた能力を発揮する場所がない。

あー。でもこの頃はGoogle PlayとかあるからAndroid用アプリを作って有料販売すれば収益プラスになって仕事してるのと同じになる場合もあるかな。
その場合はニートではなくなってしまう。
0783デフォルトの名無しさん
垢版 |
2017/12/04(月) 01:28:57.29ID:6+W+PiHG
サラリーマンで勉強している奴なんか、いない。
資格も、何十年も取らないし

勉強している奴は、ニートだけ

ただし、勉強はできるが、食えないw
0784デフォルトの名無しさん
垢版 |
2017/12/04(月) 02:12:20.84ID:Hu+byqMa
ニートが自己紹介をしてると聞いてw
0786デフォルトの名無しさん
垢版 |
2017/12/04(月) 03:07:27.16ID:SrwphgOz
心の中のニートとサラリーマンが戦っているのだろう
0789遊園
垢版 |
2017/12/04(月) 15:06:22.99ID:0LjC1FIJ
お前ら甘く見すぎ。

 俺の所の35歳はスッキリjava入門を11か月で読んだ猛者だぞwwww

さらに、勉強として15万のPC購入させて、自分は風俗、テレクラで

靴が擦る減るからハロワ行かない!!(年に一回だけハロワ行くも門前払いwww)

週に2,3回ww 作業所で自給100円で働いてるから無職じゃないって発言する最強のチートコンボだ!!!


お前らが背伸びしたって、28からニート貫いてる!!!

  俺らの[狂乱の大卒エリート35歳ちゃん]に

勝てる訳ねぇだろwwwww
0790デフォルトの名無しさん
垢版 |
2017/12/04(月) 15:15:34.98ID:6/FUB2Nq
それ面白いと思って書いてるのか?
0792デフォルトの名無しさん
垢版 |
2017/12/04(月) 16:44:05.84ID:WtAHWSD+
ニートがオーバーランしたのか。
0793デフォルトの名無しさん
垢版 |
2017/12/04(月) 17:18:07.58ID:j0BAli/W
どんどん新しい技術や方法が出てくるから常に学んでいる状態でないと息切れしてくる
Javaはenumサイコーなんて言っていたのはすでに過去のことで今はラムダ教である
0794デフォルトの名無しさん
垢版 |
2017/12/04(月) 18:02:56.20ID:WtAHWSD+
ラムダドライバか。
もう15年くらいたつな。
0795デフォルトの名無しさん
垢版 |
2017/12/04(月) 18:09:00.57ID:nKJqxEpH
Kotlin教に改宗しました
0797デフォルトの名無しさん
垢版 |
2017/12/04(月) 20:34:01.58ID:WtAHWSD+
パッケージ名ってラクダ式にしたらいいのか?
0798デフォルトの名無しさん
垢版 |
2017/12/04(月) 21:36:46.24ID:Wg82K19Z
optionalって実務で使ってる?
0799デフォルトの名無しさん
垢版 |
2017/12/04(月) 21:43:41.72ID:WtAHWSD+
Java始めたのが今日だからなあ。
0800デフォルトの名無しさん
垢版 |
2017/12/04(月) 22:31:31.67ID:WtAHWSD+
オラクルのチュートリアルにC++の二倍速いと書いてあったのでJava始めました。
0801デフォルトの名無しさん
垢版 |
2017/12/04(月) 22:40:18.90ID:WtAHWSD+
java.lang.Objectを継承すると何かいいことはありますか?
0802デフォルトの名無しさん
垢版 |
2017/12/04(月) 23:00:34.95ID:iGjrIGoV
それ、継承しようとしなくてもされてるから。
0803デフォルトの名無しさん
垢版 |
2017/12/04(月) 23:05:20.23ID:WtAHWSD+
勝手に継承されるんですか。
困ったものです。
0805デフォルトの名無しさん
垢版 |
2017/12/04(月) 23:09:39.33ID:WtAHWSD+
IDEはpleiadesでいいのかい?
0806デフォルトの名無しさん
垢版 |
2017/12/04(月) 23:13:00.80ID:WtAHWSD+
うーむさっぱりわからん。
0809デフォルトの名無しさん
垢版 |
2017/12/05(火) 03:12:28.42ID:oTa/T8dQ
Oracleのチュートリアルやってると、C++を目の敵にしてるみたいだけど。
JavaのライバルはPythonじゃないのかなあ。
0812デフォルトの名無しさん
垢版 |
2017/12/05(火) 16:59:20.44ID:oTa/T8dQ
アプリケーションサーバーはJettyに決めました。
0813デフォルトの名無しさん
垢版 |
2017/12/05(火) 22:12:57.63ID:9bBaU3Kt
>>808
マジかぁ
Eclipseダウンロードしたわ・・・
0815デフォルトの名無しさん
垢版 |
2017/12/05(火) 22:50:44.39ID:oTa/T8dQ
ネットビーンズとどっちがいいだろう。
C++の時はネットビーンズ使ってたんだが。
0816デフォルトの名無しさん
垢版 |
2017/12/05(火) 22:52:37.17ID:oTa/T8dQ
Javaスレは勢いないねえ。
0817デフォルトの名無しさん
垢版 |
2017/12/05(火) 22:54:37.79ID:oTa/T8dQ
C++の時は、VSで開発して、Linuxに持っていくのにネットビーンズ使ってた。
もうめんどくさくなってきたのでJavaにしようかと思ったが、Javaもいろいろめんどくさいね。
0819デフォルトの名無しさん
垢版 |
2017/12/05(火) 22:57:37.40ID:oTa/T8dQ
昨日始めたばかりだからねえ。
0820デフォルトの名無しさん
垢版 |
2017/12/05(火) 23:14:50.82ID:OyVFGi63
>>814
Eclipseではこんな簡単なコードさえコンパイルできないので
Java8やJava9の勉強ならIDEAがいいよ

List<String> list = Arrays.asList();
Stream<String> stream = list.stream();
System.out.println(stream.collect(Collectors.summingInt(Integer::parseInt)));
0822デフォルトの名無しさん
垢版 |
2017/12/05(火) 23:31:06.94ID:OyVFGi63
Eclipseはラムダ式の中でコード補完ができなくなったりもするよね
もっといい感じにならないもんかね
0825デフォルトの名無しさん
垢版 |
2017/12/05(火) 23:35:37.58ID:QOdFWrN9
今んとこ、この前ぐぐ様が爆誕させてくれたIDEAサーバにするやつでvimがさいつよ
0826デフォルトの名無しさん
垢版 |
2017/12/05(火) 23:49:03.25ID:OyVFGi63
>>823
うそつき

>>824
なにを根拠に
0827デフォルトの名無しさん
垢版 |
2017/12/06(水) 00:12:36.85ID:hjP5HWFz
年間200万かあ。
高いねえ。
0829デフォルトの名無しさん
垢版 |
2017/12/06(水) 06:12:38.67ID:GV1plpqT
>>828
あるんじゃないの?
0831デフォルトの名無しさん
垢版 |
2017/12/06(水) 06:46:00.15ID:GV1plpqT
>>830
できないってば!
0832デフォルトの名無しさん
垢版 |
2017/12/06(水) 07:15:50.57ID:fCHSfgtV
うがー!!!!
eclipseのバージョンとプロジェクトのJavaコンパイラのバージョンいくつになってる?
0833デフォルトの名無しさん
垢版 |
2017/12/06(水) 07:18:59.30ID:GV1plpqT
>>832
EclipseはOxygen.1a Release (4.7.1a)
Javaは1.8
0835デフォルトの名無しさん
垢版 |
2017/12/06(水) 07:28:49.95ID:GV1plpqT
>>834
うそつき
0836デフォルトの名無しさん
垢版 |
2017/12/06(水) 07:29:10.52ID:hjP5HWFz
結局、ネットビーンズはダメなのかい?
0837デフォルトの名無しさん
垢版 |
2017/12/06(水) 07:32:11.29ID:GV1plpqT
>>836
アパッチェオープンソース廃棄所に捨てられたって聞きました
0839デフォルトの名無しさん
垢版 |
2017/12/06(水) 07:37:15.21ID:GV1plpqT
お前らの力でEclipseのコンパイラなんとかしてくんない?
0840デフォルトの名無しさん
垢版 |
2017/12/06(水) 07:39:24.46ID:hjP5HWFz
エクリプスのコンパイラってのがあるのかい?
0841デフォルトの名無しさん
垢版 |
2017/12/06(水) 07:47:40.02ID:ytHCt508
IntelliJなんて国内の会社で使ってるところなんてまずないのに
平気で初心者に嘘つく馬鹿がいるのがやべーんだよなここ
いろんな開発現場行ってるけどIntelliJなんぞただの一度も見たことないわ
0842デフォルトの名無しさん
垢版 |
2017/12/06(水) 07:57:10.67ID:9Cl2Q0EY
うちはIntelliJだぞ
そりゃドナドナ先の土方現場なんかいくつ回っても一緒だろ
0843デフォルトの名無しさん
垢版 |
2017/12/06(水) 07:57:59.12ID:hjP5HWFz
インテリジェーはどこがいいんだい?
0846デフォルトの名無しさん
垢版 |
2017/12/06(水) 11:43:46.60ID:ytHCt508
新宿一等地の外資系企業の完全技術重視のところですらeclipseだったわアホ
そもそもプラグインもeclipseの方が圧倒的に多いしeclipseで全て事足りるから
有料モードですらeclipseより劣ってるIDE使う馬鹿がどこにおるっつー話だ
0848デフォルトの名無しさん
垢版 |
2017/12/06(水) 11:56:26.36ID:iOSBfA8j
個人的に使うならどっちがいいの?
0851デフォルトの名無しさん
垢版 |
2017/12/06(水) 15:49:04.02ID:hjP5HWFz
Oracleのサポート方針が変わったそうだが、今後もJavaは無料で使えるのかい?
0852デフォルトの名無しさん
垢版 |
2017/12/06(水) 16:35:42.92ID:LrBU0Dth
基礎は学習し終えました。
次は何を作ればいいですか?
みたいな人って、なんでプログラミングやろうとしたんだろうと思う

俺が始めたときは作りたいものが有り過ぎて一日24時間じゃ足りないとおもいながらやってたのに
0855デフォルトの名無しさん
垢版 |
2017/12/06(水) 17:37:21.07ID:hjP5HWFz
色々調べた結果、IDEはエクリプスが良いと決まりました。
0856デフォルトの名無しさん
垢版 |
2017/12/06(水) 17:40:59.33ID:hjP5HWFz
https://qiita.com/daikuro/items/4d4d694ddb3cc620bee1
とりあえずコレ参考になった。
・関係なし
↑って書いてあるところが何の意味があるかわからんかったわ。
関係ないということがわかってすっきりしたわ。
0857デフォルトの名無しさん
垢版 |
2017/12/06(水) 17:42:12.04ID:hjP5HWFz
これで一歩前進や!
0859デフォルトの名無しさん
垢版 |
2017/12/06(水) 17:56:02.50ID:YK3C0nPK
>>852
おめーの自分語りにはうんざりだ
0861デフォルトの名無しさん
垢版 |
2017/12/06(水) 19:16:07.02ID:hjP5HWFz
サーバーは何がいいんだろね。
0862デフォルトの名無しさん
垢版 |
2017/12/06(水) 19:25:15.86ID:hjP5HWFz
掲示板作るならPHPのほうがよさそうだねえ。
0863デフォルトの名無しさん
垢版 |
2017/12/06(水) 19:44:11.78ID:R4XJRJSI
jar xf [既存jarファイル] [X]
jar cf [新規jarファイル] [X]

この一連の処理をjar xf〜を使わずjar cf〜だけでやる方法ってありますか?
0864デフォルトの名無しさん
垢版 |
2017/12/06(水) 21:28:05.60ID:nXK3hnHv
Eclipseにめーぶんって一体いつの人だ
きっとさーばーにはTomcatを使うんだろうな
0865デフォルトの名無しさん
垢版 |
2017/12/06(水) 21:30:07.76ID:5GqDQnIf
>>863
今出先からスマホで書いてて調べられんけど、jarコマンドでできないならzipコマンド使えばできるんじゃね?
0867デフォルトの名無しさん
垢版 |
2017/12/06(水) 21:37:09.11ID:Iv90lLfx
ファイルサイズを小さくするためにWinRarや7zで圧縮しなおしてた時代もありました
あれは確かDojaとって、うっ頭痛が
0869デフォルトの名無しさん
垢版 |
2017/12/07(木) 00:00:07.27ID:dKXi4Ng4
>>868
z i p で お k
0870デフォルトの名無しさん
垢版 |
2017/12/07(木) 00:16:50.52ID:jTpa71sZ
インナークラス(メンバクラス、ローカルクラス、匿名クラス)ってどういう場面で
使うのでしょうか?
どなたか回答お願いします。
0871デフォルトの名無しさん
垢版 |
2017/12/07(木) 00:17:36.56ID:Gg+/riAo
>>868
jarファイルってzipファイルだからzipを扱えるソフトならなんでも良いんだよ。
なんだったら自分でJavaでプログラム作れ。
0872デフォルトの名無しさん
垢版 |
2017/12/07(木) 00:21:58.48ID:9bapYUP1
外にクラス定義してファイル増やすと
プロマネやSEが文句言ってくるような
窮屈な現場で使う
0874デフォルトの名無しさん
垢版 |
2017/12/07(木) 02:01:34.00ID:9lSPChPb
>>873
u で更新できるが、それのことか?
0875デフォルトの名無しさん
垢版 |
2017/12/07(木) 02:19:40.83ID:vCxxxgNK
>>866
PHP遅くてなあ。
0877デフォルトの名無しさん
垢版 |
2017/12/07(木) 05:24:51.73ID:QOieNw5p
>>873
お前は何がやりたいんだ
xは展開
cは作成
fはテープでなくてファイルを指定するオプションだ
tarというコマンドに由来する

展開して作成するだけなら単にcpで済みそうだ
0878デフォルトの名無しさん
垢版 |
2017/12/07(木) 05:26:55.55ID:vCxxxgNK
Mavenを使ったほうが良いのかどうか。
0879デフォルトの名無しさん
垢版 |
2017/12/07(木) 05:52:33.16ID:vCxxxgNK
Mavenはインクリメンタルビルドできないのかい?
俺の書き方が悪いのだろか。
0880デフォルトの名無しさん
垢版 |
2017/12/07(木) 06:32:53.16ID:a8CwLI87
>>858
知識欲っていうのがあってわからなかったものがわかるようになると
脳内麻薬がドバドバ出てとても気持ちの良い状態になるから
それでハマった人もいるんじゃないかな
人より先に解決策がわかると優越感を感じられるし
人に教えられるくらいの知識や経験があれば自信を持てるし
ここのようにプログラミングのコミュニティで会話をできるし
プログラミングの成果はプログラムだけじゃないっしょ
0881デフォルトの名無しさん
垢版 |
2017/12/07(木) 06:41:53.04ID:vCxxxgNK
セックスのアーティファクトが子供だけではないみたいな感じか。
0884デフォルトの名無しさん
垢版 |
2017/12/07(木) 09:39:10.48ID:f+S5MXuk
>>882
構って貰いたいから
0885870
垢版 |
2017/12/07(木) 16:30:57.21ID:jTpa71sZ
>>872 >>876
ちょっと高度でしたが、回答ありがとうございました。
0889デフォルトの名無しさん
垢版 |
2017/12/07(木) 21:58:29.50ID:vCxxxgNK
JSPよりJSFのほうが良いのかい?
0890デフォルトの名無しさん
垢版 |
2017/12/07(木) 22:01:11.76ID:vCxxxgNK
やっとEclipseから実行で自作サーブレットをJetty上で稼働できるようになったぞ。
Hello World!表示させるだけだけどな。
0891デフォルトの名無しさん
垢版 |
2017/12/07(木) 22:06:14.12ID:vCxxxgNK
Jettyは速いなあ。
0892デフォルトの名無しさん
垢版 |
2017/12/08(金) 01:47:13.57ID:AYIAveMh
プログラム起動時の最初は読み込むべき場所は未定で、
起動した後でライブラリとなる.jarの場所が決まる場合、どう動的読み込みすればいいの?
ちなみにjava8は対象ではなくjava9のみが対象。
0893デフォルトの名無しさん
垢版 |
2017/12/08(金) 02:59:14.56ID:V2JkrQBK
以前マルチスレッドからの戻り値の受け取り方の質問をしたものです。

一つのクラスの中にマルチスレッドで実行したいメソッドが2種類以上ある場合は
どう定義するのがいいでしょうか。
いまは、Callable を実装した無名インナークラスのインスタンスを返すメソッドを
複数定義して、そのCallableインスタンスを使用してスレッドを起動しています。

マルチスレッドで実行したいメソッドを持つクラス: (N=1, 2,...)

Callable<VVV> callableN = new Callable<VVV>(){ <--- メソッドを呼び出すための Callable クラス
public VVV call() throws Exception {
return methodN();
};

VVV methodN(){ <--- マルチスレッドで実行したいメソッド
...
}

Callable<VVV> getCallableN(){ <--- Callable を返すメソッド
return callableN; <--- これを使ってスレッドを生成
}
0894デフォルトの名無しさん
垢版 |
2017/12/08(金) 16:26:40.06ID:sGNmKBwr
>>880
基礎学びました次何すればいいですか?
と書くような人はそういうタイプではないと思うが
0895デフォルトの名無しさん
垢版 |
2017/12/08(金) 22:12:27.14ID:HbiMaz32
メソッドの引数に、2つ以上のインターフェースを同時に実装してるクラスだけを取らせたいですが
うまいやりかたってあるでしょうか。

2つのインターフェースを継承したインターフェースを新たに作るやりかたしてましたが
実装が必要なインターフェースの数がネズミ算的な勢いで増えて破綻気味です。
0896デフォルトの名無しさん
垢版 |
2017/12/08(金) 23:36:01.39ID:cfS0ROAc
<T extends A & B> void method(T param);

これでえーんちゃう?
0897デフォルトの名無しさん
垢版 |
2017/12/08(金) 23:40:47.06ID:cfS0ROAc
メソッドがネズミになるからダメなのか
0898デフォルトの名無しさん
垢版 |
2017/12/09(土) 00:02:57.57ID:I7bRoYno
>>896
そんなことできるのか。
0899デフォルトの名無しさん
垢版 |
2017/12/09(土) 00:11:34.02ID:XVt9MCL0
>>896
ありがとうございます!
まさに自分が探してたものです

JavaのGenericsはコンパイルすると消えるらしいのでメソッドが増殖することもないはず
たぶん
0901デフォルトの名無しさん
垢版 |
2017/12/09(土) 00:17:55.02ID:XVt9MCL0
問題は初見だとすごく混乱することぐらいでしょうか

型定義をGenericsに吐き出しただけで、トリッキーさはないようにも思えるが
現場で使ったら何と言われるやら
0904デフォルトの名無しさん
垢版 |
2017/12/09(土) 09:54:26.34ID:cTAqB2KG
いまどきIDEがエラー出してくれるしJavaはUTF8対応だ
全角ごときで死ぬものか
0905デフォルトの名無しさん
垢版 |
2017/12/09(土) 10:00:24.71ID:I7bRoYno
JavaにC/C++のconst相当の物はないですかね?
0906デフォルトの名無しさん
垢版 |
2017/12/09(土) 10:32:05.56ID:9tKjPHTg
>>899
誤解がある気がする

| TypeParameter:
| TypeVariable TypeBoundopt
|
| TypeBound:
| extends TypeVariable
| extends ClassOrInterfaceType AdditionalBoundListopt
|
| AdditionalBoundList:
| AdditionalBound AdditionalBoundList
| AdditionalBound
|
| AdditionalBound:
| & InterfaceType

TypeVariableとTypeBoundがあって
TypeVariableは実行時に指定できるのだけれども
TypeBoundは具体的なクラス型・インタフェース型を取るみたいよ

なので、インターフェースの組み合わせの数だけメソッドを定義しないといけないし
ジェネリクスはオーバーロードできないのでそれぞれ別の名前を付けないといけない
0907デフォルトの名無しさん
垢版 |
2017/12/09(土) 11:39:06.28ID:iGLDW7rr
すっきりJAVA入門読んでる素人だけど
はよウィンドウアプリつくりたい!はよ!はよ!
とりあえず実践編も買って今日届く
0910デフォルトの名無しさん
垢版 |
2017/12/09(土) 12:00:30.11ID:iiYkmqNu
javaでpcのguiアプリ作るメリットって何?
linuxならそもそもguiじゃなくてコマンドラインで動かすことが多いだろうし、windowsで動かすだけならクロスプラットフォームのjavaじゃなくて良くね?って思っちゃうんだけど。
javafxとかってどう使われてるの?
0911デフォルトの名無しさん
垢版 |
2017/12/09(土) 12:04:04.52ID:awJ9eWLV
>>910
メリットはないし、事実ほとんど使われてない
クロスプラットフォームは今だとelectronが人気だね
0912デフォルトの名無しさん
垢版 |
2017/12/09(土) 12:15:37.17ID:iGLDW7rr
>>909
おーそうですか
参考にします
ゲームじゃなくてもウィンドウアプリに特化したような本が出てるといいんですけどね
まぁ足りないところは検索を駆使すればいいかな
>>910
自分はVBAしかやったことなくて
VBAとは違って幅広く使えそうな言語を、ある程度のレベルまでしっかりやってみたくて。
ウィンドウアプリはローカルで動かせるから手軽にテストできるだろうから、学習の成果を試すのによさそう
そういう意味で。
0914デフォルトの名無しさん
垢版 |
2017/12/09(土) 12:33:06.82ID:iGLDW7rr
ほ〜JavaFXやSwingというものがあるのか
この辺で検索すると書籍もたくさんでてくる
参考になるわぁ
0915デフォルトの名無しさん
垢版 |
2017/12/09(土) 13:15:04.24ID:P59xwzO1
身近なものならV2CもOmegaTもJavaだしeclipseもJavaで動作してる
OpenOffice.orgもJavaが必要だ、MinecraftにもJava Editionがある
事情はさまざま
0917デフォルトの名無しさん
垢版 |
2017/12/09(土) 17:39:35.12ID:cTAqB2KG
なんか俺の書き込みが彼の文体に似ている気がするが誤解だ
しかも半分ぐらいは俺じゃない

丁寧語使ったぐらいで特定されたらかなわん
0918デフォルトの名無しさん
垢版 |
2017/12/09(土) 19:03:48.62ID:BsAqFjlY
JavaBronzeの試験は、何割くらい取れれば初心者卒業と言っていいでしょうかね?
合格の6割というラインは、結構低めに設定されていると思うんです。
もちろんこの試験だけでは指標にはならないのかもしれませんが…。
0919デフォルトの名無しさん
垢版 |
2017/12/09(土) 20:01:33.78ID:P59xwzO1
残念ながらゴールド完答できてようやく初心者卒業レベルなんだよね、ブロンズやシルバーは論外
もっともオラクルの試験は社員の福利厚生のためにあると思ってるから
難易度はどうでもよかったりする
0922918
垢版 |
2017/12/10(日) 00:50:17.31ID:AFPEWLTx
>>919
どうもです。

そんな…。俺は論外の中の論外なんですね…。
0924デフォルトの名無しさん
垢版 |
2017/12/10(日) 11:27:20.00ID:tMMeVviK
バイナリファイルを読み込みテキストに変換するという、
逆アセンブラみたいなプログラムを作ってます

いまはRandomAccessFileを使いseekしてreadやreadByteする、で作ってるのですが、
java.nio.file.Files.readAllBytesという、ファイルをbyte[]に読み込み処理するものも見つけました

前者でも後者でも動きはするのですが、ではどちらを使うかを選ぶ際に、
こちらの方がよい、と評価する基準みたいなものは何があるでしょうか
0925デフォルトの名無しさん
垢版 |
2017/12/10(日) 12:57:13.77ID:99ZnIkjV
readAllbytesはその名の通りファイル全部メモリに置くから小さいファイルなら良いけど大きいものは無理
092735歳
垢版 |
2017/12/11(月) 00:51:51.41ID:OsSLt9Cy
Bronze取りました
Silver欲しい
092835歳
垢版 |
2017/12/11(月) 00:54:47.75ID:OsSLt9Cy
風俗いっちゃいました
092935歳
垢版 |
2017/12/11(月) 00:56:06.56ID:OsSLt9Cy
眠い…。
093035歳
垢版 |
2017/12/11(月) 00:56:53.13ID:OsSLt9Cy
雑談がしたいだけです。
誰かいませんか?
093135歳
垢版 |
2017/12/11(月) 00:57:58.90ID:OsSLt9Cy
>>923
巣とは何ですか?
0932デフォルトの名無しさん
垢版 |
2017/12/11(月) 01:26:57.13ID:4q7JrCp0
>>924-925
nio の方が、新しい

I/O は、一気にファイル全部を読み込むものか、

バッファサイズ分だけを読み込んで、処理したら、そのデータを捨ててから、
新しいデータをバッファサイズ分だけを読み込んむもの(Stream、都度読み込み)のどちらか
093335歳
垢版 |
2017/12/11(月) 02:08:57.22ID:OsSLt9Cy
Bronze取りました
093435歳
垢版 |
2017/12/11(月) 02:09:12.45ID:OsSLt9Cy
Bronze取りました
093535歳
垢版 |
2017/12/11(月) 02:09:35.70ID:OsSLt9Cy
Bronze取りました
093635歳
垢版 |
2017/12/11(月) 02:12:03.82ID:OsSLt9Cy
Bronze取りました
093735歳
垢版 |
2017/12/11(月) 02:12:38.85ID:OsSLt9Cy
Bronze取りました
0940デフォルトの名無しさん
垢版 |
2017/12/11(月) 07:27:30.95ID:P/UbmvZV
プログラマにもなってNGすら知らないの…?
コイツID変えてないからすぐなのに
0947デフォルトの名無しさん
垢版 |
2017/12/13(水) 06:56:15.40ID:f6oS6bg6
インターフェース使うと他のプログラマーがプラグインとかを作れる、と思うんですが
その場合、基盤開発者もプラグイン開発者も同じインターフェース定義を使わないといけないと思うんですが
インターフェースは基盤とプラグイン両方に含めるのが普通ですか?
0948デフォルトの名無しさん
垢版 |
2017/12/13(水) 08:56:42.06ID:D2CxP1eV
その場合は含めるのが普通ですどころではなく
このインターフェース○○とはこのようなクラスに機能□□を実装するのに必要で
その使い方は〜〜等々ステップ形式のハウツーまでJavaDocに書き
すぐ動作するサンプルソースまでつけておく
多くの場合はそのサンプルをコピペするかまんまextendsできるようにしとかないとお子様がこじらせてくる
もちろんインターフェースも見ちゃいない、が普通だろう
0949デフォルトの名無しさん
垢版 |
2017/12/13(水) 09:19:34.25ID:W866uGF7
>>947
ビルドするときはもちろんいるわけだが、
バイナリとして(jarファイルとかで)配るときは
外すのが普通だと思う。
バージョン違いのJAR Hellみたいにならないとも限らないし。
0952デフォルトの名無しさん
垢版 |
2017/12/13(水) 12:34:11.76ID:+Pd2/l4g
>>950
可能。

ていうか考えてないでやれってレベルだと思うが、そこまで配列のことがわからないレベルなのか?
0953デフォルトの名無しさん
垢版 |
2017/12/13(水) 20:01:33.50ID:feBdtpVD
学校で出た課題をwarファイルの形で家に持ち帰り作業後再度学校で開いたところエラーで全く開けなくなりました
動的webプロジェクトなのですが、jspで同プロジェクトもmodelパッケージ内のjavaファイルインポートが出来ずにエラーを吐いています。
再度家に帰ってみると普通に開く始末。学校でも家でもeclipseを使っています。原因としてどんなことが考えられるでしょうか。
0955デフォルトの名無しさん
垢版 |
2017/12/13(水) 20:39:22.98ID:6RipZ3Bg
> warファイルを持ち帰り
この時点でおかしいからどうでもいい
解決する必要なし
eclipse使ってるならワークスペースもごと持ち運べばいい
0956デフォルトの名無しさん
垢版 |
2017/12/13(水) 21:07:10.44ID:feBdtpVD
warファイルで持ち運びダメだったんですか
エクスポートで簡単に作れるしチーム間で受け渡ししたりするのに使ったりしてたのですが……
0958デフォルトの名無しさん
垢版 |
2017/12/14(木) 01:48:06.73ID:bGPtLfUR
学校と家のEclipse だろ

両方のEclipseで認識できる、
プロジェクトフォルダ・ワークスペースごと持ち運ぶべき

war とは、サーバーに配置するように、変換された書庫。
開発中のフォルダ階層とは、異なる
0960デフォルトの名無しさん
垢版 |
2017/12/14(木) 03:40:16.00ID:H/S0UKdu
コマンドプロンプトに
java -jar atm.jar
と入力しても、atm.jarにメイン・マニフェスト属性がありません、
と表示されてしまうのですが、どう対処すればよいでしょうか?
0961デフォルトの名無しさん
垢版 |
2017/12/14(木) 12:22:40.90ID:ilEErt9I
>>960
jarを作るときに適切なマニフェストを指定する
jarとはアーカイブで中にマニフェストファイルが含まれていることが期待される
そこにはどのクラスのmainから始めるかなどが書かれてる
アーカイブを展開して探してみればいいよ
0962デフォルトの名無しさん
垢版 |
2017/12/14(木) 22:06:53.34ID:bGPtLfUR
「java jar manifest」で検索!
0963デフォルトの名無しさん
垢版 |
2017/12/14(木) 22:54:39.21ID:5BWwfj6A
DecimalFormat df = new DecimalFormat("#####") ;

これで5桁未満の数字を表示した時に左詰めになっちゃうんだけど
5桁未満の時は左はその分空白にして右詰めで表示したいんですがどうすればいいのでしょうか。
0964960
垢版 |
2017/12/14(木) 23:44:56.28ID:H/S0UKdu
>>961 >>962
やってみます。
ありがとうございました。
0965デフォルトの名無しさん
垢版 |
2017/12/15(金) 01:17:56.31ID:i/+5VHc3
>>963
String.format("%5d", x) でやれば?
0966デフォルトの名無しさん
垢版 |
2017/12/15(金) 18:45:00.26ID:RLTFESXZ
javaが3個存在してて
中身のある奴とかファイルが足りなり奴とか
パスが通ってるけど環境変数は作ってないとか

いったん綺麗に消してちゃんとしたいんですけど
アンインストールにあるアップデート消してから
インストーラーで削除して
残ってるjavaのフォルダを手動で消して
最後に?パスを消せばいいですか?

このパスを消す作業が一番怖いです
0968デフォルトの名無しさん
垢版 |
2017/12/15(金) 21:15:53.42ID:lQx5kyAI
プロジェクト持ち運びの件だが、やっぱEclipseのバージョンも揃えたほうがいいのかな

家と会社で使ってるんだけど、会社での制定版がちょっと古いんだよね
0969デフォルトの名無しさん
垢版 |
2017/12/15(金) 21:33:42.73ID:Tb0OcKpN
そろえられるものは全部そろえるの原則な気がする…
可能ならOSごとVMで持ち歩きたいぐらい
0970デフォルトの名無しさん
垢版 |
2017/12/15(金) 21:46:58.38ID:qyzTygXP
もうAWSのWorkspacesでも使えよ
プロジェクトフォルダを家に持ち帰るようなお粗末な会社ならセキュリティ的にもその方が遥かにマシだ
0971デフォルトの名無しさん
垢版 |
2017/12/15(金) 23:39:47.26ID:i/+5VHc3
>>966
よくわからんがとにかく全部アンインストールしろ。話はそれからだ。
0974デフォルトの名無しさん
垢版 |
2017/12/16(土) 17:22:59.07ID:kbqZOSZW
java(eclipse)でメインから呼び出されるクラスを作成したのですが、
呼び出し元がまだ出来ていないので、自分のクラスのテストだけをしたいと思っていますが、
自分のクラスにはmainがないので実行できません。
テスト用にダミーのmainクラスを作ってデバッグしようかと思っておりますが
他に方法等があるのでしょうか?
0977デフォルトの名無しさん
垢版 |
2017/12/16(土) 17:31:59.32ID:xdxhx7GN
学校出たあとデジタル土方として長くやっていきたいなら自動テストなんかに傾倒するのはお勧めしないけどね
代わりのmain書いてシコシコ手で実行してたほうがいい
現場の実態とのギャップにショックを受けて辞めたくなるから
0978デフォルトの名無しさん
垢版 |
2017/12/16(土) 18:10:30.03ID:R5wdKqfC
自分用に書けばOK

逆に呼び出すクラスがまだなくてインターフェースだけ決まっていればmockito
0979デフォルトの名無しさん
垢版 |
2017/12/16(土) 19:05:10.22ID:Bt/T1sYp
>>977
かつてそう思ってたが
テストツールでスタブを差し込む方法と
テストが現状に追随して死なないように書くコツがわかってから考えかわった

あれはいいものだ
0980デフォルトの名無しさん
垢版 |
2017/12/17(日) 02:50:44.23ID:R741zDgD
質問です。
commons-langを使って作成したクラス、
https://ideone.com/PTi08F
をクラスパス付きでコンパイルし、それをテストしようと
https://ideone.com/vaqvJE
をクラスパス無しでコンパイルし、クラスパス無しで実行したら
例外が発生しました。
(下のクラスに)クラスパスを付けてコンパイル/実行しようとしても
上手くいきません。
どなたかアドバイスをお願いします。
0981デフォルトの名無しさん
垢版 |
2017/12/17(日) 14:58:32.92ID:rjtVjcmj
>>975-979
974です。JUnitについて調べて見ます。ありがとうございました。
難しそうで、覚えるのに時間がかかりそうです
0982デフォルトの名無しさん
垢版 |
2017/12/18(月) 16:07:16.27ID:+a7cb1uP
>>980
アドバイス?
エラーメッセージを読め
それでもわからないならエラーメッセージを含め
どうやったか、どうなったかを具体的客観的に書け

考えてくれる人に最大限の労力をかけさせたいならスルーしてくれ
0984980
垢版 |
2017/12/18(月) 20:22:40.94ID:QPuoLlJ+
>>982-983
お手数をお掛けします。
(980の)上のコードは
javac -cp (省略);(省略) Bank229.java
で無事コンパイルできました。
下のコードも
javac -cp (省略);(省略) Main229.java
で無事コンパイルできました。
また、このコードは
java -cp (省略);(省略) Main229
で無事実行できました。
つまりキチンとやったら自己解決出来ました。
ありがとうございました。
0985デフォルトの名無しさん
垢版 |
2017/12/19(火) 21:03:59.79ID:Nox9HERS
ビルドパスに追加したJAR同士のクラスの重複でエラーが出た。
追加する順番を変えてエラー回避したけど、根本的解決じゃないような。
姑息な解決策で、いつかまた問題が浮上しそうで怖い。
何十個もあるファイルから重複クラスを探すだけでも気が遠くなる。
0986デフォルトの名無しさん
垢版 |
2017/12/19(火) 21:05:44.73ID:z1fMJoxx
パッケージ名をちゃんとしましょう
0987980
垢版 |
2017/12/20(水) 00:29:20.69ID:CrYve97q
たびたび失礼します。

https://ideone.com/QhI9r8
上記のコードのように、Bookクラスを一通りオーバーライドし、Mainクラスで
フィールドをあえて空にしてequalsメソッドで比較したら例外が発生して
しまいました。
きちんとfalseが返るようにしたいのですが、どのように対処すればよいでしょうか?

どなたかよろしくお願いします。
0988デフォルトの名無しさん
垢版 |
2017/12/20(水) 03:01:20.68ID:7jCEWR4I
フィールドが null の場合に equals が例外を吐かないようにしたいのなら、
フィールドが null の場合は falseを返し、null でないときだけ equals で比較
すればいいのでは。
0990デフォルトの名無しさん
垢版 |
2017/12/20(水) 09:32:03.96ID:qKaJgYX4
>>987
エラーの中見たら一発で原因解ると思うんだけど、
ちゃんと自分で考えたの?
色々考えて色々試してみたけどどうしても解決出来なくて聞きに来た感じでは無いんだけど。
「もう初心者は脱している、馬鹿にするな」とか豪語しておいてこれ自力で解決出来ないとか、職場にいたらぶん殴るレベルですよ?

解決方法は他の偉い人が丁寧に書いてくれているから、こちらから言うことはないんだけど、
35歳はその解決方法はちゃんと理解した?
「こうやればぬるぽにならないんだ、へー」ってコピペするだけだと、次に同じような問題に直面したときにまた解決出来ないという事態が発生するんだけど、大丈夫?
次に同じような問題発生して「分かりません、教えてください」とか言ったらやっぱりぶん殴るレベルですよ?
0991デフォルトの名無しさん
垢版 |
2017/12/20(水) 09:59:01.39ID:mfpnsd3d
>>985
探すプログラム作れば?

あ、でも既に誰か作ってそうだな。
0992デフォルトの名無しさん
垢版 |
2017/12/20(水) 14:10:20.54ID:Hytkl7Fo
>>985
バージョン違いとかなら、ファイルシステムのシンボリックリンクで必要なものを唯一のバージョンに見えるよう指すようにする
0993987
垢版 |
2017/12/20(水) 16:46:14.70ID:CrYve97q
>>988 >>989
回答ありがとうございます。

俺なりに修正してみましたのでよろしければご覧下さい。
https://ideone.com/e2hyln

>>989
難しい書き方をされますね。

>>990
本に書いてありませんでしたよ、こんなこと。
それをぶん殴るとか言われても困ります。
0994987
垢版 |
2017/12/20(水) 17:21:51.77ID:CrYve97q
修正しました。双方nullの場合はequalsはtrueを返すようにしました。
https://ideone.com/e2hyln
テストにおける網羅率100%です。
0997デフォルトの名無しさん
垢版 |
2017/12/20(水) 22:52:58.66ID:7jCEWR4I
>>995
なんかわかる気がする。
プログラマーでも致命的だけど、百歩譲ってプログラマーで生きていけても
エンジニアにはなれない。

てかプログラムに限らずあらかじめ定義された手順でしか物事進められ
なかったら終わってるべ。仕事だけじゃなく万事。
0998987
垢版 |
2017/12/20(水) 23:42:14.14ID:CrYve97q
>>996
本のサンプルコードを参考にしました。
31倍した後、フィールドのhash値を加えていました。

>>995
知識で、要求されている事を出来ないとなれば、常識で考えます。
それでも分からなければ、質問します。
0999デフォルトの名無しさん
垢版 |
2017/12/20(水) 23:48:01.94ID:B/1LYJ5G
>>997
プログラマーからしてもお断りだよ
プログラムから状況を読みとろうともしないやつは邪魔なので来ないで下さい

コーダーなら相手してくれるんじゃない?

>>998
質問する前に調べな
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 82日 6時間 28分 48秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況