[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 09/09 02:06 / Filesize : 270 KB / Number-of Response : 1020
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

☆★Java質問・相談スレッド182★★



1 名前:デフォルトの名無しさん [2018/11/19(月) 11:37:06.10 ID:C68x9bSia.net]

プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    pc11.2ch.net/hp/
Webプログラミング pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 (p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※

質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。

前スレ
★★Java質問・相談スレッド181★★
https://mevius.5ch.net/test/read.cgi/tech/1518252580/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured

596 名前:デフォルトの名無しさん [2019/11/14(木) 16:31:20.81 ID:gpjLruj80.net]
なんで?
使う側は安全(コンパイルエラー)でしょ。
公開メソッド(たとえばtoString)は普通にアクセスできる。
純粋にimport(Y)できないから、型明示の代入やCastもできない。
あと、ディープリフレクションはexportとは別設定。

597 名前:デフォルトの名無しさん mailto:sage [2019/11/21(木) 13:42:25.06 ID:oMz9B2oV0.net]
メゾットの連続番号を簡略化するのは無理でしょうか?

aho=new baka1();

このbakaのナンバーを変更したいのです

for(int i=1;i<5;i++)aho[i]=new baka+i+();

みたいにするとエラーが出ます

なんかいい方法はないでしょうか?

598 名前:デフォルトの名無しさん mailto:sage [2019/11/21(木) 15:21:53.56 ID:/5GdDHEF0.net]
「メゾット」じゃなくて「メソッド(method)」、
あと
new Hoge();
はメソッドではなくコンストラクタの呼出し。

クラスを動的にインスタンス化したいならリフレクション使う。大雑把に書くと
Class.forName(...) -> clazz.getConstructor(...) -> constructor.newInstance(...)
する。後は自分で調べて。

599 名前:デフォルトの名無しさん mailto:sage [2019/11/21(木) 15:23:24.39 ID:/5GdDHEF0.net]
クラスとかメソッドに連番を振るようなのは、
それぞれのクラスがどういった機能を持つかとか覚えきれなくなるだろうし
ろくな事にならないからヤメとけ、と思いますけどね。
※感想には個人差があります。

600 名前:デフォルトの名無しさん mailto:sage [2019/11/21(木) 15:35:48.75 ID:/tpvzaBhd.net]
>>588
何に使うかさっぱりわからんからエスパーだけど
そういう時は
baka(int i)ってコンストラクタを作ってその中で条件分岐させたほうが良い

601 名前:デフォルトの名無しさん [2019/11/21(木) 17:23:38.70 ID:MbgK9qpEa.net]
>>588
ありません。

それと、ゾじゃなくてソだ。

602 名前:デフォルトの名無しさん [2019/11/21(木) 17:26:18.60 ID:MbgK9qpEa.net]
>>589
あそうか。リフレクションでできるか。
しかしうクラス名変わったらおしまいな方法なのでお勧めする気が起きないな。

603 名前:デフォルトの名無しさん mailto:sage [2019/11/21(木) 18:33:39.54 ID:Wapa4TJu0.net]
Javaで、string型のデータをhtml使わずhttpconnection使ってサーバーにつないで、postで送るんですが、springbootで作られたサーバーではどう書けば受け取れますか?
どうやってもうまくいかなくて…説明も下手ですみません。
@Requestparamで受け取れるかと思ったんですが、変数どうやって指定したらいいかとか解決できない状況です

604 名前:デフォルトの名無しさん mailto:sage [2019/11/21(木) 18:59:03.74 ID:t93OqxgW0.net]
Ruby on Rails なら、ルーティングを設定する

Post メソッドで、/login というパスで、Sessions コントローラーのlogin アクション。
post "login" => "sessions#login"

Rails では、下のどちらの書き方でも、params[ :name ] で取り出せる

ttp://〜/コントローラー/アクション/sato
ttp://〜/コントローラー/アクション?name=sato

「spring boot post」で検索して!



605 名前:デフォルトの名無しさん mailto:sage [2019/11/21(木) 21:23:20.19 ID:oMz9B2oV0.net]
>>589
コストラクトの連番の簡略化できました。ありがとうございます。

for(int i=1;i<5;i++){
Class<?> c=Class.forName("baka"+i);
aho[i]=c.newInstance();
}

これでできました!

606 名前:デフォルトの名無しさん mailto:sage [2019/11/21(木) 22:49:32.49 ID:t93OqxgW0.net]
ハァ? クラス名の連番?w
メタプログラミングじゃあるまいし、Ruby から、学び直せ!w

Ruby にも、メタプログラミング用で、動的にメソッド名を付ける、define_method は有る。
これは、規則性のあるメソッド名を、複数つける場合に使う

こういう手法は、たいてい「メタプログラミングRuby 第2版」みたいな
「メタプログラミング何々」というような本に書いてある

「メタプログラミング Java」という本は無さそうだけど、リフレクションだろ

607 名前:デフォルトの名無しさん [2019/11/22(金) 00:35:57.65 ID:nCUGDEyM0.net]
>>596
でもそれ出来れば設計考え直した方が良いと思うよ。自分では変更不可の領域に連番クラスがあるというのなら仕方ないけど。

608 名前:デフォルトの名無しさん mailto:sage [2019/11/22(金) 07:50:28.91 ID:kieD0Z1+0.net]
修正すべきコードの例w

609 名前:デフォルトの名無しさん mailto:sage [2019/11/22(金) 08:28:14.11 ID:GTCFu0T70.net]
aho配列に入れるBakaクラスなら連番でもいいのだ
一人一人のBakaに代入互換性はなく総称しても使い道がない
ただaho配列に並ぶだけ
これでいいのだ

610 名前:デフォルトの名無しさん [2019/11/22(金) 10:07:48.59 ID:G2a56k/Ua.net]
>>600
全てのBakaに共通するインターフェースがない限りObjectクラスとしてしか扱えないのであまり価値がないのではないか?

611 名前:デフォルトの名無しさん mailto:sage [2019/11/22(金) 18:50:54.91 ID:IgRfeEG+0.net]
動的にクラス名を生成するのは、Ruby on Rails で言えば、

コマンド「bin/rails g controller コントローラー名 アクション名」で、
例えば、top コントローラー、index アクションなら、
自動的に、ApplicationController の派生クラス名・メソッド名が定義される

class TopController < ApplicationController
def index
end
end

こういうフレームワークを作る側のメタプログラミングだから、10年以上のメンテナー・ベテランの話!

君らは「スッキリわかる Java入門 第2版」にも書いてある通り、
フレームワークを使う側の人でしょ?

1. スッキリなどの入門書
2. Effective 何々、逆引き本
3. フレームワークを使う側の本
4. メタプログラミング、フレームワークを作る側の本

こういう順序で言えば、4は、一生関係ない人がほとんど!

612 名前:デフォルトの名無しさん mailto:sage [2019/11/22(金) 19:15:41.34 ID:bHONFyXJ0.net]
>>602
rubyは聞いていません。javaで回答してもらえませんか?

613 名前:デフォルトの名無しさん mailto:sage [2019/11/22(金) 19:35:37.83 ID:627roQa/M.net]
>>602
低年収言語はいらないです
https://tech.nikkeibp.co.jp/atcl/nxt/column/18/01068/111100004/

614 名前:デフォルトの名無しさん mailto:age [2019/11/22(金) 20:56:32.49 ID:Ojo/8f50M.net]
RubyはJavaで作られてるから実質Java



615 名前:デフォルトの名無しさん [2019/11/22(金) 21:49:44.03 ID:l6/+AaOma.net]
あれ?rubyってJavaで作られてたの?じゃあJVM言語の一種?

616 名前:デフォルトの名無しさん mailto:sage [2019/11/22(金) 22:37:07.24 ID:GLN50yFfr.net]
JRubyはそうだろうけど

617 名前:デフォルトの名無しさん mailto:sage [2019/11/22(金) 23:17:45.16 ID:NHoyDi/b0.net]
何で
クラス連番にしたらいけなひの?
便利だよ
ほんと

618 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 07:18:44.34 ID:32h5sYE/0.net]
おまルールでいいじゃないか

619 名前:デフォルトの名無しさん [2019/11/23(土) 08:45:31.09 ID:fraeGssq0.net]
調べたら
Class.forName("クラス名");
ってあんまり推奨されてないみたいなんだけど
暗号化の関係かな?
よおわからん

620 名前:デフォルトの名無しさん [2019/11/23(土) 17:13:27.52 ID:JT6reT4x0.net]
>>608
いけなくないけど不便だよ。君が便利と感じるのは経験が浅くてまだ困難に直面した事がないからだと思う。ま、頑張れ。

621 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 18:42:11.00 ID:b2KhkZe6a.net]
>>608
数が多くなると管理できなくなるんだよ
18と19の間に18.5を入れたくなったり
さらに18.3と18.4の間に18.35を入れたくなったりすると
完全に訳が分からなくなる

622 名前:デフォルトの名無しさん [2019/11/23(土) 20:40:36.12 ID:0wKJQE8U0.net]
数ヶ月したらどの番号が何をやってるかなんて忘れてしまうから
クラス名を番号にしてると修正が必要になったときに全部開いて確認する羽目になる

設計書に番号と処理の対応表を書いておけばよいけれども
設計書を開かないとわからないし設計書と実装を見比べて探し当てるよりは
クラスにはだいたいの概要がつかめるような名前をつけたがよいよ

どうせ作っておしまいだからと思ってたら完全に忘却したあとに
修正が必要になるなんてことザラにあるからわかりやすい名前をつけて
整理しとかないと泣きながら修正することになる

みんなが一度は通る道だろうけど

623 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 05:27:04.83 ID:QRZKKX3s0.net]
>>608
他人と違うことやる俺カッケー
でもこういうやつの中から天才現れるんだよな。
まあ、頑張れ。

624 名前:デフォルトの名無しさん [2019/11/24(日) 15:36:00.02 ID:Gqvqz24c0.net]
連番のメソッドで何をしてるのか知りたい。



625 名前:デフォルトの名無しさん [2019/11/24(日) 15:36:45.26 ID:Gqvqz24c0.net]
あ、クラスか。
クラスを連番にする意味はないと思うが、何をする処理ですかね?

626 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 18:10:38.59 ID:Cw5E2RGB0.net]
一つ一つ名前考える手間が省ける。swingのボタンとかラベルとかテキストフィールドとか。

627 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 18:38:58.16 ID:aaRbnr5kd.net]
ボタン?
それなら尚更ちゃんと名前つけてあげないとわけわかんない事になるのでは……

628 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 19:08:52.08 ID:Cw5E2RGB0.net]
まあ程度問題やね。
コンポーネントが20個とか30個になると、全部一つ一つnewしてアクションリスナーに登録して、JPanelにaddするのがしんどくなる。
for文でまとめてやりたいという誘惑に駆られるから。

629 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 19:34:22.05 ID:QRZKKX3s0.net]
>>619
コンポーネントなら普通にやるじゃん。
チェックボックス10個並べるときなんかは配列にしてfor文で呼ぶし。

630 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 19:46:18.40 ID:7cfX+7dDM.net]
今時JavaでGUIアプリを作ること自体が全くもって普通ではないから無意味な例だな

631 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 23:13:55.87 ID:E4b/CXSq0.net]
>>619
インスタンスならわかるけどクラスだしなぁ

632 名前:デフォルトの名無しさん [2019/11/25(月) 10:37:08.19 ID:veETdbiQa.net]
IDEでボタン配置とかやってるならクラス名は連番だろうが何だろうがあまり気にならんかもな。どのボタンがどのクラスかなんてのはIDEでわかるんだろうし。

633 名前:デフォルトの名無しさん [2019/11/25(月) 10:40:38.66 ID:8LK1eAYw0.net]
いい加減、クラス連番とかいうのかまうなw

634 名前:デフォルトの名無しさん [2019/11/25(月) 11:16:38.67 ID:9J43lBdJa.net]
Java的には連番はご法度だよな
メソッド名も主語=オブジェクトに関連する動詞じゃなきゃだめ
しかも英語で略語も禁止

SunのJavaの教科書はそう書いてる

だからIDE使う

連番の入れ替えとか歯抜け追加起きたとき
プロジェクト炎上するなこいつのは


1
2
5
4
9
31
6

とかになる



635 名前:デフォルトの名無しさん [2019/11/25(月) 11:32:46.60 ID:9J43lBdJa.net]
やるなら、


inteface Hage {
void pushShigeki();
}


class Tako implements Hage
class Hanako implements Hage

Hage[] listKokyaku = new Hage[2];
listKokyaku[0] = new Tako();
listKokyaku[1] = new Hanako();

for(Hage aitsu : listKokyaku) {
aitsu.pushShigeki();
}


うは、俺天才

636 名前:デフォルトの名無しさん [2019/11/25(月) 11:41:30.91 ID:9J43lBdJa.net]
UMLからお勉強だな


objectclub.jp/technicaldoc/uml/

こんなアホな設計者にカネばらまいて
いざとなったらトンズラきめて
末端の派遣社員が鬱病になって
2chで粘着されて会社が潰れるのが目に浮かぶわww

637 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 12:54:42.34 ID:XBh0S+UuM.net]
的外れなレスを連投する君も同レベルのアホだよ

638 名前:デフォルトの名無しさん [2019/11/25(月) 12:59:09.06 ID:9J43lBdJa.net]
そうだな、Hageは不適切だった

Enkeidatsumoshowがいいな

639 名前:デフォルトの名無しさん [2019/11/25(月) 13:02:30.16 ID:9J43lBdJa.net]
ただしくは以下を見ろ
絶対に見ろ、命令だ


Java言語の命名指針 - Qiita
https://qiita.com/rkonno/items/1b30daf83854fecbb814

640 名前:デフォルトの名無しさん [2019/11/25(月) 13:07:38.83 ID:9J43lBdJa.net]
うえのURLはハゲだった

まだふさふさしてるのは

https://future-architect.github.io/coding-standards/documents/forJava/Javaコーディング規約.html#フォーマット



https://www.google.co.jp/amp/s/nelog.jp/programming-words%3famp=1

だな

641 名前:デフォルトの名無しさん mailto:age [2019/11/25(月) 14:27:28.62 ID:/ltgl4TyM.net]
すごくつまらないです

642 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 16:01:07.05 ID:sIY9dxa6d.net]
頭の中で勝手にエンジニアと決めつけてキレてるやつ怖いわ
どう見ても素人だろこんなん
というかどんな現場だろうがこのレベルの奴が自分で設計なんてさせられるわけないわ

643 名前:デフォルトの名無しさん (ワッチョイ 9e01-r1hd [111.90.14.57]) mailto:age [2019/11/26(火) 01:08:20 ID:bgFIZV9Y0.net]
現場にもいろいろあるんやで
失敗を積み重ねて人は成長するんやで

644 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 09:44:25.60 ID:i6eVGflj0.net]
画面部品を一つ一つ異なるクラスにする意味あるの?
インスタンスが連番なのじゃなくて?

都市伝説っぽいが、会社規則でクラスをコード+連番にしないといけないという愚痴ならどこかで読んだことがある



645 名前:デフォルトの名無しさん [2019/11/30(土) 17:54:07.54 ID:FnAJNe620.net]
どうも、都市伝説です

謎略称+連番はロクにまともなコードも書けない人間が略称→機能を暗記して周りにマウント取るためのテクニックとして確立されてる

646 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 20:05:23.43 ID:18 ]
[ここ壊れてます]

647 名前:m6LbH00.net mailto: まぢれすすると
page1.java page2.java........と作っていて
選択したページに移動したいだけなんすよね
ちなみに趣味れす
[]
[ここ壊れてます]

648 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 22:09:24.54 ID:Zu/DOLqT0.net]
>>637
それ同じクラスを使いまわして引数で分岐させる方がラクだよ

649 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 22:32:31.73 ID:HT5pBiqn0.net]
普通に名前つけさせようとすると
英語もろくすっぽできないプログラマーがわけわからん名前つけるからな!

いかなる創造的仕事もSE様のしごとだ
プログラマーは工員のごとく黙って番号を付与された部品を組み立てておればよい

650 名前:デフォルトの名無しさん [2019/12/01(日) 21:35:10.17 ID:54WkPiOYa.net]
日本語でクラス名付けちゃえよ。その他変数名とかも。ソースを外国に輸出しないならそれでも良かろう。
Javaなんだし漢字が識別子に普通に使えるよ。入力の切り替えが面倒ってのはあるかも知れないが可読性は上がる。

651 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 21:37:17.95 ID:UwCngPfbM.net]
日本人しか触らないのに英語起票に拘る人おるよね

652 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 21:43:00.87 ID:W3IRfpAO0.net]
それでMacのNFDもどきでハマるんですね、分かります

653 名前:デフォルトの名無しさん [2019/12/01(日) 22:13:32.48 ID:dM3xe/zP0.net]
ソースはアルファベット、コメントは日本語が一番見やすいが・・・。

654 名前:デフォルトの名無しさん (アウアウエー Sa7f-3RYV [111.239.52.182]) mailto:sage [2019/12/02(月) 00:42:17 ID:tlpXu3t6a.net]
間違った英語の単語を変数名に使われるのも迷惑
加減乗除余りの余りを surplus としたのがある
surplus は割り算の余りという意味ではなくて
損益の余りという意味でしか使われないのだが



655 名前:デフォルトの名無しさん [2019/12/02(月) 06:39:31.76 ID:/N45p/D+0.net]
日本語は文字コードの問題があって、コメントは英語が基本と言われていますね。

656 名前:デフォルトの名無しさん (ワッチョイ 7fad-/0K4 [27.139.77.105]) [2019/12/02(月) 08:35:14 ID:6Q7teWoI0.net]
どんな問題?

657 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 09:36:39.22 ID:CbKC46HWM.net]
643に文字コードとは何なのかから説明しないといけない問題

658 名前:デフォルトの名無しさん [2019/12/02(月) 10:19:01.96 ID:4IAAki39a.net]
>>645
素人がエンジニアを名乗るの図
どこでさ仕事したらそんな歪んだ知識になるんだ

659 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 15:08:59.12 ID:LuC5M5C30.net]
爺さんだろ

660 名前:デフォルトの名無しさん [2019/12/02(月) 18:16:14.51 ID:AXP0tN/na.net]
正規化の問題があるといえばあるか。
見た目全く同じファイル名とかUnicodeだと作れちゃうよね。濁点とか半濁点が曲者。
その辺を考慮してくれるテキストエディターでないといつかその内ハマる。
多分WindowsとMac混在で編集するとその時は早めに来る。

661 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 20:11:31.18 ID:kVvXK1rur.net]
それては濁点はコーティンク規約て禁止しよう
◯と○や長音も紛らわしいから禁止た

662 名前:デフォルトの名無しさん [2019/12/02(月) 20:58:00.86 ID:AXP0tN/na.net]
参考にしてください

長音記号禁止
https://egg.5ch.net/test/read.cgi/owarai/1567165871/

663 名前:デフォルトの名無しさん (ワッチョイ d501-epCg [60.145.42.28]) [2019/12/05(Thu) 13:36:07 ID:wIKti5Mb0.net]
SpringBootの勉強中なんだけど、誰かわからないから教えてもらえませんか?
Aという名前のプロジェクトとBというプロジェクトがそれぞれ存在していて、
AのプロジェクトからBのプロジェクトのある画面を呼び出すことは可能でしょうか?
マルチプロジェクト?というので可能でしょうか?

664 名前:デフォルトの名無しさん (ワッチョイ 36da-WBaP [121.114.135.51]) mailto:sage [2019/12/05(Thu) 14:55:38 ID:ATWw+6fu0.net]
ここで聞けよ

【DI】Java Spring Frameworkを語るスレ 5.0
https://mevius.5ch.net/test/read.cgi/tech/1322414231/



665 名前:デフォルトの名無しさん [2019/12/07(土) 11:51:34.98 ID:bFOMZERE0.net]
そもそも「画面を呼び出す」って訊き方が?
・httpとかネットワーク的な話なのか
・画面がコンポーネントになっていて、それを含むモジュールをimportして使いたいという意味なのか
どっちにとっても、Spring以前の話だな。

666 名前:デフォルトの名無しさん (ブーイモ MMe1-F/t0 [210.149.255.192]) mailto:sage [2019/12/07(土) 14:16:02 ID:Idm24E4/M.net]
@ComponentScanしてcontroller経由かViewResolverをchainする

667 名前:デフォルトの名無しさん [2019/12/07(土) 21:23:14.66 ID:YAam3qww0.net]
Queue<Integer>の合計を取る場合、拡張forを使用していますが、
stream().sum()の様な方法で求めることはできますか?

668 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 21:36:50.23 ID:Z+T9+hbUr.net]
q.stream().sum()でいいんじゃない?

669 名前:デフォルトの名無しさん (ワッチョイ 6301-fBuc [60.108.151.168]) [2019/12/13(金) 02:40:57 ID:VJl1Rt3v0.net]
メソッドの処理時間を返すメソッドを作りたいと思ってるのですが実装方法がよく分かりません…
関数型プログラミングをつかえとネット上で書いてあったのですが中々理解出来ずにいます…

やりたいこと:
int runProcessTime(メソッド){
long start = System.currentTimeMillis();
// 引数のメソッドを実行
long end = System.currentTimeMillis();
return (int)end - start
}

どなたかこのポンコツめに実装方法を教えてください……よろしくお願いします…

670 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 09:55:14.47 ID:ftjAwgQIM.net]
>>659
プロファイラ使え

671 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 15:58:33.51 ID:JQqa66DGr.net]
試してないけどこんな感じかな

int runProcessTime(Runnable proc){
long start = System.currentTimeMillis();
proc.run();
long end = System.currentTimeMillis();
return (int)end - start
}

// 呼び出し
runProcessTime(() -> {you.doSomething();});

例外投げんなと怒られたらCallable版も用意してreturn false
Effectively finalで怒られたら引数の宣言にfinalでもつけて修正

672 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 16:56:03.95 ID:e2UWLhpQM.net]
ジェネリックな高階関数定義するのひたすら面倒だね。戻り値の有無や引数の数が一般化出来ないケースは実質使えない

https://paiza.io/projects/Eh3ihZ2kTIdiBv-2ItS5wg?language=java

本番環境でも使いたければAOP使ってログ出力かな

673 名前:デフォルトの名無しさん [2019/12/14(土) 00:13:43.09 ID:9SpegRHr0.net]
>>660-662
ありがとうございます

参考にしてもらって調べてみましたが、プロファイラやAOPを使ったログ出力をすればたしかに解決出来そうです!

ただそろそろラムダ式とちゃんと向き合わなきゃ駄目かなと思っているので>>662のコードを参考に読み解いてこうと思います!

>>661のコードにはとりあえずrunnable実装したクラス投げてみたんですがどうも上手くいかなかったです…
これもラムダ式が理解出来てれは動作するんでしょうか…?

674 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 00:39:58.86 ID:zsegnw83r.net]
もしかしてdoSomethingメソッドの戻り値をRunnable型のオブジェクトにしちゃった…?
runProcessTime(() -> {System.out.println("呼ばれた");});
でいいんだよ
引数と戻り値のないラムダ式がRunnableとして型推論される



675 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 02:22:22.35 ID:9SpegRHr0.net]
>>664
とりあえず動作確認がしたくて試行錯誤した結果こんな感じなら通るのかなぁって思って

676 名前:ワした
https://wandbox.org/permlink/hflsLOytE8IIIZkt

ご指摘の通りに書いてみたら上手く動作してくれました!ありがとうございます!
https://wandbox.org/permlink/jl8r7LPtWxuNBPkh
型推論…便利だけど仕様理解してないとなんか不思議な感覚ですね
[]
[ここ壊れてます]

677 名前:デフォルトの名無しさん [2019/12/14(土) 21:02:02.41 ID:SgtXLdNQ0.net]
Kotlin もよろしく

678 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 20:12:08.00 ID:Tcm1zA7za.net]
アプリを開く→(複数のユーザーが)学習時間を入力→サーバーにデータを送信・保存→管理者がcsvで出力
というようなスマホアプリ(ユーザーが複数)を作りたいと思っているのですが
参考になる書籍等ありませんでしょうか。そもそも、実現可能なものでしょうか。
スレ違いでしたらすみません。

679 名前:デフォルトの名無しさん [2019/12/24(火) 09:51:50.98 ID:FDV9SMo9M.net]
>>667
その辺詳しくて暇な学生でも知り合いにいたら焼肉でも奢って作ってもらえるレベル。
自分でやりたいならサーバーもアプリ開発も入門書から。

680 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 12:51:56.91 ID:3XzgnZW70.net]
>>659-665
Ruby なら、考える事もない。標準ライブラリのbenchmark を使うだけw

require 'benchmark'

Benchmark.bmbm do |bmbm|
bmbm.report( "#1" ) { sleep 1 }
bmbm.report( "#2" ) { sleep 2 }
end

出力
user system total real
#1 0.000000 0.000000 0.000000 ( 1.005784)
#2 0.000000 0.000000 0.000000 ( 2.000958)

681 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 14:04:13.96 ID:4hGbK3LLM.net]
>>669
ゲロ遅Rubyでベンチマークとかアホかな
巣に帰れ

682 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 18:06:43.25 ID:MO/D1HWx0.net]
C#erですけどこれからjava学ぶ価値はありますか?
煽り抜きで有償化後から敬遠されてるように見えて

683 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 20:21:12.52 ID:FXbIETKP0.net]
知らんがなー

684 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 20:32:08.30 ID:jY4syNMl0.net]
ここで聞くより自分の勤め先に聞いた方がいいんじゃね?



685 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 21:22:10.62 ID:dq3QkvTpa.net]
C#ができるならJavaの現場にいきなり投入されても全然問題ないから、あえて自分で勉強しておく必要はないと思う
JavaはC#でいうところのVB的なバカの受け皿がないので、C#に比べるとプログラマの平均レベルはかなり落ちる

686 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 22:22:24.92 ID:QaElcG77a.net]
>>667
google sheet じゃいけないの?

687 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 10:31:51.95 ID:0RAirXGC0.net]
イミフ
>JavaはC#でいうところのVB的なバカの受け皿がないので、C#に比べるとプログラマの平均レベルはかなり落ちる

688 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 18:36:38.53 ID:T30j/zfya.net]
ポインタがない時点で平均以下の
プログラマ向けだとは思うが・・・。

689 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 18:40:52.69 ID:QLybXwoka.net]
>>668それならちょっと頑張ってみようと思います。ありがとうございます。
>>675入力作業が面倒だったら時間を記録をしないのです。googlesheetでもできはしますが
続くような、入力がシンプルな、学生でも馴染みのあるアプリなシステムを作りたいのです。

690 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 18:59:14.49 ID:DT9LgkyTM.net]
だったらMicrosoftのPowerAppsとかでいいんじゃね
ノンコーディングで入力フォーム付きのDBアプリができるよ

691 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 19:34:19.72 ID:QLybXwoka.net]
>679こんな便利そうなものがあったのですね!・・・ちょっと調べてみます。

692 名前:デフォルトの名無しさん [2019/12/25(水) 19:45:21.98 ID:cJWtSi8V0.net]
>>677
年収が? IQが? 技術力が?
言語にポインタがあったらそれが上がると?

693 名前:デフォルトの名無しさん [2019/12/25(水) 19:50:04.62 ID:cJWtSi8V0.net]
ポインタを極めて生活が豊かになるなら
組み込みエンジニアはもっと幸せなのじゃないだろうか
給料高いって話聞かないし身の回りを見渡してもそういう人いないから
ポインタにそんな価値はありません

694 名前:デフォルトの名無しさん [2019/12/25(水) 19:57:01.15 ID:cJWtSi8V0.net]
VB.NETもC#も変わらぬ
VBがバカの受け皿ならC#もバカの受け皿だ
使う言語によって賢さが変わるものではない
ただしProlog使いだけは侮るな、変態だから



695 名前:デフォルトの名無しさん [2019/12/25(水) 21:15:16.60 ID:ALfGM20+H.net]
>>681
コーディング技術力は上がると思う。

696 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 02:59:14.29 ID:FdHruebH0.net]
ポインタの理屈は単純だけど、ポインタのポインタのポインタのポインタのポインタの・・・・・と増えていくと
見落としや勘違いが増えるの実感して、単純なほうがいいと思ってるのでせいぜい4〜5段階までにしてる。

頭が悪いのは否定しない。

697 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 08:19:37.09 ID:Fsuom43iM.net]
>>685
4~5ってスゲーな
使っても3段までだわ

698 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 08:38:03.99 ID:n7PujD85a.net]
ポインタは、全体把握とどの情報を実領域に
持たせるかという構想が必要だから、
バグの温床になって嫌われた。

逆に言うと、全体把握と構想力がある人(コーディング力が高い人)は、
ポインタがある言語を使った方が高性能のプログラムを使えていいと思う。

699 名前:デフォルトの名無しさん [2019/12/26(木) 09:02:47.60 ID:YvaHujGZM.net]
ポインタは元々少ないメモリ空間の昔に使われてきた
プログラム自体を書き換えることで、違う処理をさせてきたわけだ
今はそんなことする必要は無く、ワークエリアも十分ある

その中でわざわざポインタ使ってやる方がおかしい

700 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 10:48:00.02 ID:MgSP500ir.net]
個人的にはポインタよりも高度な関数型言語の方が難しい
メモリの制約が少なくなって並列処理の必要が増した昨今に
ポインタを理解していることに自尊心を持ち続けているようではまずいと思う

701 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 11:30:29.67 ID:LEe51FxT0.net]
えへん

702 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 12:17:46.05 ID:IcXenUI20.net]
ポインタ使えるC#のがプロ向けなんですか?
C系言語で最もバランスの取れた言語を集中的に覚えたいです

703 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 12:26:40.52 ID:EWaoVvrbM.net]
スレ違いも甚だしい

704 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 15:19:27.46 ID:6rKDuvH70.net]
balancedC



705 名前:デフォルトの名無しさん [2019/12/26(木) 16:33:20.56 ID:P2pgmRUJM.net]
>>691
目的なく言語選びをしても意味がない。

706 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 16:40:18.13 ID:REAQMzC80.net]
受験勉強の弊害だろ、何の為にするのかが考えられない

707 名前:デフォルトの名無しさん [2019/12/26(木) 20:59:53.58 ID:jGVvGCFqa.net]
               .|  
               .|  
    ∩___∩    |  
    | ノ\   ,_ ヽ  .|  
   /  ●゛  ● |   .J  
   | ∪  ( _●_) ミ 
  彡、   |∪|   |     
 /     ∩ノ ⊃  ヽ
 (  \ / _ノ |  |
  \  "  /  | |
   \ / ̄ ̄ ̄ /
      ̄ ̄ ̄ ̄

708 名前:デフォルトの名無しさん [2019/12/26(木) 23:41:10.21 ID:n7PujD85a.net]
ポインタは処理速度が速いからね。
(代入処理が少なくなるせい)

709 名前:デフォルトの名無しさん [2019/12/26(木) 23:46:20.90 ID:AOHRGRKj0.net]
恐らく逆じゃないかな。
スタック上にオブジェクトを作れるとメモリーの確保が必要ないし常にキャッシュに載るので速い。
ポインタがない言語はだいたいポインタと同程度の大きさを持ついくつかのプリミティブしかスタック上に配置できないので、常にポインタを介した演算と同程度の

710 名前:ャ度しか出せない。
ってことでは。
[]
[ここ壊れてます]

711 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 23:55:41.06 ID:7SX4HwC3a.net]
ポインタと実際の実装はまた別の話では?
コンパイラが頑張ればかなり最適化できるが

712 名前:デフォルトの名無しさん [2019/12/27(金) 00:00:34.84 ID:2RWoWvTN0.net]
すべてのオブジェクトをスタックにしか置けないと、事前にすべてのオブジェクト領域を用意しないといけない。
それは現実的ではないのでヒープが必要になり、ヒープへの効率的アクセスにポインタが用意される。
という順番かと。

713 名前:デフォルトの名無しさん [2019/12/27(金) 00:01:57.53 ID:2RWoWvTN0.net]
スタックポインタの指す場所をキャッシュしないプロセッサはないので、コンパイラ関係なくスタック上は有利じゃないでしょうかね。
キャッシュミスで1000クロック失うこともあるわけですし。

714 名前:デフォルトの名無しさん [2019/12/27(金) 00:13:29.51 ID:FGT7rX6da.net]
ポインタの利点は、メモリ上でデータコピーの頻度が下がることだよ。
ポインタはデータを参照するだけで、コピー(代入)しないから。



715 名前:デフォルトの名無しさん [2019/12/27(金) 00:20:45.16 ID:2RWoWvTN0.net]
>>702
Javaのオブジェクトもコピーしませんよ。

716 名前:デフォルトの名無しさん [2019/12/27(金) 00:41:11.11 ID:TGHw1m2h0.net]
まじで?

717 名前:デフォルトの名無しさん [2019/12/27(金) 00:42:32.50 ID:2RWoWvTN0.net]
そりゃそうでしょう。
プリミティブ以外は全部参照という割り切った仕様なんですから。

718 名前:デフォルトの名無しさん [2019/12/27(金) 00:44:18.84 ID:TGHw1m2h0.net]
じゃあJAVAのオブジェクトが持つデータの本体はどこにあるの?

719 名前:デフォルトの名無しさん [2019/12/27(金) 00:44:57.33 ID:2RWoWvTN0.net]
>>706
GC上にありますよ。

720 名前:デフォルトの名無しさん [2019/12/27(金) 00:52:40.10 ID:TGHw1m2h0.net]
あーそういう事ね。
それは話にならん。
結局、変数宣言する度にGC上にエリアとるんでしょ。
それじゃ遅いんだよ。

721 名前:デフォルトの名無しさん [2019/12/27(金) 00:57:03.69 ID:2RWoWvTN0.net]
ポインタと同様遅いということです。

722 名前:デフォルトの名無しさん [2019/12/27(金) 03:23:21.04 ID:zc200dFE0.net]
ポインタは物理アドレスを辿れることにメリットがある。

当然、重大バグを埋め込み安くなる。

723 名前:デフォルトの名無しさん [2019/12/27(金) 03:51:35.21 ID:2RWoWvTN0.net]
いまどきJavaが使われるような用途でプログラムは物理アドレスにアクセスできませんよ。
物理アドレスはOSが管理しているので、言語によって変わる事は有りません。

724 名前:デフォルトの名無しさん mailto:sage [2019/12/27(金) 11:00:48.46 ID:Z74RNOkKa.net]
1. ポインタを使う言語(具体的になに?)
2. Java
3. ポインタを使わない言語(具体的に何?)

で、どれがどう早いのかまとめてくれ



725 名前:デフォルトの名無しさん mailto:sage [2019/12/27(金) 11:11:52.93 ID:eoDvpAED0.net]
答え スレチ

726 名前:デフォルトの名無しさん [2019/12/27(金) 13:15:25.80 ID:zc200dFE0.net]
>>711
文法も内容もおかしいぞ?

727 名前:デフォルトの名無しさん [2019/12/27(金) 13:16:21.22 ID:zc200dFE0.net]
>>712
早い遅いの話だったのか?

728 名前:デフォルトの名無しさん [2019/12/27(金) 13:54:39.03 ID:OSUAtXdGa.net]
君たちにはこれをプレゼントしよう。

NullPointerException

729 名前:デフォルトの名無しさん mailto:sage [2019/12/27(金) 14:38:37.47 ID:29a4DvgC0.net]
throw GUT

730 名前:デフォルトの名無しさん [2019/12/27(金) 16:23:18.89 ID:zc200dFE0.net]
>>716
それ単に誤ったところにアクセスしようとしたという意味で、それを頻発させるプログラマはダメすぎる。

731 名前:デフォルトの名無しさん [2019/12/27(金) 19:43:06.37 ID:OSUAtXdGa.net]
Javaにはポインターが無いと聞いていたのにいきなりこんなもんが出ちゃってインド人もびっくり。

NullPointerException

732 名前:デフォルトの名無しさん [2019/12/27(金) 19:47:41.94 ID:c4efkuh5M.net]
ポインタ変数とポインタの区別がつかない阿呆

733 名前:デフォルトの名無しさん mailto:age [2019/12/27(金) 20:26:01.32 ID:S+olTiDxM.net]
>>719
ぬるぽはオブジェクトがヌルのときに投げられるから
Javaのポインタはオブジェクトを指すものなのだろうね

C言語のポインタはメモリアドレスを指す

名前は同じだけど概念が違う

734 名前:デフォルトの名無しさん mailto:sage [2019/12/27(金) 20:53:02.39 ID:uD1rHSskM.net]
おいおいマジかよw
ちなみに「指すもの」を英語でpointerと言います。



735 名前: mailto:sage [2019/12/27(金) 20:57:44.42 ID:9iE1xeZJ0.net]
>>719
Java は c++ のある種の進化系・理想形ですからね、今でも c++ で丁寧に書こうと思ったら自然に Java に近くなりますよ

736 名前:デフォルトの名無しさん mailto:sage [2019/12/27(金) 22:29:49.28 ID:2d2dVtvP0.net]
初心者です。問題集で勉強中です
宜しくお願いします。

会員顧客データを更新する時のプログラムなんですが
未実装と記入ある箇所にどうのようなコードを入れてら良いでしょうか
ざっくりで申し訳ありません


/**
* 顧客情報テーブルの指定の顧客情報を更新する
* @param cutomer 顧客情報Bean
* @return エラーメッセージ(処理成功時、null)
*/
public String update(CustomerBean cutomer) {
LogUtil.println(this.getClass().getSimpleName() + "#update");

// TODO 未実装
return null;
}

737 名前:デフォルトの名無しさん mailto:sage [2019/12/27(金) 22:37:53.02 ID:XCpPzAzW0.net]
>>724
// TODO 未実装
return null;

これを

// なぜか更新できない
return "エラーです";

って直すを呼び出した人が治してくれると思う。

738 名前:デフォルトの名無しさん [2019/12/27(金) 23:39:06.28 ID:zc200dFE0.net]
>>724
未実装もなにも、なんも書かれていないメソッドだろうにw

739 名前:デフォルトの名無しさん [2019/12/27(金) 23:41:14.61 ID:zc200dFE0.net]
ログ出力しているだけw

740 名前:デフォルトの名無しさん mailto:sage [2019/12/27(金) 23:47:00.87 ID:lxjmCiaLM.net]
突っ込むところがズレてて気持ち悪い

741 名前:デフォルトの名無しさん [2019/12/27(金) 23:50:52.21 ID:zc200dFE0.net]
>>728
自分が面白いと思っているの?

742 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 00:07:06.19 ID:Nw+g0oHm0.net]
>>726
はい。ここに何を書き込むべきか教えてください

743 名前:デフォルトの名無しさん [2019/12/28(土) 02:36:10.83 ID:Rw3GVoxd0.net]
更新すべき項目と更新値を書けばいいんじゃない?

744 名前:デフォルトの名無しさん [2019/12/28(土) 15:01:05.86 ID:VCBq52Cm0.net]
java インターフェイスでググると
インターフェイスを実装したクラスを作って
そのクラスのインスタンスからインターフェイスのメソッドを使うやり方しか
でてこないんだけど
インターフェイスって基底クラスみたいにつかえないの?



745 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 15:18:09.71 ID:jHoXf9TZ0.net]
坂口渚沙
up.ahhhh.info/eIhmUC.jpeg

746 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 15:48:54.66 ID:Nw+g0oHm0.net]
>>731
有難うございます
もうちっと考えてみます

747 名前:デフォルトの名無しさん [2019/12/28(土) 18:20:50.79 ID:p8R0Q+BHM.net]
>>732
インターフェイスの意味がわかっていますか?

748 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 19:53:00.32 ID:KI7KpILmM.net]
>>732
基底クラスみたいに使う、って漠然としすぎだけど、
Java8からinterfaceに実装を記述できるようにはなったよ。

749 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 11:49:13.66 ID:IzML/7jR0.net]
>>608
Proguard使えよタコ

750 名前:デフォルトの名無しさん [2019/12/30(月) 19:30:26.98 ID:ZLko78Lo0.net]
Java シルバー取りたいんだけどSE8と11なら11にしておいた方がいいの?

751 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 20:31:48.82 ID:u0MtUvRs0.net]
しらんがなー

752 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 20:36:19.50 ID:yKHaMa8w0.net]
11にしようぜ
たいして難しくなってないし、知識としてあえて古い方に限定することもない

753 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 21:14:40.48 ID:3kEURnema.net]
初心者で2月に受けるけど全く黒本がわからない
なんとなくコードは打てる
理解っているの?Java

754 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 22:16:53.88 ID:Za1Wf1ynr.net]
初心者から脱する気が無いなら理解する必要は無いよ
ただ初心者のまま時間が経つとそれはもう初心者じゃなくてただの無能だからね



755 名前:デフォルトの名無しさん [2019/12/30(月) 22:17:58.31 ID:fFRqMrLq0.net]
謎のマウンティング開始

756 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 01:49:08.07 ID:tPXUyNvp0.net]
数値の比較などの判定式の結果boolean型の仕組みが理解できていません
int count =3;
int limit =2;
System.out.println(count <= limit);
結果はfalseなのですが、「3<=2」がなぜfalseなのでしょうか。
比較の左側ならfalse、右側ならtrue、などあるのでしょうか

757 名前:デフォルトの名無しさん [2019/12/31(火) 01:55:01.88 ID:wQOusfvX0.net]
>>744
君は3が2以下だと思うのかい?

758 名前:デフォルトの名無しさん [2019/12/31(火) 01:57:35.04 ID:yv9yhyfZ0.net]
>>744
<=は小なりイコールの演算子だから
左の値が右の値より小さいか、もしくは左の値と右の値が同じときtrueになる

3 <= 2は、3は2以下であるということを表してて当然false

759 名前:デフォルトの名無しさん [2019/12/31(火) 02:57:47.47 ID:II4RvmaH0.net]
>>744
まずはif文から勉強してくださいよ。

760 名前:デフォルトの名無しさん [2019/12/31(火) 02:58:58.61 ID:II4RvmaH0.net]
数学もわかっていないのかな?

761 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 03:19:08.80 ID:tPXUyNvp0.net]
>>746
適切な解答有難うございます
「左の値が右の値より小さいか、もしくは左の値と右の値が同じときtrueになる」
この文章で理解できました。

762 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 13:29:22.42 ID:9+YIWQboa.net]
言葉で書くとかえってわかりにくいよね

763 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 03:24:48.37 ID:yEYEASGU0.net]
>>746
本当に有難うございます。
性格イケメンさんの解説のお陰で適切に解答できるようになりました

764 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 03:27:37.39 ID:yEYEASGU0.net]
>>750
問題集やってると混乱してきます
私48の婆なんですが
>>746の性格イケメンさんに高3の娘を嫁に出したいわ。



765 名前:デフォルトの名無しさん [2020/01/01(水) 20:37:50.12 ID:fUaq4dOi0.net]
>>708
よかったな。めでたしめでたし。

           おわり

766 名前:デフォルトの名無しさん [2020/01/01(水) 20:38:19.57 ID:fUaq4dOi0.net]
アンカミスった

767 名前:デフォルトの名無しさん [2020/01/09(木) 00:07:25.24 ID:r2AVr9JT0.net]
JavaでGUI作ろうと思ってJavaFXの情報探そうと思ったら全然出てきません……
日本語の本でまともなのってないですか?

768 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 00:31:43.96 ID:mNT5CRRbM.net]
>>755
JavaFXはもう終わりでしょ
需要ないしろくに本も無いのでは?

769 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 00:33:05.00 ID:r2AVr9JT0.net]
ネット見た感じ取り敢えずSwingは終わりっぽいのでOpenJFX使って開発しようと思ったんですが、どちらも厳しいんですかね?

770 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 01:33:41.97 ID:TONSU376a.net]
終わるとか以前に、JavaでGUIは始まったことすらない
ガチで今も昔も誰も使ってない

771 名前:デフォルトの名無しさん (ワッチョイ 5b01-Ru/f [111.90.14.57]) mailto:age [2020/01/09(Thu) 07:57:06 ID:wvbDpdNb0.net]
昔は性能が悪くて使われず
今はクライアントアプリが斜陽

772 名前:753 mailto:sage [2020/01/09(木) 18:03:22.21 ID:r2AVr9JT0.net]
皆さん返答ありがとうございました、参考になります
JavaではGUIアプリを作るのは取り敢えず辞めにして、コンソールで適当なゲームでも作って覚えることにします

773 名前:デフォルトの名無しさん [2020/01/10(金) 12:19:03.17 ID:MA7SUINg0.net]
javaのソースコードの見方がわからない
androidアプリをとりあえず逆コンパイルして.classを抽出して中身のコードを見ることはできるようになったんだけど
沢山.classのファイルがあってどこが何がスタートになってるの?
順番ってどうなってるの?
そのアプリはa.class b.class c.classってタイトルが全部アルファベットなんだけど

774 名前:デフォルトの名無しさん mailto:sage [2020/01/10(金) 13:53:24.38 ID:kNTR9GPN0.net]
aとかbとかは君のように解析しようとする試みを防ぐため難読化されてるってこと。
エントリポイントはActivityを継承したクラス見っけて...かな?



775 名前:デフォルトの名無しさん mailto:sage [2020/01/10(金) 14:29:37.98 ID:zQO7dZXUd.net]
zxingでQRコードとJANコードが入った画像を読み取りたいんだけど
JANコードだけを読み取りたい。みたいな事ってできない?

776 名前:デフォルトの名無しさん [2020/01/10(金) 15:04:57.68 ID:+8yrOvaU0.net]
>>762
メソッド名は“main”である(すべて小文字)

どっかにmainってファイルが必ずあるはずで、これがこのアプリの入口になってて他のclassのファイルは小部屋みたいなもんなんでしょ?
mainってファイルがどこ探してもないんだけどこれどういうことなん?

777 名前:デフォルトの名無しさん mailto:sage [2020/01/10(金) 15:08:39.67 ID:9j5+BVSIr.net]
メソッドって自分で言ってんのにファイル名探すとは

778 名前:デフォルトの名無しさん mailto:sage [2020/01/10(金) 18:11:08.65 ID:D+gtbuRW0.net]
C#erに、まだフィールド使って接頭語にアンダースコア付けてるんでしょ?と言われて何か悔しいです。
ギャフンと言わせる方法はあるでしょうか?

779 名前:デフォルトの名無しさん mailto:sage [2020/01/10(金) 18:13:03.87 ID:ujZrkvpm0.net]
音楽プレーヤーをカスタマイズしたいのですが教えてください

https://imgur.com/a/jQqzGGM

今アルバムタイトルの下に情報が並んでいます
この最後に任意のFieldに書き込んだ文字を表示させることは出来ますでしょうか?

スクリプトファイルを開くと

//---> INFO
if (showGroupInfo) {

var infoX = leftPad;
var infoY = groupY + artistH + albumH;
var infoH = h;
var infoW = w - x - infoX;

var bitspersample = $("$Info(bitspersample)", metadb);
var samplerate = $("$Info(samplerate)", metadb);
var sample = ((bitspersample > 16 || samplerate > 44100) ? " " + bitspersample + "bit/" + samplerate / 1000 + "kHz" : ""); 
var codec = $("$ext(%path%)", metadb) ;

780 名前:デフォルトの名無しさん mailto:sage [2020/01/10(金) 18:13:27.27 ID:ujZrkvpm0.net]
if (codec == "cue"){
codec = $("$ext($Info(referenced_file))", metadb);
} else if (codec == "mpc") {
codec = codec + " " + $("$Info(codec_profile)", metadb).replace("quality ", "q"); 
}
else if ($("$Info(encoding)", metadb) == "lossy") {
if ($("$Info(codec_profile)", metadb) == "CBR") codec = codec + " " + $("%bitrate%", metadb) + "kbps"; 
else codec = codec + " " + $("$Info(codec_profile)", metadb); 
}
if (codec) {
codec = codec + sample;
} else {
codec = path;

781 名前:デフォルトの名無しさん mailto:sage [2020/01/10(金) 18:15:06.30 ID:ujZrkvpm0.net]
}
var iCount = itemCount[ID.groupNr];
var genre = radio ? "" : (groupedID ? "%genre% | " : "");
var discNumber = (groupedID != 2 ? "" : $("[ | Disc: %discnumber%/%totaldiscs%]", metadb));
var info = $(genre + codec + discNumber + "[ | %replaygain_album_gain%]", metadb)
+ (radio ? "" : " | " + iCount + (iCount == 1 ? " Track" : " Tracks")
+ " | Time: " + calculateGroupLength(firstItem[groupNr], lastItem[groupNr]));
var w = w - x - 10;
g.DrawString(info, infoFont, infoColor, infoX, infoY, infoW, infoH, StringFormat(0, 0, 3, 0x1000));

var infoStringH = Math.ceil(gr.MeasureString(info, infoFont, 0, 0, 0, 0).Height + 5);
var lineX1 = infoX,
lineX2 = 20 + w,
lineY = infoY + infoStringH;
(lineX2 - lineX1 > 0) && g.DrawLine(lineX1, lineY, lineX2, lineY, 1, lineColor);

}

となっていました
これはJavaでしょうか?
上記URLに任意のFieldを追加するにはどうすればよいでしょうか?

よろしくお願いいたします

782 名前:デフォルトの名無しさん mailto:sage [2020/01/10(金) 18:50:23.24 ID:915LIh+yM.net]
>>766
言語面ではJavaはあらゆる面でC#に劣るから、正攻法で戦ってはいけない
C#er相手にマウントを取るには、でもWindowsなんでしょ?wwwが一番効く
お前もWindowsでJavaを運用していたり、そのC#erが.NET CoreをLinuxで運用してたりUnity開発者だったりするなら諦めろ

783 名前:デフォルトの名無しさん [2020/01/10(金) 22:38:24.06 ID:ALcwyMXE0.net]
>>767
foobar2000のJavaScriptっぽいなー

784 名前:デフォルトの名無しさん [2020/01/10(金) 23:24:28.51 ID:u5Uqllm50.net]
>>763
EANReaderってQR反応したっけ?



785 名前:デフォルトの名無しさん (ワッチョイ b59f-pLzZ [118.109.43.71]) mailto:sage [2020/01/11(土) 02:43:04 ID:14sFduQs0.net]
>>766
・ゴメン俺Haskellに乗り換えたからJavaやってねーんだわ
・ゴメン俺マネジメントが忙しくて最近プログラミングさせてもらえねーわ
好きなほうどーぞ
Haskellは嘘だろと追及されそうならKotlinかLombokで

786 名前:デフォルトの名無しさん [2020/01/11(土) 08:57:49.30 ID:qa2D3VNz0.net]
>>765
>メソッド名は“main”である(すべて小文字)

これネットでggって書いてあったんだけど
じゃあファイル名はもう何かわからないってこと?mainメソッドの拡張子も.class?
この沢山ある**.classファイルの数々からmainを自分で見つけるしかないってこと?

787 名前:デフォルトの名無しさん [2020/01/11(土) 09:07:22.58 ID:+T4LytQN0.net]
AndroidはJVMじゃないし。

788 名前:デフォルトの名無しさん mailto:sage [2020/01/11(土) 10:10:11.51 ID:vwcaMfZA0.net]
テキスト検索すらできない実力でリバースエンジニアリングできると思ってるの?
煽りじゃないよ

789 名前:デフォルトの名無しさん [2020/01/11(土) 11:18:07.93 ID:qa2D3VNz0.net]
うん思ってる

790 名前:デフォルトの名無しさん [2020/01/11(土) 11:42:50.55 ID:qa2D3VNz0.net]
指定した全部のファイルから
メソッドだろうが修飾子だろうが全部の文字列検索してるツールとかってないの?
javaDecompiler使ってるんだけど、なぜか修飾子検索してくんないから全く使い物にならない

791 名前:デフォルトの名無しさん mailto:sage [2020/01/11(土) 11:52:19.94 ID:as9AOr230.net]
普段プログラム書くのに使ってるツールにgrep機能が付いてないの?

792 名前:デフォルトの名無しさん mailto:sage [2020/01/11(土) 13:39:02.07 ID:5ateKhzY0.net]
Androidのアプリならmainメソッド探しても仕方ないよ。
mainメソッドはアプリ側でなくてAndroidのシステム側にあるから。
(って話はすでに>>762が書いてくれてるんだけど)

というか、解析したいアプリがどんなものかわからないけど、
- Native Activityで実装されていればdexファイルではなくsoになってる
- Unityとかで開発されていれば実質的なアプリ本体はC#なりで実装されている
とか普通にあるんで、必ずしもdexをclassにしてデコンパイルすれば中身見放題ってわけじゃないです。

793 名前:デフォルトの名無しさん [2020/01/11(土) 14:48:30.35 ID:qa2D3VNz0.net]
わかりました。
どうやらそのようです。
soファイルありました。
どうもありがとうございました。

794 名前:デフォルトの名無しさん [2020/01/11(土) 14:49:56.63 ID:qa2D3VNz0.net]
詳しく教えてくれてありがとうございました。
ggったら全く同じ事が書いてありました。



795 名前:デフォルトの名無しさん mailto:sage [2020/01/11(土) 15:29:29.31 ID:MXX/X4cZ0.net]
>>764
Javaの場合、mainという名前のメソッドはテスト用にどのクラスでもそれぞれ書いても良いとされている。
Androidの場合、Activityを継承したクラスに所属している main という名前のメソッドからプログラムが開始される。
public指定されて外にexportされているクラスの名前を XXX とすると、そのクラスを書くソースファイルの名前は、XXX.javaとなる。
XXX.javaをコンパイルするとXXX.classになる。
本物のJavaは、XXX.classをまとめたものが、*.jarであるが、Androidの場合は、まず、*.classが*.dexに変換された後、さまざまなファイルとアーカイブされて*.aptになる。

796 名前:デフォルトの名無しさん mailto:sage [2020/01/11(土) 15:35:49.54 ID:MXX/X4cZ0.net]
>>783
すまん。Activityの場合は、main()ではなく、onCreate()メソッドだったかも知れん。
Androidの場合でも、dexコマンドで直接起動するようなCUIプログラムの場合は、main()でよかったと思う。
ただし、Javaの場合は外部関数がないので当たり前かもしれないが、このmainは、C/C++のような外部関数ではなく、メンバ関数。

797 名前:デフォルトの名無しさん [2020/01/11(土) 16:27:06.17 ID:MXX/X4cZ0.net]
>>783
*.aptじゃなく、*.apk。
dexも細かい関係性は忘れた。

798 名前:デフォルトの名無しさん [2020/01/11(土) 17:33:12.71 ID:lHngeS9z0.net]
ActivityじゃなくてApplicationだ。
答える方もわかってないしスレ違いだし、いい加減向こうでやれや。

799 名前:デフォルトの名無しさん [2020/01/11(土) 19:55:11.85 ID:Dn3xIqPda.net]
Javaの有償化について教えてください
PC内に入っているものは「Java SE Development kit 8」なのですが
これでアプリ作って公開したら有償ですか?
Kotlin使っても有償になるのでしょうか?

800 名前:デフォルトの名無しさん mailto:sage [2020/01/11(土) 21:34:49.76 ID:1VjCQQNwM.net]
Javaをやろうとするやつは総じてバカなのか? それともこのスレだけなのか?
最近pythonやろうとしてるやつも大概バカばっかだがここはそれ以上

801 名前:デフォルトの名無しさん mailto:sage [2020/01/11(土) 23:44:29.27 ID:Fe8pyJct0.net]
私思うんです
他のクラスに変数を受け渡すとき
例えばclass1からd=class2(a,b,c);みたいにひとつずつ変数を渡さないで
d=class2(this);にすればいいと思うんです
私思うんです

802 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 00:46:32.13 ID:7vCp3mje0.net]
>>771

はい、foobarです
これって専用なのですね?
専門のページで質問してみます
有難うございました

803 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 00:51:10.15 ID:FbSdnFnB0.net]
>>789
モジュールの結合度について学び今後意識していくとよいでしょう
密結合になると変更に弱くなります
弱くなります

804 名前:デフォルトの名無しさん [2020/01/12(日) 19:22:47.94 ID:T1GQsdFba.net]
弱くなります



805 名前:デフォルトの名無しさん [2020/01/12(日) 19:44:41.84 ID:N/CHSK/80.net]
>>788
何このバカw
どっから湧いたんだよ

806 名前:デフォルトの名無しさん (ワッチョイ db02-ErPi [119.106.128.249]) mailto:sage [2020/01/13(月) 02:41:58 ID:D6MgPK0q0.net]
初質問させていただきます、JAVA初心者です。

Javaにて簡易的なチャットの実装を試みています。
基本部分の仕様は以下の通りです。

・ソースコードはサーバ側プログラムとクライアント側プログラムの2つ
・チャット参加者数は最大5名とし、参加時には他の参加者に「***さんが加わりました」といったメッセージが表示されるようにする。
・参加者は好きなタイミングでメッセージを送信できるようにする。
・他の参加者からのメッセージはサーバが送信してきたタイミングで受信して画面上に表示するようにする。
・他の参加者が抜けた(切断した)場合には、「***さんが抜けました」といったメッセージが表示されるようにする。

現在、サーバ・クライアント間の通信確立までは実装できています。

考え方、実装例をご教授いただけると幸いです。

お手数おかけしますが、ご助力ください。

807 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 12:20:04.08 ID:Jh+AJgi90.net]
宿題をここに投げるな

808 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 17:57:40.86 ID:wJyWxns1d.net]
今、新規開発のFWは選定するとSpring1択になる?
PlayはScalaの方に行ったしStruts2は避けられてるし。
マイクロフレームワークはポコポコ出てきてるけどさ。

809 名前:デフォルトの名無しさん [2020/01/13(月) 18:13:43.46 ID:PNIqRh180.net]
>>796
SpringとSpring bootの区別はできているのか?

810 名前:デフォルトの名無しさん mailto:sage [2020/01/14(火) 04:41:29.56 ID:3sd16sWN0.net]
>>794
0から手を動かして作るRailsチャットアプリ【チュートリアル】
https://www.youtube.com/watch?v=WCsgcp5dg7M

とだこうきの動画。
通信には、WebSocket を使ってる

他には、Node.js, Electron でも作れるかも

811 名前:デフォルトの名無しさん [2020/01/14(火) 14:29:55.91 ID:m1u1XKORp.net]
なんでinterface作ってクラス名にimplつけた実装クラス作るの?最初からクラスだけじゃダメなの?

812 名前:デフォルトの名無しさん mailto:sage [2020/01/14(火) 14:45:34.94 ID:/8RfG7cVM.net]
>>799
並行作業のスケジュールの都合により、使われる方のクラスを作る前に使う方のクラスを先に作る必要がある場合のためだよ。
使われる方のinterfaceさえ定義しとけばImplがまだ無くても使う方を作れるでしょ。
現実にはこのような逆転した作業は極めて非効率で、たいてい後で不整合が起きて無駄になる。
でもジャップランドのSEはプログラマの稼働率を下げないためにそうせざるを得ないの。

813 名前:デフォルトの名無しさん mailto:age [2020/01/14(火) 18:43:28.37 ID:0xXDWcnxM.net]
ジャップアイランドは今日もハッピーです

814 名前:797 [2020/01/14(火) 19:29:37.55 ID:m1u1XKORp.net]
>>800
ありがとうございます。
並行作業のため、理解です。でも本当にそれだけなのでしょうか?interfaceが書ける時点で引数と戻り値は決まっているはずなので、最初からクラスを書いてダミーの戻り値を返すようにしておくのと変わらない気がします。



815 名前:デフォルトの名無しさん mailto:sage [2020/01/14(火) 20:09:08.05 ID:/8RfG7cVM.net]
>>802
よい質問だ。
SE様に作業完了の確認を貰って深夜残業を切り上げるには、当然、作ったものを単体テストしなきゃいけない。
でも使われる側がnull返すか何もしないだけのダミー実装じゃ普通に考えてテスト通るわけない。
どうするか?自分で都合のいい実装をでっち上げてそれを代わりに使うんだよ。
この手法は脳内彼女を相手に恋愛の練習をしているようなもので、どれだけ無駄かは容易に想像できるだろう。
態々interfaceを通さなくても脳内彼女の実装を対象クラスに直接書けばいいじゃないかと思うかもしれないが、
そうするとA君の脳内彼女とB君の脳内彼女が同一人物なのに違う実装になってしまって衝突したり、
いざ本物を実装しようとしたときに既に変なオナニー実装があって混乱するなど不都合が生じる。
ちなみに実は自動テストの都合という面もあるのだが、ドカタITではそんなものはファンタジーだから気にしなくてよい。

816 名前:デフォルトの名無しさん (ワッチョイ 9d02-Qvx6 [124.212.87.121 [上級国民]]) mailto:sage [2020/01/15(水) 21:30:47 ID:I5kvS7DO0.net]
int a=10;
a=a+1
System.out.println(a);

817 名前:デフォルトの名無しさん [2020/01/16(木) 00:49:53.70 ID:aFCqpdJ/0.net]
>>802
決まった名前のメソッドを実装させるため。

818 名前:デフォルトの名無しさん (アウアウウー Sa21-SNGL [106.132.129.104]) [2020/01/16(Thu) 21:21:25 ID:zJukF7BCa.net]
>>802
違う実装を後からセットできるじゃない。

819 名前:デフォルトの名無しさん (アウアウエー Sa13-mgaX [111.239.153.45]) mailto:sage [2020/01/16(Thu) 22:22:37 ID:rwq+tT6ga.net]
>>806
典型的な「不必要な抽象化」だね
〇〇Implなんて名前の時点で、ほぼ間違いなく実装の差し替えはテスト目的以外には行われないよ

820 名前:デフォルトの名無しさん (ワッチョイ fb01-C1bT [111.90.14.57]) [2020/01/16(Thu) 23:07:38 ID:Z0H9lpow0.net]
わかるわーw

821 名前:デフォルトの名無しさん (ドコグロ MM41-mgaX [122.130.225.133]) mailto:sage [2020/01/16(Thu) 23:23:00 ID:afqzkFYPM.net]
Goなんかは言語のコンセプトとして「実際に必要になる前の抽象化は糞」と(暗にJavaを指して)言ってるね
その通りだと思う

822 名前:デフォルトの名無しさん (ワッチョイ fb01-C1bT [111.90.14.57]) [2020/01/16(Thu) 23:39:59 ID:Z0H9lpow0.net]
Goを設計したのはUnixの開発者たちだからねー
Unixはできるだけグルーコードを薄くすることで移植しやすく堅牢で保守しやすいシステムになった
Javaもそうしたが良いのかもわからんね

823 名前:デフォルトの名無しさん (ワッチョイ e3ad-nP71 [27.139.77.105]) [2020/01/17(金) 00:36:40 ID:VVaP2eJK0.net]
Kotlin もよろしく

824 名前:デフォルトの名無しさん (ドコグロ MM03-rWIW [49.129.184.242]) mailto:sage [2020/01/17(金) 00:37:06 ID:Lhu1rqyiM.net]
ことりん



825 名前:デフォルトの名無しさん (アウアウウー Sa21-SNGL [106.132.131.54]) [2020/01/17(金) 09:07:32 ID:4YEO+2r4a.net]
>>807
そう?Swingの見た目変えるのとかで使ってない?
その他ライブラリーでOSや環境の違いを吸収する所とか。

826 名前:デフォルトの名無しさん (ドコグロ MM41-mgaX [122.130.225.133]) mailto:sage [2020/01/17(金) 10:04:29 ID:0sb73h15M.net]
>>813
君はSwingを作っているのか?
俺も元々独学だったからよくわかるんだが、独学プログラマは不特定多数向けのプロダクトしか手本がないから、
ユースケースを特定せずに一般的や抽象化を行うことを必須と思い込みがちなんだよ
現実のアプリケーションプログラミングにおいては、一般に、極力絞り込んだ必要最低限のコードを書くほうが継続的な開発が容易になる

827 名前:デフォルトの名無しさん (オッペケ Sr19-uB0D [126.34.59.159]) mailto:sage [2020/01/18(土) 00:55:57 ID:6oxaDxGzr.net]
OSや環境の違いを吸収するコンクリートクラスはOSや環境ごとの名前になるはずで、Implなんて無色透明な名前にはならないよ
それにテストだけならモックアップを動的生成させればいい
フレームワークと実装を分けたいときとか、Implが好ましい状況もあるけど、インターフェースを将来のため柔軟さのためにと増やすのはYAGNI原則とKISS原則に反する

828 名前:デフォルトの名無しさん (ワッチョイ 455f-0x+Z [106.72.163.96 [上級国民]]) [2020/01/18(土) 01:00:29 ID:vFXF5Tw00.net]
典型的なJava信者のご登場。

こだわっているところがズレまくり。

829 名前:デフォルトの名無しさん (アウアウエー Sa13-mgaX [111.239.153.45]) mailto:sage [2020/01/18(土) 01:23:04 ID:AhPxC9uwa.net]
実際、開放閉鎖原則がまともに機能してる現場なんか存在するんだろうか
経験上、むやみやたらとinterfaceが定義されててもそれらがポリモーフィズムに活用されることはほぼ無いし、
ほとんどの

830 名前:修正は既存の具象クラスに対して直接加えられる
日本のIT土方のレベルが低いとかそういう話ではなく、自社サービスでも海外のOSSでも同じだ
[]
[ここ壊れてます]

831 名前:デフォルトの名無しさん (スププ Sd03-heHR [49.96.13.73]) mailto:sage [2020/01/18(土) 12:34:09 ID:XaNWIYwld.net]
結局インターフェースごと差し替えるから意味内わかるわー

832 名前:デフォルトの名無しさん (アウアウクー MM99-0x+Z [36.11.225.57 [上級国民]]) [2020/01/18(土) 13:25:24 ID:0gCd/F0VM.net]
狂ったJava信者は仕様を満たすことよりもコードにこだわり、いつまでたっても物ができあがらない。

保守性が高いと自信満々だったのに、いざ保守になると面倒なロジックになっていて変更に時間がかかる。

最初にリリースしたものを最適化しすぎる傾向があって、使用が変わるたびにたくさんコードを修正しなくてはいけなくなる。

保守性が高いコードとは、少しダサい感じのコードなのに、この現実を受け入れられない。

833 名前:デフォルトの名無しさん [2020/01/18(土) 14:47:55.78 ID:meR2Lc880.net]
>>819
わかるわー

834 名前:デフォルトの名無しさん [2020/01/18(土) 14:48:34.90 ID:meR2Lc880.net]
みんな同じこと思ってるんだなー



835 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 15:12:21.42 ID:G/K26Ddi0.net]
最適化するな、有効なジャバ

836 名前: mailto:sage [2020/01/18(土) 16:56:09.39 ID:2kvawVDh0.net]
>>819
>保守性が高いコードとは、少しダサい感じのコード
なるほど、そうなんですか…

837 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 16:58:42.51 ID:NF270nDn0.net]
そうなんだ

838 名前:デフォルトの名無しさん [2020/01/18(土) 23:06:18.65 ID:Ov2B9gue0.net]
HttpURLConnection使ってjson文字列をGETで送信したい
bodyになにか書き込むと勝手にGET通信じゃなくて
POST通信に書き換わってしまうんだがどうすればGETのままbodyに書き込める?

839 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 23:09:15.22 ID:CUwsiqTs0.net]
そもそもHTTPの仕様上、どうやってGETでbodyが送れると?

840 名前:デフォルトの名無しさん (ドコグロ MM93-rWIW [119.241.53.113]) mailto:sage [2020/01/19(日) 01:01:44 ID:Sewbs9bsM.net]
どんだけでかいデータか知らんがurlエンコードしてクエリにセットすりゃいいんじゃね

841 名前:デフォルトの名無しさん (ワッチョイ e32c-Sfrr [219.162.234.204]) mailto:sage [2020/01/19(日) 01:13:46 ID:qcodQ+dh0.net]
URL のクエリー部分に、JSON を入れる人は、いないw

普通に、キー・値で書け!

842 名前:826 (ワッチョイ e32c-Sfrr [219.162.234.204]) mailto:sage [2020/01/19(日) 06:36:58 ID:qcodQ+dh0.net]
以下は、VSCode の拡張機能、REST Client のサンプルだけど、
たぶん、JSON は、POST しかないと思う

以下を、test.http として保存して、
URL を、localhost:8888 などに変えて、REST Client でやってみれば?

GET https://example.com/comments/1 HTTP/1.1

###

GET https://example.com/topics/1 HTTP/1.1

###

POST https://example.com/comments HTTP/1.1
content-type: application/json

{
"name": "sample",
"time": "Wed, 21 Oct 2015 18:27:50 GMT"
}

843 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 11:55:03.03 ID:Qx904AID0.net]
publicとかprevateとかつける意味あるの?
メンドウクサイんですけど

844 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 12:12:33.24 ID:iFGOF6Al0.net]
>>830
YOU、全部グローバル変数にしちゃいなYO!



845 名前:826 [2020/01/19(日) 12:43:27.77 ID:qcodQ+dh0.net]
Ruby でやってみた!
標準のWEBrick サーバーで、>>829
のJSON を、POST で受け取って、そのまま返信する

require 'webrick'
require 'json'

srv = WEBrick::HTTPServer.new( {
:BindAddress => '127.0.0.1', :Port => 8888 } )

srv.mount_proc( '/' ) do |req, res|
res[ "content-type" ] = "text/plain"

# p JSON.parse( req.body ) # JSON を、Ruby Object に変換する事もできる
res.body = req.body
end

Signal.trap( :INT ){ srv.shutdown } # Ctrl+C で終了
srv.start

846 名前:デフォルトの名無しさん (ワッチョイ a3a3-9xZB [115.176.101.180]) mailto:sage [2020/01/19(日) 19:42:05 ID:U7GTLDND0.net]
>>830
お前みたいなバカは全部privateがお似合いw

847 名前:デフォルトの名無しさん (ササクッテロル Sp41-hE/J [126.233.105.215]) [2020/01/22(水) 20:00:42 ID:Tupj1TxXp.net]
String yyyyをSQL用にDate変換するにはどうしたらいいんだ…?
調べてもyyyy/mm/ddの記事ばかり

848 名前:デフォルトの名無しさん (ドコグロ MM43-Wb6n [49.129.187.17]) mailto:sage [2020/01/22(水) 20:44:41 ID:Ad54xjX8M.net]
mmddに1月1日でも入れときゃいいんじゃね

849 名前:デフォルトの名無しさん (ワッチョイ 232c-++Vr [219.162.234.204]) mailto:sage [2020/01/22(水) 23:56:49 ID:fyGKoId60.net]
Ruby on Rails は、抽象的なtimestamps 型を使う。
それがDB のMigration で、各DB の時刻型になる!

時刻は、日付型も含んでいる。
0時0分0秒にすればよい

UTC 時刻で保存しておけば、各国のローカルタイムにも変換できる

850 名前:デフォルトの名無しさん (ワッチョイ f501-KCcj [126.168.249.123]) mailto:sage [2020/01/23(Thu) 07:06:00 ID:YEvEyesH0.net]
jdkが含まれてると有償になるみたいですがwindowsならアプリケーションの一覧に出てくるでしょうか?
java使ってるっぽいアプリがあるのですがjdkが入ってるか入ってないか調べる方法が解りません

851 名前:デフォルトの名無しさん (ワッチョイ 1b01-7vT5 [111.90.14.57]) [2020/01/23(Thu) 07:28:23 ID:cFfrxTRF0.net]
>>834
var localDate = LocalDate.of(Integer.parseInt("2019"), 1, 1);
var sqlDate = java.sql.Date.valueOf(localDate);
System.out.println(sqlDate);

852 名前:デフォルトの名無しさん (ワッチョイ 5dda-Jq7D [114.184.58.168]) mailto:sage [2020/01/23(Thu) 09:57:36 ID:gE68l7u+0.net]
>>836
ス・レ・チ

853 名前:デフォルトの名無しさん (オッペケ Sr41-2JYP [126.34.57.200]) mailto:sage [2020/01/23(Thu) 12:52:46 ID:mWAdwIcyr.net]
var localDate = Year.parse("2019").atDay(1);
と書くとちょっとだけすっきり

854 名前:デフォルトの名無しさん (ブーイモ MM6b-q+KH [163.49.201.207]) mailto:sage [2020/01/27(月) 14:02:10 ID:SzZb6gPjM.net]
月が1から始まるだけで感涙しそう



855 名前:デフォルトの名無しさん (ワッチョイ 6d5f-FkkX [106.72.150.32]) mailto:sage [2020/01/28(火) 17:07:27 ID:tlwivndu0.net]
finalって何のためにあるの?
変更できない変数なら変数にしなきゃいいじゃん
ばかみたい

856 名前:デフォルトの名無しさん (ワッチョイ a301-RXuz [221.185.225.179]) mailto:sage [2020/01/28(火) 17:14:06 ID:CmoTnj/f0.net]


857 名前:デフォルトの名無しさん (ブーイモ MM43-ig8/ [49.239.64.110]) mailto:age [2020/01/28(火) 17:56:19 ID:EaxnzHwqM.net]
>>842
必要になったときに計算で値を算出できる、かつ、計算コストが小さいならメソッドにしても良いかも知れない

858 名前:デフォルトの名無しさん (ブーイモ MM43-ig8/ [49.239.64.110]) mailto:age [2020/01/28(火) 18:00:44 ID:EaxnzHwqM.net]
変数を使用するときは、値を得るタイミングと値を使用するタイミングが異なるときであったり、計算コストが高いときであったりするから、変数を消すのはそれなりに大変

859 名前:デフォルトの名無しさん (ドコグロ MMb1-Wb6n [118.109.189.205]) mailto:sage [2020/01/28(火) 19:41:55 ID:HF/SUcrCM.net]
>>842
数値とかだったりするとぱっと見でどういった意味の値かわかりづらいやろ
同じ意味で使ってる値の変更するときも安全

860 名前:デフォルトの名無しさん (ワッチョイ 5dda-Jq7D [114.184.58.168]) mailto:sage [2020/01/28(火) 20:54:00 ID:z4RJoCBm0.net]
ファイナルアンサーの為に

861 名前:デフォルトの名無しさん (アウアウウー Sa9d-lBRq [106.132.128.243]) [2020/01/29(水) 10:02:47 ID:Ji+gdkxYa.net]
>>842
定数に使える。

同じ意味でプログラムの複数箇所でその変数を使っている場合、変更時に変数への初期化箇所を直すだけで全ての変更が終わる。
直接数値などを書いた場合はプログラムの関連する箇所の全ての修正が必要となり修正ミスや修正忘れによるバグの発生率が増える。

862 名前:デフォルトの名無しさん (オッペケ Src5-W8VJ [126.193.159.24]) mailto:sage [2020/01/29(水) 10:47:34 ID:5KUzLeA7r.net]
定数でしか使わないのは勿体ない
immutable programmingについて学ぶとfinalの価値が高いことに気付くよ
Javaだとfinal打つのが面倒で省きがちだけどね

863 名前:デフォルトの名無しさん (ブーイモ MMcb-qSW8 [163.49.201.28]) mailto:sage [2020/01/29(水) 11:16:39 ID:Fo4vX5x5M.net]
>>842
finalクラス、finalメソッド、final変数とそれぞれ役割がある

変数だけについて言うとfinalを使うのは定数を定義したい場合とイミュータブルな変数を定義したい場合

イミュータブルな変数とは初期化後は変更されない事がコンパイラ等によって保証された変数

オブジェクトが生成されてから破棄されるまで変数の値が不変である事が保証されると
意図しない変更を防止(バグ回避)できたり、同時実行制御ロジックをシンプルにできたり、IDではなく値の同値性で比較すべきオブジェクトを表現できたり、変更されない事を前提とした最適化ができたりと様々なメリットがある

Kotlinのvar, val, constのようにモダンな言語はほぼ全てミュータブルな変数、イミュータブルな変数、定数の3つを明確に使い分けられるように設計されている

864 名前:デフォルトの名無しさん (オッペケ Src5-W8VJ [126.193.159.24]) mailto:sage [2020/01/29(水) 12:10:44 ID:5KUzLeA7r.net]
素晴らしい回答だな



865 名前:デフォルトの名無しさん (アウアウウー Sa9d-lBRq [106.132.128.243]) [2020/01/29(水) 12:16:25 ID:Ji+gdkxYa.net]
そうだな。

それと、こういう初心者定番の質問と回答をまとめたwikiとか作っとくと良いのではないか?
Javaだと既にあるかな?

866 名前:デフォルトの名無しさん (ワッチョイ f15f-0Ybi [106.72.150.32]) mailto:sage [2020/02/01(土) 00:12:05 ID:qUTCHDuq0.net]
理屈はわかるが実践としてfinal使う人いるか?
いたら連れてきてくれ

867 名前:デフォルトの名無しさん [2020/02/01(土) 01:16:32.43 ID:kZmU3WGD0.net]
マルチスレッドのプログラム書くときとか
ラムダ式使ったり匿名クラス使ったりするときにfinal使うっしょ
使いまくりっすよ
まあ最近のJavaはコンパイラが自動的にfinalにしてくれたりするけど

868 名前:デフォルトの名無しさん (ワッチョイ 13ad-e4+k [27.139.41.170]) [2020/02/01(土) 02:35:49 ID:SqAgZ26K0.net]
>>853
君だってライブラリ側でfinal指定の引数の関数を使うときは使うだろう?

869 名前:デフォルトの名無しさん (オッペケ Src5-W8VJ [126.193.159.24]) mailto:sage [2020/02/01(土) 04:50:38 ID:dcKIHlgcr.net]
おれはメンバ変数ではfinalは隙あらば書きたい
引数とローカル変数では書きたくない
5+1文字打つことのコスパが全然違う

immutableクラスを作るときに凡ミス防止を助けてくれるし
ほかの開発者が後で破壊的な変更をしてしまわないようにアピールする効果も狙える

実践で使わないなんて言えるのはimmutableの便利さにまだ実感をもってないからだよ
もしJavaのStringがStringBufferだったら阿鼻叫喚だったろうし
Java8でDateとCalendarが残念な過去のものとされたのもimmutableが理由のひとつとしてJSRで挙げられてる

870 名前:デフォルトの名無しさん (ワッチョイ 53a3-2G11 [115.176.107.163]) mailto:sage [2020/02/01(土) 09:33:35 ID:9lmFlpKY0.net]
final プリミティブ=イミュータブル←わかる
final ミュータブル←それただのリードオンリーや幸子

871 名前:デフォルトの名無しさん (オッペケ Src5-W8VJ [126.193.159.24]) mailto:sage [2020/02/01(土) 09:53:46 ID:dcKIHlgcr.net]
final イミュータブルにすればいい
final ミュータブルだったとしてもコンストラクタでコピーして不用意なgetterを付けずカプセル化するなら結果的に同じ

872 名前:デフォルトの名無しさん (オッペケ Src5-W8VJ [126.193.159.24]) mailto:sage [2020/02/01(土) 10:02:53 ID:dcKIHlgcr.net]
節子、それを言うなら幸子やない。それ年末に凄い衣装で歌う人や

873 名前:デフォルトの名無しさん (ワッチョイ c1da-unxX [114.184.58.168]) mailto:sage [2020/02/01(土) 11:15:25 ID:HI9gNj8C0.net]
final answer;

874 名前: mailto:sage [2020/02/01(土) 12:15:11.92 ID:EspH/Y2K0.net]
>>859
蛍の墓なんて、上映当時は暗くて嫌だったのでトトロしか観なかったんだよね…



875 名前:デフォルトの名無しさん (ワッチョイ c1da-unxX [114.184.58.168]) mailto:sage [2020/02/01(土) 13:35:17 ID:HI9gNj8C0.net]
日本入国禁止

876 名前:デフォルトの名無しさん (ワッチョイ c101-ijU5 [114.177.250.32]) mailto:sage [2020/02/01(土) 14:40:22 ID:6DXJSl9u0.net]
幸子てw
素なのかボケなのかw

877 名前:デフォルトの名無しさん (ワッチョイ a9e6-O6vO [14.3.9.255]) mailto:sage [2020/02/01(土) 15:10:43 ID:+HWOljVE0.net]
幸せを数えたら片手にさえ余る

878 名前:デフォルトの名無しさん mailto:sage [2020/02/01(土) 15:47:27.99 ID:dcKIHlgcr.net]
final int 年齢;
public 彼女(int 年齢) {
 this.年齢 = 年齢;
}

var 俺の嫁 = new 彼女(18);

こう書くといつまでも年齢が変わらない彼女が手に入る
finalで保証されているから安心ずっとピチピチギャルじゃよ

ローカル変数の俺の嫁にfinalは書かない
再代入は自由だから新作や来期が来たら替えてもいいぞ
定数(static)ではないのでこうも書ける
var 俺のハーレム = List.of(new 彼女(25), new 彼女(12), /* 以下略 */);

※ただし彼女は2次元限定だ

879 名前:デフォルトの名無しさん (ワッチョイ d9da-Y6bJ [220.144.30.68]) mailto:sage [2020/02/01(土) 19:17:32 ID:PDlR+uaq0.net]
俺のハーレム.stream().forEach(嫁 -> 嫁.ほにゃらら(俺));

この場合、"俺" は final または effectively final でなければならない、
こういうことですね

880 名前:デフォルトの名無しさん (ワッチョイ a9e6-x8m7 [14.3.13.235]) mailto:sage [2020/02/01(土) 23:48:37 ID:OSOKpenJ0.net]
副作用を口実に何も与えられず使い捨て
そして最後はGC行き

←GC|
. ̄.|| ̄      オレ氏┗(^o^ )┓三
  ||           ┏┗   三
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

881 名前:デフォルトの名無しさん (アウアウウー Sa9d-lBRq [106.132.128.127]) [2020/02/03(月) 11:19:40 ID:EEPHYlO9a.net]
Kotlin もよろしく

882 名前:デフォルトの名無しさん (ワッチョイ cd5f-mZAX [106.72.150.32]) mailto:hage [2020/02/08(土) 15:50:35 ID:XDLxtpqZ0.net]
EditTextのGONEを使っても大丈夫ですか?

883 名前:デフォルトの名無しさん (ワッチョイ cd5f-mZAX [106.72.150.32]) mailto:hage [2020/02/08(土) 15:52:21 ID:XDLxtpqZ0.net]
まちがいました
スレ違いでした
失礼します

884 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 12:22:58.90 ID:zPkn4No/d.net]
外部apiを使うんですが
apiキーをコードに記述して直接apiを叩いてクライアントだけで完結させるか
サーバーにapiキーだけ置いてそれを取得する形にするか
サーバーがapiを使った処理をやって結果だけ返すようにするか
どれがいいですかね?



885 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 15:07:20.43 ID:FrrTL3l30.net]
イミフ

886 名前:デフォルトの名無しさん (ラクペッ MM31-Xfzx [134.180.3.180]) mailto:sage [2020/02/11(火) 15:10:00 ID:rTcYf6uaM.net]
まあ二番目以外じゃね?
java関係ないけど

887 名前:デフォルトの名無しさん [2020/02/11(火) 17:51:44.15 ID:ix+UlUL8a.net]
ゴーンは逃亡しました。

888 名前:デフォルトの名無しさん [2020/02/11(火) 17:52:59.56 ID:ix+UlUL8a.net]
あ、リロード忘れて俺の書き込みもイミフに

889 名前:デフォルトの名無しさん (ワッチョイ c71d-sg8N [118.238.238.98]) [2020/02/12(水) 01:53:03 ID:CB9IiDBv0.net]
実務経験1年で月収80万稼げるエンジニアになった理由
https://www.youtube.com/watch?v=DrbbyGsHQic
意識が低いエンジニアこそフリーランスになれ
https://www.youtube.com/watch?v=nSEaAJlgjbQ
フリーランスエンジニアの週3労働ってどんな感じ?
https://www.youtube.com/watch?v=8yjoDCdbzMc
ぼくがスキルのない社畜ならこうやって脱する
https://www.youtube.com/watch?v=aae8xxbUlMM
初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話
https://www.youtube.com/watch?v=U0OCGRVLFsM
プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説
https://www.youtube.com/watch?v=iBOeiSKBIW8
貧乏人こそ社会不適合者
https://www.youtube.com/watch?v=O3BT72BIBJI
元ド貧乏が教える】貧乏を抜け出すための2つの考え方
https://www.youtube.com/watch?v=IRrCgTy3ckc
より良いオファー貰ってるのに転職しないとか何考えてるの?
https://www.youtube.com/watch?v=i0J6uRhlj7o

890 名前:デフォルトの名無しさん (ワッチョイ 03da-OxJ8 [114.184.78.241]) mailto:sage [2020/02/12(水) 15:18:31 ID:9vv3BaQq0.net]
閑話休題

891 名前:デフォルトの名無しさん mailto:sage [2020/02/18(火) 05:20:22.57 ID:s//kq2Ho0.net]
JavaFXがswingに撮って変わった原因てなんですか?
Swingのほうが異なるos間で動く可能性は高い?

892 名前:デフォルトの名無しさん (アウアウウー Sa1b-H6bD [106.180.2.111]) mailto:sage [2020/02/18(火) 08:37:15 ID:Bhh8NQSMa.net]
JavaFXはコミュニティに移管され事実上廃止
Swingも元々ほとんど使われてない
取って代わったも原因もクソも、そもそもJavaでGUIアプリなんて今も昔もはっきり言って誰もやっていない

893 名前:デフォルトの名無しさん (ブーイモ MMfe-FtOb [163.49.201.76]) mailto:age [2020/02/18(火) 10:23:36 ID:B1+kI16CM.net]
>>879
なぜなんですかね?

894 名前:デフォルトの名無しさん (ワッチョイ 2261-sV+C [61.245.75.54]) mailto:sage [2020/02/18(火) 18:13:46 ID:sX1qjJQt0.net]
>>879
アメリカにはゲームが有ったらしい。



895 名前:デフォルトの名無しさん (オッペケ Sr3f-+TfY [126.208.150.114]) mailto:sage [2020/02/18(火) 20:53:50 ID:KdC1vrBfr.net]
EclipseやIntelliJといったJava用IDEくらいしかJava製GUIアプリ思いつかん

896 名前:デフォルトの名無しさん (ワッチョイ 22ad-ievF [27.139.41.170]) [2020/02/18(火) 23:03:56 ID:LK2OtjFi0.net]
Oracleのインストーラが裏に行っちゃっていつも困った

897 名前:デフォルトの名無しさん [2020/02/19(水) 14:10:45.35 ID:/R79ylGQa.net]
>>880
歴史的な事情

898 名前:デフォルトの名無しさん mailto:sage [2020/02/19(水) 14:14:18.61 ID:1aV3jaSpM.net]
ネイティブコンパイル出来るようになったからGUIアプリの需要結構あると思うけどね

C#のネイティブコンパイラまだ実用レベルにないし

899 名前:デフォルトの名無しさん mailto:age [2020/02/19(水) 14:37:29.31 ID:4iImSo2cM.net]
>>884
どういう歴史的事情なのですか?

900 名前:デフォルトの名無しさん mailto:age [2020/02/19(水) 14:38:16.24 ID:4iImSo2cM.net]
JavaのGUIが普及さなかったことに僕は納得できません

901 名前:デフォルトの名無しさん (アウアウウー Sa57-6k5J [106.132.129.246]) [2020/02/19(水) 18:31:45 ID:/R79ylGQa.net]
>>886
Javaが広まり始めた90年代後半のPCは遅くてメモリも少なく、JavaVM起動直後の初期化でとても時間が掛かった。もちろん何もかもが遅く当然GUIも遅かった。
またJavaプログラム以外に別途JavaVMをインストールしておかねばならず初心者にはこれが壁になり普及を大きく妨げた。

ということでPCのデスクトップアプリケーションとしてのJavaは早々に死に、サーバーサイドのプログラムとして使われる事が多くなった。GUIの進化などするわけがない。

ただしAndroidによってクライアント側のGUIが救われたとは思える。主にスマホやタブレットになるが。

902 名前:デフォルトの名無しさん mailto:sage [2020/02/19(水) 18:34:21.04 ID:7ZNyFvkM0.net]
swingがスレッドセーフじゃないと知らずに別スレッドに投げて処理してた。
TextFieldは大丈夫だった。comboboxがうまく動かなくて調べて初めて知った。

903 名前:デフォルトの名無しさん mailto:age [2020/02/19(水) 18:59:54.45 ID:4iImSo2cM.net]
>>888
納得しました

904 名前:デフォルトの名無しさん (JP 0Hdf-DPpo [153.143.139.144]) [2020/02/20(Thu) 11:02:01 ID:vFkAWpkQH.net]
動画リンク
https://youtu.be/7DbdPKWhrpY
ファイル名
令和のコペルニクス.mp4

六角アミダって有りそうで無いので自作しました。



905 名前:デフォルトの名無しさん [2020/02/20(木) 21:26:53.76 ID:F4jYa5rU0.net]
>>891
ソースコード見た
きれいなコードだった

906 名前:デフォルトの名無しさん [2020/02/21(金) 12:50:11.92 ID:TKnLlA6xa.net]
そういえば Chromebook はAndroid用のプログラムも動くらしいな。
ということは何の苦もなくそのままの状態でJavaのGUIがPCで動くということでもあるな。
日本では Chromebook 売れてないけど。

907 名前:◆JAVA/drQNg (ワッチョイ 3361-IdAT [36.3.104.76]) mailto:sage [2020/02/25(火) 02:33:13 ID:zG0qK6rK0.net]
>>879 Swing 便利だぞ

908 名前:デフォルトの名無しさん (ワッチョイ 755f-yNY2 [106.72.150.32]) mailto:sage [2020/03/15(日) 23:27:22 ID:weQDtzSh0.net]
List って使うのやめませんか?
見にくい

909 名前:デフォルトの名無しさん mailto:sage [2020/03/16(月) 00:27:35.44 ID:5NAQQQ5VM.net]
何が見にくいのやら

910 名前:デフォルトの名無しさん (アウアウエー Sa93-drwQ [111.239.60.75]) mailto:sage [2020/03/16(月) 09:57:38 ID:bP3xNskMa.net]
ArrayListのことを言っているのだとすれば
長さが可変の配列として使えるので「便利」

911 名前:デフォルトの名無しさん mailto:sage [2020/03/17(火) 03:50:44 .net]
Eclipse使ってます。

色々なライブラリを導入した時は、Javadocもインストールして開発を捗らせてます。
あるライブラリ(jar)の日本語javadocがあるかどうかってどこでどうやって判断したら良いですかね?
それとも、Pleadesに標準装備されてるJavadoc以外は基本的に日本語Javadocは期待しない方がいいですかね

912 名前:デフォルトの名無しさん mailto:sage [2020/03/17(火) 05:05:59.52 .net]
Eclipse使ってます。
昨日、pleiades-2019-12-ultimate-win-64bit-jre_20200213つまり最新版の全部込みを導入したんですが、
Javaソースコード編集中にマウスカーソルホバーでドキュメントがポップアップするやつですが、Filesクラスの説明が英語のままなんだが、何で?
ブラウザから
https://docs.oracle.com/javase/jp/13/docs/api/java.base/java/nio/file/Files.html
を見に行ったらちゃんと日本語だったんだが、Eclipse側でどういう設定にしたら良いの?

913 名前:デフォルトの名無しさん (アウアウウー Sa91-lxu7 [106.132.124.63]) [2020/03/17(火) 17:37:29 ID:4Vk7SyLRa.net]
>>895
Kotlinだと同じListが見た目綺麗に書けるよ。

914 名前:デフォルトの名無しさん (ワッチョイ d72c-cvBQ [180.18.161.79]) mailto:sage [2020/03/18(水) 00:29:29 ID:LQtyodHE0.net]
Ruby on Rails なら、アプリの設定ファイルに、
I18n.locale = :ja とか、:en とか設定する

それで、自分で日本語用の翻訳ファイルを作る。
設定/locales/ja.yml

member: 会員情報
full_name: 氏名
email: メールアドレス

こういう感じ



915 名前:デフォルトの名無しさん (ブーイモ MM83-NOfJ [202.214.125.29]) mailto:sage [2020/03/18(水) 09:49:51 ID:0YH7V5fkM.net]
>>901
早く氏ね

916 名前:デフォルトの名無しさん [2020/03/26(木) 18:37:22.31 ID:/asxdJYI0.net]
Javaで何かを作る過程を詳細に説明してる書籍ってないの?

917 名前:デフォルトの名無しさん [2020/03/30(月) 05:29:57.97 ID:vlbwcsc70.net]
クラスローダー毎にstaticフィールドが異なるという話が本当か調べようと思って
実験コードを書いてたんだけど
異なるクラスローダーで同じクラスを読み取って
this.getClass().getClassLoader()ってやったら同じインスタンスが返ってきてしまって
異なるクラスローダーで同じクラスを実行するという事ができない。
誰かそういうコード書ける?

918 名前:デフォルトの名無しさん (ワッチョイ 7fb9-B4Y8 [123.48.128.206]) [2020/03/30(月) 06:11:56 ID:vlbwcsc70.net]
できたわ
確かにクラスローダー毎に静的フィールド異なるな
このコード書いてみてクラスローダー周りが良く分かった

919 名前:デフォルトの名無しさん (ワッチョイ 1ab9-zfCe [123.48.128.206]) [2020/04/09(Thu) 17:33:07 ID:09nXStiY0.net]
人いないな
人気言語Javaでこれか

920 名前:デフォルトの名無しさん (ワッチョイ 0eda-AglQ [121.114.134.184]) mailto:sage [2020/04/09(Thu) 17:37:43 ID:OBt9P9fC0.net]
俺もいる

921 名前:デフォルトの名無しさん (ワッチョイ 1761-ZCJJ [112.136.94.92]) mailto:sage [2020/04/09(Thu) 17:38:30 ID:RTR2QVCs0.net]
>>906
内緒の話だけど、
2ch/5chは昔から5人位くらいががんばっていろんな板に書いているだけ。

922 名前:デフォルトの名無しさん (ワッチョイ 4e2c-5WFu [153.194.236.234]) mailto:sage [2020/04/09(Thu) 18:01:19 ID:pqMoXxyo0.net]
>>903
掌田津耶乃だろ。
あらゆるゲームエンジン・フレームワークの本を書いてる!
まあ、Rails が一番有名だけど

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

Node.js超入門、2017
PHPフレームワーク Laravel入門、2017
CakePHP 超入門、2018

Python Django 超入門、2018
Android/iOSクロス開発フレームワーク React Native入門、2018

Ruby on Rails 6 超入門、2020/2/21

923 名前:デフォルトの名無しさん mailto:sage [2020/04/11(土) 00:40:17.85 ID:mccf80iK0.net]
>>909
死ね屑

924 名前:デフォルトの名無しさん [2020/04/11(土) 12:22:10.65 ID:xkRXqkmOa.net]
下記図のように、複数の三角形を描きたいです。
List<Point> ls;に格納したPointはソートされていますが、数は増減したりし、
マウスの座標は動きます。
java.awt.GraphicsのfillPolygonを使って
for (int i = 0; i < ls.size(); i++) {
g.fillPolygon(new int[mx, ls.get(i).getX(), ls.get(i + 1).getX()],
new int[my, ls.get(i).getY(), ls.get(i + 1).getY()]
,3);
}
のように書けないか考えているのですが、何かいい方法はありますでしょうか?



925 名前:デフォルトの名無しさん (ワッチョイ 7af8-l/QE [115.163.210.109]) mailto:sage [2020/04/12(日) 21:06:14 ID:PRMGLprP0.net]
for (int i = 0; i < ls.size(); i++) {
g.fillPolygon(new int[]{mx, ls.get(i).getX(), ls.get(i + 1).getX()},
new int[]{my, ls.get(i).getY(), ls.get(i + 1).getY()}
,3);
}
こういうこと?
毎回newするのはイケてないので配列使いまわしたほうが良いよ

926 名前:デフォルトの名無しさん [2020/04/14(火) 16:10:32.31 ID:Y5NGNrzR0.net]
ラムダ式って匿名クラスの省略表記のことですか?

927 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 15:03:37.07 ID:pEtkgVWE0.net]
ラムダ式の式って、方程式の式?それともオギノ式の式?
便乗で、くだらない質問でスマソ

928 名前:デフォルトの名無しさん (ワッチョイ b19f-XwhR [118.109.112.224]) mailto:sage [2020/04/15(水) 15:38:20 ID:SJCxaNjJ0.net]
lambda expression
equation
Ogino method

equationはmathematical expressionの一種だから方程式の式

929 名前:デフォルトの名無しさん (ワッチョイ b19f-XwhR [118.109.112.224]) mailto:sage [2020/04/15(水) 15:44:38 ID:SJCxaNjJ0.net]
>>913
間違ってはいない
Javaでは匿名クラスの省略表記のような形でラムダ式が実現されてる
プログラミング言語一般で考えると第一級関数である方が本流で匿名クラスと等価とは限らない

930 名前:デフォルトの名無しさん (ワッチョイ 1301-a7D8 [123.216.100.169]) mailto:sage [2020/04/15(水) 15:49:51 ID:pEtkgVWE0.net]
>>915
なるほど。回答サンクス

931 名前:デフォルトの名無しさん (ワッチョイ 19b0-dkLK [114.165.4.23]) [2020/04/15(水) 17:34:16 ID:tqIYDceK0.net]
>>916
ありがとうございます
Javaで何か作ってみたいのですがJavaでゲームを作ろうみたいなやつは古い本ばかりであまり参考になりそうにないですね

932 名前:907 (ワッチョイ eb2c-8Jcx [153.194.236.234]) mailto:sage [2020/04/15(水) 19:42:23 ID:oc9v+Ado0.net]
Java でゲームプログラミングと言えば、
YouTube で有名な、T Umezawa のシリーズだろ

最近のJava は、Ruby on Rails のコピーで、
Spring Boot で、web プログラミングだろ

まあ、すべてのフレームワークの基本である、
Rails をやっていないと、web プログラミングは難しい

933 名前:デフォルトの名無しさん (ワッチョイ 095f-NJmS [106.72.163.96 [上級国民]]) [2020/04/16(Thu) 23:06:30 ID:GRiepDCa0.net]
知ったかぶり風

934 名前:デフォルトの名無しさん (ワッチョイ 095f-NJmS [106.72.163.96 [上級国民]]) [2020/04/16(Thu) 23:07:20 ID:GRiepDCa0.net]
WebアプリケーションそのものはJavaではない。



935 名前:デフォルトの名無しさん (アウアウエー Sa23-qpj1 [111.239.187.174]) [2020/04/18(土) 00:08:56 ID:/cj6qYxIa.net]
>>912
ありがとうございます。
出来ました。

1つ質問なのですが、
「毎回newするのはイケてないので配列使いまわしたほうが良いよ 」
ということはどういうことでしょうか?

936 名前:デフォルトの名無しさん [2020/04/18(土) 00:46:21.08 ID:AvZMO+wH0.net]
毎回、動的にメモリを確保する意味がわからない。

937 名前:デフォルトの名無しさん (ワッチョイ e1ad-ycCE [110.132.222.152]) mailto:sage [2020/04/18(土) 02:09:38 ID:yOAua5ec0.net]
ヴィジュアルスタジオコードで
新しいpackageを作るにはどうすればよいの?

938 名前:デフォルトの名無しさん [2020/04/18(土) 13:43:12.82 ID:VYQrLT4k0.net]
>>922
その場合ループの中にあって同じ要素数の配列のためのメモリ確保と解放の処理が繰り返されるし、尚且つ一つのメソッドの引数で使って即不要になるので無駄な感じがする。
もちろんコンパイラがうまいこと最適化して最終的なコードに無駄はなくなる可能性はあるのだが、Javaの場合はそれが保証されていない。

ということでそういう場合はループの外で配列を new してから使う方が良い。

939 名前:デフォルトの名無しさん [2020/04/19(日) 16:00:29.92 ID:8cBnO1r8M.net]
リソースと外部ファイルの違いを理解するところから。
Javaに限った話ではない。

940 名前:デフォルトの名無しさん [2020/04/19(日) 17:42:15.94 ID:3CRJEjuQ0.net]
年齢に関係なく物理メモリが無尽蔵にあると思っている人間は多いからね。

941 名前:デフォルトの名無しさん [2020/04/21(火) 20:33:38.51 ID:8bW+Kt6Ua.net]
>>925
ありがとうございます。
このような書き方でもいいのでしょうか?

public void func() {
int[] lx, ly = new int[3];
lx[0] = mx;
ly[0] = my;
for (int i = 0; i < ls.size(); i++) {
lx[1] = ls.get(i).getX();
lx[2] = ls.get(i + 1).getX();
ly[1] = ls.get(i).getY();
ly[2] = ls.get(i + 1).getY();

g.fillPolygon(lx, ly, 3);
}
}

942 名前:デフォルトの名無しさん (ワッチョイ 6bda-3ZT4 [121.114.117.145]) [2020/04/21(火) 23:24:37 ID:5ht19G0Q0.net]
初歩的な質問ですみません

スイッチ分のcaseに定数を使ったらエラーで怒られたのですが、ここに定数を使ってはいけないのでしょうか?
文字列の判断の際、定数が安全なのですが、やはりcaseには直に文字列を書くしかないですか?

943 名前:デフォルトの名無しさん (ワッチョイ 8101-AOao [126.163.132.176]) mailto:sage [2020/04/21(火) 23:35:53 ID:C52TTD3s0.net]
エラー文貼って

944 名前:デフォルトの名無しさん (オッペケ Sr27-Jj4D [126.34.1.62]) mailto:sage [2020/04/22(水) 04:01:43 ID:M5XlvSVjr.net]
>>929
普通に使えるから書き方間違ってんでしょ



945 名前:デフォルトの名無しさん mailto:sage [2020/04/22(水) 17:53:16.23 ID:TD6vt53g0.net]
FileWriterやFileReaderを用いたファイル入出力処理では、
やはりthrowsではなく、try-catch-finallyを使った例外処理をすべきですか?

946 名前:デフォルトの名無しさん (ワッチョイ b79f-zYp9 [118.109.112.224]) mailto:sage [2020/04/22(水) 18:33:32 ID:QyipDPr70.net]
どの層でcatchすべきかはデザイン次第
個人的なツール等で利用者が困らないなら別に外まで投げっぱなしでもいい
いずれにしてもtry-with-resourse文は使うべき

947 名前:930 (ワッチョイ 171d-Hty+ [202.213.61.90]) mailto:sage [2020/04/22(水) 19:14:33 ID:TD6vt53g0.net]
>>933
参考になります。
ありがとうございます。

948 名前:デフォルトの名無しさん (ワッチョイ fff8-8pil [115.163.210.109]) mailto:sage [2020/04/22(水) 23:56:55 ID:isrmfS5f0.net]
>>928
よきよき

949 名前:デフォルトの名無しさん (ワッチョイ ff01-9eV8 [111.90.14.57]) [2020/04/23(Thu) 00:02:52 ID:OS0IvuzA0.net]
早すぎる最適化の典型例

950 名前:デフォルトの名無しさん mailto:sage [2020/04/23(木) 00:54:08.15 ID:sh2IntRG0.net]
個別アプリでtry-catch構文を使うなとか嘗め腐った規約
共有部分で使いまくってるのに個別アプリで使うとだめな理由が一切わからない
規約作ってるやつが俺Sugeeeしたいのか

951 名前:デフォルトの名無しさん (ワッチョイ ff01-9eV8 [111.90.14.57]) [2020/04/23(Thu) 01:04:14 ID:OS0IvuzA0.net]
>>937
まとめてロギングしたいとかじゃないかな
catchするならリスローしてねの規約があってもよさそうだけど
わからないなら聞いたら良いと思うよ

952 名前:デフォルトの名無しさん (ワッチョイ d7da-1Gce [121.114.134.184]) mailto:sage [2020/04/23(Thu) 09:31:20 ID:MgcChLvv0.net]
同情してほしいのかw

953 名前:デフォルトの名無しさん mailto:sage [2020/04/23(木) 17:29:55.27 ID:+/WR4MAB0.net]
初心者になるべくtry-catchを使ってほしくないという気持ちは分かる
例外が握りつぶされる
原因例外が途中で捨てられエラー発生元が分からなくなる
無意味なラッピングがされていてcatchがうまく書けなくなる
同じ例外のスタックトレースが何度も何度も出力される
もううんざりだよ

954 名前:デフォルトの名無しさん (ワッチョイ d701-ho2D [114.165.191.3]) mailto:sage [2020/04/23(Thu) 23:22:54 ID:EqDE6vCO0.net]
そんなこといったって、どうすりゃいいのさコロコロ(AAry



955 名前:デフォルトの名無しさん mailto:sage [2020/04/24(金) 01:31:21.77 ID:7OUYGVe4r.net]
ヨシ!
catch(Exception e){
throw new Exception();
}

956 名前:デフォルトの名無しさん mailto:sage [2020/04/24(金) 08:49:19.15 ID:SZShfMPk0.net]
例外のたらい回しや〜

957 名前:デフォルトの名無しさん [2020/04/24(金) 12:03:25.18 ID:oe7zjHr90.net]
よくある↓のようなifで事前チェックさせる方式がなぜまずいのか考えてみよう。
if (resource.isAvailable()) {
resource.getData();
...
}

958 名前:デフォルトの名無しさん (ワッチョイ fff8-lpxC [115.163.210.109]) mailto:sage [2020/04/24(金) 14:43:08 ID:TokoipqW0.net]
いや普通にロックかければいいじゃない。その例は良くない。
それにgetDataの根本のところでも同じようなことをやってるだろう。

959 名前:デフォルトの名無しさん (ブーイモ MM07-Pmq7 [210.138.178.18]) mailto:sage [2020/04/24(金) 15:22:40 ID:+0niyonSM.net]
atomicityを問題にしてるわけじゃないだろ

そこは事前チェックする場合だろうと例外でハンドリングする場合だろうと大差ない

960 名前:デフォルトの名無しさん (ワッチョイ fff8-lpxC [115.163.210.109]) mailto:sage [2020/04/24(金) 15:42:12 ID:TokoipqW0.net]
じゃあ942は何がまずいのか分からん

961 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 05:32:13.99 ID:EmF7EpXGd.net]
初歩の初歩なんだろうけど
javaでデータを保持しておきたい場合ってどういう風にするのが一般的?
たとえば作った名簿(HashMapなんかを想定)を次に使うときまで保持しておいて、次回はそれ

962 名前:を使って続きから作業したいみたいな
テキストで保存しとくとかいくらでもやりようは思いつくんだけど、セオリーを知りたい
[]
[ここ壊れてます]

963 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 06:22:35.23 ID:4NLY0GvS0.net]
tryの後の()の中に2つ文を書くことは出来ますか?
例えば、
try(FileReader fr = new FileReader(fileName);
BufferedReader br = new BufferedReader(fr);)
と書けますか?

964 名前:デフォルトの名無しさん (ブーイモ MMbf-Pmq7 [163.49.203.164]) mailto:sage [2020/04/25(土) 11:40:04 ID:ek8I9sztM.net]
>>948
シリアライズでググれ



965 名前:デフォルトの名無しさん (ブーイモ MMbf-Pmq7 [163.49.203.164]) mailto:sage [2020/04/25(土) 11:40:45 ID:ek8I9sztM.net]
>>949
tryの後は{}

966 名前:947 (ワッチョイ 6b1d-Hty+ [180.178.91.194]) mailto:sage [2020/04/25(土) 12:09:14 ID:4NLY0GvS0.net]
>>951
{}の前です
Java7から導入された記述方式らしいのですが

967 名前:デフォルトの名無しさん (ブーイモ MMbf-Pmq7 [163.49.208.236]) mailto:sage [2020/04/25(土) 12:40:24 ID:pY24ooGqM.net]
>>952
あ〜、できるよ
それはtry-with-resourceって名前

968 名前:947 mailto:sage [2020/04/25(土) 12:52:44.81 ID:4NLY0GvS0.net]
>>953
やってみます
ありがとうございました

969 名前:947 mailto:sage [2020/04/25(土) 19:13:40.59 ID:4NLY0GvS0.net]
たびたびすいません

https://pastebin.com/dTMz4gib
上のコードがコンパイルエラーになってしまうのですが、理由が分かりません
「identifierがありません」と表示されてしまいます
どなたかよろしければ、回答をお願いします

970 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 19:56:44.28 ID:7cJ26G9d0.net]
>>955
try(FileReader fr = new FileReader("matrixA.txt");
BufferedReader br = new BufferedReader(fr)) {

971 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 20:01:48.54 ID:ft4DoFbAa.net]
try(
ではなくて
try{
では?

972 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 21:13:46.97 ID:OfMSEBEA0.net]
>>955
変数宣言はtry ()の内側に書く必要がある
Java9あたりからは外で宣言しても良くなったけど、それでもeffectively finalであることが前提だからfrへの代入はNG
そもそもメソッド冒頭に宣言を集めてしかも取りあえずnullで初期化しとけってのは悪癖だからやめた方がいい

973 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 23:24:22.99 ID:WvCOhEhy0.net]
>>955
言いたかないけど質問のレベルが低すぎる気がする。
変数のスコープも理解できてないようだし、
それコピペしてきて動けばいい感じで動かしているだけだよね。
学校の宿題なんだろうけど、もっとちゃんと勉強しようよ。
ここでサボって人に聞いたものを単純に覚えていたら
この先何も書けなくなるよ。形を覚えるんじゃなくて
意味を覚えよう。

974 名前:947 (ワッチョイ 6b1d-Hty+ [180.178.91.194]) mailto:sage [2020/04/25(土) 23:49:36 ID:4NLY0GvS0.net]
答えてくれた方ありがとうございました

>>956
やっぱりそう書かないといけないんですね…

>>957
try with resource文に関してです

>>958
>メソッド冒頭に宣言を集めてしかも取りあえずnullで初期化しとけってのは悪癖
マジですか

>>959
すいません
スコープは理解しているつもりです
例外処理をあまり書いたことがなかったので…

学校の宿題ではありません
大学は数年前に卒業しています



975 名前:デフォルトの名無しさん mailto:sage [2020/04/26(日) 10:51:45.92 ID:BocD88xX0.net]
>>960
文法規則を知らないって意味ではなくスコープとはどう活用すべきものなのかが把握できてないってことだと思うよ
たとえばクリティカルシンキングのスキルが不足している優しいイイ人は10年やっても残念なコードしか書けないことがよくある
もしプロとしてJavaを書いて金を貰っているならリーダブルコードのような良書を一冊読んでみるのをお薦めする

976 名前:デフォルトの名無しさん [2020/04/26(日) 11:59:50.88 ID:aAS4CHj70.net]
すいません初心者です助けてください…課題でいきなり詰まってます…
課題の言ってることはわかるのですが、いざ書こうとなるとうまくまとめることが出来ません…
解答例を示していただけないでしょうか…
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14223782454
長すぎてエラーになってしまったので知恵袋の投稿見ていただけると助かります…

977 名前:デフォルトの名無しさん mailto:sage [2020/04/26(日) 12:04:35.25 ID:0wpm4o+CM.net]
>>962
★★ Java の宿題ここで答えます Part 74 ★★ [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1477625280/

978 名前:デフォルトの名無しさん [2020/04/26(日) 12:05:05.54 ID:f4V9z6xn0.net]
Javaのgoldまで取得できたので実際に何か作ってみたいと思っています
Java + MySQL + Tomcatで作る掲示板とブログという本を参考に掲示板を作ってみようと思っているのですがこの本で問題ないでしょうか?
発売されたのは2005年みたいなので古すぎて参考にならないとかありますかね?

979 名前:デフォルトの名無しさん (ワッチョイ ff01-9eV8 [111.90.14.57]) [2020/04/26(日) 12:14:02 ID:47T+vKxr0.net]
>>964
作るのに資格も本も必要ないググって作れるっしょ

980 名前:デフォルトの名無しさん (ワッチョイ ff01-9eV8 [111.90.14.57]) [2020/04/26(日) 12:29:34 ID:47T+vKxr0.net]
>>962
https://paiza.io/projects/ybHyJcapWsMAVpEV6JQLUQ

981 名前:デフォルトの名無しさん [2020/04/26(日) 12:37:25.80 ID:aAS4CHj70.net]
>>966
親切にありがとうございます!!!
本当に助かります…

982 名前:デフォルトの名無しさん [2020/04/26(日) 14:02:57.82 ID:G0DkXyp/a.net]
【 課題 】 https://drive.google.com/open?id=1QaPxq5C66ZQpcCyITgS2XCQDs44zoomy
       複数あるのでgoogledriveで課題内容を共有させていただきます
【 形態 】1. Javaアプリケーション
【 GUI  】
【 期限 】4月29日
【 補足 】丸投げです…申し訳ありません…

983 名前:デフォルトの名無しさん [2020/04/26(日) 14:03:17.84 ID:G0DkXyp/a.net]
すいませんスレ間違えました…

984 名前:デフォルトの名無しさん (アウアウウー Sa17-Lf76 [106.128.184.230 [上級国民]]) [2020/04/26(日) 20:56:15 ID:2WL2jfIba.net]
エクリプスでjunit使いたいんですけど、うまくいきません…
ここ見れば使い方わかるみたいなサイトってありますか?
自分でも調べてやってみたんですけど、「テストランナーjunit4のテストが見つかりません」と出てしまい困ってます…



985 名前:デフォルトの名無しさん (ワッチョイ 572c-iUOt [153.194.236.234]) mailto:sage [2020/04/26(日) 23:02:21 ID:IvO3yqTY0.net]
>>964
2005年か

Ruby on Rails が流行ったから、
今はどの言語でも、Rails のコピーが隆盛で、

Java でも、Groovy で、Spring Boot などに変わった

986 名前:デフォルトの名無しさん (ワッチョイ ff01-9eV8 [111.90.14.57]) [2020/04/26(日) 23:27:59 ID:47T+vKxr0.net]
>>970
ビルドパスにjunitのjarとhamucrestのjarを追加して
こういうクラス書いて実行すればできるっしょ

import org.junit.Test;

public class MainTest {
@Test
public void testA() {
System.out.println("hoge");
}
}

987 名前:デフォルトの名無しさん (アウアウエー Sa5f-Op/G [111.239.186.191]) [2020/04/28(火) 22:04:38 ID:NIccQJ3va.net]
ttps://github.com/OneLoneCoder/olcPixelGameEngine/blob/maste

988 名前:r/Videos/OneLoneCoder_PGE_ShadowCasting2D.cpp
の416から425行の処理はjavaではどう書くのでしょうか?
[]
[ここ壊れてます]

989 名前:デフォルトの名無しさん (ワッチョイ fff8-8pil [115.163.210.109]) mailto:sage [2020/04/28(火) 22:41:02 ID:96XBocG+0.net]
Tuple相当のクラスに独自のhasCode()メソッドとequals()メソッドを定義してLinkedTreeSetに突っ込んだらどうかね

990 名前:デフォルトの名無しさん (ワッチョイ ff01-9eV8 [111.90.14.57]) [2020/04/28(火) 23:33:36 ID:4kUhwH6S0.net]
>>973
https://paiza.io/projects/QlHbDweVK7Jz5Dui5QzsZQ

991 名前:デフォルトの名無しさん [2020/04/29(水) 09:13:39.21 ID:GLkFkZ60a.net]
>>974, 973
ありがとうございました。
ラムダを使えばきれいに書くことが分かりよかったです。

992 名前:デフォルトの名無しさん [2020/05/06(水) 02:37:11.81 ID:UCNL2IRg0.net]
質問
マルチスレッドでコンストラクト中の状態を逸出させないということで
コンストラクタの中でインスタンスメソッドを呼ばないようにしましょうという原則がありますが
コンストラクタの中でインスタンスメソッドを呼びたいときもあると思います
そういうときみなさんはどうしていますか?

・コンストラクタの代わりにstaticのファクトリメソッドを作ってその中でnewしてインスタンスメソッドをコールする
・コンストラクタの中で呼びたいインスタンスメソッドを別のクラスに移動する
・シングルスレッドでしか使わないのでマルチスレッドの原則なんて気にしない、コンストラクタの中でインスタンスメソッドをコールする
・その他

アンケートみたいな感じですけどご回答いただければ幸いです

993 名前:デフォルトの名無しさん (ワッチョイ 82ad-48kr [27.139.77.105]) [2020/05/06(水) 06:32:23 ID:izcxg96Z0.net]
>>977
https://irof.hateblo.jp/entry/2016/01/09/231631

994 名前:デフォルトの名無しさん (ワッチョイ 8d9c-HM7w [122.249.239.156]) mailto:sage [2020/05/06(水) 07:43:10 ID:4GtcOPgo0.net]
>>977 と >>978 は書いてることが違う?
>>978 はコードに問題があれば100%バグが再現する
>>977 はマルチスレッドと言ってる
>>977 はどのような問題が起こるのかをまず説明して欲しい(知りたい)

コンストラクタな完了前にオブジェクト変数にインスタンス参照が設定される問題は私も知ってるけど
それはインスタンスメソッド呼び出しどうこうといった問題ではないし・・・



995 名前:デフォルトの名無しさん (ワッチョイ 0601-6t4H [111.90.14.57]) [2020/05/06(水) 09:33:39 ID:UCNL2IRg0.net]
>>978
ありがとうございます!
ドキュメントに書く、オーバーライドできないようにすればおkということですね

>>979
> >>977 と >>978 は書いてることが違う?
同じです、結局のところそういうことです

> コンストラクタな完了前にオブジェクト変数にインスタンス参照が設定される問題は私も知ってるけど
それです、残念ながらそれです

コンストラクタでインスタンスメソッドを呼び出しても問題ないからやる派ですね?

996 名前:デフォルトの名無しさん (ワッチョイ 519f-FhGp [118.109.112.224]) mailto:sage [2020/05/06(水) 11:58:04 ID:q8N1X/Ij0.net]
>>979,980
別の話が混ざり合ってるな
読んだ人は腑に落ちないか誤解すると思う
互いに密接で合わせ技もあるので完全に切り離すことはできないけど、一緒くたにすると影響や対処に漏れが出る

> マルチスレッドでコンストラクト中の状態を逸出させない
という表現に合うのはこれ
https://www.jpcert.or.jp/java-rules/tsm03-j.html
ただしコンストラクタとは別の初期化メソッドを提供する場合の話

コンストラクタ中から逸出させるなという規約はこれ
https://www.jpcert.or.jp/java-rules/tsm01-j.html
コンストラクタからのインスタンスメソッド呼び出し自体は問題にしてない
シングルスレッドの場合も問題がある

>>978はこれ
https://www.jpcert.or.jp/java-rules/met05-j.html
this逸出の話に比べるとかなり限定的な話

997 名前:デフォルトの名無しさん (ワッチョイ 8d9c-HM7w [122.249.239.156]) mailto:sage [2020/05/06(水) 12:22:20 ID:4GtcOPgo0.net]
これってJVMのバグではないの?
JVMがコンストラクタが完了するまでインスタンス参照を変数に代入しないようになれば解決するんじゃないの?
なぜ不完全なインスタンスへの参照が変数に設定される可能性をプログラマーが考慮し続けてないといけないの?
今後もずっと続くの?

998 名前:デフォルトの名無しさん (ワッチョイ 0601-6t4H [111.90.14.57]) [2020/05/06(水) 12:22:37 ID:UCNL2IRg0.net]
>>981
コンストラクタからインスタンスメソッドを呼びたいときどうしますか?
一般論ではなくて個人の考えを教えていただけると幸いです

999 名前:デフォルトの名無しさん (ワッチョイ 519f-FhGp [118.109.112.224]) mailto:sage [2020/05/06(水) 15:56:16 ID:q8N1X/Ij0.net]
>>983
一般論うんぬんじゃなくて論理的かどうかで判断しないとプログラムは言うことを聞かないし
こんな匿名の場で少ないサンプルを集めたところでかりそめの安心感しか得られない
俺の脳内のタカアンドトシが女子か!!と激しくツッコミいれるわ
俺は上で挙げたルールに反しないように書くよ

1000 名前:デフォルトの名無しさん (ワッチョイ 0601-6t4H [111.90.14.57]) [2020/05/06(水) 15:59:37 ID:UCNL2IRg0.net]
>>984
ふーん

1001 名前:デフォルトの名無しさん (ワッチョイ a2f8-Qa3R [115.163.210.109]) mailto:sage [2020/05/06(水) 16:30:04 ID:LXTBA+hx0.net]
いったいどうしてマルチスレッドでコンストラクタからインスタンスメソッドを呼び出しちゃいけないなんて思ったのか、先に説明してくれよ。
>>981が出処と違うんか?

1002 名前:デフォルトの名無しさん (ワッチョイ 0601-6t4H [111.90.14.57]) [2020/05/06(水) 16:44:34 ID:UCNL2IRg0.net]
>>986
それですよ
僕が説明したとしてあなたは何ができますか?

1003 名前:デフォルトの名無しさん (ワッチョイ 0601-6t4H [111.90.14.57]) [2020/05/06(水) 16:45:55 ID:UCNL2IRg0.net]
僕が勘違いしてたことを追求してどうするんです?
僕をどうするつもりなんですか!?

1004 名前:デフォルトの名無しさん (ワッチョイ 0601-6t4H [111.90.14.57]) [2020/05/06(水) 16:47:10 ID:UCNL2IRg0.net]
いまのところコンストラクタの中でインスタンスメソッドをコールするのが全員のようですね



1005 名前:デフォルトの名無しさん (ワッチョイ a2f8-Qa3R [115.163.210.109]) mailto:sage [2020/05/06(水) 19:13:14 ID:LXTBA+hx0.net]
>>988
勘違いしていることに気がついたのなら先にそう言いいなよ。
>>987
君が勘違いしていると思ってその原因を探りたかっただけなんだが。
>>989
君が勘違いしていたのだから当たり前だろう

1006 名前:デフォルトの名無しさん (ワッチョイ 0601-6t4H [111.90.14.57]) [2020/05/06(水) 19:34:01 ID:UCNL2IRg0.net]
きっしょw

1007 名前:デフォルトの名無しさん (ワッチョイ 0601-6t4H [111.90.14.57]) [2020/05/06(水) 19:34:16 ID:UCNL2IRg0.net]
あ、ごめんつい本音がw

1008 名前:デフォルトの名無しさん (ワッチョイ 8d9c-HM7w [122.249.239.156]) mailto:sage [2020/05/06(水) 20:04:06 ID:4GtcOPgo0.net]
恥ずかしい人だなー
誠実な対応ができず茶化して誤魔化すような人って技術的にも成長できず頭打ちになる人が多い印象がある

1009 名前:デフォルトの名無しさん (ワッチョイ 0601-6t4H [111.90.14.57]) [2020/05/06(水) 20:05:25 ID:UCNL2IRg0.net]
>>993
それなw

1010 名前:デフォルトの名無しさん (ワッチョイ 0601-6t4H [111.90.14.57]) [2020/05/06(水) 20:06:07 ID:UCNL2IRg0.net]
>>990
お前のことだぞ

1011 名前:デフォルトの名無しさん (ワッチョイ 0601-6t4H [111.90.14.57]) [2020/05/06(水) 20:30:24 ID:UCNL2IRg0.net]
原因を探って何をするつもりだったのでしょうか
どうして原因を探ろうと思ったのでしょうか
そこを探っても質問の回答には辿り着けません

僕の質問はみんながどう考えてるかってことでした
自分はこう考えてるという意見が欲しかったのですが・・・

1012 名前:デフォルトの名無しさん (ワッチョイ 0601-6t4H [111.90.14.57]) [2020/05/06(水) 20:31:51 ID:UCNL2IRg0.net]
遺憾です、このスレは埋めさせていただきます

1013 名前:デフォルトの名無しさん (ワッチョイ 0601-6t4H [111.90.14.57]) [2020/05/06(水) 20:32:06 ID:UCNL2IRg0.net]


1014 名前:デフォルトの名無しさん (ワッチョイ 0601-6t4H [111.90.14.57]) [2020/05/06(水) 20:32:18 ID:UCNL2IRg0.net]




1015 名前:デフォルトの名無しさん (ワッチョイ 0601-6t4H [111.90.14.57]) [2020/05/06(水) 20:32:26 ID:UCNL2IRg0.net]


1016 名前:デフォルトの名無しさん (ワッチョイ 0601-6t4H [111.90.14.57]) [2020/05/06(水) 20:32:34 ID:UCNL2IRg0.net]


1017 名前:デフォルトの名無しさん (ワッチョイ 0601-6t4H [111.90.14.57]) [2020/05/06(水) 20:32:42 ID:UCNL2IRg0.net]


1018 名前:1001 [Over 1000 Thread .net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 534日 8時間 55分 36秒

1019 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<270KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef