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