Java初心者のためのスレッドです。
※前スレ
Java入門・初心者質問スレ Part.4
http://mevius.2ch.net/test/read.cgi/tech/1498828456/
探検
Java入門・初心者質問スレ Part.5©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/09/29(金) 17:53:25.24ID:XnizQSCA
315デフォルトの名無しさん
2017/10/25(水) 18:38:25.23ID:0GYD+24d316デフォルトの名無しさん
2017/10/25(水) 18:44:11.98ID:MjxzUPyN C#と座間林が話題になってたからそっちのほうがいいのかも
317デフォルトの名無しさん
2017/10/25(水) 18:54:09.43ID:ZmgYAolO >>314
>何を何からやれば良いでしょうか
>お勧めの本やサイト等もご教授ねがいます
全部おんぶに抱っことかアフィかッ!
やんわりマジレスすると最初の最初はJavaでないほうがいいよ
これはたとえ小難しくても業務でカッチリ書けるという面が重宝された言語だから、個人がいきなり趣味でやるとしんどい
ひょっとしたらアンドロイドアプリが頭にあるかもしれないけど、もしゲームならUnityがいいよ
>何を何からやれば良いでしょうか
>お勧めの本やサイト等もご教授ねがいます
全部おんぶに抱っことかアフィかッ!
やんわりマジレスすると最初の最初はJavaでないほうがいいよ
これはたとえ小難しくても業務でカッチリ書けるという面が重宝された言語だから、個人がいきなり趣味でやるとしんどい
ひょっとしたらアンドロイドアプリが頭にあるかもしれないけど、もしゲームならUnityがいいよ
318デフォルトの名無しさん
2017/10/25(水) 19:02:06.72ID:ZmgYAolO 環境見てなかったwwww
もしリッチなマシンがLinuxマシンしかなく、それでもGUIアプリを世に出したいのだとしたらJava...しかないかなあ
アンドロイドアプリをLinuxで作りたいなら実質Java/Kotlinしかないよ
ただ、あなたの中では知名度ないかもしれないけど Python をやるという手もあるよ
よかったら検討してくれ
もしリッチなマシンがLinuxマシンしかなく、それでもGUIアプリを世に出したいのだとしたらJava...しかないかなあ
アンドロイドアプリをLinuxで作りたいなら実質Java/Kotlinしかないよ
ただ、あなたの中では知名度ないかもしれないけど Python をやるという手もあるよ
よかったら検討してくれ
319デフォルトの名無しさん
2017/10/25(水) 19:08:59.03ID:9pgp/kzo ありがとうございます
webアプリ作成、Androidアプリ作成、機械学習をやってみたいと考えております
調べていてpythonというのも候補には挙がったんですが
javaをやると基礎がしっかりつくと聞いてjavaにしてみようかなと思いました
学生で新しいパソコンを買う余裕がなく、お下がりのにlinuxを入れて使っています
webアプリ作成、Androidアプリ作成、機械学習をやってみたいと考えております
調べていてpythonというのも候補には挙がったんですが
javaをやると基礎がしっかりつくと聞いてjavaにしてみようかなと思いました
学生で新しいパソコンを買う余裕がなく、お下がりのにlinuxを入れて使っています
320デフォルトの名無しさん
2017/10/25(水) 19:37:30.37ID:9pgp/kzo すいませんちょっと嘘つきました
お金がないよりも、勉強の邪魔になるからって買わせて貰えない
の方が正しかったです
お金がないよりも、勉強の邪魔になるからって買わせて貰えない
の方が正しかったです
321デフォルトの名無しさん
2017/10/25(水) 19:47:59.66ID:ZmgYAolO 学生さんならJavaなんてやるのは勿体ないよ
あとLinuxでのアンドロイドアプリ作成はメモリ4GB必要だから気をつけてね
あとLinuxでのアンドロイドアプリ作成はメモリ4GB必要だから気をつけてね
322307
2017/10/25(水) 20:18:00.51ID:ZfgKJLFw 何件かレスを頂き、ありがとうございます。
仕事でJavaを使う際、catch文の中にclose処理を入れるのは有りなんでしょうか?
引き続きで恐縮ですが、皆様の見解をよろしくお願いします。
仕事でJavaを使う際、catch文の中にclose処理を入れるのは有りなんでしょうか?
引き続きで恐縮ですが、皆様の見解をよろしくお願いします。
323デフォルトの名無しさん
2017/10/25(水) 20:28:08.31ID:lZypkF1g >>322
規約と契約による
あなたの会社がしても良いといえばどっかのJavaのエラい人がなんと言おうとあなたの会社では正しいし
Javaのエラい人が顔をしかめネットで炎上し掲示板で荒らし扱いされる手法であっても上司がそのようにしてくれと言えばあなたはその書き方をすべきである
規約と契約による
あなたの会社がしても良いといえばどっかのJavaのエラい人がなんと言おうとあなたの会社では正しいし
Javaのエラい人が顔をしかめネットで炎上し掲示板で荒らし扱いされる手法であっても上司がそのようにしてくれと言えばあなたはその書き方をすべきである
324デフォルトの名無しさん
2017/10/25(水) 20:30:59.72ID:zzC6q5u4325デフォルトの名無しさん
2017/10/25(水) 20:36:12.40ID:zzC6q5u4 あ、ごめん。リロード忘れてた。なんでLinuxか書いてあったな。
まあでもLinux入れてまで使おうとするやつはもはや初心者ではないと思うが。
まあでもLinux入れてまで使おうとするやつはもはや初心者ではないと思うが。
326デフォルトの名無しさん
2017/10/25(水) 20:40:19.16ID:lZypkF1g >>324
まーなんだ、「小難しい」のは間違いないな
1行実行するために10行書くような言語だ
IDEがあるとはいえ学生さんにはもっと前のめりな言語で遊んでほしいところ
あと君が何歳かは知らないけど今のデスクトップ用Linuxのインストールと使用はスマホの設定変更くらいの難易度だぞ
まーなんだ、「小難しい」のは間違いないな
1行実行するために10行書くような言語だ
IDEがあるとはいえ学生さんにはもっと前のめりな言語で遊んでほしいところ
あと君が何歳かは知らないけど今のデスクトップ用Linuxのインストールと使用はスマホの設定変更くらいの難易度だぞ
327デフォルトの名無しさん
2017/10/25(水) 20:56:31.41ID:zzC6q5u4 >>326
いや、今時のLinuxはインストール始めれば後はだいたいマウスポチポチ押してればなんとかなる事は知ってる。
しかしPC初心者は普通はLinuxの存在すら知らない。あるいはWindowsの上で動くソフトだと誤解していたりする。
そういう誤解がないということはそれなりにわかっていると考えて良かろう。
いや、今時のLinuxはインストール始めれば後はだいたいマウスポチポチ押してればなんとかなる事は知ってる。
しかしPC初心者は普通はLinuxの存在すら知らない。あるいはWindowsの上で動くソフトだと誤解していたりする。
そういう誤解がないということはそれなりにわかっていると考えて良かろう。
328デフォルトの名無しさん
2017/10/25(水) 21:17:12.51ID:QmdhvvJR >>327
いまはWSLあるしなー
いまはWSLあるしなー
329デフォルトの名無しさん
2017/10/25(水) 21:45:19.10ID:/TUaBfz7 314です
泥アプリの作成にもRAM4GB必要だそうなので何とかしてもうちょっと新しいPC手に入れて出直してきます
ありがとうございました
泥アプリの作成にもRAM4GB必要だそうなので何とかしてもうちょっと新しいPC手に入れて出直してきます
ありがとうございました
330デフォルトの名無しさん
2017/10/25(水) 22:42:58.25ID:RILf1WwA 泥アプリ開発ならvsでxamarinとかブラウザでmonacaみたいな選択肢もあるし
一旦言語選択から考え直してみたら
一旦言語選択から考え直してみたら
331スッキリ厨
2017/10/25(水) 23:26:15.55ID:M2TcZ1xf >>314-321
まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014
その後、この2冊をこの順に読む
たのしいRuby 第5版、2016
みんなのPython 第4版、2017
ここまでが基礎で、実際にアプリを作れるようになるには、数年掛かる。
アルゴリズム・OS・環境構築運用で、少なくとも数年は掛かる
まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014
その後、この2冊をこの順に読む
たのしいRuby 第5版、2016
みんなのPython 第4版、2017
ここまでが基礎で、実際にアプリを作れるようになるには、数年掛かる。
アルゴリズム・OS・環境構築運用で、少なくとも数年は掛かる
332デフォルトの名無しさん
2017/10/26(木) 00:28:50.10ID:qkSUMYmO クラス名からインスタンスを生成して、
そのインスタンスが保持するフィールドにダミーの値をセットする機能を作りたいのですが、
privateなメンバ変数にも値をセットすることはリフレクションで出来ますか?
class Entity{
@getter @setter
private Long age;
}
があったときnew Entity()のインスタンスとその中のageに何か数値が入っている状態にしたいです
そのインスタンスが保持するフィールドにダミーの値をセットする機能を作りたいのですが、
privateなメンバ変数にも値をセットすることはリフレクションで出来ますか?
class Entity{
@getter @setter
private Long age;
}
があったときnew Entity()のインスタンスとその中のageに何か数値が入っている状態にしたいです
333デフォルトの名無しさん
2017/10/26(木) 00:42:22.95ID:qkSUMYmO 自己解決した ありがとう
334デフォルトの名無しさん
2017/10/26(木) 01:29:13.40ID:N/UTfD1S335デフォルトの名無しさん
2017/10/26(木) 09:58:09.89ID:/KWiwsxI >>333
どうやって解決したかを書け
どうやって解決したかを書け
337デフォルトの名無しさん
2017/10/29(日) 00:13:25.42ID:jaLMlrXm H2 Databaseに接続するプログラムをコンパイルし実行したいのですが、
クラスパスを何て書けばいいか調べても分かりません。
どなたか教えて頂けませんでしょうか?
クラスパスを何て書けばいいか調べても分かりません。
どなたか教えて頂けませんでしょうか?
338デフォルトの名無しさん
2017/10/29(日) 11:34:08.81ID:oFRxn/Jf >>337
ここにいきなりこう書いてあるが?
http://www.h2database.com/html/quickstart.html
Add the h2*.jar to the classpath (H2 does not have any dependencies)
ここにいきなりこう書いてあるが?
http://www.h2database.com/html/quickstart.html
Add the h2*.jar to the classpath (H2 does not have any dependencies)
339337
2017/10/29(日) 12:46:42.34ID:jaLMlrXm >>338
レスありがとうございます。
具体的には、javac -cp h2*.jar Main.java (Main.javaはクラス名)と入力し、
java -cp h2*.jar Main と入力すればいいんですか?
レスありがとうございます。
具体的には、javac -cp h2*.jar Main.java (Main.javaはクラス名)と入力し、
java -cp h2*.jar Main と入力すればいいんですか?
340デフォルトの名無しさん
2017/10/29(日) 13:08:40.31ID:cRJ4aa/x 今時クラスパスを手動で解決するとは
mavenとかgradle使え
mavenとかgradle使え
341デフォルトの名無しさん
2017/10/29(日) 13:18:28.37ID:oFRxn/Jf342337
2017/10/29(日) 15:33:37.93ID:jaLMlrXm コンパイルは通るのですが、実行できませんでした…。
ClassNotFoundExceptionとSQLExceptionが発生してしまいます。
どなたかヒントを下さい。
ソースコードは以下です。
https://ideone.com/4xrmgz
ClassNotFoundExceptionとSQLExceptionが発生してしまいます。
どなたかヒントを下さい。
ソースコードは以下です。
https://ideone.com/4xrmgz
344デフォルトの名無しさん
2017/10/29(日) 15:57:54.47ID:0Uo9CHxR345デフォルトの名無しさん
2017/10/29(日) 16:23:24.35ID:oFRxn/Jf >>342
コンパイル時と同じ classpath にしてもダメなの?
コンパイル時と同じ classpath にしてもダメなの?
346337
2017/10/29(日) 16:26:53.49ID:jaLMlrXm >>344
はい。それは分かります。javacと同じクラスパスをjava実行時にも付けています。
実は根本的に、h2*.jarファイルがどこにあるのかよく分かってない気もするんですが、
H2 DatabaseのホームページからDL出来るh2-setup-2017-06-10.exeファイルの
中にあるんですよね?
はい。それは分かります。javacと同じクラスパスをjava実行時にも付けています。
実は根本的に、h2*.jarファイルがどこにあるのかよく分かってない気もするんですが、
H2 DatabaseのホームページからDL出来るh2-setup-2017-06-10.exeファイルの
中にあるんですよね?
347337
2017/10/29(日) 16:32:10.42ID:jaLMlrXm348デフォルトの名無しさん
2017/10/29(日) 17:11:13.08ID:0Uo9CHxR >>346
知らないけど
それは自己解凍ファイルなのかな
検索して実際のjarファイルを探してみればいい
コンパイル時はインタフェースさえわかればいいから
その実装のclassには通ってない可能性がある
ちゃんと何してるかから理解した方がいいと思うぞ
知らないけど
それは自己解凍ファイルなのかな
検索して実際のjarファイルを探してみればいい
コンパイル時はインタフェースさえわかればいいから
その実装のclassには通ってない可能性がある
ちゃんと何してるかから理解した方がいいと思うぞ
349337
2017/10/29(日) 20:16:42.57ID:jaLMlrXm >>348
あれからいろいろ調べて、Cドライブを検索した結果、h2*.jarファイルが
見つかりました!やはり.exeファイル内には無かったようです。
クラスパスを更新したら実行(javaコマンド)も無事成功しました。
回答して頂いた方々、ありがとうございました。
あれからいろいろ調べて、Cドライブを検索した結果、h2*.jarファイルが
見つかりました!やはり.exeファイル内には無かったようです。
クラスパスを更新したら実行(javaコマンド)も無事成功しました。
回答して頂いた方々、ありがとうございました。
350デフォルトの名無しさん
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に負の数を持たせたくない場合このようにするのが自然かなと考えたのですがいかがでしょうか?
class hoge {
private final int i;
hoge(int i) {
if(i >= 0)
this.i = i;
else
throw new IllegalArgumentException
}
}
フィールドiに負の数を持たせたくない場合このようにするのが自然かなと考えたのですがいかがでしょうか?
351デフォルトの名無しさん
2017/10/29(日) 23:14:29.92ID:ILWFk/IO352デフォルトの名無しさん
2017/10/30(月) 00:07:29.30ID:RKfFK5VC353デフォルトの名無しさん
2017/10/30(月) 00:34:24.41ID:EdHEI0+x 空のオブジェクト作って後でsetter使って入れるのも微妙だしコンストラクタで値チェックとかしていいと思うぞ
俺ならPattern.compileメソッドみたいに自分自身を返すstaticメソッドで価チェックする
俺ならPattern.compileメソッドみたいに自分自身を返すstaticメソッドで価チェックする
354デフォルトの名無しさん
2017/10/30(月) 00:44:57.12ID:sRaOGV/D >>350
有り得ない状態で存在できるより良い
有り得ない状態で存在できるより良い
355デフォルトの名無しさん
2017/10/30(月) 00:45:02.55ID:eddodMAs356デフォルトの名無しさん
2017/10/30(月) 01:04:31.28ID:JH+/yPWP357デフォルトの名無しさん
2017/10/30(月) 01:12:17.89ID:RKfFK5VC Hibernate Validatorみたいなバリデーションフレームワークは一般的に作ってから確認する方式
そもそも作らせないようにするのは”always valid”と呼ばれてる
“always valid model”とかで検索すれば参考になるサイトが出てくる
長所短所を理解して使い分ける
そもそも作らせないようにするのは”always valid”と呼ばれてる
“always valid model”とかで検索すれば参考になるサイトが出てくる
長所短所を理解して使い分ける
358デフォルトの名無しさん
2017/10/30(月) 01:16:09.26ID:ImI1HNcW 俺だったらPositiveNumberみたいなジェネリッククラスを作るか、@positiveみたいなアノテーション作る
359デフォルトの名無しさん
2017/10/30(月) 01:51:11.96ID:eddodMAs360デフォルトの名無しさん
2017/10/30(月) 02:19:42.12ID:sRaOGV/D コンストラクタとセッタに同じことを示す文が複製されるのもちょっと良くないな
361デフォルトの名無しさん
2017/10/30(月) 03:04:30.08ID:nQXUW6Dj >>351
クソ?しかし API にも new した時に例外出すやつ沢山あるわけだが、そういうのは全部クソ?
クソ?しかし API にも new した時に例外出すやつ沢山あるわけだが、そういうのは全部クソ?
362デフォルトの名無しさん
2017/10/30(月) 07:16:59.94ID:fX/oTiYO363デフォルトの名無しさん
2017/10/30(月) 07:22:42.37ID:b9ZBDRTb >>355
オブジェクト作る前にValidatorクラスでチェックするだけ
オブジェクト作る前にValidatorクラスでチェックするだけ
364デフォルトの名無しさん
2017/10/30(月) 07:24:54.59ID:b9ZBDRTb365デフォルトの名無しさん
2017/10/30(月) 08:14:47.50ID:JH+/yPWP インスタンス変数(やクラス変数)は
そのオブジェクトに付属するデータだから
コンストラクタなどでデータチェックの責務を
オブジェクト自身に持たせるのはおかしくない
ただしチェックが複雑化したときに
責務を委譲するのもアリ
そのオブジェクトに付属するデータだから
コンストラクタなどでデータチェックの責務を
オブジェクト自身に持たせるのはおかしくない
ただしチェックが複雑化したときに
責務を委譲するのもアリ
366デフォルトの名無しさん
2017/10/30(月) 08:43:10.77ID:5RpC60IR >>365
そのただしが問題
検証はシステムの関心ごとだから
集約するべきでオブジェクト毎に持つものじゃない
コンストラクタはオブジェクトを初期化するという
特別な処理であってここでデータチェックが必要になるのは
責務の分離ができてないシグナルみたいなもの
staticメソッドでtryCreateという名前なら100歩譲ってオーケーだ
そのただしが問題
検証はシステムの関心ごとだから
集約するべきでオブジェクト毎に持つものじゃない
コンストラクタはオブジェクトを初期化するという
特別な処理であってここでデータチェックが必要になるのは
責務の分離ができてないシグナルみたいなもの
staticメソッドでtryCreateという名前なら100歩譲ってオーケーだ
367デフォルトの名無しさん
2017/10/30(月) 08:54:32.49ID:5RpC60IR 負の値を持たせたくないのは業務の要件なんですよ!!
368デフォルトの名無しさん
2017/10/30(月) 08:55:34.55ID:JH+/yPWP >>366
>検証はシステムの関心ごとだから
>集約するべきでオブジェクト毎に持つものじゃない
責務を分離するのは重要だがそのオブジェクトの
規模が大きくなって複雑化するにつれて分けていくもの
たとえば生成の責務をファクトリに分離してもいいが
何でもかんでも全部ファクトリにする必要はない
だからコンストラクタでチェックしてもいいし
バリデータみたいのに分離してもいい
>検証はシステムの関心ごとだから
>集約するべきでオブジェクト毎に持つものじゃない
責務を分離するのは重要だがそのオブジェクトの
規模が大きくなって複雑化するにつれて分けていくもの
たとえば生成の責務をファクトリに分離してもいいが
何でもかんでも全部ファクトリにする必要はない
だからコンストラクタでチェックしてもいいし
バリデータみたいのに分離してもいい
369デフォルトの名無しさん
2017/10/30(月) 08:56:23.29ID:5RpC60IR 思わず激昂してしまいましたがとにかく小生が言いたいのはコンストラクタで例外投げるのおかしいですよということなんです
370デフォルトの名無しさん
2017/10/30(月) 09:00:29.54ID:5RpC60IR >>368
どっちでもいいなんていうそんな優柔不断で玉虫色な考えに真実があるわけない、あなたは思考を放棄しているに等しい、ここにはこういう値しか保持したくないんです、立派な業務要件でしょうが!!
じゃあその要件をまとめましょうよ、システムの関心ごととして切り出しましょうよ
どっちでもいいなんていうそんな優柔不断で玉虫色な考えに真実があるわけない、あなたは思考を放棄しているに等しい、ここにはこういう値しか保持したくないんです、立派な業務要件でしょうが!!
じゃあその要件をまとめましょうよ、システムの関心ごととして切り出しましょうよ
371デフォルトの名無しさん
2017/10/30(月) 09:01:41.86ID:4hMzyEUs >>367
業務要件で例外処理を考えてるってなかなかおもしろいね
業務要件で例外処理を考えてるってなかなかおもしろいね
372デフォルトの名無しさん
2017/10/30(月) 09:04:21.57ID:5RpC60IR >>371
どういうこと?
どういうこと?
373デフォルトの名無しさん
2017/10/30(月) 09:06:06.45ID:5RpC60IR もっと具体的にちゃんと説明して
小生良い事言ってるからそれちゃんと説明して
小生良い事言ってるからそれちゃんと説明して
374デフォルトの名無しさん
2017/10/30(月) 09:12:06.74ID:JH+/yPWP >>370
いやそれは極端でしょ
OOPの要素はどれも使い分けじゃないの?
複雑化したら切り出すが抽象化にはキリがないので
IF文を全部ポリモーフィズムにするわけでもないし
最初から全部デザパタにするわけでもない
いやそれは極端でしょ
OOPの要素はどれも使い分けじゃないの?
複雑化したら切り出すが抽象化にはキリがないので
IF文を全部ポリモーフィズムにするわけでもないし
最初から全部デザパタにするわけでもない
375デフォルトの名無しさん
2017/10/30(月) 09:17:39.73ID:5RpC60IR376デフォルトの名無しさん
2017/10/30(月) 09:21:09.70ID:JH+/yPWP377デフォルトの名無しさん
2017/10/30(月) 09:22:44.13ID:5RpC60IR コンストラクタでチェックして例外投げるのは
ようわからんけどオブジェクト作ってみるわー
でけへんかったわーゲヘヘーと言ってるようなもの
文明人のやることじゃない
アサートを使うべき
アサートは本番では動かさないからね
検証は専用のオブジェクトでやりましょう
ようわからんけどオブジェクト作ってみるわー
でけへんかったわーゲヘヘーと言ってるようなもの
文明人のやることじゃない
アサートを使うべき
アサートは本番では動かさないからね
検証は専用のオブジェクトでやりましょう
378デフォルトの名無しさん
2017/10/30(月) 09:25:45.46ID:5RpC60IR379デフォルトの名無しさん
2017/10/30(月) 09:46:48.33ID:JH+/yPWP アサートでもいいが例外投げてもいい
つーかコンストラクタで例外投げるのが大問題なら
Javaの言語仕様でできないようにするだろ……
普通に考えて2ちゃんの一個人より
Java(API)のやり方の方がいいわ
つーかコンストラクタで例外投げるのが大問題なら
Javaの言語仕様でできないようにするだろ……
普通に考えて2ちゃんの一個人より
Java(API)のやり方の方がいいわ
380デフォルトの名無しさん
2017/10/30(月) 10:01:28.68ID:5RpC60IR >>379
ファイナライザでは例外投げないようにしましょう
というのがベストプラクティスだけど言語仕様ではできるでしょうに
言語仕様ってその程度のものですよ
コンストラクタでも例外投げるのやめましょうよ
2chネラーだから信用しないっていうのは権威主義的というか誰が言ってるかより中身で判断していただきたい、小生絶対良い事言ってるから!!
ファイナライザでは例外投げないようにしましょう
というのがベストプラクティスだけど言語仕様ではできるでしょうに
言語仕様ってその程度のものですよ
コンストラクタでも例外投げるのやめましょうよ
2chネラーだから信用しないっていうのは権威主義的というか誰が言ってるかより中身で判断していただきたい、小生絶対良い事言ってるから!!
381デフォルトの名無しさん
2017/10/30(月) 10:21:49.81ID:0VAyPn/2 どっちがキチガイかは一目瞭然だな
ありがとう
ありがとう
382デフォルトの名無しさん
2017/10/30(月) 10:37:40.45ID:5RpC60IR それでええんか?
議論って考えを広げるためにあるんやで
キチガイとレッテルを張っておしまいでほんとにええんか?
小生が可哀想だと思わない?罪悪感を感じない?お前のお母さんもお前には優しい人に育ってほしいと思ってたのじゃないか?
議論って考えを広げるためにあるんやで
キチガイとレッテルを張っておしまいでほんとにええんか?
小生が可哀想だと思わない?罪悪感を感じない?お前のお母さんもお前には優しい人に育ってほしいと思ってたのじゃないか?
383デフォルトの名無しさん
2017/10/30(月) 10:38:44.40ID:5RpC60IR ありがとうの後にはございますを付けろ、それが礼儀だ
384デフォルトの名無しさん
2017/10/30(月) 10:39:13.84ID:5RpC60IR 礼儀正しく優しい人になって欲しい
385デフォルトの名無しさん
2017/10/30(月) 10:46:46.93ID:5RpC60IR コンストラクタでデータチェックしない人になって欲しい
386デフォルトの名無しさん
2017/10/30(月) 12:29:49.28ID:ich1HAGc >>377
何が悪いか分からん。
オブジェクトの生成失敗も業務メソッドの実行失敗も、中断すべき状況になったら例外飛ばして何が悪いのか。
コンストラクタで例外飛ばすなって話はC++ならメモリの回収がややこしくなるんで一利あるけど、JavaやC#なら問題ない。
何が悪いか分からん。
オブジェクトの生成失敗も業務メソッドの実行失敗も、中断すべき状況になったら例外飛ばして何が悪いのか。
コンストラクタで例外飛ばすなって話はC++ならメモリの回収がややこしくなるんで一利あるけど、JavaやC#なら問題ない。
387デフォルトの名無しさん
2017/10/30(月) 12:30:44.96ID:FeUZMDfY >>364
オブジェクトの責務とは?
オブジェクトの責務とは?
388デフォルトの名無しさん
2017/10/30(月) 12:38:10.73ID:OufZdVP7 遡及IDは嘘つかないな
ソノトキ何をしたかよりもソノアト何をしたかが一目瞭然である
便利でよろしい
ソノトキ何をしたかよりもソノアト何をしたかが一目瞭然である
便利でよろしい
389デフォルトの名無しさん
2017/10/30(月) 12:38:19.13ID:FeUZMDfY >>367
なんというか、それそのものは Java 自体の問題のようにも思えるね。
つまり、unsigned が型として用意されてないからとか、PASCALみたいに数値の範囲を指定した新たな型を作れないからとかね。
まあそういう数値型のクラスを自作してしまえば良いだけかも知れないが。
なんというか、それそのものは Java 自体の問題のようにも思えるね。
つまり、unsigned が型として用意されてないからとか、PASCALみたいに数値の範囲を指定した新たな型を作れないからとかね。
まあそういう数値型のクラスを自作してしまえば良いだけかも知れないが。
390デフォルトの名無しさん
2017/10/30(月) 12:47:31.30ID:FeUZMDfY >>385
そんなにそれを求めるなら最初からそれができない新言語作れば?
大丈夫。君にも作れるよ。実装までできなくても言語仕様考えてネットで晒してフォーラム作って議論してまとめ直してから作ってくれる人募集すればその内なんとかなるだろう。全てを君が作る必要はない。
そんなにそれを求めるなら最初からそれができない新言語作れば?
大丈夫。君にも作れるよ。実装までできなくても言語仕様考えてネットで晒してフォーラム作って議論してまとめ直してから作ってくれる人募集すればその内なんとかなるだろう。全てを君が作る必要はない。
391デフォルトの名無しさん
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 = "もう冬だね";
}
これを挿入しても反応してくれません。
何がいけないのでしょうか教えてください。
あと質問場所が適切でなければどこで聞けばいいか教えてください
お願いします。
http://www.pre-practice.net/2017/10/line-bot_22.html?spref=tw
ここを参考にLINEBOTを作っていて、
文章中の特定の文字列に反応して返答するようにしたのですが、
else if (strpos(input_text, "寒い") !== false ) {
reply_text = "もう冬だね";
}
これを挿入しても反応してくれません。
何がいけないのでしょうか教えてください。
あと質問場所が適切でなければどこで聞けばいいか教えてください
お願いします。
392デフォルトの名無しさん
2017/10/30(月) 13:41:37.04ID:3rz3HBcW たまに生成されたクラスファイルが分割されることがあるんですがどういう条件で起きるんですかね?
ファイル容量の問題かと思いきや大きいものでも分割されてなかったり…
ファイル容量の問題かと思いきや大きいものでも分割されてなかったり…
393デフォルトの名無しさん
2017/10/30(月) 13:52:19.55ID:4hMzyEUs >>392
1ファイルに複数のクラスを書いてるんじゃない?
1ファイルに複数のクラスを書いてるんじゃない?
395デフォルトの名無しさん
2017/10/30(月) 15:15:46.44ID:y0GY6LFV396デフォルトの名無しさん
2017/10/30(月) 15:50:40.06ID:3rz3HBcW397デフォルトの名無しさん
2017/10/30(月) 18:18:23.77ID:sRaOGV/D398デフォルトの名無しさん
2017/10/31(火) 08:25:04.95ID:OmcraJl8 >>359
範囲外の入力値エラーだろ
private、つまりクラス内では、戻り値でエラーを示すが、
public、つまりクラス外では、例外でエラーを示す
なぜなら、クラス内をコーディングしているのは、普通は同じ会社だから、
その会社内で規定したエラー値を使っても、見落としが少ない
でも、クラス外の場合は、クラスをコーディングした会社と、異なる会社が使うから、
そのクラス内で規定したエラー値を使っては、いけない。
なぜなら、他社の人は、クラスのドキュメントを読まずに、クラスを使うから
つまり、クラス外部の人に対しては、絶対にエラーが起こるように、例外を使う
クラス内をコーディングする人と、そのクラスを使う人は、
異なる会社を想定している。
他社の場合は、クラスのドキュメントを読まないことを想定すべき
「スッキリJava」にも書いてある。
クラスを使う側と、フレームワークなど、他社が使うクラスを作る側の、
コーディングの違い。
他社を想定している場合は、全く違う
この辺は、品質管理をやってないと知らないはず
範囲外の入力値エラーだろ
private、つまりクラス内では、戻り値でエラーを示すが、
public、つまりクラス外では、例外でエラーを示す
なぜなら、クラス内をコーディングしているのは、普通は同じ会社だから、
その会社内で規定したエラー値を使っても、見落としが少ない
でも、クラス外の場合は、クラスをコーディングした会社と、異なる会社が使うから、
そのクラス内で規定したエラー値を使っては、いけない。
なぜなら、他社の人は、クラスのドキュメントを読まずに、クラスを使うから
つまり、クラス外部の人に対しては、絶対にエラーが起こるように、例外を使う
クラス内をコーディングする人と、そのクラスを使う人は、
異なる会社を想定している。
他社の場合は、クラスのドキュメントを読まないことを想定すべき
「スッキリJava」にも書いてある。
クラスを使う側と、フレームワークなど、他社が使うクラスを作る側の、
コーディングの違い。
他社を想定している場合は、全く違う
この辺は、品質管理をやってないと知らないはず
399デフォルトの名無しさん
2017/10/31(火) 08:35:40.63ID:BBLfUUwS400398
2017/10/31(火) 09:49:23.34ID:OmcraJl8 「スッキリJava」では、クラスの責務を、明確に分けている
前半は、クラスを使う側の知識で、
上級編はフレームワークなど、他社が使うクラスを作る側の知識
フレームワークを作る側では、検査例外を使って、コンパイルエラーにしないと、
ドキュメントを読まずに実行した客が、実行時エラーを起こして、
電話をかけてくるから、商売にならない
本を読んで、実行時エラーを起こした客が、出版社に電話をかけてくるだろ。
それと同じで、商売にならない
だから例外にして、その例外をキャッチしない人は、実行できないようにする
サポート契約をしない、無料相談の客をはじかないといけない。
無料で見積もりさせる客も
前半は、クラスを使う側の知識で、
上級編はフレームワークなど、他社が使うクラスを作る側の知識
フレームワークを作る側では、検査例外を使って、コンパイルエラーにしないと、
ドキュメントを読まずに実行した客が、実行時エラーを起こして、
電話をかけてくるから、商売にならない
本を読んで、実行時エラーを起こした客が、出版社に電話をかけてくるだろ。
それと同じで、商売にならない
だから例外にして、その例外をキャッチしない人は、実行できないようにする
サポート契約をしない、無料相談の客をはじかないといけない。
無料で見積もりさせる客も
401デフォルトの名無しさん
2017/10/31(火) 12:09:41.25ID:QuyL7alo 経営の話か
402デフォルトの名無しさん
2017/10/31(火) 21:22:09.98ID:BSBih/VQ javaでWebアプリ作ってるのですがグラフ表示をしたいです
jfreechartとかchart.jsとか出てくるんですがおすすめとかってありますか?
jfreechartとかchart.jsとか出てくるんですがおすすめとかってありますか?
403デフォルトの名無しさん
2017/10/31(火) 21:22:56.96ID:BSBih/VQ 質問スレと間違えましたすみません。
404350です
2017/11/03(金) 17:28:51.99ID:AmIWbkAj >>380
しばらく2ちゃんを見れない状況だったので亀レスとなってしまいましたが、コンストラクタで例外投げるのが良くない理由をできれば聞きたいです
しばらく2ちゃんを見れない状況だったので亀レスとなってしまいましたが、コンストラクタで例外投げるのが良くない理由をできれば聞きたいです
405デフォルトの名無しさん
2017/11/03(金) 17:36:15.65ID:lQ0XoM3e >>404
責務の分離ができてない証拠だから
責務の分離ができてない証拠だから
406デフォルトの名無しさん
2017/11/03(金) 17:39:40.36ID:lQ0XoM3e コンストラクタっていうのはオブジェクトを初期化する特別な処理を書くところ
渡された値をそのまま何の加工もせずにフィールドにお納めするのが義務なんです
渡された値をそのまま何の加工もせずにフィールドにお納めするのが義務なんです
407デフォルトの名無しさん
2017/11/03(金) 17:42:31.79ID:lQ0XoM3e どうしても例外を投げたいならtryCreateというスタティックメソッドを作って
例外投げますよ作れないかもしれないですよということをメソッド名で
陽に示すべきだ、この処理は検証も含んでいますよと示すべきだ
なぜならば検証も含むからだ、オブジェクトを作るメソッドなのにだ
例外投げますよ作れないかもしれないですよということをメソッド名で
陽に示すべきだ、この処理は検証も含んでいますよと示すべきだ
なぜならば検証も含むからだ、オブジェクトを作るメソッドなのにだ
408デフォルトの名無しさん
2017/11/03(金) 18:39:37.30ID:lQ0XoM3e FileStreamもコンストラクタで例外を投げるが
あの設計も大間違いだから
コンストラクタでリソース確保しようとするのが完全に間違ってる
closeの処理でリソースを解放するならばリソースを確保するのはopenだ
openの責務をFileStreamは持つべきでそれはオブジェクトを初期化する
コンストラクタとは役割が根本的に100憶パーセント異なるわけ
あの設計も大間違いだから
コンストラクタでリソース確保しようとするのが完全に間違ってる
closeの処理でリソースを解放するならばリソースを確保するのはopenだ
openの責務をFileStreamは持つべきでそれはオブジェクトを初期化する
コンストラクタとは役割が根本的に100憶パーセント異なるわけ
409デフォルトの名無しさん
2017/11/03(金) 19:04:39.65ID:9CXEo34m410デフォルトの名無しさん
2017/11/03(金) 19:18:22.44ID:lQ0XoM3e411デフォルトの名無しさん
2017/11/03(金) 19:40:27.12ID:lQ0XoM3e UI -> アプリ(バリデータ) -> ドメイン -> DAO
レイヤーはこのように分けてドメインから先にバリデーションのコードを持ち込んではいけない
オブジェクトをクリーンに保つためのベストプラクティス
レイヤーはこのように分けてドメインから先にバリデーションのコードを持ち込んではいけない
オブジェクトをクリーンに保つためのベストプラクティス
412デフォルトの名無しさん
2017/11/03(金) 19:47:48.30ID:lQ0XoM3e バグがないように引数をチェックするという目的でやるなら
アサートを使うべきだ
ただしアサートを使うのは開発時のみで本番コードには含めない
本番コードで引数チェックが必要になるようならそれは
業務要件として抽出するべきだ
アサートを使うべきだ
ただしアサートを使うのは開発時のみで本番コードには含めない
本番コードで引数チェックが必要になるようならそれは
業務要件として抽出するべきだ
413350です
2017/11/03(金) 20:10:50.22ID:AmIWbkAj なるほど
405~410まではなんとなくわかりました
411, 412は私の経験or勉強不足でいまいち理解できませんでした
でも、解説してくれてありがとう
405~410まではなんとなくわかりました
411, 412は私の経験or勉強不足でいまいち理解できませんでした
でも、解説してくれてありがとう
414デフォルトの名無しさん
2017/11/03(金) 20:17:00.78ID:lQ0XoM3e■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★3 [BFU★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★4 [Hitzeschleier★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 [Hitzeschleier★]
- 【安倍晋三】中国船4隻が領海侵入 [828897501]
- 高市早苗「議員定数削減法案の詳細?お答えできません」 [834922174]
- 【実況】博衣こよりのえちえちスーパーダンガンロンパ3🧪
- お前ら不味いカレーに出会ったことある?
- 今の時勢だからこそできる賢く稼げる方法を教えてやるよwww
- えちえち女だけど
