Java入門・初心者質問スレ Part.6

■ このスレッドは過去ログ倉庫に格納されています
2017/12/21(木) 00:24:33.33ID:E/ADCCn6
Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ Part.5
http://mevius.2ch.net/test/read.cgi/tech/1506675205/
2018/01/21(日) 21:49:58.20ID:aph1QG4E
会社でテーブルの設計書見てたら
商品コード1、商品コード2、…、商品コード60
ってテーブルが出てきて暗澹たる気持ちになった
2018/01/21(日) 22:03:31.21ID:nVhAq4vg
COBOLエンジニアがこういう形式を好む
COBOL上がりで現代的なコーディングを知らない年配が設計するとこうなる
2018/01/22(月) 08:10:25.03ID:7eLVSaC0
将来追加される可能性が高い方を行へ
低い方を列へ
でいいんだよな?

     名前 年齢 性別 住所 ・・・
Aさん
Bさん
・・・
2018/01/22(月) 14:03:24.51ID:clKPsChN
>>551
名前 属性 値
Aさん データ1 ほげ
Aさん データ2 ふが
Bさん データ1 ふが

みたいなことだろう
性別とか生年月日(年齢)のような項目が決まりきってるものでこれやり過ぎるとそれはそれで複雑になったり遅くなるけど
2018/01/22(月) 15:23:47.99ID:G9pEPmeV
>>551
次元が違うのは列
上と下で足し算したり平均値取ったり比較したりできるようにするのが基本
554デフォルトの名無しさん
垢版 |
2018/01/22(月) 15:40:25.87ID:iNoGom5e
>>552
グループ番号作ってその番号で複数データまとめればいいのでは?
2018/01/22(月) 17:47:19.84ID:7eLVSaC0
悪い
なんで名前の前にインデント入れたんだろうw

だよな
上下にソートできるような構成ならいいよな
2018/01/23(火) 19:08:05.46ID:wn+Z7vUR
CharacterIterator.nextの戻り値DONEとはなんですか?

例も含めて教えていただけるとありがたいです
557デフォルトの名無しさん
垢版 |
2018/01/23(火) 19:16:27.97ID:gljD6lA0
static final char DONE

 反復子がテキストの終わりか始めに達したときに返される定数です。値は '\uFFFF' であり、有効な Unicode 文字列で使用できない「文字でない」値です。

 関連項目:
  定数フィールド値

テキストの始めから終わりの方向へたどります。

public void traverseForward(CharacterIterator iter) {
 for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) {
  processChar(c);
 }
}
558556
垢版 |
2018/01/23(火) 19:39:06.54ID:W4LX0tbA
>>557
ありがとうございます!
非常にわかりやすい例で感謝です
これでシナリオスクリプトを実装できます
2018/01/23(火) 21:25:24.45ID:LbPImNFQ
>>554
何を言っているんだ
560デフォルトの名無しさん
垢版 |
2018/01/23(火) 22:01:09.83ID:ZqrAOfGF
>>559
いや、同じ人に対して複数の同種の何かが紐付いてるんでしょ?だからまとめるための番号作ってそれで紐付ければいいんじゃないかという話。
2018/01/23(火) 22:45:39.87ID:PwC1Y5v6
まだ35歳死んでなかったのかよ
2018/01/24(水) 01:21:16.58ID:/Fupcv3r
35歳がどうたらって言ってる奴何なの?鬱陶しいんだけど。
2018/01/25(木) 00:20:36.72ID:E2lQNnjS
Javaでソケット通信を行うサーバプログラムを書きたいのですが、どなたかアドバイス願います
条件ですが次のとおりです
・クライアントは常に1つ
・やり取りするのは改行でおわる文字列データのみ
・GUIもあるので通信処理は別スレッド

最初はwebで調べて受信部を次のように書いていました(別スレッドです)

while(true) {
if ((line = reader.readLine()) != null ) {
何らかの処理();
}
}

これで受信自体は問題なく行えていたのですが、これだとデータが流れていない間は
readLine()でブロッキングされて、メインのプロセスが終了しても通信スレッドがゾンビで
残る問題が生じました
2018/01/25(木) 00:26:01.53ID:E2lQNnjS
なので、次に

while (flag) {
if (reader.ready()) {
line = reader.readLine() ;
何らかの処理();
}
}

としてプロセス終了時は flg をfalseにすることでスレッドもちゃんと停止してきれいに
終了できるようになりました。
ただ、この書き方だとクライアントの切断が検知できず、Acceptに戻る事が出来ないんです
クライアントから切断を行ってもずっとwhile(){ }の間を回り続けています

・プログラム終了時にゾンビスレッドを残さない
・クライアントの切断を検知して再度Accept() を行うようにする

には受信処理をどのように書けば良いのでしょうか?
565デフォルトの名無しさん
垢版 |
2018/01/25(木) 01:14:07.07ID:MvglAbIb
>>563
こうすればいいのでは?

String line;
while ((line = reader.readLine()) != null) {
 処理
}
566デフォルトの名無しさん
垢版 |
2018/01/25(木) 21:08:18.08ID:swiRhF/5
Keep-Alive とかで、5秒毎に、相手の生存を確認するとか、

Timeout とか
2018/01/26(金) 07:42:07.32ID:9nIIWfa1
>>560
何を言ってるんだ
こういうデータの多く、特に増えたものは
nullかデフォルトなのでそれでは意味ないだろう
キーが名前なのは不適切と言うなら既に別の話
568デフォルトの名無しさん
垢版 |
2018/01/26(金) 10:03:10.62ID:vD712h5D
>>567
いやもうどうでもいい。君には話が通じないようだ。
2018/01/26(金) 10:35:37.94ID:PmZnLvKJ
普通にデータは正規化しましょうという話で終わりだと思うが…
2018/01/26(金) 12:13:00.85ID:PNVpmu6G
>>552
その系統でやりすぎてとてもめんどくさいことになってるテーブルと戦ったことあるわ
まだ振り切って全部縦長になってりゃ何とかなるのに横長も居たりするのでちょー困った
2018/01/26(金) 17:56:59.87ID:9nIIWfa1
縦とか横とか頭の中がエクセルなのかな

>>568
グループとか同種とかくくりの曖昧なものが1人の頭の中にしかないからな1人で話しててくれ
572デフォルトの名無しさん
垢版 |
2018/01/26(金) 22:08:43.53ID:k1wF1dWs
Mockito使えばDI使わなくてもテストしやすいんじゃないかと思ってるんですが間違ってますか?
DIは今でも必ず採用すべきものでしょうか。
573デフォルトの名無しさん
垢版 |
2018/01/26(金) 23:39:26.50ID:Nr0bokLn
DIなんて要らないし単体テストも必要ないです
手法にこだわるのはキモオタです
574デフォルトの名無しさん
垢版 |
2018/01/27(土) 00:09:12.61ID:Rbs1Ezhr
原理主義的なTDDは疑問だけど、でも単体テストは要るでしょう。
DIはインターフェース増えまくるのと、一部の永続化されるクラスについてどうやるのかとか。
永続化をカプセル化すると、DBとかからの読み出しで値を作ってしまうが、
それがDIコンテナに設定されたルールに従ってるか分からないし。
じゃあ、DIコンテナ側で永続化も扱えるんだろうか。よく調べてないけど。
575デフォルトの名無しさん
垢版 |
2018/01/27(土) 00:37:01.44ID:2R6J06f/
必ず要るものじゃないっしょ
単体テストやってる途中に先を越されて類似のサービス
公開されたら二番煎じの謗りを免れないよ
品質よりスピードが利益生むこともある
手法にこだわらずにケースバイケースで単体テストは要らない
576デフォルトの名無しさん
垢版 |
2018/01/27(土) 00:41:59.61ID:2R6J06f/
日本がIT後進国なのは品質に過剰にこだわりすぎてるからだと思う
577デフォルトの名無しさん
垢版 |
2018/01/27(土) 00:44:30.67ID:Rbs1Ezhr
じゃあDI無しでやってみるかなあ
2018/01/27(土) 09:58:10.97ID:UeYnCmwl
>>576
根本的には請負というビジネスモデルのせいだよ
客との間で責任が分かれているため、客にとってのビジネス的な重要度を無視した過剰品質になるのは当然のこと
言われたことしかせず同じようなもののスクラップアンドビルドを繰り返すばかりです技術も全く蓄積しない
2018/01/27(土) 10:30:39.02ID:Y/QAcOkS
35歳の話題じゃないだけマシか
2018/01/27(土) 10:44:50.02ID:1GYKUPGv
>>576
品質という名の前例踏襲
2018/01/27(土) 13:25:51.61ID:jJuHTE4+
DIってDepedancy Injectionのことだよね?
DI使わずにどうやってあとからMock注入するの?
582デフォルトの名無しさん
垢版 |
2018/01/27(土) 14:19:30.64ID:Rbs1Ezhr
powermockだとできるみたい。typemock?も

ところでlog4jは各クラス毎に宣言するほうがいいんですか?
Constクラスみたいなところに1つ宣言するだけではダメですか?
583デフォルトの名無しさん
垢版 |
2018/01/27(土) 19:15:55.94ID:Rbs1Ezhr
https://stackoverflow.com/questions/8454677/create-privatekey-and-publickey-from-a-string-base64-encoding-with-der-format
https://stackoverflow.com/questions/19353748/how-to-convert-byte-array-to-privatekey-or-publickey-type

この辺見るとPublicKeyはX509、PrivateKeyはPKCSで作ってて、
実際やってみるとPrivateKeyをX509で生成できませんでした。
なぜですか?
2018/01/27(土) 21:17:35.41ID:S+YQeyK2
レベルの低い話でごめんなさい
Applet で書かれたものを Frame に直す、というのをチマチマやっていたが、
デフォルトの Layout Manager が applet と frame で違うんだね、ずいぶんと寄り道してしまった…
585デフォルトの名無しさん
垢版 |
2018/01/27(土) 21:24:50.03ID:0ISwxtuY
面倒な時はFrameのインスタンスにAppletのインスタンスをadd
2018/01/28(日) 21:04:01.32ID:K1HCu0ps
ごめんなさい。
ここしか書き込む場所わからず。
当方27歳。ただのしがない営業マン。ひょんな話からプログラミングに興味を持ち、Javaを独学やり始めた。
ただ不安な事に、パソコンのことが全くわからない。
オブジェクトを勉強しててもそのことがすごいネック。将来はプログラミングで生計を立てたいと思ってる。
そんな、『プログラミングを勉強しだしたけど、その前にまずパソコンの基礎から学ぶべき人』にオススメの本や学び方などご教示いただきたく。
これまでパソコンを毛嫌いしてたツケがw
2018/01/28(日) 21:11:38.24ID:ALu/+v8Q
>>586
基本情報取れ
最低限必要な知識はコンパクトに学べる
588デフォルトの名無しさん
垢版 |
2018/01/28(日) 21:34:42.95ID:qeSO+Mx2
なんでパソコンを毛嫌いしてたのかがイマイチよくわかんないけど、アルゴリズムとかから勉強したら?
あと、PCの学習を並行するなら、メモリを意識するC言語から始めてみては?
2018/01/29(月) 00:06:53.33ID:sZ2mR3hY
今時はスマホだけって人も多いだろよ

だがそんな人がプログラミングで何しようと言うのか解らんが
2018/01/29(月) 00:23:06.86ID:non0FnDD
仮想通貨に興味を持っただけだろ
591デフォルトの名無しさん
垢版 |
2018/01/29(月) 00:31:11.72ID:OAHpORg+
ごめんなさい。
ここしか書き込む場所わからず。
当方35歳。ただのしがない営業マン。ひょんな話からプログラミングに興味を持ち、Javaを独学やり始めた。
ただ不安な事に、パソコンのことが全くわからない。とえあえず15ノートpc購入
オブジェクトを勉強しててもそのことがすごいネック。将来はプログラミングで生計を立てたいと思ってる。
そんな、『プログラミングを勉強しだしたけど、その前にまずパソコンの基礎から学ぶべき人』にオススメの本や学び方などご教示いただきたく。
これまでパソコンを毛嫌いしてたツケがw
2018/01/29(月) 00:33:16.72ID:sZ2mR3hY
どこかの有名なコピペ?
2018/01/29(月) 01:57:17.30ID:1H86zrpO
>>586
ツケじゃなくでづかだろ
2018/01/29(月) 07:23:14.45ID:4Sr9L86F
あいつの「づか」って名前が既に病的だと思うのは俺だけか?
2018/01/29(月) 09:19:24.86ID:ZQWI+T8B
>>587
専門学校行くのがいいと思うよ。働きながら学べるコースがあるところ。
基本専門学校は資格ベースだから、なんかしらの資格をとるまで必死に
教えてもらえるよ。資格を生徒に取らせた数こそが専門学校の講師の
ノルマだからね。だからそういう厳しくやっている専門学校にいくといい。
2018/01/29(月) 09:22:17.85ID:ZQWI+T8B
>>591
コピペだろうけど35歳から未経験者がJava独習しても
それで生計を立てるのは絶望的だと思うよ。
そんな人雇わなくてももっと若い人雇ったほうが鍛えがいがあるし。
2018/01/29(月) 11:01:11.98ID:vA4dMQ1g
>>595
基本情報くらい独学で取れない奴はやめといた方がいいと思うわ
自分で勉強できない奴が入ってきても生涯奴隷のままで最後は電車止めることになるよ
2018/01/29(月) 11:27:33.26ID:GdbVc+H3
まずは設計やUML勉強して技術営業やってみればいい
趣味でプログラムして実力をつけていけはいい
2018/01/29(月) 12:24:33.31ID:ymvjKMoJ
営業スキルあるエンジニアは技術が二流でもかなり重宝される
理系有名大卒で技術持っててもコミュ障はゴミ

付け焼き刃でいいから入門書さっと流してさっさと現場に入ったほうがいい
半年もすりゃ理系コミュ障より昇進してるよ
2018/01/29(月) 12:26:27.92ID:4Sr9L86F
コンピュータアーキテクチャの本って現代だと何がオススメなんだろうな

古典は色々出てくるけど、クラウド時代に必要かって言うと…
2018/01/29(月) 12:40:47.31ID:sPkFqv6l
ガウディ本が名著過ぎて、その他は蛇足って感じ
2018/01/29(月) 12:42:50.43ID:ymvjKMoJ
DDD押さえとけばあとは応用できるっしょ
2018/01/29(月) 12:46:50.90ID:ymvjKMoJ
ってコンピュータアーキテクチャの話か見えなかった
2018/01/29(月) 15:25:13.46ID:QbU1NlLP
>>596
50歳でも60歳でもプログラマーで生計を立ててる人はいますし、
新しい技術も吸収してます。
35歳だからと言って絶望する理由はないと思いますが。
35歳で絶望しないといけないなら、27歳でも同じですよね。
新卒の22歳のほうが鍛え甲斐があるでしょうから。
このたかが8歳の差で何が違うというのですか?
35歳という個人に対して恨みがあってそれを晴らしたいだけでは?
2018/01/29(月) 18:42:08.99ID:SqnkFddM
>>604
年齢歳では無く、個体差の問題です。
その35歳は、入門書を1年掛かって読み終えて基本が身に付いていません。
学習意欲も無く、答えが記載された練習問題は取り組みますが、オリジナルの問題を出されると何もしません。
実力・実績・向上心の全てが有りません。
ワード・エクセル・パワーポイントが使えると言うだけでプログラマとして入社しようとしています。
対人関係のためにサポート要員を付けろ・自席にパーティションを区切れとも言ってます。
門前払いの物件ですが、障害者の立場を悪用して採用担当が疲弊するだけなので
恨みでは無く、面倒なだけの案件を避けたいのです。

ですから、あなたに雇って貰えれば幸いです。如何でしょうか?
2018/01/29(月) 20:29:38.82ID:ujPfknIU
>>605
貴方の言うことが事実であれば、採用する会社はないでしょうし
何も心配をする必要はないのでは?
貴方の会社はどこにも採用されない人を必ず雇用する最後の砦か
何かなのですか?そうでないのならば何も心配はいらないですよね。
単なる私怨で35歳という個人に嫌がらせをしているだけということですよね。
2018/01/29(月) 20:59:33.85ID:n2bb7ahl
>>589
そういやスマホでスマホ用アプリ開発出来たらいいよな。
今でも限定的なのはあるとは思うが。もっとフルで。
2018/01/29(月) 22:00:23.46ID:GdbVc+H3
何か一芸に秀でちゃうとその仕事ばかり回されて
その技術とともに引退してく気がする
会社が技術者を使い捨ててる
なのでフリーになった
2018/01/29(月) 22:16:17.71ID:OuWw34nm
>>607
CIサービスを使うのが手っ取り早い
でもスマホの小画面で開発すると健康に悪影響あるからやめたほうがいい
2018/01/29(月) 23:13:40.93ID:1H86zrpO
>>606
人事システムに関わっていて採用担当の人と繋がりが有り面接に同席した事もあります。
ここまで酷い奴に出会った事は有りませんが側から見ていて担当者の苦労を知ってるだけに黙っていられませんでした。
セーフティーネットを悪用しないで自分の実力で来るなら気にしませんが
こんな奴を相手にしないといけない担当者に配慮をして頂きたいです。

言動を私怨と受け取られても構いませんから、35歳を雇ってあげて下さい。
お願いいたします。
2018/01/29(月) 23:47:11.46ID:yP9Ervit
>>606
横からすまんが、35歳にエサをやらないで欲しいと言うのは俺も同感なので、
可能ならば無視して欲しい。
2018/01/30(火) 01:01:49.92ID:Ajqp00vh
>>606
雇ってやれよ
35歳も望んでいるだろうし
嫌がらせをされる事も無くなる
ウィンウィンな関係に!
2018/01/30(火) 06:19:47.94ID:lqamQU36
句読点と4行以上書いてる奴は自演荒らしだから絶対触るなよ
2018/01/30(火) 08:35:01.42ID:b9IDfAQu
>>608
ちょっと違うが
能ある鷹は爪を隠すで渡り歩けばいい
2018/01/30(火) 10:37:09.05ID:ZhCpk8UL
そもそもプログラミングって楽しいのになんで仕事なんかにしちゃうの?
人からあーだこーだ言われたり自分がやりたいこと邪魔されたり
いついつまでに仕上げろとか言われたら楽しいもんも苦痛に変わっちゃう
人生すり減らしてるだけな感じがするわ
できたら仕事にはしたくないねぇ
2018/01/30(火) 12:10:12.16ID:0ko73tKF
資金と人員があるとできる事が全然違うからね
好きで仕事にする選択は普通にアリだよ
2018/01/30(火) 15:02:14.31ID:lqamQU36
寝てても出来るようなJavaの業務プログラムすら苦痛とか言ってるような
低レベルのアホはおとなしく肉体労働でもやってたほうがいい
もっともPGの仕事なんかしたことないだろうがな
618デフォルトの名無しさん
垢版 |
2018/01/30(火) 21:15:57.18ID:vrBeeWhg
プログラミングが楽しいというのはいかにも初心者だよな。
619デフォルトの名無しさん
垢版 |
2018/01/30(火) 21:18:40.71ID:YzkDukp0
あーまだ楽しいから初心者だ
楽しくなくなっていく経過例を知りたい
2018/01/30(火) 21:35:27.85ID:eM1owgzQ
周りの人が人海戦術であっというまにコードを破壊していく時かな
個人じゃどうやってもフォロー無理ってなるとモチベーション下がる
2018/01/30(火) 22:09:53.27ID:ZhCpk8UL
でも俺の言ったこと結構効いてるんだろ?ん?わかってんだぜ^^
2018/01/30(火) 23:31:34.86ID:EiN0/dmo
>>620
壊れやすいコードしか書けないからそういうことになる
2018/01/31(水) 00:26:25.90ID:NyuJgB/8
目的地に辿り着くまでの交通手段の一つとしか思わなくなったな
適切な乗り物や経路を選ぶことこそが重要で面白い部分で、
小手先の運転技術に拘ってるうちは初心者だと思うわ
624デフォルトの名無しさん
垢版 |
2018/01/31(水) 01:26:23.94ID:Mw3vWzBx
旅は目的地に着くまでが楽しい。
2018/01/31(水) 07:51:57.75ID:ahOKCCp+
>>622
壊れにくいコードがこわされるんですよ。
強引にコードを改竄されちゃう。
2018/01/31(水) 09:34:02.62ID:eYm1W8Cx
>>623
A「このコースでこのタイム出た」
B「いやあのコースの方が早いし」

高確率で両者は平行線だな
2018/01/31(水) 09:43:29.85ID:8wMwJPdi
そもそも
可読性まで考えると下手にソフト側で工夫するより、強力なハードウェア一個入れる方がいいってのが現代だからな
628デフォルトの名無しさん
垢版 |
2018/01/31(水) 10:25:31.47ID:H6iQ2Lk/
>>627
それ何十年も前からそうだったように思う。
2018/01/31(水) 11:41:08.98ID:5zei4l0g
>>627
今だとクラウドのマネージドサービスもあるからな
ジョブのキューとかシコシコ自作する奴はもはや老害
2018/01/31(水) 13:24:27.52ID:and1GARu
すみませんガチの初心者なのですが、
これから勉強を始めるにあたって、おすすめの教本などありますでしょうか?
2018/01/31(水) 15:27:32.49ID:xdajApn4
>>630
月並みだけど、この本がいいと思う。優しく解説してある。

スッキリわかるJava入門 第2版
https://book.impress.co.jp/books/1113101090
2018/01/31(水) 16:53:10.44ID:qdw2fSIB
>>631
他所のスレでその本読んでる人が、本の通りと言って
ものすごく腐ったコードを貼っているので、
その本やばいんじゃないかと思う。
その人自身がすごいイカれているだけかもしれないけど。
2018/01/31(水) 17:03:08.02ID:7iY/Y9hN
スッキリわかるJava入門 第2版
販売開始日:2014/08/07

Java7の頃だよね。結構内容古いんじゃないの?
2018/01/31(水) 17:39:18.13ID:dXfiTOdy
>>632
分かってて書いてるんだろうけど、それこのスレでも暴れている
◆BrBq2CJg6HGdという頭のおかしい奴だから。
本は古いけどまともだよ。◆BrBq2CJg6HGdが勝手に間違って
解釈して暴れているだけ。
2018/01/31(水) 17:48:25.34ID:8wMwJPdi
そういやHeadFirstのJavaってどうなの?
デザパタ本は結構良かったけど
2018/01/31(水) 19:56:00.83ID:qDSztMHL
>>632
http://hissi.org/read.php/tech/20180131/eGRhakFwbjQ.html
2018/01/31(水) 20:28:44.72ID:UcwRCwK2
>>636
何このキチガイwww
2018/01/31(水) 20:56:55.80ID:G7vsPfpP
35歳寺バカスwww
639630
垢版 |
2018/01/31(水) 21:00:07.79ID:and1GARu
ありがとうございます。
今の仕事に加えて2本目の柱にすべく、いちから頑張ります。
(10年前にITにいたなんて言えない。。。)
2018/01/31(水) 21:06:37.27ID:AX72W1bb
>>609
その辺はVR用ゴーグルにセットして3Dで
2018/01/31(水) 23:00:20.88ID:JDsfhD7E
>>640
余計目が疲れるだろ
2018/01/31(水) 23:16:50.91ID:ah9e2u9N
まずこの本で、しっかりと、オブジェクト指向を学ぶ。
スッキリわかる Java入門 第2版、2014

その次に「たのしいRuby 第5版、2016」という道筋が、鉄板!
以後は、Python, JavaScript, C#, Kotlin など、お好きな言語へ進む

評論家・作家が集まって、数十冊のJavaの本を論じる座談会でも、
議論の半分以上を、スッキリ1冊で占めるというw
2018/02/01(木) 10:46:07.75ID:9QQG1u4s
新明解Javaは?
644630
垢版 |
2018/02/01(木) 12:56:12.87ID:8sYc2u5H
すみません最初でつまづいてます
Javaをインストールし、環境変数で
PATHにC:\Program Files\Java\jdk-9.0.4\binを追加したのですが、
CMDでJavacと入れても認識しません
設定がおかしいのでしょうか?
2018/02/01(木) 12:58:09.42ID:BE+0VHY8
そうでしょうね。
2018/02/01(木) 12:59:31.72ID:BE+0VHY8
>>642
議論になるということは、すっきりしていないってことではw
2018/02/01(木) 13:27:02.26ID:8sYc2u5H
すみません解決しました
お騒がせしました。。。
2018/02/01(木) 17:21:42.52ID:8zqI8Ogw
>>614
隠し事できない人なんだ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。