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
93デフォルトの名無しさん
2017/10/05(木) 22:22:46.50ID:Iw1gUCSC >>92
javac - Java programming language compiler
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html#searching
| The compiler searches for class files first in the bootstrap and extension classes,
| then in the user class path (which by default is the current directory).
| The user class path is defined by setting the CLASSPATH environment variable
| or by using the -classpath command line option. (For details, see Setting the Class Path).
コンパイラは、まずブートストラップクラスと拡張クラスのクラスファイルを検索し、
次にユーザークラスパス(デフォルトではカレントディレクトリ)を検索します。
ユーザークラスパスは、CLASSPATH環境変数を設定するか、
-classpathコマンドラインオプションを使用して定義します。
クラスパスのオプションが指定されていないのでユーザクラスパスはカレントディレクトリですよと
パッケージ名がついてるときはパッケージ名と同じディレクトリがないといけないですよと
なのでこうかな
javac -cp ..\ RenshuB.java
cd ..
javac kenshou2\RenshuB.java
javac - Java programming language compiler
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html#searching
| The compiler searches for class files first in the bootstrap and extension classes,
| then in the user class path (which by default is the current directory).
| The user class path is defined by setting the CLASSPATH environment variable
| or by using the -classpath command line option. (For details, see Setting the Class Path).
コンパイラは、まずブートストラップクラスと拡張クラスのクラスファイルを検索し、
次にユーザークラスパス(デフォルトではカレントディレクトリ)を検索します。
ユーザークラスパスは、CLASSPATH環境変数を設定するか、
-classpathコマンドラインオプションを使用して定義します。
クラスパスのオプションが指定されていないのでユーザクラスパスはカレントディレクトリですよと
パッケージ名がついてるときはパッケージ名と同じディレクトリがないといけないですよと
なのでこうかな
javac -cp ..\ RenshuB.java
cd ..
javac kenshou2\RenshuB.java
2017/10/05(木) 22:44:07.57ID:RWFlOlgJ
Java は、実際のフォルダ階層と、
各クラスのパッケージ階層を、同一にしないといけない
各クラスのパッケージ階層を、同一にしないといけない
96デフォルトの名無しさん
2017/10/06(金) 05:37:22.47ID:JP/D7qWJ JSFを勉強しているのですが、JSF2の参考書は分厚い難しそうなのしかないのですが、JSF1とかの参考書は
Amazonの中古で割と砕けた感じのがありとっつきやすそうなのですが、JSF1と2ではやはりだいぶ違いますか・・?
根幹とかが一緒なら、やってみたいとも思うんですが・・。
Amazonの中古で割と砕けた感じのがありとっつきやすそうなのですが、JSF1と2ではやはりだいぶ違いますか・・?
根幹とかが一緒なら、やってみたいとも思うんですが・・。
2017/10/07(土) 10:28:44.48ID:ao3GcIPR
>>96
俺は1覚えた状態から2を覚えたけど、今なら最初から2の方がいいでしょ。というか、俺は5年前にJSFを捨てた。当時は気に入ってたけど、今時のweb開発とは全く違うから。
内部で使う管理ツール的なアプリならいいけど、普通のアプリはちょっと辛いよ
俺は1覚えた状態から2を覚えたけど、今なら最初から2の方がいいでしょ。というか、俺は5年前にJSFを捨てた。当時は気に入ってたけど、今時のweb開発とは全く違うから。
内部で使う管理ツール的なアプリならいいけど、普通のアプリはちょっと辛いよ
2017/10/08(日) 01:10:37.77ID:hbsbK/yL
実際の現場で、新入社員等に○○されたら
ブチ切れる……みたいなことありますか?
JAVAか、少しスレちですが開発現場関係で
教えてくださいませ!
ブチ切れる……みたいなことありますか?
JAVAか、少しスレちですが開発現場関係で
教えてくださいませ!
2017/10/08(日) 01:49:50.25ID:TOf4XrGv
少しどころではない
100デフォルトの名無しさん
2017/10/08(日) 01:58:15.50ID:X3i4AnjM 板違いだな
マ板向きの話題か
マ板向きの話題か
101デフォルトの名無しさん
2017/10/08(日) 02:05:12.73ID:hbsbK/yL そうですか……
すみませんでした
すみませんでした
102デフォルトの名無しさん
2017/10/08(日) 06:48:08.91ID:Iqz4qArZ プログラマの雑談部屋 ★16
http://medaka.5ch.net/test/read.cgi/prog/1507354689/
http://medaka.5ch.net/test/read.cgi/prog/1507354689/
103デフォルトの名無しさん
2017/10/08(日) 19:12:48.63ID:gbjNFn3Z 変な改行
変な顔文字
変な顔文字
10496
2017/10/11(水) 11:38:51.27ID:Ys/lPH2g だいぶ亀レスですが、ご容赦ください・・。
>>97
やっぱそうですよね・・。どのWebページ見てもJSFは2からやったほうが良いようなことを書いてあります。
JSF1はくだけた解説書があるのですが、JSF2はあんまりないです(´・ω・`)…
Kindle本で評判悪いですが、あるのでやってみようと思います。KindleUnlimtedに加入すると0円らしいです・・・
お礼が遅くなりすみません。どうも体調が悪くて・・・。しかし、今時のWeb開発とは違うんですね・・。
私がやってたころは、Strutsしかなかったのに・・・。
>>97
やっぱそうですよね・・。どのWebページ見てもJSFは2からやったほうが良いようなことを書いてあります。
JSF1はくだけた解説書があるのですが、JSF2はあんまりないです(´・ω・`)…
Kindle本で評判悪いですが、あるのでやってみようと思います。KindleUnlimtedに加入すると0円らしいです・・・
お礼が遅くなりすみません。どうも体調が悪くて・・・。しかし、今時のWeb開発とは違うんですね・・。
私がやってたころは、Strutsしかなかったのに・・・。
105デフォルトの名無しさん
2017/10/11(水) 12:44:18.73ID:uj1SUlbB 保守作業するんでもない限り今からやるならspringのほうが良いだろ
むしろspringがあるからJava使うレベル
むしろspringがあるからJava使うレベル
106104
2017/10/11(水) 15:33:31.63ID:Ys/lPH2g >>105 Springってそんなにいいんですね。図書館にSpringの本がたくさんあったので
それやってみようと思います。J2EE関連の本はJSFばっか取り扱っているので、Springなんておまけみたいなものなんだろうと思っていました。それ、やってみます。
どうもありがとう。
それやってみようと思います。J2EE関連の本はJSFばっか取り扱っているので、Springなんておまけみたいなものなんだろうと思っていました。それ、やってみます。
どうもありがとう。
107デフォルトの名無しさん
2017/10/11(水) 20:30:44.86ID:QnvmwpWa プログラミング GROOVY、2011
Spring Framework 4 プログラミング入門、掌田津耶乃、2014
Spring Boot プログラミング入門、掌田津耶乃、2016
Spring Framework 4 プログラミング入門、掌田津耶乃、2014
Spring Boot プログラミング入門、掌田津耶乃、2016
108デフォルトの名無しさん
2017/10/12(木) 02:29:30.72ID:uD/G1fwI プログラミング速度を上げる方法を教えてください。
バリバリの初心者で、とにかくベタベタ上から書いています。
しかし、先を見据えてないので、書いて消して悩んで……で
時間だけが無駄に過ぎていきます(;;)
(料理の初心者が、あたふた料理している感じ)
何回なアルゴリズムをすぐに思いつく! ではなく……
普通のアルゴリズムの普通のソースコードを、
たんたんと書いていけるようにしたいのです。
(料理人が危なげなく、並列して料理している感じ)
みなさんは、どうやって開発、記述しているのでしょうか?
バリバリの初心者で、とにかくベタベタ上から書いています。
しかし、先を見据えてないので、書いて消して悩んで……で
時間だけが無駄に過ぎていきます(;;)
(料理の初心者が、あたふた料理している感じ)
何回なアルゴリズムをすぐに思いつく! ではなく……
普通のアルゴリズムの普通のソースコードを、
たんたんと書いていけるようにしたいのです。
(料理人が危なげなく、並列して料理している感じ)
みなさんは、どうやって開発、記述しているのでしょうか?
109デフォルトの名無しさん
2017/10/12(木) 02:47:30.24ID:D7OLf+6g >>108
行き当たりばったりに書かないで
全体から書いていくと良い
具体的にはUML(のクラス図とか)を書く
慣れたらいちいち書かなくてもいいけど
最初のうちは書いて全体の見方を覚える
そうすると料理で言ったら煮込んだり
時間のかかる調理をしながら
下ごしらえをするみたいなことができる
要するにムダがなくなる
行き当たりばったりに書かないで
全体から書いていくと良い
具体的にはUML(のクラス図とか)を書く
慣れたらいちいち書かなくてもいいけど
最初のうちは書いて全体の見方を覚える
そうすると料理で言ったら煮込んだり
時間のかかる調理をしながら
下ごしらえをするみたいなことができる
要するにムダがなくなる
110デフォルトの名無しさん
2017/10/12(木) 08:39:52.77ID:Qd5qTvbC111104
2017/10/12(木) 09:00:15.46ID:fTkEvokp >>107
ありがとう。その2冊は図書館にあったので、見てみます。前から、ちょっとは見てみたいな…と思ってたやつです。
あと掌田津耶乃さんはけっこうSpringとかGroovyとか推してますよね(´・ω・`) JSFでググったときに出てきました。
一度読んでみます。ありがとう。ステマじゃないよw
ありがとう。その2冊は図書館にあったので、見てみます。前から、ちょっとは見てみたいな…と思ってたやつです。
あと掌田津耶乃さんはけっこうSpringとかGroovyとか推してますよね(´・ω・`) JSFでググったときに出てきました。
一度読んでみます。ありがとう。ステマじゃないよw
112デフォルトの名無しさん
2017/10/12(木) 09:17:19.57ID:uD/G1fwI >>109
UMLは全図を勉強しましたが、もっぱらクラス図を見るだけですね。(〜_〜;)
クラス図以外は使っていないので、だんだんと記憶が……。
例えば、下記のような仕様のソースを109様が開発するときは、すらすらとクラス図にできるのでしょうか? もしコツがあるならご教授ください……!
稚拙な例ですいません(><)
「なんでも計算機」
・基本機能は加減剰余のみ。
・プラグイン形式で数学的計算機能を追加可能。
(開発者が追加していくパターン)
・プラグイン形式でユーザー独自の関数を追加可能。
・方法:テキストファイルに決まった形式でユーザーが関数を書き込み、
それを取り込み、機能を実現。
>>110
慣れ……ですか。(><)
110様の普段のコツは無いのでしょうか?
UMLは全図を勉強しましたが、もっぱらクラス図を見るだけですね。(〜_〜;)
クラス図以外は使っていないので、だんだんと記憶が……。
例えば、下記のような仕様のソースを109様が開発するときは、すらすらとクラス図にできるのでしょうか? もしコツがあるならご教授ください……!
稚拙な例ですいません(><)
「なんでも計算機」
・基本機能は加減剰余のみ。
・プラグイン形式で数学的計算機能を追加可能。
(開発者が追加していくパターン)
・プラグイン形式でユーザー独自の関数を追加可能。
・方法:テキストファイルに決まった形式でユーザーが関数を書き込み、
それを取り込み、機能を実現。
>>110
慣れ……ですか。(><)
110様の普段のコツは無いのでしょうか?
113109
2017/10/12(木) 09:48:27.62ID:D7OLf+6g >>112
>「なんでも計算機」
3D描画エンジンとかもそうだけど
そういう専門的なものを作る場合は
UMLとか一般的なOOP手法だけじゃなくて予備知識がいる
例というだけじゃなく本当にその仕様を実現したいなら
インタプリタとか言語処理系の知識が必要
「バリバリの初心者」向きの題材じゃない
>「なんでも計算機」
3D描画エンジンとかもそうだけど
そういう専門的なものを作る場合は
UMLとか一般的なOOP手法だけじゃなくて予備知識がいる
例というだけじゃなく本当にその仕様を実現したいなら
インタプリタとか言語処理系の知識が必要
「バリバリの初心者」向きの題材じゃない
114デフォルトの名無しさん
2017/10/12(木) 11:06:35.94ID:UV6Mfibu >>108
設計を学ぶ
設計を学ぶ
115デフォルトの名無しさん
2017/10/12(木) 11:18:21.19ID:Qd5qTvbC >>112
自分用にあったら便利そうな小さなツールから作っていく
次第に「あれとあれ組み合わせたらいいのできるかも?」みたいに思いつくから
段々規模を大きくしていく
でももし趣味とか好きだからじゃなく仕事で仕方なくとかなら思いつきにくいかも
後々土台の変更が必要になったりしてもいいなら
まず単純に加減乗除の式だけテキストから読み込んで実行できるようなのを作ったら
後は機能追加でいいから土台だけでもやってしまうとか
何桁まで扱うようにするのかとか多倍長整数まで扱うのかとかも要検討かな
自分用にあったら便利そうな小さなツールから作っていく
次第に「あれとあれ組み合わせたらいいのできるかも?」みたいに思いつくから
段々規模を大きくしていく
でももし趣味とか好きだからじゃなく仕事で仕方なくとかなら思いつきにくいかも
後々土台の変更が必要になったりしてもいいなら
まず単純に加減乗除の式だけテキストから読み込んで実行できるようなのを作ったら
後は機能追加でいいから土台だけでもやってしまうとか
何桁まで扱うようにするのかとか多倍長整数まで扱うのかとかも要検討かな
116デフォルトの名無しさん
2017/10/12(木) 11:18:29.49ID:Aq/Tc0l7117デフォルトの名無しさん
2017/10/12(木) 11:21:03.26ID:W4Y9jhaF 面白いことに「数式を入力して計算するアプリを作る」よりは「色々な数式ボタンをつけた電卓を作る」ほうがずっと簡単なのだ
テキストパーサの知識はゆくゆくはあったほうがいいが、初心者がやるもんじゃねーな
んで、もし
プログラミング行為自体が遅い(1時間に打つ文字数が少ない、等)と思った場合:
・ 文字列やコレクションが持つメソッドの動作、高度な制御構造の使い方だけは絶対に記憶しておく
(書き方は覚えなくていい。「配列を○○する方法ってそういえばあったな」と気付ける程度でいい)
・ メジャーなデザインパターンを、これまた基本的な動作だけやって納得しておく(書けなくていい)
7割くらい機能ができた時点でかなり消して3割くらいから書き直すが動かない、みたいなことが頻発する場合:
・ gitや、gitや、あとgitのようなバージョン管理システムを利用する
(git類は「ここまでできたので保存しておく」「壊してしまったので保存時点まで戻す」「試しにコピーして改造する」がすぐできる。必須)
・ 上記に関し、メソッド単位で編集保存するという作り方を心掛ける(いきなりあちこち書き換えない)
メソッドAを使うメソッドBを作ったのだがそのまま動くと思ったメソッドAでエラーが出る、みたいな「このメソッドいきなり動かなくなった」が多発する
・ "ユニットテスト"を導入する。小難しい議論が大量にあるが当座「このメソッドはこの引数Aの時戻り値Bを返す、Cのときは実はD」という使い方でいい
UMLやクラス構成図を使っているのにぐちゃぐちゃになるという場合:
・いまのあなたに必要なのはもっと自由ならくがきである可能性が高い。方眼プロジェクトペーパーと書きやすいペンを用意しよう
テキストパーサの知識はゆくゆくはあったほうがいいが、初心者がやるもんじゃねーな
んで、もし
プログラミング行為自体が遅い(1時間に打つ文字数が少ない、等)と思った場合:
・ 文字列やコレクションが持つメソッドの動作、高度な制御構造の使い方だけは絶対に記憶しておく
(書き方は覚えなくていい。「配列を○○する方法ってそういえばあったな」と気付ける程度でいい)
・ メジャーなデザインパターンを、これまた基本的な動作だけやって納得しておく(書けなくていい)
7割くらい機能ができた時点でかなり消して3割くらいから書き直すが動かない、みたいなことが頻発する場合:
・ gitや、gitや、あとgitのようなバージョン管理システムを利用する
(git類は「ここまでできたので保存しておく」「壊してしまったので保存時点まで戻す」「試しにコピーして改造する」がすぐできる。必須)
・ 上記に関し、メソッド単位で編集保存するという作り方を心掛ける(いきなりあちこち書き換えない)
メソッドAを使うメソッドBを作ったのだがそのまま動くと思ったメソッドAでエラーが出る、みたいな「このメソッドいきなり動かなくなった」が多発する
・ "ユニットテスト"を導入する。小難しい議論が大量にあるが当座「このメソッドはこの引数Aの時戻り値Bを返す、Cのときは実はD」という使い方でいい
UMLやクラス構成図を使っているのにぐちゃぐちゃになるという場合:
・いまのあなたに必要なのはもっと自由ならくがきである可能性が高い。方眼プロジェクトペーパーと書きやすいペンを用意しよう
118デフォルトの名無しさん
2017/10/12(木) 11:46:27.97ID:UV6Mfibu UMLは設計を整理したり人に伝えたりするもので
それ自体が分析設計を生み出すものではない
分析設計を生み出すのは開発手法
RPとかOMT
それ自体が分析設計を生み出すものではない
分析設計を生み出すのは開発手法
RPとかOMT
119デフォルトの名無しさん
2017/10/12(木) 14:10:31.81ID:o8TlX9Z0 >>108
大きな問題を小さな問題に段階的に繰り返し分解する
十分に粒度の小さな問題の解法は何度も必要になるのでメモするなりしてすぐ参照できるようにする
>>117が書いてるような文字列操作・コレクション操作・制御構造なんかはこのレベル
少しやってれば上のようなレベルは資料を見なくてもすぐ出来るようになるので
次はそれらの小さな問題を集めたもう少し粒度の大きい問題を解くパターンを認識して
それらをメモするなりしてすぐ参照できるようにする
これを繰り返していけば問題に対する解法をすぐに思いつけるようになる
それぞれの解法に対応したスニペットや汎用的な抽象化コードを用意しておけば
考える速度だけじゃなく書く速度も上がる
小中学校の算数・数学の問題を速く解くための勉強方法と基本的に同じ
大きな問題を小さな問題に段階的に繰り返し分解する
十分に粒度の小さな問題の解法は何度も必要になるのでメモするなりしてすぐ参照できるようにする
>>117が書いてるような文字列操作・コレクション操作・制御構造なんかはこのレベル
少しやってれば上のようなレベルは資料を見なくてもすぐ出来るようになるので
次はそれらの小さな問題を集めたもう少し粒度の大きい問題を解くパターンを認識して
それらをメモするなりしてすぐ参照できるようにする
これを繰り返していけば問題に対する解法をすぐに思いつけるようになる
それぞれの解法に対応したスニペットや汎用的な抽象化コードを用意しておけば
考える速度だけじゃなく書く速度も上がる
小中学校の算数・数学の問題を速く解くための勉強方法と基本的に同じ
120デフォルトの名無しさん
2017/10/12(木) 14:27:19.38ID:W4Y9jhaF もしにひょっとしてIDEを使っていないのならIDEは使ったほうがいいよ
IDEなしにいまどきのJavaなんてタチの悪い修行だよ
書かないと覚えないだろなんてのはその「書くべきこと」が1行で済むような場合だけだ
IDEの使い方(正確には実行設定の仕方)とトラブル対処を覚えないといかんのでちょっとアレなのだけれど、そこをなんとか
IDEなしにいまどきのJavaなんてタチの悪い修行だよ
書かないと覚えないだろなんてのはその「書くべきこと」が1行で済むような場合だけだ
IDEの使い方(正確には実行設定の仕方)とトラブル対処を覚えないといかんのでちょっとアレなのだけれど、そこをなんとか
121デフォルトの名無しさん
2017/10/12(木) 21:08:07.21ID:chOTaJW5 「あるサブクラスのオブジェクト」から、
「そのスーパークラス」や「スーパーのスーパークラス」の
属性やメソッドを使用するのが苦手です。
サブクラス上から見えないからです。
エディタなどで上手く一覧する機能ありませんか?
importしたライブラリのメソッドや属性もどういう構成になっているか
がわかりません。
「そのスーパークラス」や「スーパーのスーパークラス」の
属性やメソッドを使用するのが苦手です。
サブクラス上から見えないからです。
エディタなどで上手く一覧する機能ありませんか?
importしたライブラリのメソッドや属性もどういう構成になっているか
がわかりません。
122デフォルトの名無しさん
2017/10/12(木) 22:53:15.60ID:jZh2ph1X ide
123デフォルトの名無しさん
2017/10/13(金) 00:22:43.72ID:uBikma4h そもそも実装を継承しないのが良い
「継承より委譲」
「継承より委譲」
124デフォルトの名無しさん
2017/10/13(金) 00:24:47.19ID:24qBoS+k125デフォルトの名無しさん
2017/10/13(金) 00:39:26.87ID:uBikma4h 普通に継承を委譲(集約)に
置きかえていけばいいんだよ
置きかえていけばいいんだよ
126デフォルトの名無しさん
2017/10/13(金) 08:37:40.23ID:xmEIYn5a >>113
なんとこの例は専門的なものだったんですね。
思いつきで考えた例なので申し訳ありませんでした。
>>114
設計がうまくなりたいです。
そうすれば眠る時間も増えそうです……。
(z_z)
>>115
小さなツールというのは再利用可能なクラスということでしょうか?
正直、私の作ったクラスはネストと専用処理だらけで再利用できないのです……。
>>116
怒られたというか、注意されました。
上司、先輩に確信を持ってコーディングしろと……。
担当レベルで「バグ0」にして提出と言われたので、今回のような
質問をしたら、「根性で学んでこい、とにかく動けばいい」と……。
根性で何を学んだらいいのか教えてもらえませんでした。
スレのみなさんの意見で、たぶん「設計」を学ぶと良いのかなと思いました。
なんとこの例は専門的なものだったんですね。
思いつきで考えた例なので申し訳ありませんでした。
>>114
設計がうまくなりたいです。
そうすれば眠る時間も増えそうです……。
(z_z)
>>115
小さなツールというのは再利用可能なクラスということでしょうか?
正直、私の作ったクラスはネストと専用処理だらけで再利用できないのです……。
>>116
怒られたというか、注意されました。
上司、先輩に確信を持ってコーディングしろと……。
担当レベルで「バグ0」にして提出と言われたので、今回のような
質問をしたら、「根性で学んでこい、とにかく動けばいい」と……。
根性で何を学んだらいいのか教えてもらえませんでした。
スレのみなさんの意見で、たぶん「設計」を学ぶと良いのかなと思いました。
127デフォルトの名無しさん
2017/10/13(金) 08:38:26.90ID:xmEIYn5a >>117
丁寧に助かります。
GIT調べてみます。
ユニットテストはprintlnでログを確認してます。
私の開発手順は……
・口頭で「xxxなクラスを作ってくれ」と指示を受ける。
・クラス名を考えて、とりあえず必要そうなフィールドを書く。
・ここで手が止まる。(何か書かなきゃ、そうだ! アクセッサ!)
・全フィールドのアクセッサをかく。(焦る。とにかくメソッド書かなきゃ!)
・時価の商品価格を計算するとしたら、メソッド名(calcPrice)を書く。
・とりあえず分岐はするはず! そうだif文の枠だけ書こう!
・(省略)以下、確信なく恐怖でベタベタ書く……
・ifネスト、forネスト、switchネストな恐ろしいメソッドが1つできあがる。
(アクセッサ抜かすと、大抵はpublicメソッドが1〜2個しかない)
・printlnでログみてテスト。一応動くが、確信は無い。
・(そして大抵は)仕様変更、追加のお知らせが届き、デスマーチへ。
(合間に結果としてのエラーも当然でて、ブレークでトレースしてると
あっというまに1時間経ってます……)
>>118
RP、OMT、調べて参考書探してみます。
>>119
その粒度を小さくするという作業が「設計」ということでしょうか?
数学(簡単なもの)ならその分解作業が可能なのですが、
ことシステム設計になると、とっかかりが見つからないのです……。(><)
数学で言えば、計算式は解けるが、文章題から計算式が導けない感じです。
>>120
エクリプス使っています。
といっても、フォルダ管理と構文チェック、結果ログ見る程度です。
丁寧に助かります。
GIT調べてみます。
ユニットテストはprintlnでログを確認してます。
私の開発手順は……
・口頭で「xxxなクラスを作ってくれ」と指示を受ける。
・クラス名を考えて、とりあえず必要そうなフィールドを書く。
・ここで手が止まる。(何か書かなきゃ、そうだ! アクセッサ!)
・全フィールドのアクセッサをかく。(焦る。とにかくメソッド書かなきゃ!)
・時価の商品価格を計算するとしたら、メソッド名(calcPrice)を書く。
・とりあえず分岐はするはず! そうだif文の枠だけ書こう!
・(省略)以下、確信なく恐怖でベタベタ書く……
・ifネスト、forネスト、switchネストな恐ろしいメソッドが1つできあがる。
(アクセッサ抜かすと、大抵はpublicメソッドが1〜2個しかない)
・printlnでログみてテスト。一応動くが、確信は無い。
・(そして大抵は)仕様変更、追加のお知らせが届き、デスマーチへ。
(合間に結果としてのエラーも当然でて、ブレークでトレースしてると
あっというまに1時間経ってます……)
>>118
RP、OMT、調べて参考書探してみます。
>>119
その粒度を小さくするという作業が「設計」ということでしょうか?
数学(簡単なもの)ならその分解作業が可能なのですが、
ことシステム設計になると、とっかかりが見つからないのです……。(><)
数学で言えば、計算式は解けるが、文章題から計算式が導けない感じです。
>>120
エクリプス使っています。
といっても、フォルダ管理と構文チェック、結果ログ見る程度です。
128デフォルトの名無しさん
2017/10/13(金) 09:32:14.92ID:GrUYgy4I >・口頭で「xxxなクラスを作ってくれ」と指示を受ける
この時点で既に常識的な開発現場としてありえないんだが
ユニットテストまでやって仕様変更云々って言ってるってことは
もう詳細レベルまで落とし込んだ仕様があるのに口頭でやってとかありえんだろ
詳細設計書あるならどういう作りすればいいか壊滅的な馬鹿でもない限り誰でもわかるし
作り終わったらテスト仕様書作ってテストするから仕様変更やデスマーチも糞もねぇだろっていう
お前のところ色々おかしいかお前が意地悪されてるか敢えて何かを試されてるか何かだと思うわ
この時点で既に常識的な開発現場としてありえないんだが
ユニットテストまでやって仕様変更云々って言ってるってことは
もう詳細レベルまで落とし込んだ仕様があるのに口頭でやってとかありえんだろ
詳細設計書あるならどういう作りすればいいか壊滅的な馬鹿でもない限り誰でもわかるし
作り終わったらテスト仕様書作ってテストするから仕様変更やデスマーチも糞もねぇだろっていう
お前のところ色々おかしいかお前が意地悪されてるか敢えて何かを試されてるか何かだと思うわ
129デフォルトの名無しさん
2017/10/13(金) 09:44:47.25ID:GrUYgy4I ネストしまくるような複雑な条件の仕様を口頭で言うとかありえないから
とりあえず実際にどういう指示されたか書いてみ
とりあえず実際にどういう指示されたか書いてみ
130デフォルトの名無しさん
2017/10/13(金) 09:51:55.46ID:1VCWZvPT >>128
いやテストしてないと思う
"ユニットテスト"ってきちんと書かれてるのに「プログラムの動きをテストすること」だと思ってる(だからprintlnという頓珍漢な答が)
https://qiita.com/takehiro224/items/a5d4265c4a1b36b0919c
ともあれ最初の業務でやってるのならツール的なアドバイスは無駄かもしらんね
いやテストしてないと思う
"ユニットテスト"ってきちんと書かれてるのに「プログラムの動きをテストすること」だと思ってる(だからprintlnという頓珍漢な答が)
https://qiita.com/takehiro224/items/a5d4265c4a1b36b0919c
ともあれ最初の業務でやってるのならツール的なアドバイスは無駄かもしらんね
131デフォルトの名無しさん
2017/10/13(金) 10:37:26.01ID:a1m8Fd6w 配列定数はイニシャライザーにおいてのみ使用可能です
これどういう意味ですか?
これどういう意味ですか?
132デフォルトの名無しさん
2017/10/13(金) 11:20:18.34ID:1VCWZvPT133デフォルトの名無しさん
2017/10/13(金) 15:38:08.18ID:+zTlsJiZ >>127
>その粒度を小さくするという作業が「設計」ということでしょうか?
設計の一部だけど全部じゃない
一つの問題に対して解法は一つではないので
複数ある選択肢からどの解法の選択するかが設計の核
問題の分解方法は解法選択の一部
>数学で言えば、計算式は解けるが、文章題から計算式が導けない感じです。
これは問題を明確に定義できてないから
明確に定義されてない問題は解けない
「xxxなクラスを作ってくれ」と指示を受けたらまず以下3点を明確にする
1. なぜそのクラスが必要なのか? クラスの責務は何か?
2. そのクラスに必要なパブリックインターフェースは?
- 例外を含めた入力・出力の型(メソッドシグニチャ)
3. どういうテストをパスしたら十分なのか?
- 事前条件、事後条件、不変条件
3点とも指示を出した側に質問する必要がある(嫌がられてもしつこく)
特に3の何ができたら問題を解けたと言えるのかを明確にするのが一番大事
問題の定義と解法の選択、解法の選択の主要な方法として問題の分解がある
算数で考えればものすごく当たり前だよね
>その粒度を小さくするという作業が「設計」ということでしょうか?
設計の一部だけど全部じゃない
一つの問題に対して解法は一つではないので
複数ある選択肢からどの解法の選択するかが設計の核
問題の分解方法は解法選択の一部
>数学で言えば、計算式は解けるが、文章題から計算式が導けない感じです。
これは問題を明確に定義できてないから
明確に定義されてない問題は解けない
「xxxなクラスを作ってくれ」と指示を受けたらまず以下3点を明確にする
1. なぜそのクラスが必要なのか? クラスの責務は何か?
2. そのクラスに必要なパブリックインターフェースは?
- 例外を含めた入力・出力の型(メソッドシグニチャ)
3. どういうテストをパスしたら十分なのか?
- 事前条件、事後条件、不変条件
3点とも指示を出した側に質問する必要がある(嫌がられてもしつこく)
特に3の何ができたら問題を解けたと言えるのかを明確にするのが一番大事
問題の定義と解法の選択、解法の選択の主要な方法として問題の分解がある
算数で考えればものすごく当たり前だよね
134デフォルトの名無しさん
2017/10/13(金) 16:00:23.53ID:uBikma4h135デフォルトの名無しさん
2017/10/13(金) 21:11:04.47ID:xmEIYn5a 皆様、いろいろご丁寧にありがとうございます。
指示は先輩が手帳を見ながら口頭で伝えられるので、
それを急いでメモするという感じです。とにかく忙しそうです。
具体的な内容は業務内容に触れてしまうので控えさせてください。
とりあえず、下記のことをやってみようと思います。
・設計の本で良いのがないか本屋で探す。
・仕様詳細をもっと聞く。
・まずクラス図を書いて、責務の粒度を細かくする。
・再利用できるメソッドを作るよう心がける。
(といっても、どうやればいいのか……)
あとは、みなさんのレスを反芻していきます。
本当にありがとうございました。
最後の質問ですが、設計に関してのおすすめの書籍はありますか?
ぜひ、購入したいと思います。
指示は先輩が手帳を見ながら口頭で伝えられるので、
それを急いでメモするという感じです。とにかく忙しそうです。
具体的な内容は業務内容に触れてしまうので控えさせてください。
とりあえず、下記のことをやってみようと思います。
・設計の本で良いのがないか本屋で探す。
・仕様詳細をもっと聞く。
・まずクラス図を書いて、責務の粒度を細かくする。
・再利用できるメソッドを作るよう心がける。
(といっても、どうやればいいのか……)
あとは、みなさんのレスを反芻していきます。
本当にありがとうございました。
最後の質問ですが、設計に関してのおすすめの書籍はありますか?
ぜひ、購入したいと思います。
136デフォルトの名無しさん
2017/10/13(金) 21:36:38.72ID:uBikma4h >>135
>設計に関してのおすすめの書籍
まずJavaやOOP自体に慣れてないなら
『スッキリ Java』が一番やさしい
狭義の設計じゃないけど設計力の土台になるのが
『Javaで学ぶアルゴリズムとデータ構造』
本題の設計は難解な本が多いから
UMLの本とかデザインパターンの本とか個別のテーマで
やさしそうな本から読んでいくのがオススメ
メソッドの抽出とかは『リファクタリング』に
いろんな手法が載ってるから
ある程度JavaやOOに慣れたら読んでみよう
>設計に関してのおすすめの書籍
まずJavaやOOP自体に慣れてないなら
『スッキリ Java』が一番やさしい
狭義の設計じゃないけど設計力の土台になるのが
『Javaで学ぶアルゴリズムとデータ構造』
本題の設計は難解な本が多いから
UMLの本とかデザインパターンの本とか個別のテーマで
やさしそうな本から読んでいくのがオススメ
メソッドの抽出とかは『リファクタリング』に
いろんな手法が載ってるから
ある程度JavaやOOに慣れたら読んでみよう
137デフォルトの名無しさん
2017/10/13(金) 23:16:37.77ID:JHJOvcP0138デフォルトの名無しさん
2017/10/14(土) 03:37:43.62ID:mgPn9dNJ 書いてる内容見る限り、立ち位置的に設計云々とかクラス図とか
考えるレベル以前の問題で職場の奴はそういうのは求めてないように見える
言われて作ったクラスがどういう使われ方してるのかもよくわからんし
書いてる事から想像するに、勉強も兼ねた誰かの手伝いとして適当に使われてるだけだろ
いずれにしても作業指示の仕方が糞すぎるからそこは辞めた方がいいよ
考えるレベル以前の問題で職場の奴はそういうのは求めてないように見える
言われて作ったクラスがどういう使われ方してるのかもよくわからんし
書いてる事から想像するに、勉強も兼ねた誰かの手伝いとして適当に使われてるだけだろ
いずれにしても作業指示の仕方が糞すぎるからそこは辞めた方がいいよ
139136
2017/10/14(土) 04:10:51.25ID:ZBYXJflL140デフォルトの名無しさん
2017/10/14(土) 09:07:23.00ID:9JuWfEXp >>135
> ・再利用できるメソッドを作るよう心がける。
1, これは再利用するだろうなってのをメソッド化
2, この処理は別の所でもやったなってのをメソッド化
3, 機能毎にメソッド化(分割や統合)できそうだなってのをメソッド化
他にもあるだろうけどこんな感じでいいよ
> ・再利用できるメソッドを作るよう心がける。
1, これは再利用するだろうなってのをメソッド化
2, この処理は別の所でもやったなってのをメソッド化
3, 機能毎にメソッド化(分割や統合)できそうだなってのをメソッド化
他にもあるだろうけどこんな感じでいいよ
141デフォルトの名無しさん
2017/10/14(土) 09:38:10.74ID:5+/c+cYf 自宅で自分用の(自分で勉強するための)プログラムを書いて慣れるというのがいちばんだと思う
業務指令で範囲限定されたコードだけ書いててもまっっっったくメソッド感覚(?)は身につかないよ
だって「そんなことしなくても動く」もの、業務中にやる理由ないよね
業務指令で範囲限定されたコードだけ書いててもまっっっったくメソッド感覚(?)は身につかないよ
だって「そんなことしなくても動く」もの、業務中にやる理由ないよね
142デフォルトの名無しさん
2017/10/14(土) 10:59:53.02ID:K4XROtS+ 口頭で伝えるのは後から改変するための常套手段
証拠は残さない
証拠は残さない
143デフォルトの名無しさん
2017/10/14(土) 11:03:35.03ID:K4XROtS+ なぜこのクラスが必要なのですかと訊くと
キレ気味にいいから黙ってやれと言われる
別にイヤとかやりたくないとかじゃないんだけど適当な仕様だと文脈背景わからないと間違いの元
他の奴が黙ってやっちゃうから味を占めたんだろうな
また無駄な後戻り工数が生まれて実装のせいにされる
キレ気味にいいから黙ってやれと言われる
別にイヤとかやりたくないとかじゃないんだけど適当な仕様だと文脈背景わからないと間違いの元
他の奴が黙ってやっちゃうから味を占めたんだろうな
また無駄な後戻り工数が生まれて実装のせいにされる
144デフォルトの名無しさん
2017/10/14(土) 11:22:15.08ID:+XwGR1nT わかってないだけだって
人はわからないことを聞かれた時に不機嫌になるってのはわかるだろ
人はわからないことを聞かれた時に不機嫌になるってのはわかるだろ
145デフォルトの名無しさん
2017/10/14(土) 11:24:26.80ID:+XwGR1nT146デフォルトの名無しさん
2017/10/14(土) 13:23:40.40ID:ZBYXJflL >>135
>・再利用できるメソッドを作るよう心がける
間違ってもいないんだけど実際には
最初から再利用を目指すより
リファクタリングで重複した処理を
メソッドに切り出す方が簡単なんだけど
「動いた物をいじるな」という職場だと
まあそっちもそっちで難しいよな
>・再利用できるメソッドを作るよう心がける
間違ってもいないんだけど実際には
最初から再利用を目指すより
リファクタリングで重複した処理を
メソッドに切り出す方が簡単なんだけど
「動いた物をいじるな」という職場だと
まあそっちもそっちで難しいよな
147デフォルトの名無しさん
2017/10/14(土) 13:24:19.64ID:lMgWewwv148デフォルトの名無しさん
2017/10/14(土) 13:44:26.23ID:YpZiBRe4149デフォルトの名無しさん
2017/10/14(土) 19:47:58.75ID:/I4SGVxg >>136
書店で推薦書を購入し、
1「スッキリ」の2冊
2「Javaで学ぶアルゴリズムとデータ構造(明快シリーズ)」
の順番が良いかと思いましたので、
本日からスッキリを学んでいこうと思います。
ありがとうございました。
>>138
おっしゃる通り、重要業務は任されていないと思います。
今はとにかくスキルを上げたいと考えています。
>>140
たぶん再利用可能メソッドは標準ライブラリで提供されているような
ものだろうと思っています。
なんとかくくり出せるように考えてみます。
>>146
デザインパターンをマスターすると保守しやすいクラスや
メソッドになると知りました。
デザインパターンとリファクタリングも学んだほうが良いようですね。
書店で推薦書を購入し、
1「スッキリ」の2冊
2「Javaで学ぶアルゴリズムとデータ構造(明快シリーズ)」
の順番が良いかと思いましたので、
本日からスッキリを学んでいこうと思います。
ありがとうございました。
>>138
おっしゃる通り、重要業務は任されていないと思います。
今はとにかくスキルを上げたいと考えています。
>>140
たぶん再利用可能メソッドは標準ライブラリで提供されているような
ものだろうと思っています。
なんとかくくり出せるように考えてみます。
>>146
デザインパターンをマスターすると保守しやすいクラスや
メソッドになると知りました。
デザインパターンとリファクタリングも学んだほうが良いようですね。
150デフォルトの名無しさん
2017/10/15(日) 01:07:03.66ID:y0fiNdyH 今から「スッキリ」で勉強を始める、素人か。
そんな奴に、一々説明していたら、数年かかる
オブジェクト指向を知らない奴は、仕事でプログラミングしたら、いけないレベル
少なくとも、Java の本を10冊読んで、資格や数年以上の経験が必要
そんな奴に、一々説明していたら、数年かかる
オブジェクト指向を知らない奴は、仕事でプログラミングしたら、いけないレベル
少なくとも、Java の本を10冊読んで、資格や数年以上の経験が必要
151デフォルトの名無しさん
2017/10/15(日) 01:23:31.23ID:hZRxEBGG 本10冊くらいはそりゃ読む必要あるけど
資格や経験年数はほとんど関係ないよ
本人の素質と努力次第
資格や経験年数はほとんど関係ないよ
本人の素質と努力次第
152デフォルトの名無しさん
2017/10/15(日) 01:38:06.25ID:h2ngFzeR 新卒?中途採用?
何歳か知らんけどプログラミングほとんどやったことないなら
普通研修みたいなの1か月ぐらいは与えられるもんだが今がそれなのか?
何歳か知らんけどプログラミングほとんどやったことないなら
普通研修みたいなの1か月ぐらいは与えられるもんだが今がそれなのか?
153デフォルトの名無しさん
2017/10/15(日) 01:56:56.82ID:ZgJv24or その辺はその会社次第なんじゃないの? 教育やる余裕がない小さい会社とか
大きくてもその辺のこと分かってない会社とか色々あるだろうし。
ま、しかし、基本的にワザは教えて貰うよりは盗んだ方が良いだろうな。
自分で求めてこうだと分かったことなら忘れないが教えて貰ったことは忘れるから。
なんてことをこの前テレビで坊さんが言っているのを聞いてその通りだと思った。
大きくてもその辺のこと分かってない会社とか色々あるだろうし。
ま、しかし、基本的にワザは教えて貰うよりは盗んだ方が良いだろうな。
自分で求めてこうだと分かったことなら忘れないが教えて貰ったことは忘れるから。
なんてことをこの前テレビで坊さんが言っているのを聞いてその通りだと思った。
154デフォルトの名無しさん
2017/10/15(日) 02:43:30.36ID:XpJLTK+d Javaの「スッキリ」はRPGで言うと
「ひのきの棒」や「竹のやり」みたいな初期装備だが
丸腰よりはるかにマシ
「明解」でやっと「銅のつるぎ」
ファウラーの「リファクタリング」や
GOFのデザパタやエヴァンスのDDD本は
もっと高級な剣だが
レベルが足りないと装備できない
「ひのきの棒」や「竹のやり」みたいな初期装備だが
丸腰よりはるかにマシ
「明解」でやっと「銅のつるぎ」
ファウラーの「リファクタリング」や
GOFのデザパタやエヴァンスのDDD本は
もっと高級な剣だが
レベルが足りないと装備できない
155デフォルトの名無しさん
2017/10/15(日) 08:18:45.28ID:RBDvyi+r ひのきの棒という役割を演じるゲームか
シュールだな
シュールだな
156デフォルトの名無しさん
2017/10/15(日) 15:24:42.40ID:atfl3lAe >>154
そのスッキリは入門編(黄緑の方)のことですよね?
そのスッキリは入門編(黄緑の方)のことですよね?
157デフォルトの名無しさん
2017/10/15(日) 18:51:46.03ID:XpJLTK+d158デフォルトの名無しさん
2017/10/15(日) 18:53:06.03ID:XpJLTK+d >>155
本が役割ってのがよく分からない
本が役割ってのがよく分からない
159デフォルトの名無しさん
2017/10/16(月) 16:09:19.43ID:4dXapby2 オブジェクト指向はあまり良くないだろな。
GUIと相性が良かっただけで、その他一般的な問題とは親和性が低い。
GUIと相性が良かっただけで、その他一般的な問題とは親和性が低い。
160デフォルトの名無しさん
2017/10/16(月) 19:04:15.39ID:BLPcXnhp オブジェクト指向が一番汎用的だと思う
DDDがOOメインなのもそこだし
DDDがOOメインなのもそこだし
161156
2017/10/16(月) 20:19:21.78ID:tOLHzrTo162デフォルトの名無しさん
2017/10/17(火) 14:09:59.12ID:ywtVys1/ オブジェクト指向がマッチしないと言っているのは
設計を構造化とかどやっといて
オブジェクト指向プログラミング使えないと言ってる奴がよくいる
機能とか流れって出てきたら注意
設計を構造化とかどやっといて
オブジェクト指向プログラミング使えないと言ってる奴がよくいる
機能とか流れって出てきたら注意
163デフォルトの名無しさん
2017/10/17(火) 14:22:15.60ID:H+HUM8Ad オブジェクト指向がよくわかってないからマッチさせられないだけではないか?
164デフォルトの名無しさん
2017/10/18(水) 10:19:44.01ID:LGKAL/cG >>156
リストの頭だけを掻き集めてリスト化したような良書ではある
リストの頭だけを掻き集めてリスト化したような良書ではある
165デフォルトの名無しさん
2017/10/18(水) 11:33:37.26ID:NAca40Iu Javaスレ少なくなったなあ。
166デフォルトの名無しさん
2017/10/18(水) 12:05:23.13ID:W6T+19ej ことりんに横取りされちゃう
167デフォルトの名無しさん
2017/10/18(水) 12:11:48.42ID:NAca40Iu メモリー使用量が個人利用の壁になっているんだろうな。
168デフォルトの名無しさん
2017/10/18(水) 18:27:07.39ID:cbmCwNcY Javaの個人利用が難しいのは
安いレンサバで使えないのが大きいのでは
安いレンサバで使えないのが大きいのでは
169デフォルトの名無しさん
2017/10/18(水) 22:32:18.55ID:FgeE42WT 大抵PHP.良くてPython.ruby止まりかな
170デフォルトの名無しさん
2017/10/19(木) 03:47:23.04ID:ymhc97rd 何故使えるようにならなかったのか考えないのがJavaユーザぽくていいよね。
171デフォルトの名無しさん
2017/10/19(木) 09:32:34.88ID:vpgxLHGK スクリプト言語はその場で書き直しゃ動くからねぇ
JavaとかC#とかはビルド→デプロイまたは
ビルド→パッケージング→デプロイとか面倒
GAEはどこまでショートカットしてくれるのか知らん
JavaとかC#とかはビルド→デプロイまたは
ビルド→パッケージング→デプロイとか面倒
GAEはどこまでショートカットしてくれるのか知らん
172デフォルトの名無しさん
2017/10/19(木) 12:11:01.39ID:gt24D1Vb 俺って大体そこらへんの能無しより2倍ぐらい仕事早いほうなんだけど
金融系の内部管理システムで1画面にボタンが20個ぐらいあって
段階的に5回ぐらい認証する機能で鬼のように状態持ってるから
設計書の相関チェックも凄いことになってて当然こんなレベルの機能だと
設計書にも不備ありまくりで実装してく度に何十回も設計者と確認しないといけないレベルで
外部結合で持ってくる情報も鬼の用にあるからSQLも100行超えるわ
外部ファイルも取り込んだりするわでエビデンスのページ数も余裕で100ページ越えるレベルで
これが最初テスト完了まで2週間ぐらいの線表で
毎日残業して1か月かけて作ったらプロパーが後ろで「こんだけ時間かけられるとは思わなかったわ」とか
嫌味言ってくるのが典型的な能無し無能システム会社なんだよな
金融系の内部管理システムで1画面にボタンが20個ぐらいあって
段階的に5回ぐらい認証する機能で鬼のように状態持ってるから
設計書の相関チェックも凄いことになってて当然こんなレベルの機能だと
設計書にも不備ありまくりで実装してく度に何十回も設計者と確認しないといけないレベルで
外部結合で持ってくる情報も鬼の用にあるからSQLも100行超えるわ
外部ファイルも取り込んだりするわでエビデンスのページ数も余裕で100ページ越えるレベルで
これが最初テスト完了まで2週間ぐらいの線表で
毎日残業して1か月かけて作ったらプロパーが後ろで「こんだけ時間かけられるとは思わなかったわ」とか
嫌味言ってくるのが典型的な能無し無能システム会社なんだよな
173デフォルトの名無しさん
2017/10/19(木) 12:22:12.67ID:gjuTpzaj で?
174デフォルトの名無しさん
2017/10/19(木) 12:24:42.39ID:ScM6nrf0 そういう無理のあるものを断れない立場に居ること事態が既に能のある状態とは言えない
175デフォルトの名無しさん
2017/10/19(木) 12:41:04.00ID:gt24D1Vb 過疎ってるから暇つぶしに書いただけだ
プログラムやらず嫌いのプロパーしかいない無能会社の中でも大ハズレの部類
当たりはバグ調査が全然できないプロパーがいるところのバグ調査担当
プログラムやらず嫌いのプロパーしかいない無能会社の中でも大ハズレの部類
当たりはバグ調査が全然できないプロパーがいるところのバグ調査担当
176デフォルトの名無しさん
2017/10/19(木) 12:43:13.55ID:PZ5DzTeM 書かなくていいです
177デフォルトの名無しさん
2017/10/19(木) 12:47:12.90ID:q54VEuRQ JDK 8u151と8u152、2つ出てるけどどっちをインストールすればいいの?
178デフォルトの名無しさん
2017/10/19(木) 12:59:35.28ID:ymhc97rd リリースノート。
179デフォルトの名無しさん
2017/10/19(木) 14:39:13.91ID:wexIKijw180デフォルトの名無しさん
2017/10/19(木) 18:18:57.97ID:r3vXhCvd ストリームバッファについて質問です。どれがいいのでしょうか?
FileInputStream fis=new FileInputStream("file");
0.
InputStreamReader r=new InputStreamReader(fis);
1.
InputStreamReader r=new InputStreamReader(new BufferedInputStream(fis));
2.
BufferedReader r=new BufferedReader(new InputStreamReader(fis));
3.
BufferedReader r=new BufferedReader(new InputStreamReader(new BufferedReader(fis)));
そもそもバッファの効果もよくわかってません
FileInputStream fis=new FileInputStream("file");
0.
InputStreamReader r=new InputStreamReader(fis);
1.
InputStreamReader r=new InputStreamReader(new BufferedInputStream(fis));
2.
BufferedReader r=new BufferedReader(new InputStreamReader(fis));
3.
BufferedReader r=new BufferedReader(new InputStreamReader(new BufferedReader(fis)));
そもそもバッファの効果もよくわかってません
181デフォルトの名無しさん
2017/10/19(木) 18:21:13.65ID:r3vXhCvd 訂正
3.
BufferedReader r=new BufferedReader(new InputStreamReader(new BufferedInputStream(fis)));
3.
BufferedReader r=new BufferedReader(new InputStreamReader(new BufferedInputStream(fis)));
182デフォルトの名無しさん
2017/10/19(木) 21:44:03.04ID:dFFGzMdP BufferedReader br = Files.newBufferedReader(path,charset)
183デフォルトの名無しさん
2017/10/20(金) 09:35:26.11ID:swuaN5aR >>180
バッファがあると一回の読み書きに時間が掛かる機器の場合に効率が良くなって速度が上がる可能性がある。
例えばHDD。一回の読み書きが遅いのでまとめて読んだり書いたりした方が速度は上がる。
ということでファイル入出力にはバッファがあった方が良い。
バッファがあると一回の読み書きに時間が掛かる機器の場合に効率が良くなって速度が上がる可能性がある。
例えばHDD。一回の読み書きが遅いのでまとめて読んだり書いたりした方が速度は上がる。
ということでファイル入出力にはバッファがあった方が良い。
184デフォルトの名無しさん
2017/10/20(金) 09:42:05.09ID:VprmOZRL どのくらい早くなりますか?
185デフォルトの名無しさん
2017/10/20(金) 10:04:52.52ID:D9t+ZWOa その手の質問には「1万回繰り返すと2倍くらい違う」と答えることにしてる
186デフォルトの名無しさん
2017/10/20(金) 10:20:18.18ID:VprmOZRL 100回繰り返した場合はどうですか?
187デフォルトの名無しさん
2017/10/20(金) 10:30:19.12ID:D9t+ZWOa 割合算でいいんじゃないの
つまり速い方に書き換えると「その部分だけが」2%くらい速い
そこの処理が0.03秒だった場合は処理速度が0.0294秒になって0.0006秒の改善になる
どっちかってと速度なんかじゃなくHDDとメモリ酷使するのを良しとするかどうかで動作決めていいよバッファ系は
つまり速い方に書き換えると「その部分だけが」2%くらい速い
そこの処理が0.03秒だった場合は処理速度が0.0294秒になって0.0006秒の改善になる
どっちかってと速度なんかじゃなくHDDとメモリ酷使するのを良しとするかどうかで動作決めていいよバッファ系は
188デフォルトの名無しさん
2017/10/20(金) 10:40:23.48ID:VprmOZRL OSはバッファしないのですか?
189デフォルトの名無しさん
2017/10/20(金) 12:01:07.16ID:PeRsjtc9 ググレカス
190デフォルトの名無しさん
2017/10/20(金) 12:44:07.68ID:q2wuGssb >>188
するよ
そこまで行ったならオブジェクト生成コストやGC負荷とアルゴリズム、加えて「コ ン パ イ ラ が 完 全 最 適 な オ ブ ジ ェ ク ト 構 成 に 置 き 換 え て く れ る」まで考えて、
結局は実際に計測して遅くなきゃいいや、人力脳内最適化は無意味でクソである、といういま一番トレンドな結論に至る
おめでとう
するよ
そこまで行ったならオブジェクト生成コストやGC負荷とアルゴリズム、加えて「コ ン パ イ ラ が 完 全 最 適 な オ ブ ジ ェ ク ト 構 成 に 置 き 換 え て く れ る」まで考えて、
結局は実際に計測して遅くなきゃいいや、人力脳内最適化は無意味でクソである、といういま一番トレンドな結論に至る
おめでとう
191デフォルトの名無しさん
2017/10/20(金) 12:44:37.57ID:Gvoola1V ヨハン・セバスチャン
192デフォルトの名無しさん
2017/10/20(金) 13:02:09.19ID:PCOS2CdI >>184
接続されてるHDDやプログラムがどのぐらい細切れにデータを読み書きするかで変わる。
ま、なんだったら自分でバッファありとなし作って試してみな。だいたいはバッファありの方が速くなる筈。
速度差が出ないとか、むしろ遅くなる場合はバッファの大きさがそのプログラムでの一度の読み書き量に対して適切ではないとか接続されているHDDに対して適切ではないのかも知れない。
あるいは最初から適切だったためにバッファありにしても殆ど変わらないかかな。固定長の大きな電文を自分で作ってその単位で読み書きする場合はその電文の塊がバッファみたいなものなので変化がないかも知れない。
接続されてるHDDやプログラムがどのぐらい細切れにデータを読み書きするかで変わる。
ま、なんだったら自分でバッファありとなし作って試してみな。だいたいはバッファありの方が速くなる筈。
速度差が出ないとか、むしろ遅くなる場合はバッファの大きさがそのプログラムでの一度の読み書き量に対して適切ではないとか接続されているHDDに対して適切ではないのかも知れない。
あるいは最初から適切だったためにバッファありにしても殆ど変わらないかかな。固定長の大きな電文を自分で作ってその単位で読み書きする場合はその電文の塊がバッファみたいなものなので変化がないかも知れない。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★3 [BFU★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★4 [Hitzeschleier★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 [Hitzeschleier★]
- 【安倍晋三】中国船4隻が領海侵入 [828897501]
- 高市早苗「議員定数削減法案の詳細?お答えできません」 [834922174]
- 【実況】博衣こよりのえちえちスーパーダンガンロンパ3🧪
- お前ら不味いカレーに出会ったことある?
- 今の時勢だからこそできる賢く稼げる方法を教えてやるよwww
- えちえち女だけど
