Java入門・初心者質問スレ Part.4at TECH
Java入門・初心者質問スレ Part.4 - 暇つぶし2ch2:デフォルトの名無しさん
17/06/30 22:24:35.84 f3bJ3XCJ.net
ちょつ

3:デフォルトの名無しさん
17/06/30 22:34:49.42 k0YageAz.net
1乙です
前スレ>>993です
レスくれた方々ありがとうございます
勉強会行ってきたいと思います

4:デフォルトの名無しさん
17/06/30 22:36:43.35 W0OUnv8/.net
ぬるぽ

5:デフォルトの名無しさん
17/06/30 22:38:18.96 f3bJ3XCJ.net
>>3
おう、がんばってね~

6:デフォルトの名無しさん
17/06/30 23:28:02.19 zWHlEWrp.net
一乙です
クラスのインスタンスを作るのに
ClassA class = new ClassA();
こうやると思うんですが

new ClassA();
このようにイコールより左側がないものはどう言う意味があるのでしょうか?

7:デフォルトの名無しさん
17/06/30 23:31:30.37 W0OUnv8/.net
>>6
インスタンスを作るだけ作って変数に固定せずに虚空送りしてる、インスタンスの生成自体に意味があるとかじゃなかったらそのままGC送りやな

8:デフォルトの名無しさん
17/06/30 23:44:06.33 zWHlEWrp.net
>>7
そういう意味があるんですね
プログラムのサンプルとかそういうので使われるのですかね
ありがとうございます

9:デフォルトの名無しさん
17/06/30 23:55:42.12 W0OUnv8/.net
あんまりよくはないんだけど
new Thread(runnable).start();とかよくやる

10:デフォルトの名無しさん
17/07/01 00:09:29.12 mdEe7tMk.net
スレッドですか
まだその域まで達してないのであんまり分からないですがありがとうございました

11:デフォルトの名無しさん
17/07/01 03:56:44.50 kUHEe2gf.net
java関連のスレはほんと回答適当すぎて笑える
相談スレの方も馬鹿しかいないし落としてもう立てない方が逆に初心者のためになるな

12:デフォルトの名無しさん
17/07/01 04:59:05.43 jPgMAsSe.net
サブクラスのコンストラクターにvoidを記述するとsuper();が暗黙的に付加されないみたいなんですけど
これはどういう仕組みなんですか?

13:デフォルトの名無しさん
17/07/01 05:08:57.26 jPgMAsSe.net
すみません自己解決しました

14:デフォルトの名無しさん
17/07/01 07:04:09.94 N+ZXroXE.net
>>12
voidなどの型修飾子をつけるとコンストラクタではなくメソッドになるから
なのでデフォルトコンストラクタが呼び出されるのでその時にsuper()が内部的に
呼び出されます

15:デフォルトの名無しさん
17/07/01 10:17:47.36 bYmbgrjm.net
  彡⌒ミ
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/ ←>>4
 (_フ彡        /

16:デフォルトの名無しさん
17/07/01 11:17:45.15 WO7UFR41.net
抽象クラスに総称型を使って各々のサブクラスで型(Bean)を決めるってのは
総称型の役割からするとかなりマヌケなのかな
エラー情報を貯めておくためのリストのラッパーを作ったけど複数のBeanに対応できるよう多態性を持たせたい
でもエラー情報を持ってきたときにどうやってメンバにアクセスするのだろうと考えたとき
堂々巡りになって色々モニョってる……

17:デフォルトの名無しさん
17/07/01 13:24:42.71 jPgMAsSe.net
>>14
分かりやすくありがとうございます

18:デフォルトの名無しさん
17/07/01 13:51:03.87 Ke61Tipi.net
いまabstractクラスを使って警告がでているんですが
abstractなくせば警告も消えるのは確認しました
こういう事したい場合はどうすればいいでしょうか?
abstract class A{}
class B extends A{}
class C extends A{}
class D{function(A a)}<------------------------警告
class E{D.function(B);D.function(C)}<---こういう感じで使いたい

19:デフォルトの名無しさん
17/07/01 18:28:47.32 JnV2l3hP.net
>>18
できるよ。
URLリンク(paiza.io)
出ている警告ってなに?

20:デフォルトの名無しさん
17/07/01 20:03:20.47 lLi0bV67.net
2回目のmenu()の中でNoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
なぜですか?
public class Menu {
public static void main(String[] args) {
while(menu()) {
;
}
}
static boolean menu() {
System.out.print("[メニュー] 1:検索 2:登録 3:削除 4:変更>");
java.util.Scanner sc = new java.util.Scanner(System.in);
int selected = sc.nextInt();
boolean repeat = true;
switch(selected) {
case 1:
System.out.println("検索します");
break;
default:
repeat = false;
break;
}
sc.close();
return repeat;
}
}

21:デフォルトの名無しさん
17/07/01 20:17:15.29 n4lkpTxn.net
javaに限ったことじゃないかもしれんが
for文で同じ処理回して一回ごとの時間測ったら、
20回目くらいまでで10ms~2.0msの範囲で処理時間がバラバラなのはなぜでしょう?
それ以降は1.5msくらいで安定します

22:デフォルトの名無しさん
17/07/01 20:23:24.51 N+ZXroXE.net
>>21
OSが一生懸命他のプロセスとこんてきすとすいっちんぐぅしてるからでしょ

23:デフォルトの名無しさん
17/07/01 20:23:55.79 /jfxBAab.net
>>21
JIT走ってるからだと思う

24:20
17/07/01 21:08:56.37 lLi0bV67.net
何度もすみません。
こっちも同じ例外で落ちます。
なぜでしょうか?
public class GuessNumber {
____public static void main(String[] args) {
________System.out.println("【数あてゲーム】");
________java.util.Random rnd = new java.util.Random();
________int ans = rnd.nextInt(10);
________for(int i = 0; i < 5; i++) {
____________System.out.print("0~9の数字を入力してください");
____________java.util.Scanner sc = new java.util.Scanner(System.in);
____________int num = sc.nextInt();
____________if(num == ans) {
________________System.out.println("アタリ!");
________________break;
____________} else {
________________System.out.println("違います。");
____________}
____________sc.close();
________}
________System.out.println("ゲームを終了します");
____}
}

25:20
17/07/01 21:10:26.90 lLi0bV67.net
Java初日の初心者です。

26:デフォルトの名無しさん
17/07/01 21:23:33.49 alsfhIt3.net
>>24
ループ内でScanner閉じちゃってるからじゃないかな

27:デフォルトの名無しさん
17/07/01 21:28:39.22 lLi0bV67.net
>>26
ありがとうございます。確かにsc.close()をコメントアウトすると落ちません。
C++のnewとdeleteと同じようなものではないのですね。
難しいです・・・

28:デフォルトの名無しさん
17/07/01 21:41:21.41 alsfhIt3.net
>>27
JavaではGCが勝手にメモリの整理してるから消さなくてもメモリは圧迫しない、けど入出力ストリームは勝手に閉じたりしないから使わなくなったら閉じないといけない
もし閉じるとしたらループの外やな

29:デフォルトの名無しさん
17/07/01 21:46:02.26 lLi0bV67.net
>>28
ありがとうございます。
java.util.Scanner sc = new java.util.Scanner(System.in);

sc.close()をループの外に出しました。
ガーベッジコレクション、今読んでいる本に出てきました。

30:デフォルトの名無しさん
17/07/02 07:45:48.42 EUXzW2jq.net
>>11
どう違うか明示できない時点でお前はこのスレでは初心者にも劣る生き物
このスレを見る資格すらない

31:デフォルトの名無しさん
17/07/02 09:35:31.87 id+DUBbF.net
>>19
[公開 API を使用して非公開な型をエクスポート]
っていう警告です
文法的に問題ないようだったらこのまま使おうとおもいます

32:デフォルトの名無しさん
17/07/02 10:17:30.58 iWpJKrQI.net
>>31
何が非公開になってるの?
ソース出してよ。

33:デフォルトの名無しさん
17/07/02 12:04:10.63 98t5/5H2.net
>>18
パッケージとアクセス修飾子も書いて
警告消すのにほんとにabstract消しただけ?abstract消して代わりにpublicにしたりしてんじゃないの?

34:デフォルトの名無しさん
17/07/02 13:02:08.09 id+DUBbF.net
>>32-33
それでした
public abstarctにしたら消えました
アクセス修飾子ちょっと勉強してきます

35:デフォルトの名無しさん
17/07/02 20:23:31.52 75F+/mNi.net
画像回転させるときにどっちの方法使いますか?
理由も教えてください
---A---
affin.setToRotation(45 * Math.PI/180, 90d, 40d);
g2.setTransform(affin);
g2.drawImage(img, x, y, w, h, p);



36:---B--- affin.translate(x - w / 2, y - h / 2); affin.rotate(Math.toRadians(-1.0 * angle), w / 2, h / 2); g2.drawImage(image, affin, p);



37:デフォルトの名無しさん
17/07/02 23:34:59.11 ynDhLM7Z.net
3Dの基本だけど、回転・移動・拡大縮小には順番がある
回転・拡大縮小には、中心・基準点があるけど、移動にはない。
だから、中心がずれるかどうかを考える
サンプルを作って、順番を変えて、やってみればすぐわかる

38:デフォルトの名無しさん
17/07/03 20:53:46.38 IK55Tf5G.net
パネル上で二つの画像を合成してそれぞれの色の濃いところを取りたいのですが可能でしょうか?

39:デフォルトの名無しさん
17/07/03 23:17:10.77 ZCcMo8Ox.net
JavaFXの勉強始めたのですが
FXMLについて詳しく書かれた資料がかなり少ないのですが、なぜなのでしょうか?

40:デフォルトの名無しさん
17/07/03 23:27:51.37 /YkvVirN.net
>>37
たいていの言語で出来るから、たぶん可能

41:デフォルトの名無しさん
17/07/04 00:22:11.91 zgquPXQo.net
>>38
誰もJavaFXなんて使ってないから

42:デフォルトの名無しさん
17/07/05 19:06:50.67 VqLIFbvi.net
FX
 明るい未来の
  テクノロジー
             オラクル

43:デフォルトの名無しさん
17/07/05 19:11:10.97 iTofb717.net
JavaでFX必勝プログラムは作れますか?

44:デフォルトの名無しさん
17/07/05 19:34:37.95 TQbmoJaL.net
エンバカさん、JBuilder FX作ってよ
JBuilder ver7位使い易いのをお願い

45:デフォルトの名無しさん
17/07/07 00:52:21.45 SDWyglyj.net
リスナーで処理Aを待機してBを実行、という仕様をforループ内で使用したいです
************************************
hoge.~~.addListener( {
if(Aの実行完了を確認){
Bの実行
});
Aの実行
************************************
雑ですがこのようなもので、単体では思い通りに動きます
ですが処理Aの所要時間が長く、ループにするとAが完了する前にループが回りきってしまい
1つのAが動作を終えると全てのリスナーがその1つの結果に対して動き出してしまいます
理想としてはA,B,A,B,… のようにそれぞれ交互に処理されることです
どなたか良い方法をお持ちではないでしょうか

46:デフォルトの名無しさん
17/07/07 02:59:13.53 TVy5GKT4.net
>>44
どこがループになっているのか?

47:デフォルトの名無しさん
17/07/07 03:28:46.21 HRVWihAA.net
for ループは同期処理で、
EventListener は、コールバック・非同期処理だろ
コールバックは、後で呼ばれる
同期・非同期処理で検索!

48:デフォルトの名無しさん
17/07/07 07:29:22.86 ez3vLCaW.net
>>44
何がやりたいのか全くわからん
A -> Bが1セットならその組みでイベントしかけりゃえーやん

49:デフォルトの名無しさん
17/07/07 18:45:46.52 JqkT4Ef+.net
Listインターフェースのadd系ってなんでadd(int, E)だけ戻り値がvoidなんだろ
ArrayListを拡張して要素数の上限値付きリストを作って
上限越えてaddしようとした時falseを返すようにしようとしたのに
ひとつだけ挙動が違ってしまう……

50:デフォルトの名無しさん
17/07/07 18:57:45.82 ez3vLCaW.net
>>48
なんでfalseなん?
仕様を満たさない入力なんだから例外で良さそうだけど

51:デフォルトの名無しさん
17/07/07 21:15:32.25 VZWsMyOg.net
インタフェースにコンストラクタを定義できる?

52:デフォルトの名無しさん
17/07/07 22:23:16.92 EogG9omB.net
できるわけねえだろアホ

53:デフォルトの名無しさん
17/07/08 00:07:49.76 UEoozzz2.net
そういや Java 8 で interface に default メソッド作れるようになったのに default コンストラクタが作れないのは何故か?

54:デフォルトの名無しさん
17/07/08 00:59:40.73 toOimg9I.net
class Cat implements Animal{
static string jpname = "ねこ";
int size;
private int sex;
:
:
}
class Dog implements Animal{…}
こんな感じのクラスがあったとして
Animal anml = new Cat();
anml = new Dog();
としたらメモリリークは発生するのでしょうか?
以前staticを使うとメモリリークが発生するという記事を見た気がするので気になりました

55:デフォルトの名無しさん
17/07/08 01:23:56.74 UEoozzz2.net
>>53
どっからどう漏れるんだ?
てか、その記事何について書いてあったの?JavaVMのバグ?

56:デフォルトの名無しさん
17/07/08 01:31:23.02 toOimg9I.net
>>54
sizeやsexに格納した値が参照が外れたにも関わらずメモリに残り続けるという意味だと思います
あまり覚えてないのですが、staticのデメリットとしてメモリリークが発生すると言ってる記事でした

57:デフォルトの名無しさん
17/07/08 02:34:59.50 eRvDPK8O.net
>>45-47
意味不明な質問にかまっていただきありがとうございます
たしかに同期非同期について全くわかっていませんでした
別の実装を考えてみます
失礼しました

58:デフォルトの名無しさん
17/07/08 03:28:53.05 UEoozzz2.net
>>55
どこからも参照されなくなればgcの対象になってその内解放される筈だが?
その例の場合そもそも size や sex はプリミティブ型だから Cat や Dog クラスのインスタンスが
どこからも参照されなくなれば同時に開放される。jpname は static だから開放はされないが
new してインスタンス作っても増えることはない(staticだから)。
しかし Java では C/C++ でいうようなメモリリークは起きようがないぞ。プログラマがうっかり
いつまでもクラスのインスタンスを参照し続けるように書いてしまった場合だけそうなる。
だからだいたいはプログラムがおかしいだけ(盲点はあるけどな)。それとライブラリの内部の
書き方が悪くてプログラマが意識せずして参照を残存させてしまうことはありうる。
・書き方が悪くて残存させてしまうような例(しかしJavaのことをよく知っていれば防げそうなバグ)
URLリンク(networkprogramming.blog18.fc2.com)
・ライブラリの問題で残存させてしまう例(但しこれはJ2SE 5.0で解消)
URLリンク(www.aerith.net)

59:デフォルトの名無しさん
17/07/08 20:18:41.38 fIuXTSpk.net
JavaScript のメモリリークでは、
クロージャ内の変数とか、
タイマーを解放しなかったとか、
製品版で、console.log を使っているとか、
イベントハンドラーを付けた要素の、先祖の要素が削除された際、
その子孫のイベントハンドラーが削除されないとか

60:デフォルトの名無しさん
17/07/09 10:33:32.67 pYRJnPGA.net
NetBeansでSwing JFrameを追加すると以下のコードがmain()に挿入されるのですが
  java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
      new NewJFrame().setVisible(true);
メインスレッドの方でこのインスタンスを参照したいときにはどの様に書くべきなのでしょうか?

61:デフォルトの名無しさん
17/07/10 13:32:21.57 FVtmmblZ.net
>>59
メインメソッドでBlockingQueueを用意して
invokeLaterでJFrameのインスタンスをputして
メインメソッドでtakeすればいいよ

62:デフォルトの名無しさん
17/07/11 01:34:44.48 JGGcE/vH.net
人気なくてもjava FXを使い続けるぜ!

63:デフォルトの名無しさん
17/07/11 22:24:20.31 3LOhaMbu.net
>>60
アドバイスありがとう、やってみます。

64:デフォルトの名無しさん
17/07/12 04:15:20.28 bAuhyREb.net
ぬるぽ

65:デフォルトの名無しさん
17/07/12 05:55:34.48 Y4kofqZr.net
がちょーん

66:デフォルトの名無しさん
17/07/13 20:55:51.43 5vi+11fj.net
参照型とオブジェクト型の違いがよく分かりません
同じものだと思っていたので混乱しています
Super sp = new Sub();
とした場合、左辺が参照型で右辺がオブジェクト型でしょうか?
オブジェクト型も参照型ですよね

67:デフォルトの名無しさん
17/07/13 21:02:07.12 KJRBO+E3.net
参照型は変数の種類、intみたいなデータがそのまま入ってる変数(プリミティブ)と比較してって感じ
オブジェクト型は参照型の変数に実際に入ってる物
こんな感じかな

68:デフォルトの名無しさん
17/07/13 21:36:04.40 Wc3T27x1.net
The Java Language Specification
URLリンク(docs.oracle.com)
| 参照型は、クラス型、インタフェース型、型変数、配列型の4種類です。
| オブジェクトは、クラスインスタンスまたは配列です。
| オブジェクトクラスは、すべてのクラスのスーパークラスです。
言語仕様にはオブジェクト型という用語が出てこないので
オブジェクト型は文脈によるんじゃないかな
オブジェクト型は
・参照型のことかもしれない
・Objectクラスのことかもしれない
・クラス型と配列型のことかもしれない
いずれにしても参照型の部分集合
AがBの部分集合であるとき
AはBと表現するならば
オブジェクト型は参照型
はい論破

69:デフォルトの名無しさん
17/07/13 21:49:25.20 yYoNXUK4.net
論破って言いながら丁寧に説明してあげてるのかわいい

70:デフォルトの名無しさん
17/07/13 23:16:20.85 vy/8QKML.net
てか、そもそも議論していない。

71:デフォルトの名無しさん
17/07/14 00:32:36.19 jwaA4OPc.net
型には、primitive と、参照型(オブジェクト)の2つがある
primitive には、参照は無く、値しか存在しない。
代入・コピーでも、値そのものが、代入・コピーされる。
参照を考えなくてよいから、わかりやすい
一方、オブジェクトの代入・コピーでは、参照だけが代入・コピーされる。
Shallow Copy
新しいオブジェクトを作っていないから、1つのオブジェクトしか存在せず、
2つの参照が、同一オブジェクトを指すから、ややこしい
新しいオブジェクトを作りながら、代入・コピーする事を、Deep Copy と言う。
Deep Copy では、オブジェクト内に、オブジェクトを含む場合、
ドンドン、中まで再帰的に、Deep Copy をしていく
最終的に、primitive に突き当たると、参照ではないので、値が代入・コピーされる。
Deep Copy の最終地点が、primitive

72:デフォルトの名無しさん
17/07/15 01:50:54.44 Pwuq6t85.net
ループ処理でもなんでもないところで、Listの0番目を取得して処理するのって、あまりよくないですよね?
人のコードでよく見るので気になってます

73:デフォルトの名無しさん
17/07/15 01:53:24.65 g8mCRq5Q.net
>>71
何を気にしてるのかがよくわからんがListの0番目のデータが必要であればアクセスするし問題はない

74:デフォルトの名無しさん
17/07/15 04:12:48.28 ejj256V/.net
>>71
何がよくないの?どうしてあなたがそれをよくないと思うようになったのかが謎だよ。なんで?

75:デフォルトの名無しさん
17/07/15 09:12:58.58 Pwuq6t85.net
すみません。言葉足らずでした。
気にしていたのはマジックナンバーの使用です。
1. Listそのものを作成する段階で、その事前に取得していた0番目の要素は別の情報で保持しておく
2. 判断が必要な段階で、その保持した情報のみを参照して処理を行う
こうすると、あらかじめ保持しておく分の処理は増えますが、0というマジックナンバーを使うことがなくなります。

76:デフォルトの名無しさん
17/07/15 09:44:34.17 3ihmavXl.net
>>74
マジックナンバーってww
むしろお前のその冗長な案こそ、あとから見た人にとってはなんの意図があってこんなことしてるのかわからないだろうから、
ちゃんとコメントで言い訳しとけよw

77:デフォルトの名無しさん
17/07/15 10:28:01.22 Pwuq6t85.net
>>75
マジックナンバーを使うと、理由に関係無く上司が顔を真っ赤にして怒るので忌避しています。
自案は、要素内の情報で適宜判断するのではなく、予め情報を専用の領域に確保することでパラメータの抽象化をしたかったのです。
どちらの形でも動作は変わらないので、正直どっちでもいいのかなとは思いますが、保守性を考えると0番目取得はそうしている理由が見えづらいのでナシなのかなと考えていました。

78:デフォルトの名無しさん
17/07/15 11:01:02.78 258vuKWQ.net
>>76
ライブラリとか人のコードが返すリストの先頭要素が欲しいときはどうすんの?

79:デフォルトの名無しさん
17/07/15 11:07:20.84 zmwkueqb.net
たとえばListの0番目に名前が入っていて1番目に住所が入っています
みたいな仕様だとインデックス直書きでアクセスするのはよろしくないかもね
最初の要素を取得するってだけなら0で良いと思う
最初の要素を取得するためのインタフェースとしては
・Stream.findFirst()
・Queue.element()
があるのでケースバイケースで

80:デフォルトの名無しさん
17/07/15 11:18:17.37 vvIOQCOR.net
まあデータ構造決まってるなら構造体みたいなクラスを定義するのが一番分かりやすくはあると思うけどね

81:デフォルトの名無しさん
17/07/15 12:35:01.54 ejj256V/.net
hash突っ込んどけば名前で扱えるからましになるのでは?
名前変わったら終わりだけどな。

82:デフォルトの名無しさん
17/07/15 12:36:01.21 ejj256V/.net
「に」が抜けた。「hashに」だ。

83:デフォルトの名無しさん
17/07/15 15:53:59.30 aAFD2FSQ.net
すいません
スッキリわかるJAVA入門でいきなりつまづきました
system.out.println(““)この中に文字を入れて文章を表示させたんですが
「次は二桁を書き足して表示させよう」となってるんですが、一桁目のsystem.out.println(““)をコピーして
改行後下に貼り付けてコンパイルしてもエラーになってしまいます
やり方が違うんでしょうがどうしたらいいかわかりません、すいません、教えてください。

84:デフォルトの名無しさん
17/07/15 15:57:38.78 TEqu9WXk.net
>>82
セミコロン忘れかな

85:デフォルトの名無しさん
17/07/15 15:58:22.33 qtlS5nEU.net
>>82
ソースコードと小一時間にらめっこして分からなかったらideoneでもpastebinでもいいからここに貼れ、話はそれからだ
というのはさておきセミコロンまでコピペした?

86:デフォルトの名無しさん
17/07/15 16:03:19.76 aAFD2FSQ.net
はい、セミコロンもコピーしました

87:デフォルトの名無しさん
17/07/15 16:06:48.65 TEqu9WXk.net
>>85
んじゃコードはってねー

88:デフォルトの名無しさん
17/07/15 16:11:20.64 aAFD2FSQ.net
すいません、こんな状態です
URLリンク(i.imgur.com)

89:デフォルトの名無しさん
17/07/15 16:16:04.41 qtlS5nEU.net
>>87
エラー文の\12288を16進に直すと3000、これはUnicodeで全角スペースを表す
どこかに全角スペースが混ざってるから取り除くとおk
俺もやったなーこれw
解決に1時間くらいかかった

90:デフォルトの名無しさん
17/07/15 16:16:39.15 qtlS5nEU.net
どこか→4行目のどこか、ね

91:デフォルトの名無しさん
17/07/15 16:17:21.84 7MVLQNtn.net
>>87
セミコロンが全角
全角スペースがある
右側のエラーちゃんと見ろ

92:デフォルトの名無しさん
17/07/15 16:17:48.54 aAFD2FSQ.net
>>88
ありがとうございます、解決しました!
他の方もありがとうございました!

93:デフォルトの名無しさん
17/07/15 16:19:10.83 aAFD2FSQ.net
>>90
ありがとうございます
ちなみにエラー番号からエラー内容を調べる事は出来るのでしょうか?

94:デフォルトの名無しさん
17/07/15 16:21:09.13 qtlS5nEU.net
エラーの内容がそのまま書いてあるだけだよ、慣れればすぐに読めるようになる

95:デフォルトの名無しさん
17/07/15 16:23:13.13 aAFD2FSQ.net
>>93
ありがとうございます

96:デフォルトの名無しさん
17/07/15 16:47:37.67 ISc0zg3F.net
入門書を一通りやり終えた後の次はどんなことに手を出せばいいのかわからない
今はとりあえずAPI仕様を読んだりオブジェクト指向関連の書籍でお茶を濁している最中
ステップアップのフローチャートが頭に浮かばない
デザインパターンやフレームワークもやりたいけど、多分今の実力じゃ手に余るし

97:デフォルトの名無しさん
17/07/15 17:10:30.36 rsSZ04ms.net
>>95
何か作りたいもんがあるからJavaやってんじゃないのか。
作ってるうちに足りないもんが見えてくるから
それをやればいい。

98:デフォルトの名無しさん
17/07/15 17:22:44.63 T1g1+yar.net
まぁみんながみんな作りたいものがあるわけでもないよね
特に初心者なんて何が出来るかもよくわからんわけだし

99:デフォルトの名無しさん
17/07/15 17:48:43.67 qtlS5nEU.net
何かが作りたくて始めたわけじゃないのか…
俺は最初から作りたいものありきだったからよくわからん

100:デフォルトの名無しさん
17/07/15 17:54:10.13 ISc0zg3F.net
>>96
当初はAndroidアプリで音楽プレーヤーを製作したかった
でもアプリ開発入門書を読んでもコードを叩いてもちんぷんかんぷんだったからjava自体を学習し始めた
現状、デスクトップアプリとして着手しようと目標変更
そこでオブジェクト指向の理解深化やjavafxに触れたり、
OSSのソースコードを見てみたりするも絶賛五里霧中で
プログラミングに体系化された学習方法や方針があると思い込んでいる節が頭の中にあった
それがそもそもの間違いなのか

101:デフォルトの名無しさん
17/07/15 17:57:38.55 ejj256V/.net
何作ったらいいかわからない?
それでは俺のためにエロゲでも作ってくれたまえ。

102:デフォルトの名無しさん
17/07/15 18:02:19.45 qtlS5nEU.net
>>99
体系化されたものなんてほとんどないけどアルゴリズムの知識やらプログラムの組み立て方はどこに行っても役に立つから学んでおくといいかな
Aizu Online Judgeの簡単な問題でも解いてみたらどうだろう、人のコード見れるから参考にもなるし

103:デフォルトの名無しさん
17/07/15 18:41:44.49 ISc0zg3F.net
>>101
OnlineJudge初めて知った、やってみる

更なる問題としては頭の中にべき論が多数生まれたこと
java8だから新しく導入されたラムダ式で書くべき、デザインパターンに則るべきとか
他には、まずコンソールアプリをそれなりに作れるようになるべき等…
入門書に出てきた単語や技術・テクニックを習得しないと、
まともにプログラミングできない強迫観念にも似た考えを抱いた
だから作ることより知ることの方に比重が置かれて自己目的化しつつある本末転倒状態

104:デフォルトの名無しさん
17/07/15 18:55:04.65 qtlS5nEU.net
知ることはもちろんいいことだが今は考えてる暇があったら手を動かせ
クソコードを量産して初めてわかる新機能のありがたみというのもある

105:デフォルトの名無しさん
17/07/15 19:36:31.82 YzsKBmTR.net
やました俺より年下だわ

106:デフォルトの名無しさん
17/07/15 20:17:30.85 7MVLQNtn.net
おっさん!

107:デフォルトの名無しさん
17/07/15 23:17:45.35 5uf8kOgL.net
>>102
>java8だから新しく導入されたラムダ式で書くべき
Kotlin
javaとpythonってどっちが初学に向いてる?
URLリンク(mevius.2ch.net)
ここに、読むべき本が書いてある

108:デフォルトの名無しさん
17/07/15 23:22:38.27 g8mCRq5Q.net
>>106
しつこい、死ね

109:デフォルトの名無しさん
17/07/15 23:28:48.42 q4YYoqHS.net
>>102
書くのと知るの、どっちが欠けても良いプログラマーにはなれんよ
それにやってみればわかるがJavaの関数型インターフェースやストリームは既存の有名なデザパタと競合したりしない

110:デフォルトの名無しさん
17/07/16 02:57:48.81 1fICcUqx.net
>>102
知識不足ばかりが気になるなら知識の補充だけやってればいいと思う
結局さ、なにかを作りたい人は作りたいモチベを抑えられない人なんだよ
そうじゃない人がそうなろうとしても、人種が違うんだからうまくいかないよ

111:デフォルトの名無しさん
17/07/17 09:09:36.85 Ze9nWRlN.net
質問なのですが4GBのメモリのノートPCだと本当にAndroidシミュレータ動かないのでしょうか?
もしそうだとしたら悲しい気持ちに打ちひしがれそうなのですが

112:デフォルトの名無しさん
17/07/17 11:28:53.73 BiCnURwh.net
悲しみに打ちひしがれなさい

113:デフォルトの名無しさん
17/07/17 11:55:15.98 HvQCc1dg.net
>>110
やってみてから言えよ
環境わかんないけどうちではメモリ4Gでも動いた
つーかJavaの質問じゃなくね?

114:デフォルトの名無しさん
17/07/17 11:58:39.74 dYQc5jFE.net
(´・ω・`)クラス.メソッド().メソッド()
この書き方わからなかったの
最初のメソッドでクラスが返ってきて、そのクラスのメソッドをつかうときにこういう書き方するんだって
しらんかったー
ようやく読み終えたスッキリわかるJava入門には説明してなかったの
こういうメソッドふたつが並んでる書き方とかみんなは特別な説明なくても見ただけでわかるの?
この辺でプログラミングの適正とかでてくるんやろか?
それで調べてたら
クラス.メソッド().メソッド().メソッド().メソッド()
とか書くメソッドチェーンっていうのもあるらしい
これってリターンで他のクラス呼び出したらどんなものでもメソッドチェーンで書けるの?

115:デフォルトの名無しさん
17/07/17 12:02:33.60 VuxDjspY.net
>>111
う、う~...
>>112
4GBでも動いたんですねっ!希望が持てます
自分でもやってみたのですがNexusでメモリー不足ですって出たもので
というかスレチですね
失礼しました

116:デフォルトの名無しさん
17/07/17 12:05:18.93 RdQgJoxw.net
返り値のあるメソッドを書く時、
左側に変数を用意して代入するものだと思っていましたが、
メソッドのみで書いてもエラーにならないのですね。
この場合、返り値はどこに行くのでしょうか。
無かった事にされるのでしょうか。

117:デフォルトの名無しさん
17/07/17 12:14:19.55 5WhJSLEy.net
>>115
その通り、無かったことになる

118:デフォルトの名無しさん
17/07/17 13:16:31.03 Uy8niamL.net
メソッドチェーンは、JavaScript でよくやっている。
jQuery, Underscore とか
戻り値で、this を返すように作る。
そうすれば、同じインスタンスのメソッドを、連続して呼べる
obj = obj.a();
obj = obj.b();
obj = obj.c();
obj.a().b().c();

119:デフォルトの名無しさん
17/07/17 15:36:43.88 6JtF0HSC.net
>>113
書ける。

120:デフォルトの名無しさん
17/07/17 15:49:00.61 E22zs9OY.net
>>113
(クラス.メソッド()) をAと考えて
A.メソッド()って考えるといい

121:デフォルトの名無しさん
17/07/17 16:09:04.23 6JtF0HSC.net
てか、streamはメソッド数珠繋ぎが当たり前だな。それできないと不便だし。

122:デフォルトの名無しさん
17/07/18 13:02:40.83 6DbTRi2A.net
>クラス.メソッド()
厳密に言うと、メソッドチェーンは、クラスではなく、インスタンスメソッド
そのインスタンス(this)を返すから。
bind で、そのインスタンスを束縛しているのと同じ

123:デフォルトの名無しさん
17/07/18 13:52:31.69 vumXXDez.net
Javascript、ネットワークセキュリティ等の知識がある人。一緒に仕事しませんか?
月50万~

124:デフォルトの名無しさん
17/07/18 14:06:1


125:4.40 ID:9Co9m1r8.net



126:デフォルトの名無しさん
17/07/18 14:22:42.32 9B3oYp9l.net
URLリンク(i.imgur.com)
これってだいたいあってる?

127:デフォルトの名無しさん
17/07/18 15:19:49.39 9Co9m1r8.net
>>124
太さの違いはなんだ?横軸が時間で右が現在?

128:デフォルトの名無しさん
17/07/18 16:44:05.28 2pQ0zCCv.net
縦が人気で横が時間って書いてあるやん
>>124にはみんな大好きLISPがないので間違い

129:デフォルトの名無しさん
17/07/18 17:06:37.30 PJqj9Jnt.net
Clojureがあるやん

130:デフォルトの名無しさん
17/07/18 17:25:20.72 2pQ0zCCv.net
わ、ホンマやん

131:デフォルトの名無しさん
17/07/18 18:44:08.28 bmzbSPDE.net
>>126
書いてある?あ、透明部分に黒で書いてあるの?スマホで見てて背景黒になって表示されてわからなかった。

132:デフォルトの名無しさん
17/07/18 19:08:59.36 KVouUBvY.net
なんだこの意味不明で無茶苦茶なグラフは

133:デフォルトの名無しさん
17/07/18 19:11:19.99 KVouUBvY.net
ググったら少しはまともなのあるやん
URLリンク(furien.jp)

134:デフォルトの名無しさん
17/07/18 19:41:08.33 X/hWddMd.net
こんにちは
EclipseでMac用のプログラムを改造途中です
URLリンク(code.google.com)
WIDCOMM6.5.1.4800をインストールしたのですが、デバッグウィンドウによるとwinsockで接続しようとしているようです。
ログ中に BlueCove version 2.1.1-SNAPSHOT on winsock と表示される
wiiremoteJ.jar(ver1.6b)
bluecove2.1.1-snaposhot.jar
Win764bitでバランスWiiボードを接続
USBドングル(BroardcomBCM20702)を使用
Q1..ハードウェアドライバはこれで正しいでしょうか?
インテルUSB3.0ルートハブ
  +Broadcom BCM20702 Bluetooth4.0
    +Microsoft Bluetooth Enumerator    ←これがブロードコムにならない
      +BluetoothHIDデバイス        ←これもMSのドライバ
        +HID準拠ゲームデバイス(WiiMote)
      +BluetoothHIDデバイス
        +HID準拠ゲームデバイス(バランスWiiボード)
      +Bluetooth Remote Control
      +Bluetoothオーディオ
MS StackがwiiremoteJで必要なL2CAPプロトコルをサポートしていないので、HIDまで行けない気がします
Q2.BluecoveでWIDCOMMを使用するためには
import com.intel.bluetooth.BlueCoveImpl;
    System.setProperty("bluecove.jsr82.psm_minimum_off", "true");
    BlueCoveImpl.setConfigProperty("bluecove.stack", "widcomm");
でよろしいでしょうか?

135:デフォルトの名無しさん
17/07/21 16:05:04.18 9/NTCjMt.net
ここはJava”言語”しか知らない馬鹿しかいないからそんなこと聞いても無駄

136:デフォルトの名無しさん
17/07/21 18:16:57.06 UUHPm2az.net
スレチだから誰も答えないんじゃないか?

137:132
17/07/21 19:54:39.68 98df5QyM.net
スレチですよねー
でもBTスレはハード板でもオーオタですし、他には
Java質問スレ
スレリンク(tech板)
ですかねー
Jettyも聞きたいことがあるんですが・・・

138:デフォルトの名無しさん
17/07/21 21:55:09.65 9/NTCjMt.net
マジレスすると2chじゃ突っ込んだ内容の質問にはまず回答なんかつかない
teratailとかで質問したほうが100倍マシ

139:デフォルトの名無しさん
17/07/24 22:41:42.40 Z9C6ox1d.net
知恵袋に全く同じことで困ってる人がいたんですが、
URLリンク(detail.chiebukuro.yahoo.co.jp)


140:48864962 java3Dライブラリを使ってコンパイルして出力したjarファイルが開けない →環境変数の設定が~ みたいな回答で、たしかに書いてあるとおりにしたら開けたんですが、 これって誰かに渡すときにはその人にもjava3Dをインストールしてもらわないといけないってことですよね? jarに含めたりとかってできないんですか?



141:デフォルトの名無しさん
17/07/25 20:57:58.57 pa2wyDo4.net
>>137
jarにjarを含めるにはクラスローダを実装する必要があるみたい
そこでEclipseですよ
Eclipseならマウスかちかちでjarを含んだjarをエクスポートできる
Eclipse製のクラスローダが用意されてる

142:デフォルトの名無しさん
17/07/25 21:13:10.74 Y+NO7fSD.net
あれ?でもJava3Dってネイティブ含んでなかったっけ?

143:138
17/07/25 21:31:26.48 TSeeDTaM.net
javaを触れ始めて3年位ですが簡単な事すら理解できてないへっぽこが失礼します。
とある人間が作ったA.jarの中に約40ほどファイルがあります。
そこにバグがあるのですが、jarを作った人間が多忙の為 私がそのファイルの中の調査をすることになりました。
(修正した箇所がわかりやすいよう、本来の使い方とは異なりますが継承+オーバーライドを使用し修正しています。)
メイン:main newでclassA(stringA,stringB)を呼び出し
hoge_project.dir1.classA newでclassBを呼び出し
hoge_project.dir2.classB newでclassCを呼び出し
hoge_project.dir3.classC extends でclassDを継承
hoge_project.dir3.classD こいつにエラーがありそう
エラーがありそうなメソッドを保有しているクラス"classD"を継承したクラスclassD_fixをhoge_project.dir3 に作成し、そのメソッドをオーバーライドしたクラスを入れ込んだjarファイルを作成することに成功(jar tfで確認)しました。
ですが、肝心のクラスAの継承に失敗していて 呼び出し元のメソッドが修正できず困っています。
エラーの内容はこんな感じでした。
classA_fix.java:7: エラー: クラス classAのコンストラクタ classAは指定された型に適用できません。
classA_fix.javaのソース
import hoge_project.dir1.classA;
public class classA_fix extends classA{//中身なし}
期待値:String,String
検出値:引数がありません。
理由:実引数リストと仮引数リストの長さが異なります。
ググって見たところ、メソッド自体が存在しない、もしくは引数が合わない等メソッドによる不具合が原因だと書かれていたので
念の為class classA_fixにコンストラクタっぽい感じでpublic void classA_fix(String stringA, String stringB){super(stringA,stringB)}等自分なりに色々やってみましたがうまくいかず・・・
クラスclassA_fixはクラスclassAを継承しただけで特にメソッドの上書きも行っていない何もない状態なのにこのようなエラーが出ていたため、わけが分からず困っています。
abstractは使用していません。
作成者とは連絡が取れない状況で、完成予定日もあるのでこちらで出来る限りの理由を探りたいのですが、何か良い方法はないでしょうか。

144:140
17/07/25 21:32:22.09 TSeeDTaM.net
>>140 の名前は140です
書き込んでる間にレス番がかわってましたOTL すみません

145:デフォルトの名無しさん
17/07/25 21:35:21.91 O1f40o7X.net
>>140
classA_fixなの?classD_fixなの?

146:デフォルトの名無しさん
17/07/25 21:52:37.10 pa2wyDo4.net
>>140
スーパークラスのコンストラクタの呼び出しに失敗してるわけっしょ
> public void classA_fix(String stringA, String stringB)
これはコンストラクタじゃなくてメソッドっすよね
コンストラクタをきちんと定義すればいけるんじゃないかな

147:140
17/07/25 21:53:05.21 TSeeDTaM.net
>>142
説明ベタですみません。
現在エラーがでているのはclassA_fixです。
classDにバグがあるのは間違いないのですが、classDを直接書き換えるのが怖いのと、
報告しなくては行けないので、修正した箇所がわかりやすいように classD_fix.classを作成し、修正しようとしています。
classD_fixのjavacには成功(動作は不明)、classD_fix.classの生成に成功しました。
今現在そのclassD_fixを使用して動かせるように各クラスファイルを修正しようとしています。
超へぽっこで デバッグをやるのはこれが初めてでどういった方法でやるべきなのかもわからず、
メモ帳とコマンドプロンプトでやってます・・・OTL

148:140
17/07/25 22:01:15.35 TSeeDTaM.net
>>143 こんな感じで書いたんですが駄目でした。 私もしかして コンストラクタの書き方間違えて・・・る?OTL
package hoge_project.dir1;
import hoge_project.dir1.classA;
public class classA_fix extends classA {
public classA_fix( String string_a,String string_b){
}
}

149:デフォルトの名無しさん
17/07/25 22:13:58.15 pa2wyDo4.net
>>145
スーパーのコンストラクターが呼ばれてないーので
super(string_a, string_b);
これを追加すればいけるんじゃないかな

150:140
17/07/25 22:24:17.39 TSeeDTaM.net
>>146 その通りにやったらjavac通りました!ありがとうございます!
superせず終わらせるとそこで処理が終わるだけでエラーにはならないのかななんて思ってましたがそんなことないんですね・・・
そして何故かmainスレッドにて java.lang.NoClassDefFoundError・・・OTL寝れなさそうだ

151:デフォルトの名無しさん
17/07/25 23:34:14.91 ItvXAvCp.net
うげあー
私は本物の素人ですが、現場の世界は色々と恐ろしいのですね…
参考書を読んで頑張ります

152:デフォルトの名無しさん
17/07/26 00:23:56.03 k1luK7uA.net
OTLとか久々に見たわ

153:デフォルトの名無しさん
17/07/26 01:30:21.01 f0n9OFYu.net
superコンストラクターを呼ばないといけないわけではないので、原因はもう少し間接的なものだろう
フルコードがないと理由は不明

154:デフォルトの名無しさん
17/07/26 01:32:29.52 f0n9OFYu.net
おそらく引数なしのコンストラクタだとちゃんと動かないスーパークラスなんだろう

155:デフォルトの名無しさん
17/07/26 04:45:03.63 ykAbfSKr.net
3年もやってて継承元の引数ありコンストラクタがサブクラスに引き継がれないことも知らんとか
当然スパクラスに引数ありコンストラクタがあればサブクラスでそのコンストラクタを定義しなくちゃならない
ほんと相変わらずびっくりするぐらいレベル低いなここ

156:デフォルトの名無しさん
17/07/26 06:36:14.97 8eztuswf.net
入門・初心者スレでレベルどうのこうのと言われましても…
あ、自分自身も含めてレベル低いって自虐ネタでしたか

157:デフォルトの名無しさん
17/07/26 07:58:47.46 ykAbfSKr.net
回答つけてる奴等もどうしようもなくレベル低い馬鹿しかいないってことだよ阿呆
お前等全員1円で投げ売りされてる入門書100億回読んでからレスつけろよ阿呆

158:デフォルトの名無しさん
17/07/26 08:04:51.73 2vJD5W5S.net
つまり変なのに絡まれないようにプログラミング歴は隠しとけってことだ
スレ民との約束だぞ

159:デフォルトの名無しさん
17/07/26 09:25:20.19 MMBO65WR.net
>>154
もっと簡単にこのスレのレベルを上げる方法がある。物凄く簡単なことだ。
それは君が回答を書くことだよ。

160:デフォルトの名無しさん
17/07/26 09:26:39.45 SoUQ8WPl.net
>>156
文句しか言わないやつって何なんだろうね

161:デフォルトの名無しさん
17/07/26 09:29:51.53 kGP2LF0r.net
ただの煽りたがりの荒らしに構うなよ

162:デフォルトの名無しさん
17/07/26 17:16:50.05 txt3JljQ.net
デザインパタ^-ンは勉強した方がよいでしょうか?

163:デフォルトの名無しさん
17/07/26 18:46:59.30 aaem4HGH.net
これからはパタ^-ンだよね

164:デフォルトの名無しさん
17/07/26 18:52:35.86 bC5MXU5Z.net
パータパタママー

165:デフォルトの名無しさん
17/07/26 19:01:26.80 /ZvQeDL/.net
>>154
俺も、趣味でjavaを独学してる身だから、偉そうなこと言えないけど
1円で投げ売り
とか
100億回
とか
読み返して、恥ずかしくない?

166:デフォルトの名無しさん
17/07/26 20:15:45.49 +wB1yzpw.net
>>159
いらない。 そんなことより、webアプリやらandroidアプリでも作ってた方が有意義。
フレームワークで設計に触れら


167:れるし。



168:デフォルトの名無しさん
17/07/26 21:26:53.25 cjurS1ok.net
そしてうまい作り方を発見したと喜び勇んでブログで発表するとそんなもん何十年も前に本にまとめられて世界中の言語に翻訳されて売られまくった枯れ枯れの干からびたやり方だとコメントされまくる。

169:デフォルトの名無しさん
17/07/27 17:28:04.27 DDfF3pSC.net
>>152
継承しなくちゃいけないわけでもないからな。

170:デフォルトの名無しさん
17/07/29 03:53:30.99 UnhUcpCL.net
スッキリわかるJavaを利用してますが
dokojavaってなんとなく動作が
不安定な気がするのですが気のせいでしょうか。
同じプログラムでもエラーが出たり出なかったりします

171:デフォルトの名無しさん
17/07/29 06:39:29.25 qmPyXn75.net
そもそもdokojavaを使う必要がない
手軽なオンライン環境ならideoneもpaiza.ioもある

172:デフォルトの名無しさん
17/07/30 09:49:31.45 rAr/Q6m3.net
アンドロイドアプリを作りたいです。
どうやらjavaを知ることが第一歩のようですが、javaをマスターできれば
アンドロイドアプリ作れるようになれますか?

173:デフォルトの名無しさん
17/07/30 10:03:11.95 xziOu8cb.net
いいえ
料理をする時に調理器具を使えるようになるだけではダメなのと同じで
料理毎に食材や調味料の組み合わせ方法や量も学ぶ必要があります
AndroidにはAndroid用のセオリーがあります

174:デフォルトの名無しさん
17/07/30 12:28:09.87 rAr/Q6m3.net
>>169
では、いきなりアンドロイド用に
学習をしてもいいということでしょうか

175:デフォルトの名無しさん
17/07/30 12:33:52.48 qXAhQacW.net
>>170
えっとね
お前みたいな論理性の欠如した馬鹿には一生無理だよ

176:デフォルトの名無しさん
17/07/30 12:36:56.14 rAr/Q6m3.net
>>171
論理的に説明できないなら
返事するな

177:デフォルトの名無しさん
17/07/30 12:53:11.14 qXAhQacW.net
馬鹿がキレたwww

178:デフォルトの名無しさん
17/07/30 13:21:49.30 rAr/Q6m3.net
性格悪いな
私生活上手く行ってないんだな
可哀想に

179:デフォルトの名無しさん
17/07/30 13:32:59.09 qXAhQacW.net
すごーい!
テンプレみたいな返しをする
馬鹿なフレンズなんだね!

180:デフォルトの名無しさん
17/07/30 14:42:06.93 0PJrZm1n.net
>>170
ていうか、Javaどの程度わかってるかにもよる。言語の基礎部分知らなければ作るに作れないだろうし
それ以前に入門書のサンプルプログラムも何やってるのかソース見てもわからんだろう。

181:デフォルトの名無しさん
17/07/30 15:05:49.40 w/kjlxMo.net
あと、どの程度のアプリを作りたいかにもよるな
ハローワールドを表示するだけなら、
初心者向けの本の書いてある通りにASをインストールしてボタンを押していけば、
一行もコードを書かずにアプリが出来上がるから、
javaどころか、どの言語も知らなくても問題ないしね

182:デフォルトの名無しさん
17/07/30 16:07:57.61 RBZmZf5e.net
コンストラクタの宣言にはstaticキーワードを付けないのに、
コンストラクタはなぜstaticなメソッドから呼び出せるの??

183:デフォルトの名無しさん
17/07/30 16:14:13.17 0PJrZm1n.net
>>178
コンストラクタだけ特別扱いしているから。

184:デフォルトの名無しさん
17/07/30 16:16:05.30 w/kjlxMo.net
>>178
「コンストラクタ」がメソッドから呼び出される?
コンストラクタはそもそもメソッドじゃないよ
メソッドじゃないものに、メソッドのルールを考えても意味ないんじゃね?

185:デフォルトの名無しさん
17/07/30 16:24:52.28 RBZmZf5e.net
>>179-180
スッキリしない(´・д・`)

186:デフォルトの名無しさん
17/07/30 16:32:05.28 w/kjlxMo.net
『スッキリわかる』シリーズを読みなさい

187:デフォルトの名無しさん
17/07/30 16:32:13.98 0PJrZm1n.net
>>181
そういう作りの言語だからとしか言えない。
なんだったらスッキリする言語を自分で作りなさい。
まあ確かにコンストラクタはいきなり呼べるので違和感あるかも知れないが、 new した時にメモリ確保されて
インスタンスが出来て、それからその中の


188:コンストラクタが呼ばれると考えればいい。実際その通りだし。 C言語で実現するとしたら構造体のメモリを確保した直後にそのポインタを受け取って構造体の中身の初期化を するようなのがコンストラクタね。



189:デフォルトの名無しさん
17/07/30 16:40:07.27 RBZmZf5e.net
>>183
ちょっとわかった。
new演算子で動的にメモリを確保してその中身を初期化するのがコンストラクタの役割だから、
コンストラクタは動的な文脈で呼び出されるのか。

190:デフォルトの名無しさん
17/07/30 17:32:09.96 pdhvmw2O.net
stream apiを使って
[1,1,2,2,3,3,3,1]
みたいなリストを
[1,2,3,1]
みたいに連続した同じ要素をまとめるコードはどう書けばいい?

191:デフォルトの名無しさん
17/07/30 17:35:55.57 pdhvmw2O.net
filterで1前の値見れたら楽なんだろうけど

192:デフォルトの名無しさん
17/07/30 17:37:48.11 pdhvmw2O.net
もしくは条件に合致した時だけreduceするとか

193:デフォルトの名無しさん
17/07/30 17:38:03.65 zcFf9TVa.net
>>185
distinct()を流れのどこかに挟む

194:デフォルトの名無しさん
17/07/30 17:38:50.17 zcFf9TVa.net
あ、これは駄目か、無視してくれ

195:デフォルトの名無しさん
17/07/30 18:39:49.01 DLqAucgC.net
>>185
素朴に
URLリンク(paiza.io)

196:デフォルトの名無しさん
17/07/30 18:56:29.36 xziOu8cb.net
>>174
中身の無い煽りはスルーでいいよ
料理のレシピを覚えても調理器具を使えないと料理は出来ないのと同じで
都度都度javaを覚える必要があります
いきなり開発環境のテンプレート見てわからないと思うから
ググって1つ1つ覚えるしかないかな

197:デフォルトの名無しさん
17/07/30 18:59:48.32 DLqAucgC.net
>>185
インデックスで
int[] a = { 1, 1, 2, 2, 3, 3, 3, 1 };
IntStream.range(0, a.length)
  .filter(i -> i == 0 ? true : a[i - 1] != a[i])
  .map(i -> a[i])
  .forEach(System.out::println);

198:デフォルトの名無しさん
17/07/30 19:01:39.65 DLqAucgC.net
||でよかったわ

199:デフォルトの名無しさん
17/07/30 19:37:41.52 r1emgWco.net
重複削除ならこんなの見つけたよ。
URLリンク(www.sejuku.net)
stream使ってないが非常にシンプル。

200:デフォルトの名無しさん
17/07/30 19:38:22.75 r1emgWco.net
あ、だめか。最後も1か。

201:デフォルトの名無しさん
17/07/30 20:49:27.90 0PJrZm1n.net
やった!できた!
しかし、なんだか stream っぽさがない・・・
URLリンク(paiza.io)

202:デフォルトの名無しさん
17/07/30 21:04:08.55 w/kjlxMo.net
>>190
>>196
paiza.ioって、スゴいね!
こんな、便利なものがあったなんて知らなかったYo!!

203:デフォルトの名無しさん
17/07/30 21:26:46.37 9WmloTCT.net
無理やりstreamで実装するメリットが見当たらない

204:デフォルトの名無しさん
17/07/30 21:36:56.23 w/kjlxMo.net
でもまあ、お題が「streamapi」を使って、だからね
初心者スレとしてはメリットとかより、勉強になったかどうかだよね
もちろん
「このやり方の方が効率がいい」
ってのが明確な理由と共に示されれば、
それも勉強になるけどさ

205:デフォルトの名無しさん
17/07/30 21:44:50.49 pdhvmw2O.net
>>190
>>192
ありがとな
Stream api奥が深いわ

206:デフォルトの名無しさん
17/07/30 23:21:06.50 JAHw7kqq.net
スッキリ読みながら勉強の者だが、
プログラム言語って素晴らしいなあ
プロの方々はjavaをマスターして、効率よく業務に活かしているに違いない。

207:デフォルトの名無しさん
17/07/30 23:55:51.22 5i/HO5zm.net
>>99
mp3再生ソフト完成した?

208:デフォルトの名無しさん
17/07/31 08:18:37.92 LN83W0QK.net
質問するのにも敬語すら使えない馬鹿をいちいち相手にしてるからお前等は馬鹿なんだよ
重複削除するのにいちいちマッチングしたりストリーム使ったり馬鹿の代表かよお前等w
ほんと阿呆の肥溜めだな

209:デフォルトの名無しさん
17/07/31 08:21:06.63 2pZH8HVB.net
>>203
最高に天才なあなたのコートを拝見できませんか?

210:デフォルトの名無しさん
17/07/31 08:25:24.08 X8Y7EVM6.net
>>203
2chで敬語使えとか言うバカを久々に見たわ
不愉快だから黙ってろよ

211:デフォルトの名無しさん
17/07/31 08:30:53.93 LN83W0QK.net
レベル低い馬鹿の上に質問する側が敬語も使えないとかただの池沼なんだから
お前が黙って首吊ってさっさと死ねよ低能馬鹿のゴミ

212:デフォルトの名無しさん
17/07/31 08:36:53.63 pwRUpqlR.net
>>206
まあまあそんなに怒らないでください

213:デフォルトの名無しさん
17/07/31 08:57:46.56 2pZH8HVB.net
>>206
言葉づかいが最高に天才ですね

214:デフォルトの名無しさん
17/07/31 14:22:15.80 mMpKpjgf.net
大きな大きなブーメランの映像が頭に思い浮かんだ
一体これはなんだったのだろうか
                          つづく

215:デフォルトの名無しさん
17/07/31 18:15:47.54 CdII1Abc.net
>>203
そこで、皆が誉め称えるようなコードをパッと示したら格好いいのにね

216:デフォルトの名無しさん
17/07/31 19:20:31.40 gHcyqZBx.net
Java大好きだし腐すつもりはまったくないから
怒らないで欲しいけど
他の言語を色々やったあとでJavaに戻ってきたら
StreamAPIなるもんがあって
それを有難がってる(?)人々が居て
若干腰抜かす
StreamAPIがダメっていう主張じゃなくて
Javaにはいらんやん、って主張

217:デフォルトの名無しさん
17/07/31 19:25:06.72 /XbzZj23.net
主張したいなら論拠を示してくれないと反論もできないんですが

218:デフォルトの名無しさん
17/07/31 19:26:34.94 gHcyqZBx.net
ごもっとも
論拠も根拠も特にないので単に感想に差し替えさせてください
んな感想はチラシの裏に書け?
今から書いてきます失礼いたしました

219:デフォルトの名無しさん
17/07/31 19:30:05.84 CdII1Abc.net
>>有難がってる(?)
有り難がってるようなレスはなかったと思うけど・・・
そもそも、ここは初心者スレだから、好奇心で色々と試してるってノリでしょ
ビックリする人がいることに驚いちゃうよ

220:デフォルトの名無しさん
17/07/31 19:39:08.58 W4UbSJlH.net
なんども書くような処理はモジュール化して再利用するって常識
Javaとか関係なしに当たり前のことをやってるのがstream api
これをなにか特別なものと考えて拒否感を持ったり崇拝する人はセンスがない
当たり前のように使おう

221:デフォルトの名無しさん
17/07/31 19:46:13.69 2pZH8HVB.net
必要になったら使うでいいよ
必要なのにアレルギーよろしく拒否るからややこしくなる

222:デフォルトの名無しさん
17/07/31 22:11:44.32 3pgJ0wlK.net
class Aho {
 public static void main(String ... args) {
  System.out.println("質問するのにも敬語すら使えない馬鹿をいちいち相手にしてるからお前等は馬鹿なんだよ");
  System.out.println("重複削除するのにいちいちマッチングしたりストリーム使ったり馬鹿の代表かよお前等w");
  System.out.println("ほんと阿呆の肥溜めだな");
 }
}

223:デフォルトの名無しさん
17/07/31 22:20:26.08 3pgJ0wlK.net
>>216
ま、そうだが、streamはある程度使って慣れないと使い所がよくわからないもののように思うな。
何せループでも実現できちゃうからな。そっちで慣れてる人は中々手を出さないのではないか?
他の言語で多用したいた場合はJavaでも使えて便利みたいに感じるかも知れんが。

224:デフォルトの名無しさん
17/08/01 00:38:37.91 VkAUO0Vr.net
お前みたい馬鹿のために用意されたものなんだからありがたく使っとけよ阿呆

225:デフォルトの名無しさん
17/08/01 01:48:00.02 sayqMREC.net
C#, Java の、Parallel Stream で、複数コアを使える
Node.js は、JavaScript だから、シングルスレッドだろ。
数値計算などで、複数コアを使いたい場合に、困る

226:デフォルトの名無しさん
17/08/01 02:41:43.75 dPOYfvBU.net
URLリンク(paiza.io)

227:デフォルトの名無しさん
17/08/01 03:06:20.33 C


228:kTSkgtj.net



229:デフォルトの名無しさん
17/08/01 07:44:11.55 4BLXFqGa.net
プログラミングそのものを愛するか、プログラミングによって作られるものを愛するかの違いです

230:デフォルトの名無しさん
17/08/01 11:31:28.30 d0oFEyKM.net
愛されるより愛したい

231:デフォルトの名無しさん
17/08/01 12:14:27.48 SHR8K/xw.net
>>223
何に対する意見だよw
仮にstreamapiを好むかどうかにしても、プログラミング自体が好きでもstreamapiが好きとも限らねえぞw
違いです、とかw

232:デフォルトの名無しさん
17/08/01 12:21:01.88 j5u606Kq.net
>>175
お前はもう来るなよ。スレの主旨から言ってお前の言動は不適当。

233:デフォルトの名無しさん
17/08/01 12:47:57.63 SHR8K/xw.net
もっと近いレスに香ばしいのがいるのに、なかなかの粘着さんだなw

234:デフォルトの名無しさん
17/08/01 19:48:41.43 QsBohnup.net
a = [1,1,2,2,3,3,3,1]
p a.chunk {|x| x}.map {|k, a| k}
rubyだとたったこんだけだよね?
> 他の言語で多用したいた場合はJavaでも使えて便利みたいに感じるかも知れんが。
逆ぅ!
如何せん貧相すぎてね
村の子が村のお祭り誇らしげ、みたいな
ブスが化粧してお澄まししてる、みたいな
顔には出さないけど、胸がチクッとするんです…
昨日も言ったけどJavaは好きだし
Javaには感謝すらしているし
ディスろうという目的ではない

235:デフォルトの名無しさん
17/08/01 20:24:37.33 5II4tDgL.net
ちょっと短く書くためにいろいろ犠牲にしてるrubyこそ着飾ったブスに思えるなぁ

236:デフォルトの名無しさん
17/08/01 22:20:27.40 jPOZmE88.net
世の中にはブス専もいるわけだしそこまで行くと主観の問題だわな

237:デフォルトの名無しさん
17/08/01 22:39:38.01 r/kmkyLl.net
比べる対象がスクリプト言語しかも動的型付け言語なのはさすがにおかしい
JavaがJavaの良さを殺さないように意識しながらStream APIを導入する必要があったのと話が違いすぎる

238:デフォルトの名無しさん
17/08/01 22:50:43.40 zlxlSjkN.net
>>228
Javaならこんだけなんだが?
URLリンク(paiza.io)

239:デフォルトの名無しさん
17/08/01 22:57:16.20 zlxlSjkN.net
>>231
コレクションライブラリにメソッド用意することはできるわけで
ラムダ式は処理を丸投げできるハイパーリッチなコレクションと
組み合わせてこそ進化を発揮する
今のJavaの標準ライブラリがショボいことは事実だ
逆に言うとJavaはもっと成長する余地があるってこと
いくらきれいな白鳥でも・・・あとはわかるだろ、そういうことだ

240:デフォルトの名無しさん
17/08/01 23:05:18.35 QsBohnup.net
>>232
(´・ω・`)   n
⌒`γ´⌒`ヽ( E)
( .人 .人 γ /
=(こ/こ/ `^´  
)に/こ(

241:デフォルトの名無しさん
17/08/02 15:22:29.01 mxNq7Aj6.net
8がつ2にち(すいようび)
きょうは、すっきりわかるじゃば入もんを
330ページまでよみました。
ゆうしゃとおばけきのこをうみだしました。
とてもおもしろかったです。

242:デフォルトの名無しさん
17/08/02 18:18:04.54 xzl419Dl.net
>>232さんに触発されて書いた
OCamlならこんだけ
URLリンク(ideone.com)
「連続した同じ要素をまとめ」るコード
ただし、rubyのものにくらべ簡易的なchunk
しかもchunk関数はパクり
ぐぐって丁度いいの見っけたから拝借した
だから何やねん!って言うのは我慢してほしい(´・ω・`)

243:デフォルトの名無しさん
17/08/02 19:08:45.26 JD5jVN3c.net
そういうフィルタが既にあるかどうか�


244:謔閧煌ネ単に拡張して実装できるかの方が言語的には重要だろう C#のLinqはyield returnと拡張メソッドのおかげでLinq拡張がすごくやりやすい それに比べるとJavaのStreamは……



245:デフォルトの名無しさん
17/08/02 19:43:38.64 SsqUphS+.net
関数型厨御用達言語Haskell
URLリンク(ideone.com)

246:デフォルトの名無しさん
17/08/03 00:25:37.27 TTlJ2U7E.net
>>237
C#ならどんだけ?

247:デフォルトの名無しさん
17/08/03 22:30:56.72 2xv/pvUq.net
>>239
へい
URLリンク(paiza.io)
C#7ならタプルを(a, b)って書けるからもっと簡単になる
おっぱいざのコンパイラ古い

248:デフォルトの名無しさん
17/08/04 00:26:47.86 US5e0j3V.net
>>240
(´・ω・`)   n
⌒`γ´⌒`ヽ( E)
( .人 .人 γ /
=(こ/こ/ `^´  
)に/こ(

249:デフォルトの名無しさん
17/08/04 19:10:37.95 US5e0j3V.net
> 簡単に拡張して実装できるかの方が言語的には重要
URLリンク(ideone.com)
rubyも拡張しやすいほうなのかな?
よく分からないまま書いたので、なにかおかしいかもしれない
最初のほうでself.dupなんていきなりしてよかったのかは不明
(Enumeratorを返すメソッド作成の作法的に)
なんだかんだ申しましたが
StreamAPIがどうなっていくかは
今後静かに見守って行きたいと思います 完

250:デフォルトの名無しさん
17/08/04 20:57:07.88 4RPAmR0Z.net
          完


 

251:デフォルトの名無しさん
17/08/05 20:13:27.69 CKfofrut.net
きょうはとしょかんで
スッキリのメソッドをべんきょうしました。
メソッドはとてもむずかしかったです。
となりにこうこう2ねんせいが
べんきょうしていました。
あしたもとしょかんにいきたいです。

252:デフォルトの名無しさん
17/08/05 20:50:07.33 NrXpiBRr.net
おっさん乙

253:デフォルトの名無しさん
17/08/06 04:58:57.45 PQlf2UE9.net
>>244
となりに
→となりで
にほんごも、もっとがんばりましょう

254:デフォルトの名無しさん
17/08/08 12:19:00.25 ybbt0LUq.net
初歩的な質問すみません
おじいちゃんクラス
親クラス
子クラス
という継承関係があってメンバーの名前が統一されてる時
子クラスから親のメンバーを利用するにはsuperを使うのは分かりましたが
おじいちゃんのメンバーを利用するにはどうしたら良いんですか?

255:デフォルトの名無しさん
17/08/08 12:26:11.98 It7rbX8+.net
それはウルトラ、じゃなくて、super.super. って使えない?

256:デフォルトの名無しさん
17/08/08 12:57:35.54 EzmBL1dy.net
superはただの予約語なんだから使えるわけがない
馬鹿かおまえは

257:デフォルトの名無しさん
17/08/08 13:04:24.09 It7rbX8+.net
予約語かどうかの問題ではなく単にそう作ってあるかどうかの問題では?
だってそういう言語作ろうと思えば作れるでしょ。

258:デフォルトの名無しさん
17/08/08 13:06:01.15 EzmBL1dy.net
そう作ってないから予約語なんだよ
馬鹿は回答側に回るな馬鹿

259:デフォルトの名無しさん
17/08/08 13:32:02.75 It7rbX8+.net
はいはい。
そういやキャストすればできるな。

260:デフォルトの名無しさん
17/08/08 13:37:26.20 It7rbX8+.net
こんなの。
ただしクラス名わかってないとできない。
class A {
int a = 1;
}
class B extends A {
int a = 2;
}
class C extends B {
int a = 3;
int get() {
return ((A) this).a;
}
}

261:デフォルトの名無しさん
17/08/08 13:45:04.54 EzmBL1dy.net
コードも酷すぎるからお前はもう二度と書き込まん方がいい
初心者が初心者を低レベルに導く流れはやめろ

262:デフォルトの名無しさん
17/08/08 15:06:55.26 qcoC0xc5.net
>>247
そっちを使う、とかじゃなくて
子クラスがそのように実装される、というだけ

263:デフォルトの名無しさん
17/08/08 15:07:58.73 qcoC0xc5.net
ID:EzmBL1dyが意味不明すぎる

264:デフォルトの名無しさん
17/08/08 15:45:07.99 lxfir1A5.net
何かあったのだろう

265:デフォルトの名無しさん
17/08/08 16:05:06.76 nQaUo2VV.net
全くプログラミング経験無しで
なんとなくjava始めたけど
そもそも論としてこの選択は正しかったのだろうか

266:デフォルトの名無しさん
17/08/08 18:14:28.51 tkRtIBMh.net
さあなあ。今後何やるかにもよるんじゃないか?

267:デフォルトの名無しさん
17/08/08 1


268:9:59:14.74 ID:p/Km8czM.net



269:デフォルトの名無しさん
17/08/08 21:13:19.41 qcoC0xc5.net
>>258
いいんじゃないの
LLとか便利だけど、その面倒な部分の大事さとか学べない
ひとつの言語だけで終わるなら用途によってもっといい言語がありそう

270:デフォルトの名無しさん
17/08/08 22:06:18.12 GW2MTj/k.net
>>247ですが、>>253さんのコード目からウロコです!
thisもキャストできるんですね
不勉強なので>>255さんの仰る事が少し難しいのですが、インスタンスだから、ということでしょうか
今丁度その辺りを勉強しているところなので正しく理解できるよう頑張ります
皆さんありがとうございました

271:デフォルトの名無しさん
17/08/09 08:33:32.83 IlLjAgAU.net
ありがとう。
どうやらjavaを選択したことは間違いではなかった様子。
まだfor構文だが頑張る

272:デフォルトの名無しさん
17/08/09 23:08:12.69 LMnBr9ad.net
forいいじゃん
個人的に、Javaで書くときはなるべく質素に書くのが似合ってる気がする
拡張forとかfroEachとかStreamAPIとか言わずに
for (int i = 0; i < a.length; i++)の形が美しいとすら思う
単に個人的な意見です

273:デフォルトの名無しさん
17/08/09 23:59:14.48 eM0BjlR2.net
美しいかどうかは個人の感覚だけど
短く楽に書けて、読みやすいのはメソッドチェインの方かな

274:デフォルトの名無しさん
17/08/10 00:33:49.18 3830aR0n.net
全部Iteratorで書きたいわ

275:デフォルトの名無しさん
17/08/10 06:49:53.58 7fXn0jIL.net
個人的な意見をごり押ししていいなら無駄なカウンタ変数は美しくない
変数が再代入されるのもできる限り避けたい
よってforはあまり使わない

276:デフォルトの名無しさん
17/08/10 16:31:24.34 q3Q5gWCj.net
内部ではカウントしてそうだけどな

277:デフォルトの名無しさん
17/08/10 19:01:50.13 nhvX9c4e.net
カウントなどというバグの原因は内部でやらせておくに限る

278:デフォルトの名無しさん
17/08/10 19:09:12.83 d/6ciPxh.net
カウントのバグ、みたいなもんを針小棒大に扱って見せても白けるだけ

279:デフォルトの名無しさん
17/08/10 19:26:16.34 9td2XcHM.net
処理速度はともかく数字への無駄な依存をなくすことが悪いことのはずない
チューニングはボトルネックと判明してからでも遅くはない

280:デフォルトの名無しさん
17/08/10 19:32:52.40 Jc4Vqs2x.net
ループ書くと後々必ずループの中身を肥大化させるバカが居からなるべくループは書かない

281:デフォルトの名無しさん
17/08/10 22:48:58.06 0lb9vf6H.net
>>272
それ例えばどんなん?

282:デフォルトの名無しさん
17/08/10 23:18:34.33 7fXn0jIL.net
終わらないループ
終わらないif文
終わらないメソッド
使い回され続ける変数
共通部分の大量コピペ
業務プログラムあるあるですな

283:デフォルトの名無しさん
17/08/11 01:35:32.02 dX0SM6NL.net
超次元宇宙で業務をしておられるようで

284:デフォルトの名無しさん
17/08/11 11:33:31.61 VT8Bdzbq.net
仕様を決めつけて最適化しすぎると保守性が下がるんだけどな。

285:デフォルトの名無しさん
17/08/11 12:10:31.38 BDXv2


286:ULb.net



287:デフォルトの名無しさん
17/08/11 13:20:41.56 3EZq4DC0.net
>>276
あるあるネタだね
画面ごとにデータ取得SQLを最適化したり頭悪いわ

288:デフォルトの名無しさん
17/08/11 17:20:44.31 4bbWTV9L.net
372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子が求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ
それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト
自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
473非決定性名無しさん2017/08/03(木) 15:21:30.71
JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。

289:デフォルトの名無しさん
17/08/11 17:27:29.24 uuzmQ1J4.net
>>277
オブジェクト指向で書けよ

290:デフォルトの名無しさん
17/08/11 17:38:47.68 uuzmQ1J4.net
>>276
クライアントが拘りの部分だけ設計時に最適化したがるんだよな
そんなとこ運用してからでいいだろというとこ
全部設計してくれてコーディングだけでいいなら任せるけどさ

291:デフォルトの名無しさん
17/08/11 18:43:57.91 JLvLp2X8.net
>>280
たまたま同じ部分をIFでなく継承でまとめたからって、おこる問題は一緒だ
むしろ継承はIF文より汎用性がないからIF文よりずっと悲惨なことになる
すなおにコピペで別クラスにしとこう

292:デフォルトの名無しさん
17/08/11 20:13:57.80 uuzmQ1J4.net
>>282
初心者だと応用効かないか条件分岐の代わりにしか使えないとか
でもそもそもそういうこと言ってるんじゃないんだよ
ちゃんとオブジェクト指向わかってるば、たまたま共通のコードとかじゃなくて、設計段階で本質的に同じものでまとめて書ける
お前のはサブルーチンとして使ってるだけだろ

293:デフォルトの名無しさん
17/08/11 21:13:24.15 qTpm866m.net
javaでウイルス作れる?

294:デフォルトの名無しさん
17/08/11 21:23:48.80 3EZq4DC0.net
Javaはセキュリティホール

295:デフォルトの名無しさん
17/08/11 21:26:09.39 JLvLp2X8.net
>>283
設計段階で同じものだってわかってるなら何使ったってどうにでもなるわ!
オブジェクト指向関係ない
そのあとで実はここ違いますってなったとき
IF文:分岐を入れる
オブジェクト:ケースに応じて継承もしくは別クラス作成
コピペ:該当部分を修正
コピペが最優秀なんだけど

296:デフォルトの名無しさん
17/08/11 21:28:04.90 3EZq4DC0.net
その該当部分が鼠算で無限増殖していくのであっという間に手に負えなくなる
コピペは死罪

297:デフォルトの名無しさん
17/08/11 21:34:53.83 JLvLp2X8.net
そんなに増えないって
結合テストのケースに応じてコピペすりゃいいんだ
どうせまとめたって機能別に試験させられるんだからそこがボトルネックのはず
むしろ同じテストが完了した時点で
同じものがたくさんできているので生産性が高いといえよう

298:デフォルトの名無しさん
17/08/11 21:36:39.69 uBm+ojOM.net
同じ記述


299:はメンテ的に良くないので避けるべき、と習ったよ 修正箇所を少なく作るのが江戸っ子らしい ただそんな書き方は素人の俺には思いつかないのが問題



300:デフォルトの名無しさん
17/08/11 21:43:55.23 JLvLp2X8.net
まとめたら単体まで作るときは楽なんよね…
まとまってるぶん網羅しやすいからブラックボックステストの試験ケース少なくて済む
でもIF文とか継承まみれになると可読性めっちゃさがる

301:デフォルトの名無しさん
17/08/11 21:44:30.73 JLvLp2X8.net
×ブラック〇ホワイト

302:デフォルトの名無しさん
17/08/11 21:53:13.03 3EZq4DC0.net
if文が増えるなら
業務分析が下手くそ
設計が下手くそ
コーディングが下手くそ

303:デフォルトの名無しさん
17/08/11 22:02:03.16 JLvLp2X8.net
>>292
おまえは神か?世界の複雑さを完全に把握してコントロールできるのか?

304:デフォルトの名無しさん
17/08/11 22:07:37.25 3EZq4DC0.net
>>293
わたしがかみです

305:デフォルトの名無しさん
17/08/11 22:13:39.81 +73EubJb.net
   彡 ⌒ ミ  彡 ⌒ ミ
  ( ´・ω・)  ( ´・ω・)
_(__つ/ ̄ ̄ ̄/つ/ ̄ ̄ ̄/
  \/    / \/    /
     ̄ ̄ ̄ カタカタ ̄ ̄
   彡 ⌒ ミ  彡 ⌒ ミ
  ( ´・ω・)  .(・ω・` )ヾ < なぁ、これって
_(__つ/ ̄ ̄ ̄/つ/ ̄ ̄ ̄/
  \/    / \/    /
     ̄ ̄ ̄    ̄ ̄ ̄
   彡 ⌒ ミ  彡 ⌒ ミ
  (  ´・ω)  .(・ω・` )
_(__つ/ ̄ ̄ ̄/つ/ ̄ ̄ ̄/
  \/    / \/    /
     ̄ ̄ ̄    ̄ ̄ ̄
  彡 ⌒ ミ   .彡 ⌒ ミ
  (´・ω・`)   (´・ω・`) また、かみの話してる
_(__つ/ ̄ ̄ ̄/つ/ ̄ ̄ ̄/
  \/    / \/    /
     ̄ ̄ ̄    ̄ ̄ ̄

306:デフォルトの名無しさん
17/08/11 22:15:32.75 uBm+ojOM.net
髪の話するやつ死ねよ

307:デフォルトの名無しさん
17/08/11 22:22:13.21 3EZq4DC0.net
ハゲに人権なし

308:デフォルトの名無しさん
17/08/11 22:53:51.24 GWHLh1ZD.net
このハ・・・

309:デフォルトの名無しさん
17/08/11 23:22:48.62 uuzmQ1J4.net
>>286
仕様と1対1にできるのがオブジェクト指向のいいとこだろう
言ってることが真なら設計に戻るだけ
コードだけ変えてメンテできなくなるのは初心者が陥りがちな罠

310:デフォルトの名無しさん
17/08/11 23:47:13.60 VT8Bdzbq.net
>>289
それむしろ逆。共通化してしまうと仕様変更で別々になる可能性がある。
共通化は本当に共通化したい部分にすべきことであって、何でもかんでも共通化は間違い。

311:デフォルトの名無しさん
17/08/11 23:48:26.02 VT8Bdzbq.net
いまどきJavaでオブジェクト指向にこだわっているのは考え方が古い。

312:デフォルトの名無しさん
17/08/12 00:41:21.40 I0vpQUVr.net
業務系はオブジェクト指向と相性いいからな
趣味とかは知らん

313:デフォルトの名無しさん
17/08/12 07:28:02.61 wZgNEoNa.net
ビット演算について教えて下さい。
ビット演算子(&,|, ^)の右側と左側で桁数が違うときは、どういう処理がされるのですか?

314:デフォルトの名無しさん
17/08/12 08:21:47.95 WyVA8Sgg.net
>>302
データベースとのやりとりは結局、解決してないけどな。

315:デフォルトの名無しさん
17/08/12 08:31:15.18 w+TtGEkw.net
>>303
例えば、8・16ビットで、ビット演算して、何ビットの結果が必要なんだ?
少ない方の結果が必要なら、多い方を、少ないビットに変換すればいいし、
多い方の結果が必要なら、少ない方を、多いビットに変換すればいい
多いビット・少ないビットの、変換関数を探すか、自分で作ればいい

316:デフォルトの名無しさん
17/08/12 09:08:08.52 wZgNEoNa.net
>>305
やりたいことは符号無しintをlongに型変換したいのです。
どこかのサイトを見たところ、
longNumber = unsignedInt & 0x00000000FFFFFFFF
とすればいいらしいのですが、
そもそも桁違いでビット演算したらどうなるんだ?というのが気になりまして。
小さい方を大きいほうの型にキャストしてるのか、
それともキャストしてるんじゃなくて桁を増やしてるのか…
桁増やすにしても、符号拡張してるのか、0で埋めてるだけなのか…
気になって夜も眠れますん。

317:デフォルトの名無しさん
17/08/12 10:00:34.76 WyVA8Sgg.net
>>306
目的に対してどうしてそういう手段でやっているのか?

318:デフォルトの名無しさん
17/08/12 13:30:45.00 VqNg7Zuq.net
>>306
Chapter 15. Expressions
URLリンク(docs.oracle.com)
|
| 15.22.1。 整数ビット演算子&、^、|
| オペランドに対してバイナリ数値昇格が最初に実行されます。
|
| 5.6.2。バイナリ数値昇格
| いずれかのオペランドがdouble型であれば、他方はdouble型に変換されます。
| それ以外の場合、どちらかのオペランドがfloat型であれば、もう一方はfloat型に変換されます。
| それ以外の場合、どちらかのオペランドがlong型であれば、他方はlong型に変換されます。
| それ以外の場合、両方のオペランドがint型に変換されます。
ということなので今回の場合はlong型に変換されるはずよ
> longNumber = unsignedInt & 0x00000000FFFFFFFF
これは末尾にLをつけないとlongにならないかと
> int unsignedInt = -1;
> long longNumber = unsignedInt & 0xFFFFFFFFL;
上をコンパイルして逆コンパイルしたら下になった
> int unsignedInt = -1;
> long longNumber = (long)unsignedInt & 4294967295L;
なので型の変換はキャストっすね
Java 8ならInteger.toUnsignedLongというメソッドが用意されてるので
そっちが良いかも

319:デフォルトの名無しさん
17/08/13 01:18:20.66 SYaWjJhn.net
型違いって言うのが、典型的なバグの条件
MISRA-C などでは、バグを防ぐために、
元から、型が異なるものを演算してはいけないというルール
「A 演算子 B」と書く場合、A, B は絶対に同じ型である必要がある
だから、この式の前に、絶対に同じ型にしているから、
型変換のルールに、疑問など生じない
>>308
に書いているような型変換のルールを、探してきて見直すような、
暗黙の型変換というのは、すごく単純な場合を除き、使わない方がいい
机上デバッグで、毎回、型変換のルールを見直して、
あれこれ議論しないといけないから面倒
しかも、開発メンバーが変わるたびに、説明・確認しないといけない
基本的に、言語仕様書を引っ張りだして、確認するようなものはダメ。
言語仕様書が必要な、コーディングをしてはいけない。
言語仕様書を見ない人もいるし、バグるだけ

320:デフォルトの名無しさん
17/08/13 01:57:33.90 aXXBQeA8.net
PASCAL みたいなのがいいってことかな。

321:デフォルトの名無しさん
17/08/13 02:04:55.15 s7ggTJlx.net
C言語はJavaより型付けが弱いんじゃないかな
ブーリアンもないし

322:デフォルトの名無しさん
17/08/13 07:00:28.21 SCeJgg+o.net
C言語には継承やクラスといった概念がないからね、比較すべきはC++

323:デフォルトの名無しさん
17/08/13 07:08:01.01 WltPyYK1.net
>>308
完璧な回答ありがとうございます。
私の知りたかったこと全てと、私の知らなかったことが入ってました。
L付けておきます。
残念なことに、java1.7なのです。androidなもので。

324:デフォルトの名無しさん
17/08/13 07:09:42.70 WltPyYK1.net
>>309
はーい。あざーっす。
オペランドの片側に(long)付けておきます。

325:デフォルトの名無しさん
17/08/15 16:59:30.70 RbnTXkE5.net
今日からjavaはじめる
よろしくおまいら
初心者レベルだけどC言語から入ってjavaはじめるんだけど文字列結合とかキャストとか省略が許されててむずむずするわ

326:デフォルトの名無しさん
17/08/16 09:09:46.76 qOG9houb.net
実装者が楽になる言語仕様がバージョンアップのなびに追加されるから
このせいで理解してない人が書いたクソコードが万延する諸刃の剣になってる

327:デフォルトの名無しさん
17/08/16 10:09:58.32 F4bo7YNW.net
>>316
本来の書き方をわかってて省略するのとそういうもんだと思って書くのとでは雲泥の差があるな

328:デフォルトの名無しさん
17/08/16 12:49:17.76 qOG9houb.net
booleanとBooleanが混在しまくってるコード見たときには気が狂いそうになった

329:デフォルトの名無しさん
17/08/16 14:56:15.62 Rgy1v+1A.net
>>318
それだけじゃクソコードエピソードとしては弱いなぁ

330:デフォルトの名無しさん
17/08/16 15:17:45.44 uSl3r4ZJ.net
>>319
あなたのエピソードもどうぞ

331:デフォルトの名無しさん
17/08/16 16:28:47.57 7SX+Ce7L.net
ああ

332:デフォルトの名無しさん
17/08/16 17:14:50.23 qxnt2v0K.net
>>320
いきなりメソッドの初めで戻り値を変数に設定して、メソッド内で上書かずに最後でreturn。

333:デフォルトの名無しさん
17/08/16 19:48:31.09 ey68s8sH.net
Java最大の失敗はBean
これのせいで日本企業の所有するコードはパブリックアクセサだらけの地獄になった

334:デフォルトの名無しさん
17/08/17 00:48:02.70 x9wW63w8.net
>>322
変更があった時に、その変数を弄べばいいだけになるから
割と良いと思うけど
逆の変更があったからあなたが見た状態になったのかも知れないし

335:デフォルトの名無しさん
17/08/17 06:28:14.94 8r7YxJOf.net
>>324
あなたの解釈だとコーディングミスを想定していない。

336:デフォルトの名無しさん
17/08/17 14:38:05.88 G+zZ9zG7.net
超初心者ですまん
メソッドを数値で分けて呼び出したいんだけど
今使ってるのがswitchでの分岐
int a;
switch(a){
case 1:
hoge();
break;
case 2:
hogee();
break;
}
みたいな
もっと効率の良いやり方があったら教えて欲しい

337:デフォルトの名無しさん
17/08/17 15:17:28.53 aODDrPp/.net
>>326
幾つぐらい分岐するのかな?少ない場合はそっちの方が速いような気がするが。
分岐が沢山あるとか増え続ける可能性があるとか使う側で自由にセットしたいとかいう場合はまずinterface作っておいてその中にメソッドの定義を書いておく。
次にそれをimplementしたクラスを必要なだけ作っておき、HashMapにキーと共にインスタンスを入れておく。
後はそのHashMapからキーを使ってget()してメソッド呼ぶだけ。

338:デフォルトの名無しさん
17/08/17 15:33:57.25 XeZ7degk.net
c言語の入門書が一通り終わってオブジェクト指向も触りたくなったんでお勧めの入門書教えて下さい

339:デフォルトの名無しさん
17/08/17 16:06:35.83 OlLybMzW.net
(´・ω・`)あのー
すべての文字列はStringクラスのインスタンスとしてあつかわれるっていう表現がうまくイメージできないの
じぶんなりにまとめたのは
String s = "こんにちは"
これは
String s = new String(こんにちは)
と同じでStringクラスをインスタンス化するときに、コンストラクタに対して引数としてこんにちはをわたしてる
そしてインスタンス化されたStringクラスのメンバ変数にこんにちはが代入された
同じようにすべての文字列は扱われるので、
すべての文字列はStringクラスのインスタンスとしてあつかわれると表現される
このイメージでいいの?
くわしいひとおしえてくれませんか?

340:デフォルトの名無しさん
17/08/17 16:09:03.31 8r7YxJOf.net
>>329
Stringはよく使うクラスだから、特別な表記があるだけ。

341:デフォルトの名無しさん
17/08/17 17:04:43.05 G+zZ9zG7.net
>>327
ありがとう…😭

342:デフォルトの名無しさん
17/08/17 17:19:20.91 Q7A+EFnW.net
>>328
この本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014

343:デフォルトの名無しさん
17/08/17 18:12:59.47 TlX56ZGd.net
>>329
これこれ
URLリンク(paiza.io)

344:デフォルトの名無しさん
17/08/17 19:12:28.02 x9wW63w8.net
>>325
可能性を上げてるだけなのに想定って
君の思う一番のコーディング以外は全てミスってことか?

345:デフォルトの名無しさん
17/08/18 14:05:01.42 uPv212Ws.net
>>334
ダメな例だよ。
変数が変数たる存在を理解してない。

346:デフォルトの名無しさん
17/08/18 16:58:08.35 Rznosojv.net
>>335
変数が理解�


347:キるのかよw 説明できないなら自分ルールにとどめときな



348:デフォルトの名無しさん
17/08/18 17:12:35.77 uPv212Ws.net
>>336
日本語わかりますか?

349:デフォルトの名無しさん
17/08/18 18:31:21.19 Rznosojv.net
>>337
それが日本語だとすると
変数が理解してない
というように解釈できるぞ
正しい文章とは、誤解の余地がない文章だろう
そんなこといいから、そういったコーディングをした時に発生し得る問題を挙げろよ

350:デフォルトの名無しさん
17/08/18 18:34:12.33 pRy4OxRt.net
普通なら「変数が変数たる理由を理解してない」っていうわな
まあ普通の人は各自で補って、それを論ったりはしないだろうけど

351:デフォルトの名無しさん
17/08/18 18:55:17.40 Rznosojv.net
あー定数やfinalでいいじゃんってことか
finalじゃないから>>324なんだろ
現場でやってれば、そういう問題集解いただけの発想だけでは居られない

352:デフォルトの名無しさん
17/08/19 08:15:29.19 IZN9Kb9e.net
private staticメソッドを使う意味ってありますか?
オーバーロードしたpublic staticメソッドの受け先以外の使い方で

353:デフォルトの名無しさん
17/08/19 08:19:07.46 oORm5Ou6.net
>>341
staticメンバにしかアクセスしないprivateなメソッドはprivate staticで定義するんじゃないの

354:デフォルトの名無しさん
17/08/19 14:46:54.88 hY6XbUY2.net
long x
x = Integer.parseInt(str.substring(121,131))
文字列の一部から10桁のlong型の数値を取得しているのだけど
この取り出したい数値が大きい時に、 x=0 になってしまう不具合があるのだけどどうすればいいでしょうか

355:デフォルトの名無しさん
17/08/19 14:54:42.91 yBrPcq+R.net
>>343
Long.parseLongで

356:デフォルトの名無しさん
17/08/19 15:08:14.44 hY6XbUY2.net
>>344
ありがとうございます

357:デフォルトの名無しさん
17/08/22 06:56:33.86 dBUxkpNb.net
頑張ってる

358:デフォルトの名無しさん
17/08/24 19:19:42.05 JFHydDe1.net
スッキリわかるjava入門を電子書籍で読んでいるのですがラッパーの記述が何処にあるかわからないです
書籍をお持ちの方教えて頂けないでしょうか?

359:デフォルトの名無しさん
17/08/24 19:53:22.35 KbcJbsO3.net
>>347
ちょっと待て
おまえの本には巻末に索引が付いてないのか?

360:デフォルトの名無しさん
17/08/24 20:08:09.37 JFHydDe1.net
>>348
ありがとうございます!
電子書籍なので気付かなかったです!

361:デフォルトの名無しさん
17/08/25 09:44:00.53 kDilQ37G.net
電子書籍なら何も考えずそのまま検索すれば良いだけのような?

362:デフォルトの名無しさん
17/08/25 11:04:00.00 0JW1nIZL.net
電子書籍っていっても文字で情報を持ってるわけじゃないから検索はできない(普通に索引はある)

363:デフォルトの名無しさん
17/08/25 12:29:18.21 KoB8BbC1.net
あー。文字情報なしの電子書籍はダメだね。

364:デフォルトの名無しさん
17/08/25 18:40:20.43 w/d6Mddl.net
漫画や自炊以外でそんなのあるのか

365:デフォルトの名無しさん
17/08/25 19:35:16.88 H2xWyZEq.net
静的初期化ブロックでif文使ってるようなクラスのカバレッジを100%にすることって出来ますか?

366:デフォルトの名無しさん
17/08/25 20:03:58.53 E3yIY7Cv.net
>>354 のようなのを見ると、どうして初心者は言葉足らずが多いのかと、いつも思うよ。

367:デフォルトの名無しさん
17/08/25 21:39:57.94 27FuNdyg.net
メソッドを作成し、呼び出せコリャ
メソッド名は命名規則にのっとって自由に決めてちょ。
値を定義済みの整数配列型と、整数型の値a, b を引数に渡して呼び出すと添え字 a の位置に b の値を挿入し整形済みの配列を戻り値として返すただし、元のデータは失われない
ただし、配列の長さは変化してよし。

368:デフォルトの名無しさん
17/08/25 22:03:30.09 h0dKu5Bs.net
自炊してもスキャンした画像をOCRソフトに読ませてテキスト作らせて画像と一緒にPDFファイルに組み込む事は可能。

369:デフォルトの名無しさん
17/08/25 22:05:05.37 h0dKu5Bs.net
>>356
夏休みの宿題?

370:デフォルトの名無しさん
17/08/25 22:08:03.15 h0dKu5Bs.net
>>354
君の言っていることの意味がわからない。

371:デフォルトの名無しさん
17/08/25 22:13:20.05 h0dKu5Bs.net
>>356
ヒントだけ書いとこう。
1. 配列を List に入れる。
2. add()で途中に挿入。
3. 配列にして返す。

372:デフォルトの名無しさん
17/08/25 22:18:03.60 /f+10ORp.net
>>354
無理です
リファクタリングしてからテストしてください

373:デフォルトの名無しさん
17/08/25 22:27:50.64 x2/PsxCr.net
>>356
public static void main(String[] args)
{
 int[] src = {0, 1, 2};
 for (int i = 0; i < 4; i++)
 {
  int[] dest = insert(src, i, 3);
  System.out.println(Arrays.toString(dest));
 }
}
static int[] insert(int[] src, int index, int value)
{
 int[] dest = new int[src.length + 1];
 System.arraycopy(src, 0, dest, 0, index);
 dest[index] = value;
 System.arraycopy(src, index, dest, index + 1, src.length - index);
 return dest;
}

374:デフォルトの名無しさん
17/08/26 05:15:30.71 djCuR8Pr.net
ダメだ。それ以上簡単な方法が思い浮かばない。

375:デフォルトの名無しさん
17/08/26 05:57:22.09 djCuR8Pr.net
IntBuffer 使ったらできたことはできた。
URLリンク(paiza.io)

376:デフォルトの名無しさん
17/08/26 08:40:40.53 dAUznQNC.net
低レベルスレは宿題ばっかやるアホが多くてホント呆れるわ
チラシの裏でやれドアホ

377:デフォルトの名無しさん
17/08/26 09:32:58.96 yjz2CD2O.net
>>354
System.loadLibraryを特権計算か何かで呼んでるんだろうけどまずカバレッジ100%目指すってのがおかしい
言葉足らずとは思わないが

378:デフォルトの名無しさん
17/08/26 13:57:43.15 A+ZFL75S.net
>>365
お前が出てけやカス

379:デフォルトの名無しさん
17/08/26 14:15:33.60 doT9ddiU.net
初心者スレで
初心者を追い出してどうするのか

380:デフォルトの名無しさん
17/08/26 14:31:40.42 DUW2NPhQ.net
kumi炎上商法

381:デフォルトの名無しさん
17/08/26 14:32:27.39 DUW2NPhQ.net
誤爆

382:デフォルトの名無しさん
17/08/26 22:11:30.26 Z+RkQazT.net
>>365
やめたれ
まぁ確かに人に質問する態度ではないけど

383:デフォルトの名無しさん
17/08/27 01:30:32.99 Xa66qldf.net
プログラミング超初心者です
Androidのアプリを作ることを目標にしてプログラミングを始めました
とりあえずプロゲートでJavaの文法を一通り学び終えたんですが、これからどのように勉強を進めていけば良いのかいまいちわかりません
フレームワークの勉強をした方がいいみたいなんですが、中々敷居が高くてどこからてを着ければ良いのやら、、
助言いただけると幸いです

384:デフォルトの名無しさん
17/08/27 05:51:11.36 uirFB7xG.net
>>372
Androidの開発環境についてるサンプルアプリ動かしてそれ改造したりくっつけてきゃいいよ
設計学びたいなら本読め

385:デフォルトの名無しさん
17/08/27 15:11:13.74 vQCj63e7.net
>>372
こちらへどうぞ
スレリンク(tech板)

386:デフォルトの名無しさん
17/08/28 02:07:53.52 eSPpiGRP.net
スレッドセーフについて教えて下さい。
よくフィールド変数は他スレッドから値が参照されたり、書き換えられたりするから、
使ってはいけない旨の記述を目にします。
例えば
class Calc{
private CalcSub calcSub;
public int execute(int param,int param2){
calcSub = new calcSub();
return calcSub.


387:multiple(param,param2); } } このようにメソッド内だけでCalcSubクラスをインスタンス化したときも、危ないのでしょうか。 メソッド内の変数はスレッドセーフと聞きますが。 呼び出すたびに新しいインスタンスを生成しても危ないのですか?



388:デフォルトの名無しさん
17/08/28 02:16:05.97 eSPpiGRP.net
上記の場合、フィールドに無理やり変数を持つ意味はありませんが、
よくフレームワーク等だとフィールドに変数とアノテーションで宣言しているのを見かけたので
その場合はなぜスレッドセーフで、上記のような場合はそうじゃない(?)のか気になったで質問しました。
よろしくお願いします。

389:デフォルトの名無しさん
17/08/28 05:07:00.05 4ejthJEF.net
2, 30年やっていないと、マルチスレッド・プログラミングは出来ない
作っても、何十回に1回は、妙な動きをするから、使えない
しかも、たちが悪いことに、たいていは正常に動くから、
テストで発見できず、本番環境でバグる

390:デフォルトの名無しさん
17/08/28 06:02:19.75 9/ugOPx7.net
>>375
そんな嘘誰がいってるんだ?

391:デフォルトの名無しさん
17/08/28 06:15:29.06 IHzBG4Iq.net
>>375
実際発生するかは確認してないが考え方として
スレッドαが新しいインスタンスaを作りメンバ変数に代入
スレッドβが新しいインスタンスbを作りメンバ変数に代入
スレッドαがメンバ変数からインスタンスb(あれあれー)を取得しメソッドをコール
スレッドβがメンバ変数からインスタンスbを取得しメソッドをコール
この場合はスレッドαがメソッドを終了するまでスレッドβがコールを待てば発生しないねsynchronized
またはメソッドローカルな変数だとαとβが格納する先がそれぞれ別だから上書きされない
だと思う

392:デフォルトの名無しさん
17/08/28 06:17:34.69 IHzBG4Iq.net
>>377
ServletやAndroidはマルチスレッドでは

393:デフォルトの名無しさん
17/08/28 07:31:21.61 4ejthJEF.net
マルチスレッドの物は、相互には呼べない。
呼べたら、バグだらけになるから大変
相手のキューに投入できるだけ。
それを相手が、自分のタイミングで、拾って処理する
間接的な通信方式だけが認められる。
直接通信はできない。
直接通信すると、バグるだけ

394:デフォルトの名無しさん
17/08/28 08:23:21.64 Aloz5skw.net
>>381
まあまあ君、そんなに興奮しないでください

395:デフォルトの名無しさん
17/08/28 16:17:04.11 izWN4xqJ.net
jdk9に入ると言われてた型推論valって見送られたの?

396:デフォルトの名無しさん
17/08/28 19:11:19.35 Zfeb1b7v.net
>>375
それでダメになるとしたら CalcSub が static のクラス変数を持っていて呼び出した処理の中でマルチスレッドを考慮せずにアクセスする場合だな。

397:デフォルトの名無しさん
17/08/28 19:36:15.99 G4YrO8Fv.net
>>375
直接の答えになってないけど、
わりと大雑把にデザインしていくしかないと思う
~複数のスレッドからアクセスされるオブジェクトはこれで
 そん中のメソッドがそれぞれ排他されている~
こまかく排他や相互作用が入り組んでくると
んなもんはどうなってしまうか火を見るより明らか
排他処理のデザインを先にシンプルにかっちり作っといて
あとはそれだけを触らせる
まぁどうせ、どうしたってあとから徐々に複雑になっては来るんだけど…

398:デフォルトの名無しさん
17/08/28 19:44:26.46 ml0Q9t1V.net
ステートレス&ローカルを徹底すればいいだけだろ

399:デフォルトの名無しさん
17/08/28 19:51:36.15 rn9GWLpv.net
>>386
それは,まともなプログラムを書く上では不可能では
ステートはどうしても必要だ,NAND 二つでつくるフリップフロップですらステートがあるだろう?

400:デフォルトの名無しさん
17/08/28 21:08:49.30 ml0Q9t1V.net
>>387
一般的なWEBシステムなら意識しなくてもそうなるってぐらい簡単だよ
デスクトップで色々とリソースに触るやつは少し工夫がいるかもね

401:デフォルトの名無しさん
17/08/28 21:45:08.56 UF1juDl3.net
要は、難しいところはFWに任せて、土方は簡単なところだけコーディングしましょうってこと

402:デフォルトの名無しさん
17/08/28 21:53:13.49 Eg8/Ix/2.net
>>387
そんな低レベルの話ではないでしょう……

403:デフォルトの名無しさん
17/08/28 22:40:31.14 ml0Q9t1V.net
>>389
手続き型はやめようってはなしだろ?

404:デフォルトの名無しさん
17/08/28 23:39:04.03 eSPpiGRP.net
では、CalcSubがこのような
クラスの場合は、上記のシチュエーションでも必ずスレッドセーフというわけですね。

class CalcSub{
final public int multiple(int value,int value2){
return value*value2;
}

ありがとうございまsた

405:デフォルトの名無しさん
17/08/29 13:11:22.25 M5SL5GoR.net
マルチスレッドでは、状態を持ったら、バグる。
だから状態を持たない、関数型言語が注目されている
そもそも、最速のNode.js なども、シングルスレッド。
Ruby の作者の、Matz ですら、マルチスレッドをやった事がない
まず、何十年もやっていないと無理。
マルチスレッドでは、シングルスレッド用の関数を使えない。
使うとバグるし、そもそも関数を、マルチスレッド対応で書く人は、いない
データ数が少ないと、マルチスレッドの方が遅くなる。
キャッシュ・メモリにも左右されるし、
速くなっても大したことない割には、開発費は何倍も掛かる。
というか、開発すればするほど、複雑すぎて開発不可能になっていくw


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch