X



Java入門・初心者質問スレ Part.4 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0410デフォルトの名無しさん
垢版 |
2017/08/30(水) 12:48:32.84ID:3eVDNogH
ググればいいような?

あ、そうだ。自分で作ればいいじゃん。
テキストファイルにコマンドと使い方書いといてそれ読んで画面にコマンド出しといてマウスカーソルが上に来たら使い方が出るみたいなやつ。
0413デフォルトの名無しさん
垢版 |
2017/08/30(水) 21:03:40.59ID:vAN9hjOo
>>396
句点「。」と読点「、」だけど、逆だと思ってるひとは多い。
0414デフォルトの名無しさん
垢版 |
2017/08/30(水) 21:06:32.18ID:vAN9hjOo
Javaプログラマはマルチスレッドにしなくてもいいのにマルチスレッドで作ったり、それぞれのスレッドで同じデータを参照、更新したがるから変なことになる。
0415デフォルトの名無しさん
垢版 |
2017/08/30(水) 22:07:26.36ID:BAjgmjQJ
したがるかどうかは人による。
0417デフォルトの名無しさん
垢版 |
2017/08/31(木) 23:28:51.90ID:EcJJqLjf
質問です。
フィールド定数として下記のようなインスタンスを持つのはマルチスレッドプログラミング的に問題ありますか?

private static final Comparator<Date> COMPARE = new Comparator<Date>() {
@Override
public int compare(Date s, Date t) {
return s.compareTo(t);
}
};
0418デフォルトの名無しさん
垢版 |
2017/09/01(金) 00:01:38.73ID:WY1jTmKi
>>417
その Date が java.util.Date ならそれ自体がスレッドセーフでないためにうまく動かない可能性がある。
Date のインスタンスを渡す側の問題だ。COMPARE.compare(s, t) のように渡すことになるだろうが、
この s, t が他のスレッドと共有されており尚且ついつ書き換えられるかわからない場合は比較している
最中に書き換えられる可能性がある。
0422デフォルトの名無しさん
垢版 |
2017/09/01(金) 00:25:43.65ID:mAYENdZK
用途としては、
class DateUtil {
private static final Comparator<Date> COMPARE = new Comparator<Date>() {
@Override
public int compare(Date s, Date t) {
return s.compareTo(t);
}
};
public static List<Date> sortDate(List<Date> dateList) {
Collections.sort(dateList, COMPARE);
return dateList;
}
}

こういうイメージです。
(sortするだけでわざわざreturnする必要ないかもしれませんが)

フィールド変数は、危ないかもしれませんが、定数COMPAREは、それ自身に、
インスタンス変数を持ちません。なので、こういう場合はスレッドセーフなのか気になりました。
0423デフォルトの名無しさん
垢版 |
2017/09/01(金) 02:21:00.03ID:WY1jTmKi
>>422
それ自身はスレッドセーフだが List も Date もスレッドセーフではないので
使う側で同期を取るか、または他のスレッドからアクセスされないように作る
必要がある。
0424デフォルトの名無しさん
垢版 |
2017/09/01(金) 04:51:05.87ID:rLv0uJJn
判定してる最中または後にt,sが示す時間が変更された場合か

スレッドセーフでないことをバグであるかのように見ている人がいるとやっかいそうだ
もうちょい誤解しにくい日本語訳ないかな
0425デフォルトの名無しさん
垢版 |
2017/09/01(金) 06:09:31.18ID:RTadbuNn
Ruby の作者の、Matz でも、マルチスレッドはやった事がない

普通、関数を書く時に、マルチスレッド対応で書く人は、いない。
誰も書いた事がないはず。
マルチスレッド対応で書くには、数十年の研究が必要

マルチスレッドどころか、コンテナでは、read 走査中に、
要素を追加しただけで、バグるように作られているものが、ほとんど

初心者がマルチスレッドをやるなど、30年は早い
0426デフォルトの名無しさん
垢版 |
2017/09/01(金) 06:55:47.73ID:s82kToZ5
マルチスレッドなんて簡単だよ
共有するデータはDBなどに集中させる
Javaでは基本的に共有しないでローカルコピーを使う
どうしてもJavaで共有したいならイミュータブルにするかスレッドセーフなライブラリを使う
0427デフォルトの名無しさん
垢版 |
2017/09/01(金) 09:53:20.19ID:Z9Fha70u
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - エージェント×3 = 言い値50万以下
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - エージェント×1 悪質な言い値で50万以下
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - JIETに加入して公表価格で応募ができる
0428デフォルトの名無しさん
垢版 |
2017/09/01(金) 10:17:49.06ID:bXCQIuYm
数十年も研究しなくても普通のプログラマなら数秒から数分で理解できると思うがなあ・・・
0429デフォルトの名無しさん
垢版 |
2017/09/01(金) 13:07:05.18ID:cnTQZK5F
普通のプログラマなら、プログラミングに関わるほとんどの概念は数分でマスターできるけど、ここ初心者スレだから、あまり簡単を強調しない方がいいかも
0432デフォルトの名無しさん
垢版 |
2017/09/01(金) 22:28:02.34ID:fQM1CpIl
>>430
そうか?そりゃ余程へんな解説を聞いたかサンプルプログラムがサンプルと言えないほど複雑でクソだとかそういう特殊な場合ではないか?
0433デフォルトの名無しさん
垢版 |
2017/09/01(金) 22:37:22.34ID:9fFcfHIv
たとえば関数型プログラミングを
初見で数分で理解できたわーって
スラスラ書けるプログラマなんかほぼいない
0434デフォルトの名無しさん
垢版 |
2017/09/02(土) 00:06:17.15ID:wVJ/JGX4
マルチスレッドの話だろ?そんなの概念は直感でわかるだろ。
環境や言語やそのライブラリに応じて実現方法が違うだけで。
0435デフォルトの名無しさん
垢版 |
2017/09/02(土) 08:19:30.69ID:oilxAadu
直感で分かる言うひとと〜
すぐには理解できない言うひとの〜

想定してるもんがちがう〜

ちがう〜
0436デフォルトの名無しさん
垢版 |
2017/09/02(土) 09:34:27.23ID:SHTItmsy
>>423
では、渡すパラメータがローカルメソッドから渡されて、かつフィールド等にセットされない変数なら
スレッドセーフが保証されるわけですか?
0437デフォルトの名無しさん
垢版 |
2017/09/02(土) 13:46:02.16ID:5eH5prYD
>>436
スレッドセーフは保証されるよ
ローカル変数はスタックメモリに置かれてスタックメモリは
スレッドごとに独立してるから共有されないし
Comparatorは状態を持たないからね
0438デフォルトの名無しさん
垢版 |
2017/09/02(土) 13:54:08.95ID:wVJ/JGX4
基本は他のスレッドから書き込みアクセスされる可能性があるかないかだ。
あるのならセーフではない。なければセーフ。それだけの話。
0442デフォルトの名無しさん
垢版 |
2017/09/02(土) 15:25:36.24ID:SHTItmsy
>>437
意味がわかりません。
そもそもなんでDateやListがスレッドセーフではない話が出てきたんですか?
0443デフォルトの名無しさん
垢版 |
2017/09/02(土) 15:35:24.27ID:wVJ/JGX4
>>442
>>422で使ってるからだろ
0444デフォルトの名無しさん
垢版 |
2017/09/02(土) 15:37:22.62ID:SHTItmsy
>>443
でもそれぞれフィールドに保持してないですよ。書き換わる要素はないです。
0445デフォルトの名無しさん
垢版 |
2017/09/02(土) 15:42:03.87ID:wVJ/JGX4
>>444
だからそれそのものはスレッドセーフだけど呼び出す側で他スレッドと共有されていたらダメってこと。
>>423に書いてあるじゃん。
0446デフォルトの名無しさん
垢版 |
2017/09/02(土) 19:36:29.61ID:5eH5prYD
>>442
意味はわかるでしょ
0447デフォルトの名無しさん
垢版 |
2017/09/02(土) 23:20:40.52ID:9OEMTqr3
Elixir = Ruby + Rails + Erlang VM

Elixir は関数型言語で、状態を持たない

Elixir で並列に動く、小プロセスはデータを共有しない。
10万の小プロセスを、0.6秒で起動できて、すべてのCPUコアを使いつくす

これで、スレッドと状態を持つ地獄から、おさらば!

プログラミングElixir、2016
著者は「プログラミングRuby」のDave Thomas
0448デフォルトの名無しさん
垢版 |
2017/09/03(日) 11:52:47.70ID:jl0cf3RS
( ´_ゝ`)フーン
0449デフォルトの名無しさん
垢版 |
2017/09/05(火) 22:34:26.22ID:dK4j6KND
Q: Javaプログラマはなぜメガネかけてるの?
A: 彼らくっきり見えないんだよ。(can't see sharp(C#))

https://pbs.twimg.com/media/DIy2ilnW4AEcHJB.jpg
0450デフォルトの名無しさん
垢版 |
2017/09/05(火) 23:36:08.39ID:2RdPD3ce
まあ確かに俺はC#はできない。
かといってこれから覚えようという気も起きない。
というかそもそもJavaプログラマではない。少なくともJavaを使う仕事が俺には回ってこない。
0454デフォルトの名無しさん
垢版 |
2017/09/06(水) 19:06:07.94ID:4TLv3in6
異邦存在
0455デフォルトの名無しさん
垢版 |
2017/09/07(木) 07:19:13.27ID:MB/dyp5b
C#はJavaのパクリなんだからその気になればすぐ使える
というとC++のパクりだろって言われるだろうがな
0458デフォルトの名無しさん
垢版 |
2017/09/07(木) 08:27:53.25ID:MB/dyp5b
>>457
フレームワークなら同じ言語内でもある話だろう
phpの乱立に比べれば問題ないんじゃないか
0459デフォルトの名無しさん
垢版 |
2017/09/07(木) 10:53:40.12ID:KHq0qyGq
>>458
phpよりマシってのは同意
「すぐ使える」ってのがチュートリアルをこなせる程度って意味なら同意
0461デフォルトの名無しさん
垢版 |
2017/09/07(木) 23:45:33.37ID:1h1pdgP4
Javaはdotnetに比べるとめんどくさすぎるよ
未だに環境変数手動設定なクソSDK
キモい文法のビルドスクリプト
不親切でわかりにくいOSSエコシステム
何がどこに入ってるかわからんパッケージシステム
異様な量のxml設定ファイル
コンテナ・フレームワーク・基本ライブラリの粗製濫造
古くさい冗長な文法
周回遅れで導入される言語機能
アプリケーションの実装に集中する前にもうクタクタ
0463デフォルトの名無しさん
垢版 |
2017/09/08(金) 00:46:12.18ID:DUdklaUQ
メソッドにはダブルクオートはつけない
変数にもつけない
つけるのは直書きしたときだけ
0465デフォルトの名無しさん
垢版 |
2017/09/08(金) 07:50:37.46ID:WW306MqY
無駄な工数払うほうがアホだろ
ボランティアじゃねえぞ
この感覚が正しいからspring bootみたいなお手軽ブートストラッパが大流行したんだよ
0466デフォルトの名無しさん
垢版 |
2017/09/08(金) 07:52:51.24ID:Wk+L2KG3
工数に入れてる時点おまえはただの糞馬鹿
お前の言ってることなんて工数の内にも入らん
よって馬鹿には使いこなせない
0469デフォルトの名無しさん
垢版 |
2017/09/08(金) 08:02:03.53ID:Wk+L2KG3
工数にもならない程度の作業をラッピングされただけでありがたがるような馬鹿だと
どの道問題起きたときに苦労するからJavaでの作業は向いてない
ラッピングされてるってことは単に馬鹿用に端折ってブラックボックス化させてるだけだしな
bootのデフォルトで使われてるコンテナすら理解してないレベルだろお前等は
馬鹿が内製向けのツールを作る分には楽になるだけって話だな
よって馬鹿には使いこなせない
0470デフォルトの名無しさん
垢版 |
2017/09/08(金) 08:16:52.81ID:WW306MqY
>>469
こういうバカがDRY無視したコピペコードを大量生産するんだよなぁ
基本中の基本すらわかってない本物のバカオブザバカ
0473デフォルトの名無しさん
垢版 |
2017/09/08(金) 08:23:17.47ID:Wk+L2KG3
Javaも使いこなせない馬鹿が反論できなくなって発狂
いつもパティーンやな
お前みたいな馬鹿がグラマってるから巷に馬鹿が溢れかえるんだよ馬鹿
おまえはVBでも弄ってろアホ
0475デフォルトの名無しさん
垢版 |
2017/09/08(金) 08:34:27.38ID:idaiwuG/
>>473
パツキングラマーはバカに決まってんだろ

おまえの行く末はおまえが決めればいいけど相手を見下すだけの方針は息苦しくなるよ
本当の天才と相対したら死んでしまう
0478デフォルトの名無しさん
垢版 |
2017/09/08(金) 08:41:48.47ID:UV7+A1Tq
>>461
新しいものが出る度に乗り換えて、
客の環境も入れ替えさせるの?
趣味なら好きなの使えばいいんじゃないかな
0483デフォルトの名無しさん
垢版 |
2017/09/08(金) 09:33:28.93ID:YQG2/F8+
>>476
それ何?
0491デフォルトの名無しさん
垢版 |
2017/09/08(金) 18:07:02.95ID:47K+oTLF
ベータ版と比較して安全とか馬鹿だと思います
リリース版と比較すべきでしょう
ベータ版の意味知らないのかなって思いますよ
0495デフォルトの名無しさん
垢版 |
2017/09/08(金) 20:07:19.09ID:eQ2MXiWZ
>>494
お前はJavaを頑張れ
0496462
垢版 |
2017/09/08(金) 20:26:50.43ID:4h/TeiTo
>>463
ありがとうございました。
0497デフォルトの名無しさん
垢版 |
2017/09/08(金) 23:42:49.77ID:1UQsqClt
現役のプログラマの人がいたら意見を聞かせて欲しい
新人が入ってくるとしてどういうことを身につけておいて欲しい?もちろん会社によって求められる技術が違うのは分かっているんだけど
今職業訓練中。こんな風に書くとお前の才能無いの人のせいにするなとか言われそうだけど、講師がひどすぎる。クラス全員置いてけぼりでみんな困ってる
だからもう自分で入門書読んだりしてなんとか文法勉強してるんだけど、そこから先も一人で進めるかは不安。どういう勉強をしていくのが今求められる人材になれる?
0498デフォルトの名無しさん
垢版 |
2017/09/08(金) 23:51:00.20ID:idaiwuG/
>>497
知ったかぶりをせず人に聞ける程度のコミュ力

極論プログラム書けなくても現場で書ける人と繋がれたらいつの間にか書けるようになってるんだから小手先のスキルは後で良い
0499デフォルトの名無しさん
垢版 |
2017/09/09(土) 00:08:04.32ID:5ixV4zFS
JUnitを覚えろ
アルゴリズム一つ作るごとにテストケースを作って動作が正しいことを検証しろ
テスト駆動開発は理解も深まるし業務でJava使うような堅い職場はJUnit使えると必ず役立つ
0501デフォルトの名無しさん
垢版 |
2017/09/09(土) 01:28:15.56ID:Sn7cakJv
>会社によって求められる技術が違うのは分かっている
お前のただの妄想

>講師がひどすぎる
酷すぎる理由が一切書かれてない。読み手はお前の被害妄想としか受け取れない

>入門書読んだりしてなんとか文法勉強してる
書いてる内容を3日で理解できないなら諦めてコンビニバイトでもしろ
そんな低次元の知識は仕事で必要な知識量の1/100にも満たないからな

>人に聞ける程度のコミュ力
1日に何回も聞く奴はウザがられる

>JUnitを覚えろ
時間の無駄
0502デフォルトの名無しさん
垢版 |
2017/09/09(土) 04:49:25.98ID:Si3y5SDY
生徒についてはここでは触れないが、
酷い講師がいることは事実。

ある言語の教室に、その言語を全く知らない講師が来たのは震撼した
応募してきたクズも採用した教室も絶対に許さない
0503デフォルトの名無しさん
垢版 |
2017/09/09(土) 06:04:46.60ID:sPhDSaTF
>>501
>お前のただの妄想
>書いてる内容を3日で理解できないなら諦めてコンビニバイトでもしろ
>1日に何回も聞く奴はウザがられる
>時間の無駄

>酷すぎる理由が一切書かれてない。読み手はお前の被害妄想としか受け取れない
と否定する割にお前の主張に根拠がないんだが
0504デフォルトの名無しさん
垢版 |
2017/09/09(土) 06:12:48.38ID:xjITUSuv
>>488
UbuntuのリリースはDebianのベータを元にしてるな
つまり新しいかどうかでなく、品質を確保できているかどうかだ
そして新機能追加したばかりだと必ずバグはある
多くの人が使い枯れて安全となる
もちろんフィードバックがされないような状態はダメだ
ころころ変わるようなソフトは危険ということだ
0505デフォルトの名無しさん
垢版 |
2017/09/09(土) 06:34:28.48ID:YpNY2XAD
職業訓練であれ、全員未経験者の趣味で触ったこともない人ばかりって講座もすごいな
そんな高度な授業なのか
講師もどうしていいのか分からないんじゃ?
0506デフォルトの名無しさん
垢版 |
2017/09/09(土) 13:00:49.30ID:cTT03w6l
>>497
職業訓練に通ってるような奴に期待してる職場なんてないから、そのまま流れに身を任せていれば大丈夫
「今求められる人材」とかいうのは、お前とは違うステージの人間が意識すること
0507デフォルトの名無しさん
垢版 |
2017/09/09(土) 17:08:08.27ID:PtA6wXYt
スッキリわかるJAVA入門でオプジェクト志向の章に入ったものです。
メソッドの作成で急にpublicだけが抜けていたり、voidだけが抜けていたり、staticがつねに抜けていたりでその説明がありません。
ご教授お願いします。
0509デフォルトの名無しさん
垢版 |
2017/09/09(土) 17:28:28.27ID:PtA6wXYt
>>508
この本が1番初学者にとっていいって聞いたんですけどここにたどり着くまでにpublicとstaticの意味について全く触れられないままオブジェクト指向に入りました。
そこでいきなりpublicが抜けていたりstaticが抜けていたりでよくわからない状況なんですけど他の本の方がいいんですかね?
■ このスレッドは過去ログ倉庫に格納されています

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