17/10/12 02:47:30.24 D7OLf+6g.net
>>108
行き当たりばったりに書かないで
全体から書いていくと良い
具体的にはUML(のクラス図とか)を書く
慣れたらいちいち書かなくてもいいけど
最初のうちは書いて全体の見方を覚える
そうすると料理で言ったら煮込んだり
時間のかかる調理をしながら
下ごしらえをするみたいなことができる
要するにムダがなくなる
113:デフォルトの名無しさん
17/10/12 08:39:52.77 Qd5qTvbC.net
>>108
プログラミングで言うソースは
料理で言うレシピみたいなもんだからな
慣れだよ慣れ
114:104
17/10/12 09:00:15.46 fTkEvokp.net
>>107
ありがとう。その2冊は図書館にあったので、見てみます。前から、ちょっとは見てみたいな…と思ってたやつです。
あと掌田津耶乃さんはけっこうSpringとかGroovyとか推してますよね(´・ω・`) JSFでググったときに出てきました。
一度読んでみます。ありがとう。ステマじゃないよw
115:デフォルトの名無しさん
17/10/12 09:17:19.57 uD/G1fwI.net
>>109
UMLは全図を勉強しましたが、もっぱらクラス図を見るだけですね。(~_~;)
クラス図以外は使っていないので、だんだんと記憶が……。
例えば、下記のような仕様のソースを109様が開発するときは、すらすらとクラス図にできるのでしょうか? もしコツがあるならご教授ください……!
稚拙な例ですいません(><)
「なんでも計算機」
・基本機能は加減剰余のみ。
・プラグイン形式で数学的計算機能を追加可能。
(開発者が追加していくパターン)
・プラグイン形式でユーザー独自の関数を追加可能。
・方法:テキストファイルに決まった形式でユーザーが関数を書き込み、
それを取り込み、機能を実現。
>>110
慣れ……ですか。(><)
110様の普段のコツは無いのでしょうか?
116:109
17/10/12 09:48:27.62 D7OLf+6g.net
>>112
>「なんでも計算機」
3D描画エンジンとかもそうだけど
そういう専門的なものを作る場合は
UMLとか一般的なOOP手法だけじゃなくて予備知識がいる
例というだけじゃなく本当にその仕様を実現したいなら
インタプリタとか言語処理系の知識が必要
「バリバリの初心者」向きの題材じゃない
117:デフォルトの名無しさん
17/10/12 11:06:35.94 UV6Mfibu.net
>>108
設計を学ぶ
118:デフォルトの名無しさん
17/10/12 11:18:21.19 Qd5qTvbC.net
>>112
自分用にあったら便利そうな小さなツールから作っていく
次第に「あれとあれ組み合わせたらいいのできるかも?」みたいに思いつくから
段々規模を大きくしていく
でももし趣味とか好きだからじゃなく仕事で仕方なくとかなら思いつきにくいかも
後々土台の変更が必要になったりしてもいいなら
まず単純に加減乗除の式だけテキストから読み込んで実行できるようなのを作ったら
後は機能追加でいいから土台だけでもやってしまうとか
何桁まで扱うようにするのかとか多倍長整数まで扱うのかとかも要検討かな
119:デフォルトの名無しさん
17/10/12 11:18:29.49 Aq/Tc0l7.net
>>98 >>108
誰かに怒られたのか?
120:デフォルトの名無しさん
17/10/12 11:21:03.26 W4Y9jhaF.net
面白いことに「数式を入力して計算するアプリを作る」よりは「色々な数式ボタンをつけた電卓を作る」ほうがずっと簡単なのだ
テキストパーサの知識はゆくゆくはあったほうがいいが、初心者がやるもんじゃねーな
んで、もし
プログラミング行為自体が遅い(1時間に打つ文字数が少ない、等)と思った場合:
・ 文字列やコレクションが持つメソッドの動作、高度な制御構造の使い方だけは絶対に記憶しておく
(書き方は覚えなくていい。「配列を○○する方法ってそういえばあったな」と気付ける程度でいい)
・ メジャーなデザインパターンを、これまた基本的な動作だけやって納得しておく(書けなくていい)
7割くらい機能ができた時点でかなり消して3割くらいから書き直すが動かない、みたいなことが頻発する場合:
・ gitや、gitや、あとgitのようなバージョン管理システムを利用する
(git類は「ここまでできたので保存しておく」「壊してしまったので保存時点まで戻す」「試しにコピーして改造する」がすぐできる。必須)
・ 上記に関し、メソッド単位で編集保存するという作り方を心掛ける(いきなりあちこち書き換えない)
メソッドAを使うメソッドBを作ったのだがそのまま動くと思ったメソッドAでエラーが出る、みたいな「このメソッドいきなり動かなくなった」が多発する
・ "ユニットテスト"を導入する。小難しい議論が大量にあるが当座「このメソッドはこの引数Aの時戻り値Bを返す、Cのときは実はD」という使い方でいい
UMLやクラス構成図を使っているのにぐちゃぐちゃになるという場合:
・いまのあなたに必要なのはもっと自由ならくがきである可能性が高い。方眼プロジェクトペーパーと書きやすいペンを用意しよう
121:デフォルトの名無しさん
17/10/12 11:46:27.97 UV6Mfibu.net
UMLは設計を整理したり人に伝えた�
122:閧キるもので それ自体が分析設計を生み出すものではない 分析設計を生み出すのは開発手法 RPとかOMT
123:デフォルトの名無しさん
17/10/12 14:10:31.81 o8TlX9Z0.net
>>108
大きな問題を小さな問題に段階的に繰り返し分解する
十分に粒度の小さな問題の解法は何度も必要になるのでメモするなりしてすぐ参照できるようにする
>>117が書いてるような文字列操作・コレクション操作・制御構造なんかはこのレベル
少しやってれば上のようなレベルは資料を見なくてもすぐ出来るようになるので
次はそれらの小さな問題を集めたもう少し粒度の大きい問題を解くパターンを認識して
それらをメモするなりしてすぐ参照できるようにする
これを繰り返していけば問題に対する解法をすぐに思いつけるようになる
それぞれの解法に対応したスニペットや汎用的な抽象化コードを用意しておけば
考える速度だけじゃなく書く速度も上がる
小中学校の算数・数学の問題を速く解くための勉強方法と基本的に同じ
124:デフォルトの名無しさん
17/10/12 14:27:19.38 W4Y9jhaF.net
もしにひょっとしてIDEを使っていないのならIDEは使ったほうがいいよ
IDEなしにいまどきのJavaなんてタチの悪い修行だよ
書かないと覚えないだろなんてのはその「書くべきこと」が1行で済むような場合だけだ
IDEの使い方(正確には実行設定の仕方)とトラブル対処を覚えないといかんのでちょっとアレなのだけれど、そこをなんとか
125:デフォルトの名無しさん
17/10/12 21:08:07.21 chOTaJW5.net
「あるサブクラスのオブジェクト」から、
「そのスーパークラス」や「スーパーのスーパークラス」の
属性やメソッドを使用するのが苦手です。
サブクラス上から見えないからです。
エディタなどで上手く一覧する機能ありませんか?
importしたライブラリのメソッドや属性もどういう構成になっているか
がわかりません。
126:デフォルトの名無しさん
17/10/12 22:53:15.60 jZh2ph1X.net
ide
127:デフォルトの名無しさん
17/10/13 00:22:43.72 uBikma4h.net
そもそも実装を継承しないのが良い
「継承より委譲」
128:デフォルトの名無しさん
17/10/13 00:24:47.19 24qBoS+k.net
>>123
継承を委譲に互換できるようにリファクタリング
する方法はありませんか?
129:デフォルトの名無しさん
17/10/13 00:39:26.87 uBikma4h.net
普通に継承を委譲(集約)に
置きかえていけばいいんだよ
130:デフォルトの名無しさん
17/10/13 08:37:40.23 xmEIYn5a.net
>>113
なんとこの例は専門的なものだったんですね。
思いつきで考えた例なので申し訳ありませんでした。
>>114
設計がうまくなりたいです。
そうすれば眠る時間も増えそうです……。
(z_z)
>>115
小さなツールというのは再利用可能なクラスということでしょうか?
正直、私の作ったクラスはネストと専用処理だらけで再利用できないのです……。
>>116
怒られたというか、注意されました。
上司、先輩に確信を持ってコーディングしろと……。
担当レベルで「バグ0」にして提出と言われたので、今回のような
質問をしたら、「根性で学んでこい、とにかく動けばいい」と……。
根性で何を学んだらいいのか教えてもらえませんでした。
スレのみなさんの意見で、たぶん「設計」を学ぶと良いのかなと思いました。
131:デフォルトの名無しさん
17/10/13 08:38:26.90 xmEIYn5a.net
>>117
丁寧に助かります。
GIT調べてみます。
ユニットテストはprintlnでログを確認してます。
私の開発手順は……
・口頭で「xxxなクラスを作ってくれ」と指示を受ける。
・クラス名を考えて、とりあえず必要そうなフィールドを書く。
・ここで手が止まる。(何か書かなきゃ、そうだ! アクセッサ!)
・全フィールドのアクセッサをかく。(焦る。とにかくメソッド書かなきゃ!)
・時価の商品価格を計算するとしたら、メソッド名(calcPrice)を書く。
・とりあえず分岐はするはず! そうだif文の枠だけ書こう!
・(省略)以下、確信なく恐怖でベタベタ書く……
・ifネスト、forネスト、switchネストな恐ろしいメソッドが1つできあがる。
(アクセッサ抜かすと、大抵はpublicメソッドが1~2個しかない)
・printlnでログみてテスト。一応動くが、確信は無い。
・(そして大抵は)仕様変更、追加のお知らせが届き、デスマーチへ。
(合間に結果としてのエラーも当然でて、ブレークでトレースしてると
あっというまに1時間経ってます……)
>>118
RP、OMT、調べて参考書探してみます。
>>119
その粒度を小さくするという作業が「設計」ということでしょうか?
数学(簡単なもの)ならその分解作業が可能なのですが、
ことシステム設計になると、とっかかりが見つからないのです……。(><)
数学で言えば、計算式は解けるが、文章題から計算式が導けない感じです。
>>120
エクリプス使っています。
といっても、フォルダ管理と構文チェック、結果ログ見る程度です。
132:デフォルトの名無しさん
17/10/13 09:32:14.92 GrUYgy4I.net
>・口頭で「xxxなクラスを作ってくれ」と指示を受ける
この時点で既に常識的な開発現場としてありえないんだが
ユニットテストまでやって仕様変更云々って言ってるってことは
もう詳細レベルまで落とし込んだ仕様があるのに口頭でやってとかありえんだろ
詳細設計書あるならどういう作りすればいいか壊滅的な馬鹿でもない限り誰でもわかるし
作り終わったらテスト仕様書作ってテストするから仕様変更やデスマーチも糞もねぇだろっていう
お前のところ色々おかしいかお前が意地悪されてるか敢えて何かを試されてるか何かだと思うわ
133:デフォルトの名無しさん
17/10/13 09:44:47.25 GrUYgy4I.net
ネストしまくるような複雑な条件の仕様を口頭で言うとかありえないから
とりあえず実際にどういう指示されたか書いてみ
134:デフォルトの名無しさん
17/10/13 09:51:55.46 1VCWZvPT.net
>>128
いやテストしてないと思う
"ユニットテスト"ってきちんと書かれてるのに「プログラムの動きをテストすること」だと思ってる(だからprintlnという頓珍漢な答が)
URLリンク(qiita.com)
ともあれ最初の業務でやってるのならツール的なアドバイスは無駄かもしらんね
135:デフォルトの名無しさん
17/10/13 10:37:26.01 a1m8Fd6w.net
配列定数はイニシャライザーにおいてのみ使用可能です
これどういう意味ですか?
136:デフォルトの名無しさん
17/10/13 11:20:18.34 1VCWZvPT.net
>>131
それ自体はそのまんまの意味だが、配列リテラルを代入し損ねてるときに言われることが多い
その代入の書き方は本当に合ってる? arrじゃなく arr[ ] とかが必要なんじゃない??
137:デフォルトの名無しさん
17/10/13 15:38:08.18 +zTlsJiZ.net
>>127
>その粒度を小さくするという作業が「設計」ということでしょうか?
設計の一部だけど全部じゃない
一つの問題に対して解法は一つではないので
複数ある選択肢からどの解法の選択するかが設計の核
問題の分解方法は解法選択の一部
>数学で言えば、計算式は解けるが、文章題から計算式が導けない感じです。
これは問題を明確に定義できてないから
明確に定義されてない問題は解けない
「xxxなクラスを作ってくれ」と指示を受けたらまず以下3点を明確にする
1. なぜそのクラスが必要なのか? クラスの責務は何か?
2. そのクラスに必要なパブリックインターフェースは?
- 例外を含めた入力・出力の型(メソッドシグニチャ)
3. どういうテストをパスしたら十分なのか?
- 事前条件、事後条件、不変条件
3点とも指示を出した側に質問する必要がある(嫌がられてもしつこく)
特に3の何ができたら問題を解けたと言えるのかを明確にするのが一番大事
問題の定義と解法の選択、解法の選択の主要な方法として問題の分解がある
算数で考えればものすごく当たり前だよね
138:デフォルトの名無しさん
17/10/13 16:00:23.53 uBikma4h.net
>>126
設計を考える上で標準ライブラリを参考にするといい
たとえばどの言語でも日付なんかは標準になってる
そういう共通してて何度もおこなう処理を考えよう
たとえば価格の計算であちこちで何度も
税額を算出してるならメソッドにくくり出すとか
>>127
とりあえずクラス使ってるってだけで手続き的な
オブジェクト指向らしくないコードのようだね
なるべく深いネストは外していこう
メソッドに抽出してその組み合わせで処理する
そうして粒度を細かくすると
クラスやメソッドの数が増えて不安かもしれないが
重複が減るし読み書きしやすいから
その方が全体として作業量は減っていく
139:デフォルトの名無しさん
17/10/13 21:11:04.47 xmEIYn5a.net
皆様、いろいろご丁寧にありがとうございます。
指示は先輩が手帳を見ながら口頭で伝えられるので、
それを急いでメモするという感じです。とにかく忙しそうです。
具体的な内容は業務内容に触れてしまうので控えさせてください。
とりあえず、下記のことをやってみようと思います。
・設計の本で良いのがないか本屋で探す。
・仕様詳細をもっと聞く。
・まずクラス図を書いて、責務の粒度を細かくする。
・再利用できるメソッドを作るよう心がける。
(といっても、どうやればいいのか……)
あとは、みなさんのレスを反芻していきます。
本当にありがとうございました。
最後の質問ですが、設計に関してのおすすめの書籍はありますか?
ぜひ、購入したいと思います。
140:デフォルトの名無しさん
17/10/13 21:36:38.72 uBikma4h.net
>>135
>設計に関してのおすすめの書籍
まずJavaやOOP自体に慣れてないなら
『スッキリ Java』が一番やさしい
狭義の設計じゃないけど設計力の土台になるのが
『Javaで学ぶアルゴリズムとデータ構造』
本題の設計は難解な本が多いから
UMLの本とかデザインパターンの本とか個別のテーマで
やさしそうな本から読んでいくのがオススメ
メソッドの抽出とかは『リファクタリング』に
いろんな手法が載ってるから
ある程度JavaやOOに慣れたら読んでみよう
141:デフォルトの名無しさん
17/10/13 23:16:37.77 JHJOvcP0.net
>>127
アクセッサは、アノーテーションを付けるだけだろ
テスト駆動開発(TDD)でやる。
最初は関数で処理を作っていき、だんだん高度になってくると、クラスにする
142:デフォルトの名無しさん
17/10/14 03:37:43.62 mgPn9dNJ.net
書いてる内容見る限り、立ち位置的に設計云々とかクラス図とか
考えるレベル以前の問題で職場の奴はそういうのは求めてないように見える
言われて作ったクラスがどういう使われ方してるのかもよくわからんし
書いてる事から想像するに、勉強も兼ねた誰かの手伝いとして適当に使われてるだけだろ
いずれにしても作業指示の仕方が糞すぎるからそこは辞めた方がいいよ
143:136
17/10/14 04:10:51.25 ZBYXJflL.net
>>136
>『Javaで学ぶアルゴリズムとデータ構造』
あっ今検索したら同名の書籍があったけど
望洋の明解シリーズの奴ね
図解が多くて分かりやすいから
144:デフォルトの名無しさん
17/10/14 09:07:23.00 9JuWfEXp.net
>>135
> ・再利用できるメソッドを作るよう心がける。
1, これは再利用するだろうなってのをメソッド化
2, この処理は別の所でもやったなってのをメソッド化
3, 機能毎にメソッド化(分割や統合)できそうだなってのをメソッド化
他にもあるだろうけどこんな感じでいいよ
145:デフォルトの名無しさん
17/10/14 09:38:10.74 5+/c+cYf.net
自宅で自分用の(自分で勉強するための)プログラムを書いて慣れるというのがいちばんだと思う
業務指令で範囲限定されたコードだけ書いててもまっっっったくメソッド感覚(?)は身につかないよ
だって「そんなことしなくても動く」もの、業務中にやる理由ないよね
146:デフォルトの名無しさん
17/10/14 10:59:53.02 K4XROtS+.net
口頭で伝えるのは後から改変するための常套手段
証拠は残さない
147:デフォルトの名無しさん
17/10/14 11:03:35.03 K4XROtS+.net
なぜこのクラスが必要なのですかと訊くと
キレ気味にいいから黙ってやれと言われる
別にイヤとかやりたくないとかじゃないんだけど適当な仕様だと文脈背景わからないと間違いの元
他の奴が黙ってやっちゃうから味を占めたんだろうな
また無駄な後戻り工数が生まれて実装のせいにされる
148:デフォルトの名無しさん
17/10/14 11:22:15.08 +XwGR1nT.net
わかってないだけだって
人はわからないことを聞かれた時に不機嫌になるってのはわかるだろ
149:デフォルトの名無しさん
17/10/14 11:24:26.80 +XwGR1nT.net
>>142
そのせいなのかメールで聞くと返事が返ってこないやつはマジでイラつく
そういう奴は無責任の意気地なしとみなす
150:デフォルトの名無しさん
17/10/14 13:23:40.40 ZBYXJflL.net
>>135
>・再利用できるメソッドを作るよう心がける
間違ってもいないんだけど実際には
最初から再利用を目指すより
リファクタリングで重複した処理を
メソッドに切り出す方が簡単なんだけど
「動いた物をいじるな」という職場だと
まあそっちもそっちで難しいよな
151:デフォルトの名無しさん
17/10/14 13:24:19.64 lMgWewwv.net
>>145
口頭で聞いた後に
先程の備忘です。
認識齟齬などあれば返信にて訂正願います。
とかなんとか理由付けてこっちからメール送ればいい
一手間かかるけどある程度身を守れる
152:デフォルトの名無しさん
17/10/14 13:44:26.23 YpZiBRe4.net
>>142
じゃあ録音しとけ。
または忘れやすいということにして詳細にメモをする。
153:デフォルトの名無しさん
17/10/14 19:47:58.75 /I4SGVxg.net
>>136
書店で推薦書を購入し、
1「スッキリ」の2冊
2「Javaで学ぶアルゴリズムとデータ構造(明快シリーズ)」
の順番が良いかと思いましたので、
本日からスッキリを学んでいこうと思います。
ありがとうございました。
>>138
おっしゃる通り、重要業務は任されていないと思います。
今はとにかくスキルを上げたいと考えています。
>>140
たぶん再利用可能メソッドは標準ライブラリで提供されているような
ものだろうと思っています。
なんとかくくり出せるように考えてみます。
>>146
デザインパターンをマスターすると保守しやすいクラスや
メソッドになると知りました。
デザインパターンとリファクタリングも学んだほうが良いようですね。
154:デフォルトの名無しさん
17/10/15 01:07:03.66 y0fiNdyH.net
今から「スッキリ」で勉強を始める、素人か。
そんな奴に、一々説明していたら、数年かかる
オブジェクト指向を知らない奴は、仕事でプログラミングしたら、いけないレベル
少なくとも、Java の本を10冊読んで、資格や数年以上の経験が必要
155:デフォルトの名無しさん
17/10/15 01:23:31.23 hZRxEBGG.net
本10冊くらいはそりゃ読む必要あるけど
資格や経験年数はほとんど関係ないよ
本人の素質と努力次第
156:デフォルトの名無しさん
17/10/15 01:38:06.25 h2ngFzeR.net
新卒?中途採用?
何歳か知らんけどプログラミングほとんどやったことないなら
普通研修みたいなの1か月ぐらいは与えられるもんだが今がそれなのか?
157:デフォルトの名無しさん
17/10/15 01:56:56.82 ZgJv24or.net
その辺はその会社次第なんじゃないの? 教育やる余裕がない小さい会社とか
大きくてもその辺のこと分かってない会社とか色々あるだろうし。
ま、しかし、基本的にワザは教えて貰うよりは盗んだ方が良いだろうな。
自分で求めてこうだと分かったことなら忘れないが教えて貰ったことは忘れるから。
なんてことをこの前テレビで坊さんが言っているのを聞いてその通りだと思った。
158:デフォルトの名無しさん
17/10/15 02:43:30.36 XpJLTK+d.net
Javaの「スッキリ」はRPGで言うと
「ひのきの棒」や「竹のやり」みたいな初期装備だが
丸腰よりはるかにマシ
「明解」でやっと「銅のつるぎ」
ファウラーの「リファクタリング」や
GOFのデザパタやエヴァンスのDDD本は
もっと高級な剣だが
レベルが足りないと装備できない
159:デフォルトの名無しさん
17/10/15 08:18:45.28 RBDvyi+r.net
ひのきの棒という役割を演じるゲームか
シュールだな
160:デフォルトの名無しさん
17/10/15 15:24:42.40 atfl3lAe.net
>>154
そのスッキリは入門編(黄緑の方)のことですよね?
161:デフォルトの名無しさん
17/10/15 18:51:46.03 XpJLTK+d.net
>>156
そうだよ
でもスッキリ2冊読んで終わりとか
それほど甘くはないよ
スッキリは基本的に初心者向け
162:デフォルトの名無しさん
17/10/15 18:53:06.03 XpJLTK+d.net
>>155
本が役割ってのがよく分からない
163:デフォルトの名無しさん
17/10/16 16:09:19.43 4dXapby2.net
オブジェクト指向はあまり良くないだろな。
GUIと相性が良かっただけで、その他一般的な問題とは親和性が低い。
164:デフォルトの名無しさん
17/10/16 19:04:15.39 BLPcXnhp.net
オブジェクト指向が一番汎用的だと思う
DDDがOOメインなのもそこだし
165:156
17/10/16 20:19:21.78 tOLHzrTo.net
>>157
レスが遅くなってすいません。
そうですよね、ありがとうございます。
でも今の自分には実践編(緑の本)の中盤以降が結構難しいです…。
166:デフォルトの名無しさん
17/10/17 14:09:59.12 ywtVys1/.net
オブジェクト指向がマッチしないと言っているのは
設計を構造化とかどやっといて
オブジェクト指向プログラミング使えないと言ってる奴がよくいる
機能とか流れって出てきたら注意
167:デフォルトの名無しさん
17/10/17 14:22:15.60 H+HUM8Ad.net
オブジェクト指向がよくわかってないからマッチさせられないだけではないか?
168:デフォルトの名無しさん
17/10/18 10:19:44.01 LGKAL/cG.net
>>156
リストの頭だけを掻き集めてリスト化したような良書ではある
169:デフォルトの名無しさん
17/10/18 11:33:37.26 NAca40Iu.net
Javaスレ少なくなったなあ。
170:デフォルトの名無しさん
17/10/18 12:05:23.13 W6T+19ej.net
ことりんに横取りされちゃう
171:デフォルトの名無しさん
17/10/18 12:11:48.42 NAca40Iu.net
メモリー使用量が個人利用の壁になっているんだろうな。
172:デフォルトの名無しさん
17/10/18 18:27:07.39 cbmCwNcY.net
Javaの個人利用が難しいのは
安いレンサバで使えないのが大きいのでは
173:デフォルトの名無しさん
17/10/18 22:32:18.55 FgeE42WT.net
大抵PHP.良くてPython.ruby止まりかな
174:デフォルトの名無しさん
17/10/19 03:47:23.04 ymhc97rd.net
何故使えるようにならなかったのか考えないのがJavaユーザぽくていいよね。
175:デフォルトの名無しさん
17/10/19 09:32:34.88 vpgxLHGK.net
スクリプト言語はその場で書き直しゃ動くからねぇ
JavaとかC#とかはビルド→デプロイまたは
ビルド→パッケージング→デプロイとか面倒
GAEはどこまでショートカットしてくれるのか知らん
176:デフォルトの名無しさん
17/10/19 12:11:01.39 gt24D1Vb.net
俺って大体そこらへんの能無しより2倍ぐらい仕事早いほうなんだけど
金融系の内部管理システムで1画面にボタンが20個ぐらいあって
段階的に5回ぐらい認証する機能で鬼のように状態持ってるから
設計書の相関チェックも凄いことになってて当然こんなレベルの機能だと
設計書にも不備ありまくりで実装してく度に何十回も設計者と確認しないといけないレベルで
外部結合で持ってくる情報も鬼の用にあるからSQLも100行超えるわ
外部ファイルも取り込んだりするわでエビデンスのページ数も余裕で100ページ越えるレベルで
これが最初テスト完了まで2週間ぐらいの線表で
毎日残業して1か月かけて作ったらプロパーが後ろで「こんだけ時間かけられるとは思わなかったわ」とか
嫌味言ってくるのが典型的な能無し無能システム会社なんだよな
177:デフォルトの名無しさん
17/10/19 12:22:12.67 gjuTpzaj.net
で?
178:デフォルトの名無しさん
17/10/19 12:24:42.39 ScM6nrf0.net
そういう無理のあるものを断れない立場に居ること事態が既に能のある状態とは言えない
179:デフォルトの名無しさん
17/10/19 12:41:04.00 gt24D1Vb.net
過疎ってるから暇つぶしに書いただけだ
プログラムやらず嫌いのプロパーしかいない無能会社の中でも大ハズレの部類
当たりはバグ調査が全然できないプロパーがいるところのバグ調査担当
180:デフォルトの名無しさん
17/10/19 12:43:13.55 PZ5DzTeM.net
書かなくていいです
181:デフォルトの名無しさん
17/10/19 12:47:12.90 q54VEuRQ.net
JDK 8u151と8u152、2つ出てるけどどっちをインストールすればいいの?
182:デフォルトの名無しさん
17/10/19 12:59:35.28 ymhc97rd.net
リリースノート。
183:デフォルトの名無しさん
17/10/19 14:39:13.91 wexIKijw.net
>>171
スクリプトでもバージョン管理してるから他で書いてやっぱりデプロイしてる
個人でも
184:デフォルトの名無しさん
17/10/19 18:18:57.97 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:デフォルトの名無しさん
17/10/19 18:21:13.65 r3vXhCvd.net
訂正
3.
BufferedReader r=new BufferedReader(new InputStreamReader(new BufferedInputStream(fis)));
186:デフォルトの名無しさん
17/10/19 18:53:03.92 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:デフォルトの名無しさん
17/10/19 21:44:03.04 dFFGzMdP.net
BufferedReader br = Files.newBufferedReader(path,charset)
188:デフォルトの名無しさん
17/10/20 09:35:26.11 swuaN5aR.net
>>180
バッファがあると一回の読み書きに時間が掛かる機器の場合に効率が良くなって速度が上がる可能性がある。
例えばHDD。一回の読み書きが遅いのでまとめて読んだり書いたりした方が速度は上がる。
ということでファイル入出力にはバッファがあった方が良い。
189:デフォルトの名無しさん
17/10/20 09:42:05.09 VprmOZRL.net
どのくらい早くなりますか?
190:デフォルトの名無しさん
17/10/20 10:04:52.52 D9t+ZWOa.net
その手の質問には「1万回繰り返すと2倍くらい違う」と答えることにしてる
191:デフォルトの名無しさん
17/10/20 10:20:18.18 VprmOZRL.net
100回繰り返した場合はどうですか?
192:デフォルトの名無しさん
17/10/20 10:30:19.12 D9t+ZWOa.net
割合算でいいんじゃないの
つまり速い方に書き換えると「その部分だけが」2%くらい速い
そこの処理が0.03秒だった場合は処理速度が0.0294秒になって0.0006秒の改善になる
どっちかってと速度なんかじゃなくHDDとメモリ酷使するのを良しとするかどうかで動作決めていいよバッファ系は
193:デフォルトの名無しさん
17/10/20 10:40:23.48 VprmOZRL.net
OSはバッファしないのですか?
194:デフォルトの名無しさん
17/10/20 12:01:07.16 PeRsjtc9.net
ググレカス
195:デフォルトの名無しさん
17/10/20 12:44:07.68 q2wuGssb.net
>>189
するよ
そこまで行ったならオブジェクト生成コストやGC負荷とアルゴリズム、加えて「コ ン パ イ ラ が 完 全 最 適 な オ ブ ジ ェ ク ト 構 成 に 置 き 換 え て く れ る」まで考えて、
結局は実際に計測して遅くなきゃいいや、人力脳内最適化は無意味でクソである、といういま一番トレンドな結論に至る
おめでとう
196:デフォルトの名無しさん
17/10/20 12:44:37.57 Gvoola1V.net
ヨハン・セバスチャン
197:デフォルトの名無しさん
17/10/20 13:02:09.19 PCOS2CdI.net
>>185
接続されてるHDDやプログラムがどのぐらい細切れにデータを読み書きするかで変わる。
ま、なんだったら自分でバッファありとなし作って試してみな。だいたいはバッファありの方が速くなる筈。
速度差が出ないとか、むしろ遅くなる場合はバッファの大きさがそのプログラムでの一度の読み書き量に対して適切ではないとか接続されているHDDに対して適切ではないのかも知れない。
あるいは最初から適切だったためにバッファありにしても殆ど変わらないかかな。固定長の大きな電文を自分で作ってその単位で読み書きする場合はその電文の塊がバッファみたいなものなので変化がないかも知れない。
198:デフォルトの名無しさん
17/10/20 14:59:15.51 vmKCrAVU.net
特定環境だけ意識するのか
199:デフォルトの名無しさん
17/10/20 16:29:37.22 umJD7f7O.net
HDDはあまり関係ないような気がする。
200:デフォルトの名無しさん
17/10/20 16:37:33.80 umJD7f7O.net
OSはほぼ確実にバファリンしてるのでHDDの読み書きではなく、システムを呼び出すオーバーヘッドで
変わるだけじゃないだろか。
201:デフォルトの名無しさん
17/10/20 16:42:56.58 umJD7f7O.net
BufferedReaderを使うとシステム呼び出し回数が減らせるのでスレッドの切り替え確率が
減るという説明のほうが納得がいくような気がスルスル。
202:デフォルトの名無しさん
17/10/20 22:57:05.24 h7aVEIq7.net
OS・HDD は、バッファリングしてる
だから突然の電源断により、書き込まれない事があるため、
必ず正常にシステムを終了させること
普通OSは、5秒ごとに、HDDに書き込む
フラッシュメモリーには、書き込み回数の上限があるため、
SSD の書き込み回数が気になるなら、15秒ごとに書き込むように設定できる
203:デフォルトの名無しさん
17/10/21 02:10:59.27 x42CzbVN.net
Javaの最大の欠点は100kbのデータを扱うプログラムにGBクラスのメモリーが必要になるような
効率の悪さ。
204:デフォルトの名無しさん
17/10/21 02:34:16.89 mk4nuw3r.net
?
205:デフォルトの名無しさん
17/10/21 02:58:50.47 g5bh72yL.net
URLリンク(i.imgur.com)
大学の課題なんだが、for文のi<5のあとにlengthをつけなくてもこの課題は解決できるのかを教えてくれ。
206:デフォルトの名無しさん
17/10/21 03:49:35.47 W+SO0xqJ.net
>>199
どういう場合にそうなんの?
普通なら大丈夫なんじゃね
207:デフォルトの名無しさん
17/10/21 03:59:19.02 W+SO0xqJ.net
>>201
この問題
「am[0]」の使い方に違和感があるな
AMCounterクラスとか作って
カウントの責務を分離したい感じがする
208:デフォルトの名無しさん
17/10/21 04:08:37.48 g5bh72yL.net
>>203
3つ目のクラスを作るってことか?それはまだ習ってないからそうしないのかも。
209:デフォルトの名無しさん
17/10/21 04:20:38.55 xu+p9cdr.net
>>203
ああ。違和感あるな。これダメな設計だよなあ?
am[0].countAutomobile() や am[0].countHeavy() でカウントした結果が出るということは
new Automobile() した時にコンストラクタで Automobile クラス内にある static のクラス変数の
カウントをしていて countAutomobile() や countHeavy() メソッドでそれを読み出すという
ことになるが、そんなクラスは一つのVMで同時に一つしか動かせない。複数のスレッドで
同時に使おうとすると意図した通りに動かない。Java のクラスとしてはなんだかとても
嫌なクラスだ。
210:デフォルトの名無しさん
17/10/21 10:41:58.06 PVB7G2Ex.net
ハイエークラスに集計メソッドを持たせてはどうか。
211:デフォルトの名無しさん
17/10/21 10:42:56.10 PVB7G2Ex.net
せっかくだからシークエルを渡せるようにしてはどうか。
212:デフォルトの名無しさん
17/10/21 14:19:09.90 L87nxTYD.net
>>201
可能
5台と固定だから付ける意味ないんじゃないかな
クラス変数の挙動を知る課題かな
その使い方や設計としては悪いが
213:デフォルトの名無しさん
17/10/21 15:37:16.16 ej0bNcSX.net
>>201
amもweightも同じ要素数だから5回繰り返せばぴったりじゃん
214:デフォルトの名無しさん
17/10/21 15:47:20.68 PVB7G2Ex.net
ぴったりじゃん?
215:デフォルトの名無しさん
17/10/21 16:49:24.05 oMtVUNUR.net
何この糞問題wwwひっでぇな・・マジで
これ作ったの教員?生徒?
なんで配列の一要素でしかないクラスが配列全体の情報を持ってこれるんだよw
こんなレベルだと生徒もダメになるゴミ問題だな
216:デフォルトの名無しさん
17/10/21 16:53:51.90 oMtVUNUR.net
しかもこれで大学だからなwww
>201も相当な馬鹿っぽいし100%Fランだなw
217:デフォルトの名無しさん
17/10/21 16:58:21.30 oMtVUNUR.net
あーこれあれかw
最初から車の総数と大型車の台数わかってるから
countAutomobileとcountHeavyは5台と2台を直打ちで返すようにしてるだけなのかwww
中学校のマイコン倶楽部の問題かよwwwwwww
218:デフォルトの名無しさん
17/10/21 17:35:53.13 g5bh72yL.net
>201です。みんな色々とありがとう。まあFランなのは否定しないですw lengthなくてもいけるのはわかったのでもうちょい頑張ってみます
219:デフォルトの名無しさん
17/10/21 17:58:44.98 ZBz0JWdz.net
countAutomobile()やcountHeavy()は
コレクションクラスに持たせるのが普通でしょ
AMCounterクラス作って切り出すほどでもない
この規模ならHighwayクラスのメソッドでも十分
for文の中括弧省略はアンチパターン
あと大型車を数えるのにcountHeavy()という名前は不適切
220:デフォルトの名無しさん
17/10/21 18:16:41.12 g5bh72yL.net
>>215
まあ一応課題に沿って作成しないといけないんで与えられたクラス内でやるしかないみたいです。ご指摘ありがとうございます。
221:デフォルトの名無しさん
17/10/21 18:22:53.02 W+SO0xqJ.net
>>205
その通りだね
課題の範囲だとstatic使うくらいしかないよな
>>206 それもアリだと思う countメソッドはAutomobileよりかは Highwayが持つ方が自然 ただ何を作るかにもよるけど Highwayが将来的に肥大化しそうだから Counterクラスに切り出す場合もありそう
223:デフォルトの名無しさん
17/10/21 18:27:25.26 W+SO0xqJ.net
>>215
コレクションクラスでもいいというか
課題だとそっちの方がいいね
ただ課題のはサンプルコードで超小規模だけど
実用的なプログラムだと
カウントの仕方が多種類で複雑になるから
224:デフォルトの名無しさん
17/10/21 18:28:53.58 CGeTMVG8.net
俺様が素晴らしい解答を用意してやったぞ
但し実行結果は見てない
class Automobile {
private static AtomicInteger count = new AtomicInteger();
private static AtomicInteger weight = new AtomicInteger();
public Automobile(int weight) {
this.weight.addAndGet(weight);
}
public int countAutomobile() {
return count.incrementAndGet();
}
public int countHeavy() {
return this.weight.get();
}
}
225:デフォルトの名無しさん
17/10/21 18:37:22.59 CGeTMVG8.net
よく考えたらincrementAndGetはコンストラクタでやるしかねえな
オブジェクト作る意味無いコード書いたの初めてだから中途半端なコードになっちまった
226:デフォルトの名無しさん
17/10/21 18:42:09.63 oMtVUNUR.net
ダメだ・・このあまりに低レベルな流れ見てると吐き気がしてくる・・
問題の質があまりに低レベルなの見れば設計とかそういう以前の問題で真面目に考える余地なんかないのに
staticだのコレクションだの将来性だのアホか・・
227:デフォルトの名無しさん
17/10/21 19:10:52.71 3cF6dV6+.net
>>221
だったら参加しなきゃいいのに
この話題が何日も続くわけじゃあるまいし
228:デフォルトの名無しさん
17/10/21 19:17:48.71 L87nxTYD.net
スレタイ読めない奴は国語の勉強から初めた方がいいと思うの
229:デフォルトの名無しさん
17/10/21 20:07:37.18 mG9cdR79.net
国語よりJavaのほうが必修だろ。
230:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 09:20:00.50 TMuVy25k.net
>>221
高レベルなレス期待してるわ
231:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 10:10:46.11 kBkM80le.net
>>221
初心者スレに何を求めてるの?
232:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 12:27:36.98 /zkBCLsm.net
初心者どうこういう以前にお前等のその解釈って無駄というか”無意味”なんだよね
問題文がインスタンス作りましょうとかっていうレベルのものなのに
問題に書かれない範疇のことまで勝手に想像を膨らませてあーだこーだ考えて
逆に質問者を混乱させ、陥れる無能の典型というか馬鹿の代表というか
なんだろうねこのド素人特有の客観的に問題点とそれに対する回答を指摘できない低知能ぶりは
233:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 12:33:56.55 dJ6mfyJW.net
いや学校の課題の質問だったから
わざとやってんだよ……
234:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 12:57:00.14 87G6xIOf.net
>>199
普通のパソコンが512mbくらいしか積んでなかったときからjavaは動いていたと思うが・・・
お前はどの世界線から来たんだ?
それとも、ただのうすら馬鹿か?
235:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 13:31:52.16 hgYX0k8x.net
>>229
昔のjava重かっただろ
236:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 13:51:31.80 xuXRPzMa.net
ただの口の悪いだけの奴だから気にするな
237:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 13:57:03.56 87G6xIOf.net
嘘を放置するのはよくないと思わんの?
238:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 14:05:17.09 xuXRPzMa.net
仮にまともなこと言っていても口が悪い奴の相手するのは時間も精神的にも無駄
239:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 14:32:44.32 87G6xIOf.net
嘘つきがチヤホヤされるべきだとでも言うんかね
このバカは
つか、お前がうすら馬鹿かよwww
240:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 14:33:57.23 87G6xIOf.net
あ、うすら馬鹿に話しかけられると鬱陶しいから、消えてくれよな
頼むわw
241:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 14:40:05.22 Nwk+EhzR.net
>>227
>>211-213のレスも無意味やで
自分のやることには意味があると信じたいんだろうけど、もう少し客観的になろう
242:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 14:50:54.26 dJ6mfyJW.net
>>236
そうそう
空気読めないだけ
243:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 16:33:04.80 ACH5Qj3i.net
なんかさぁ
俺はjavaを勉強してるつもりだったのに気づいたらSQLやHTML/CSSの本を読んでるんだが間違ってないよな・・・?
244:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 16:45:56.69 kBkM80le.net
バカがたむろってる所でしか粋がれないやつなんだからほっといてやれよ
245:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 18:06:04.46 TMuVy25k.net
>>227
そういうのは回答を指摘してから言え
246:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 18:17:46.07 /zkBCLsm.net
入門書未満のくだらない質問の回答はお前等馬鹿の担当だけど
それですらまともにできないから呆れるわ
いつ見てもアホしかいない
247:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 18:20:42.92 kBkM80le.net
>>241
じゃあお前は何でここにいるの?
248:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 18:29:26.25 cbaZLKfH.net
>>238
CLI、GUIアプリ系の本を選べばだいたいJavaで完結する
あとは隠蔽するようなフレームワークとか使えば、とりあえずは知らなくてもできる
249:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 19:11:00.87 xuXRPzMa.net
>>238
web系なら他言語行ってもつぶし効くから損はないと思う
250:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 19:31:25.01 AUtmH3Uy.net
>>238
いいじゃん。全部覚えろよ。
251:デフォルトの名無しさん
17/10/22 20:21:51.73 8vyNBiTj.net
>>222
初心者スレに必ず湧く奴だよ。
252:デフォルトの名無しさん
17/10/22 22:19:13.28 2tnXS/Sc.net
gradleの使い方って覚えといて損はない?
253:デフォルトの名無しさん
17/10/23 00:52:06.58 Zv+DKPlp.net
>201です。もう無理だw大学で配られた資料だけじゃだめだ、理解が追いつかない。本とか買わないとまずいかな。まあ勉強不足なのはわかってるんだがやっぱ無理なもんは無理だ。誰か教えて…
254:デフォルトの名無しさん
17/10/23 01:05:36.93 u5IDZl2p.net
>>248
実現するならstatic変数を作ってコンストラクタでインクリメントするだけ
staticを解説するためだけのアンチパターンな設計だから深く考えたらだめなやつ
255:デフォルトの名無しさん
17/10/23 01:06:44.62 y4/LHG7i.net
>>248
とりあえず何がわかんないのか箇条書きで書いて見なよ
親切なおじさんと不親切なおじさんがレスするから
256:デフォルトの名無しさん
17/10/23 01:14:38.16 Zv+DKPlp.net
>>250
まず、合計台数だけを出力するプログラミングを作ろうと思ったんですけど、
整数型配列の初期化とかはあってるはずなんだけど、Automobileクラスでint countAutomobile(){(←コンストラクタ?)内で何を打てばいいのかわからないです。ただ、return weightだと配列の1つ目の値だけが出力されますので。
URLリンク(i.imgur.com)
257:デフォルトの名無しさん
17/10/23 01:16:06.32 Zv+DKPlp.net
>>250
もちろん課題の内容としてはさらに大型車の台数も出力しないといけないんですけど、まず簡単なとこからと思って合計台数だけをやり始めたらそこすらできない次第です。
258:デフォルトの名無しさん
17/10/23 01:17:56.31 Zv+DKPlp.net
>>251
コンストラクタじゃなくて、インスタンスフィールド?適当なこと言ってすみません…
259:デフォルトの名無しさん
17/10/23 01:23:14.60 y4/LHG7i.net
>>251
なるほど、それほど筋悪く無いと思うよ
他の人がいろいろ書いてるように1台の車を表現してるAutomobileクラスのインスタンスが
全部で何台あるのかを把握してること自体がおかしい、つまり課題のコードのほうがおかしい
だからそこは分からないほうが普通というか
100人いたら100人ともam[0].countAutomobile()とは書かないから
他のやり方したらいいんでないの?
260:デフォルトの名無しさん
17/10/23 01:29:14.79 u5IDZl2p.net
Automobile(int g)がコンストラクタだよ
int weight → static int weight って変えてみたらわかると思う
253が言うように筋はいいと思う
>>254
残念ながら課題として出てるのでこれに回答せねばならないんだよ
とてつもなく不服だがな
261:デフォルトの名無しさん
17/10/23 01:29:54.34 Zv+DKPlp.net
>>254
課題がおかしいんですかね…どこか一部を直せばいいんでしょうか?それか他の意見でもあったように新しいクラスを作るべきなのでしょうか?たびたびすみません。
262:デフォルトの名無しさん
17/10/23 01:33:18.03 Zv+DKPlp.net
>>255
そちらがコンストラクタでしたか、ご指摘ありがとうごさいます。
263:デフォルトの名無しさん
17/10/23 01:38:13.20 y4/LHG7i.net
>>256
HighwayクラスにcountAutomobile()やcountHeavy()を作って上げるのが一番簡単
どうしても課題のコードに従ってやるならAutomobileクラスに
クラスレベルの変数として台数合計を管理するものを用意する
264:デフォルトの名無しさん
17/10/23 01:55:19.63 Zv+DKPlp.net
>>258
前者の方法についてもう少し詳しく教えていただけませんか?自分の解釈ではまずHighwayクラス内にint countAutomobile()と int countheavy()をつくる。
265:デフォルトの名無しさん
17/10/23 01:55:42.85 Zv+DKPlp.net
>>258
countAutomobileに関してはreturn weightで返して、heavyに関してはif文で大型車の時だけreturn で返せる。と考えたのですが、あってますでしょうか?無知ですみません
266:デフォルトの名無しさん
17/10/23 01:57:12.01 u5IDZl2p.net
int weight → static int weight って変えてみたらわかると思う
267:デフォルトの名無しさん
17/10/23 02:00:11.05 Zv+DKPlp.net
>>261
先ほどの画像にstaticを足してみたところ5つ目の配列の要素が表示されたのですが、どこがおかしいんですかね?
268:デフォルトの名無しさん
17/10/23 02:01:39.23 Zv+DKPlp.net
>>262
配列の5つ目と言ったほうが正しいでしょうか
269:デフォルトの名無しさん
17/10/23 02:05:09.61 u5IDZl2p.net
>>262
8って出たならあってるよ
出力してるところでは1番目を指定してるのに5番目が出たってところが大事
270:デフォルトの名無しさん
17/10/23 02:06:00.66 yUlbauj/.net
またアホどもが初心者を混乱させてるwww
問題が糞で最初から台数わかってんだから台数はハードコーディングングでそのまま返せばいいんだよ
なんでsataticにすんだよ阿呆
271:デフォルトの名無しさん
17/10/23 02:07:20.46 Zv+DKPlp.net
>>264
まだ途中の段階ってことですか?結果は8と表示されました。
272:デフォルトの名無しさん
17/10/23 02:07:26.45 u5IDZl2p.net
>>265
ちげぇねぇwww
その発想はなかったわ
273:デフォルトの名無しさん
17/10/23 02:11:15.70 u5IDZl2p.net
>>266
まだまだ途中
そもそも台数を出すのであれば重さを設定する必要はない
static int weight → static int weight=0 って変えて
weight=g → weight++ って変えてみな
274:デフォルトの名無しさん
17/10/23 02:20:42.33 Zv+DKPlp.net
>>268
言われた通りやってみたのですが、コンパイルでエラーが出てしまいました。int countAutomobile()の()内のintを消したのがまずかったでしょうか?
URLリンク(i.imgur.com)
275:デフォルトの名無しさん
17/10/23 02:21:38.59 y4/LHG7i.net
>>260
Automobileの配列使わないと
276:デフォルトの名無しさん
17/10/23 02:23:07.33 T8WMGQAM.net
>>269
yes
int gは消さずにそのまま
後で必要になるからね
277:デフォルトの名無しさん
17/10/23 02:24:18.98 Zv+DKPlp.net
>>271
いけました!まあこれもまだ途中だと思うと…
しっかり5台と表示されました!
278:デフォルトの名無しさん
17/10/23 02:28:32.08 c0Vu/KQR.net
>>272
ok
じゃあ次は
weight++ → if(11<=g) weight++ って変えてみな
279:デフォルトの名無しさん
17/10/23 02:28:43.54 Zv+DKPlp.net
あとはint countHeavy()を作るだけでしょうか?
280:デフォルトの名無しさん
17/10/23 02:29:42.89 y4/LHG7i.net
>>268
せめて static int total = 0 とかにして
281:デフォルトの名無しさん
17/10/23 02:31:28.73 Zv+DKPlp.net
>>273
変えたところ2と出てきました。
282:デフォルトの名無しさん
17/10/23 02:34:41.53 c0Vu/KQR.net
>>275
ひとまず、な
できるだけ手を加えずまずは動き
命名も大事だがまずは動かすことを目的とした
>>276
後はstatic変数を増やして
さっき5台って出たものと今2台って出たモノを組み合わせれば完成
283:デフォルトの名無しさん
17/10/23 02:37:41.34 yUlbauj/.net
キモすぎてもう見てられん・・早く終わってくれ
public class Automobile {
static int TotalMobile = 0;
static int TotalLargeMobile = 0;
Automobile(int weight){
TotalMobile++;
if(weight >= 11){
TotalLargeMobile++;
}
}
public int countAutomobile(){
return TotalMobile;
}
public int countHeavy(){
return TotalLargeMobile;
}
}
public class Highway{
public static void main(String[] args) {
Automobile[] am = new Automobile[5];
int[] weight = {1, 15, 12, 5, 8};
for(int i=0; i<5; i++){
am[i] = new Automobile(weight[i]);
}
System.out.println("自動車総数:" + am[0].countAutomobile() + "台");
System.out.println("うち大型車:" + am[0].countHeavy() + "台");
}
}
284:デフォルトの名無しさん
17/10/23 02:39:17.36 c0Vu/KQR.net
>>278
おーいいタイミング
ありがとな~
285:デフォルトの名無しさん
17/10/23 02:42:53.75 Zv+DKPlp.net
皆さんありがとうございます!おかげでどうにか出来ました!この恩は一生忘れないです!
286:デフォルトの名無しさん
17/10/23 02:45:26.99 c0Vu/KQR.net
>>280
恩は忘れていいのでこの問題の設計はウンコだって事だけ覚えててくれ
287:デフォルトの名無しさん
17/10/23 02:48:37.75 Zv+DKPlp.net
>>281
けれどこんなヽ(・∀・)ノウソコ設計でもみなさんちゃんと理解して完成まで持ってけるなんてほんとにすごいと思います。
288:デフォルトの名無しさん
17/10/23 02:51:09.46 yUlbauj/.net
お前と課題出した奴が馬鹿すぎるだけ
289:デフォルトの名無しさん
17/10/23 02:54:14.67 c0Vu/KQR.net
こちとら仕事でこんなもんじゃないレベルのウンコを相手にしてるからな
本来いらないスキルだからお前は真っ当に育ってくれ
290:デフォルトの名無しさん
17/10/23 03:03:23.53 Zv+DKPlp.net
>>283
反論の余地もないです。これからも精進します…
291:デフォルトの名無しさん
17/10/23 03:04:25.94 Zv+DKPlp.net
>>284
センスないと言われたらそこまでですが、将来IT系で働きたいと考えているのですがどう思いますか?ちな理系です。
292:デフォルトの名無しさん
17/10/23 03:11:54.62 c0Vu/KQR.net
>>286
働くだけなら誰でも行けるよ
スキルは後から付ければいいけどあればあるだけ有利にはなる
293:デフォルトの名無しさん
17/10/23 03:19:06.59 Zv+DKPlp.net
>>287
なるほど、ありがとうごさいます
294:デフォルトの名無しさん
17/10/23 04:09:38.68 H84xHXVr.net
>>282
完成については最初に問題を見た直後に大半のやつはわかっていて、
それだからクソだと言っていたのだ。この程度は誰でも慣れてくると
すぐに頭に浮かぶようになる。というか見た直後にまず違和感を覚える。
それからその違和感の原因はなんだろうと心の中を探り、それから
ソースを二度見して気づく。
295:デフォルトの名無しさん
17/10/23 04:25:40.26 yUlbauj/.net
ネットで色々調べ物してたら大学生とか院生でも仕事でjavaってる奴よりも
遥かに賢いコード書いてる奴が腐るほどいるのに
大学で出る課題がこれでそれに悪戦苦闘してる奴が仕事とか夢見すぎだろ
296:デフォルトの名無しさん
17/10/23 05:17:21.22 c0Vu/KQR.net
初心者が突然理解してたら勉強する意味ないだろ
297:デフォルトの名無しさん
17/10/23 08:14:26.60 uG4wXav9.net
>>290
皆出来るような事は仕事にはならない。
298:デフォルトの名無しさん
17/10/23 12:06:33.05 Lz0ZCAGx.net
初歩中の初歩的なことで申し訳ないんですが、Windows 10上でのJava開発環境の構築は
a. JDKインストール → Eclipseインストール →Pleiades プラグインインストール (一般的?)
b. Pleiades All in One [Eclipse 4.7] Java (Full Edition)
どちらの方法がお勧めでしょうか?最近まで開発にMacを使っていたものでどうすべきか悩んでいます。
後者は最初からよく使うプラグイン類が導入済で便利とは聞きますが...
299:デフォルトの名無しさん
17/10/23 12:18:29.77 QxUDS6F0.net
>>293
本当の初心者とか楽したいなら後者
開発経験あるなら前者で必要なプラグインだけ選出して入れる
300:デフォルトの名無しさん
17/10/23 16:12:01.87 QKnEuIrp.net
必要ないプラグインは外せる
だからプラグインと呼ぶ
学校でのプログラミングの課題はあくまで穴埋め的に特定手法の記憶度を見るものであり
独習時の問題とも業務実習時の課題とも違うものだから出来不出来は気にしないのがよい
ネイティブだろうがプロ翻訳家だろうが「学校の」英語「習熟度ドリル」は満点取れなかったりするものだ
301:デフォルトの名無しさん
17/10/23 16:23:54.92 t7W7X0PH.net
あー。帰国子女で日本語片�
302:セのやつがなぜか満点取れないと。
303:デフォルトの名無しさん
17/10/23 17:06:17.83 8jJ9zkLD.net
日本人が全員国語満点じゃないのと一緒
304:デフォルトの名無しさん
17/10/23 18:36:46.88 NKAmnKE1.net
この課題はインスタンス変数とクラス変数の違いを知るためのものだから
こういう間違えをして調べるのを期待してるんだろ
305:デフォルトの名無しさん
17/10/23 19:16:35.52 YIhcz2Te.net
ま、しかし、もうちょっとましな課題作れないもんだろうか。
疲れてたのかな。
306:デフォルトの名無しさん
17/10/23 19:31:38.35 Pe+98mGG.net
やっと流れに追いついた
>>201のは、設計がどうのという以前に
キチガイの所業
あるいはお前らの脳を疲弊させるための実験
お前らマトモにとりあってたらダメだぞ
307:デフォルトの名無しさん
17/10/23 19:40:11.90 YIhcz2Te.net
あー。そうか。スレを活性化させるために投下された燃料だったのか。
308:デフォルトの名無しさん
17/10/23 20:12:20.31 y4/LHG7i.net
一般的にこういう課題ってam[0]の箇所を
自分なりに修正して提出したら減点対象になるの?
もしそうなら大学レベルの教育方法ではないよね
309:デフォルトの名無しさん
17/10/23 20:22:05.75 YIhcz2Te.net
わからんな。先生の気分次第なんじゃないか?
310:デフォルトの名無しさん
17/10/24 00:45:00.97 MROfWTvM.net
配列ってホッチキスで止められた書類みたいなもんだから最近嫌いだわ
311:デフォルトの名無しさん
17/10/24 01:07:41.88 37YlkQhq.net
List使えばいいじゃん。
これにて一件落着
312:デフォルトの名無しさん
17/10/24 02:48:33.95 UVHXr0A6.net
[[[[[[[[[
313:デフォルトの名無しさん
17/10/24 23:49:49.40 ++BilNP+.net
>>305
要素一つ一つaddする地獄もなくなったし、これからはListの時代
314:デフォルトの名無しさん
17/10/25 06:04:04.53 ZfgKJLFw.net
質問です。
ファイル圧縮処理を行う下記のコードで、
URLリンク(ideone.com)
close処理をfinally文ではなくcatch文の中に記述されているのですが、
問題無いのでしょうか?
315:デフォルトの名無しさん
17/10/25 07:05:25.56 KHRIvL/L.net
>>308
処等後にプロセスがすぐに死ぬなら
閉じる必要もないでしょ
flushだけでいい
キャッチはまるまるいらない
316:デフォルトの名無しさん
17/10/25 09:26:51.00 Q7ime0JM.net
closeとセットで作るようにしないといつかclose忘れ起こすと思うけど
317:デフォルトの名無しさん
17/10/25 09:39:29.54 nJqgcJg9.net
try-with-resources でやるのが良い
URLリンク(www.task-notes.com)
318:デフォルトの名無しさん
17/10/25 09:44:49.84 ZmgYAolO.net
まあ実際的にも教育的にも「closeなんてしなくていいよ」ということはないな
自動でcloseしてくれる普段使い用コンビニエスメソッドが本家でもあるべきではあるが
319:デフォルトの名無しさん
17/10/25 10:10:23.11 QmdhvvJR.net
Javaってc#のusingみたいな構文ないんだっけ?
320:デフォルトの名無しさん
17/10/25 11:01:31.98 lQVA76dW.net
>>312,313
直前のレスくらい読もうぜ
321:デフォルトの名無しさん
17/10/25 18:36:25.22 9pgp/kzo.net
プログラミング完全初心者でこれから始めようと思っているんですが
何を何からやれば良いでしょうか
お勧めの本やサイト等もご教授ねがいます
OSはLinux Mintでとりあえずeclipseというのとopen java8というのを入れました
322:デフォルトの名無しさん
17/10/25 18:38:25.23 0GYD+24d.net
>>315
プログラミングで何をやりたいの?
学ぶ目的は?
323:デフォルトの名無しさん
17/10/25 18:44:11.98 MjxzUPyN.net
C#と座間林が話題になってたからそっちのほうがいいのかも
324:デフォルトの名無しさん
17/10/25 18:54:09.43 ZmgYAolO.net
>>315
>何を何からやれば良いでしょうか
325:>お勧めの本やサイト等もご教授ねがいます 全部おんぶに抱っことかアフィかッ! やんわりマジレスすると最初の最初はJavaでないほうがいいよ これはたとえ小難しくても業務でカッチリ書けるという面が重宝された言語だから、個人がいきなり趣味でやるとしんどい ひょっとしたらアンドロイドアプリが頭にあるかもしれないけど、もしゲームならUnityがいいよ
326:デフォルトの名無しさん
17/10/25 19:02:06.72 ZmgYAolO.net
環境見てなかったwwww
もしリッチなマシンがLinuxマシンしかなく、それでもGUIアプリを世に出したいのだとしたらJava...しかないかなあ
アンドロイドアプリをLinuxで作りたいなら実質Java/Kotlinしかないよ
ただ、あなたの中では知名度ないかもしれないけど Python をやるという手もあるよ
よかったら検討してくれ
327:デフォルトの名無しさん
17/10/25 19:08:59.03 9pgp/kzo.net
ありがとうございます
webアプリ作成、Androidアプリ作成、機械学習をやってみたいと考えております
調べていてpythonというのも候補には挙がったんですが
javaをやると基礎がしっかりつくと聞いてjavaにしてみようかなと思いました
学生で新しいパソコンを買う余裕がなく、お下がりのにlinuxを入れて使っています
328:デフォルトの名無しさん
17/10/25 19:37:30.37 9pgp/kzo.net
すいませんちょっと嘘つきました
お金がないよりも、勉強の邪魔になるからって買わせて貰えない
の方が正しかったです
329:デフォルトの名無しさん
17/10/25 19:47:59.66 ZmgYAolO.net
学生さんならJavaなんてやるのは勿体ないよ
あとLinuxでのアンドロイドアプリ作成はメモリ4GB必要だから気をつけてね
330:307
17/10/25 20:18:00.51 ZfgKJLFw.net
何件かレスを頂き、ありがとうございます。
仕事でJavaを使う際、catch文の中にclose処理を入れるのは有りなんでしょうか?
引き続きで恐縮ですが、皆様の見解をよろしくお願いします。
331:デフォルトの名無しさん
17/10/25 20:28:08.31 lZypkF1g.net
>>323
規約と契約による
あなたの会社がしても良いといえばどっかのJavaのエラい人がなんと言おうとあなたの会社では正しいし
Javaのエラい人が顔をしかめネットで炎上し掲示板で荒らし扱いされる手法であっても上司がそのようにしてくれと言えばあなたはその書き方をすべきである
332:デフォルトの名無しさん
17/10/25 20:30:59.72 zzC6q5u4.net
>>318
え?Javaってそんなに難しいか?
まあでも元の質問してる人はOSがLinuxなので多分何も知らない初心者じゃないと思うぞ。
多分他の言語はわかるんじゃないか?
333:デフォルトの名無しさん
17/10/25 20:36:12.40 zzC6q5u4.net
あ、ごめん。リロード忘れてた。なんでLinuxか書いてあったな。
まあでもLinux入れてまで使おうとするやつはもはや初心者ではないと思うが。
334:デフォルトの名無しさん
17/10/25 20:40:19.16 lZypkF1g.net
>>325
まーなんだ、「小難しい」のは間違いないな
1行実行するために10行書くような言語だ
IDEがあるとはいえ学生さんにはもっと前のめりな言語で遊んでほしいところ
あと君が何歳かは知らないけど今のデスクトップ用Linuxのインストールと使用はスマホの設定変更くらいの難易度だぞ
335:デフォルトの名無しさん
17/10/25 20:56:31.41 zzC6q5u4.net
>>327
いや、今時のLinuxはインストール始めれば後はだいたいマウスポチポチ押してればなんとかなる事は知ってる。
しかしPC初心者は普通はLinuxの存在すら知らない。あるいはWindowsの上で動くソフトだと誤解していたりする。
そういう誤解がないということはそれなりにわかっていると考えて良かろう。
336:デフォルトの名無しさん
17/10/25 21:17:12.51 QmdhvvJR.net
>>328
いまはWSLあるしなー
337:デフォルトの名無しさん
17/10/25 21:45:19.10 /TUaBfz7.net
314です
泥アプリの作成にもRAM4GB必要だそうなので何とかしてもうちょっと新しいPC手に入れて出直してきます
ありがとうございました
338:デフォルトの名無しさん
17/10/25 22:42:58.25 RILf1WwA.net
泥アプリ開発ならvsでxamarinとかブラウザでmonacaみたいな選択肢もあるし
一旦言語選択から考え直してみたら
339:スッキリ厨
17/10/25 23:26:15.55 M2TcZ1xf.net
>>315-322
まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014
その後、この2冊をこの順に読む
たのしいRuby 第5版、2016
みんなのPython 第4版、2017
ここまでが基礎で、実際にアプリを作れるようになるには、数年掛かる。
アルゴリズム・OS・環境構築運用で、少なくとも数年は掛かる
340:デフォルトの名無しさん
17/10/26 00:28:50.10 qkSUMYmO.net
クラス名からインスタンスを生成して、
そのインスタンスが保持するフィールドにダミーの値をセットする機能を作りたいのですが、
privateなメンバ変数にも値をセットすることはリフレクションで出来ますか?
class Entity{
@getter @setter
private Long age;
}
があったときnew Entity()のインスタンスとその中のageに何か数値が入っている状態にしたいです
341:デフォルトの名無しさん
17/10/26 00:42:22.95 qkSUMYmO.net
自己解決した ありがとう
342:デフォルトの名無しさん
17/10/26 01:29:13.40 N/UTfD1S.net
>>315
Progate行ってこい
やれそうだと思ったらスッキリ入門編
343:デフォルトの名無しさん
17/10/26 09:58:09.89 /KWiwsxI.net
>>334
どうやって解決したかを書け
344:307
17/10/26 20:11:51.32 DirVuC/B.net
>>324
分かりました。ありがとうございました。
345:デフォルトの名無しさん
17/10/29 00:13:25.42 jaLMlrXm.net
H2 Databaseに接続するプログラムをコンパイルし実行したいのですが、
クラスパスを何て書けばいいか調べても分かりません。
どなたか教えて頂けませんでしょうか?
346:デフォルトの名無しさん
17/10/29 11:34:08.81 oFRxn/Jf.net
>>338
ここにいきなりこう書いてあるが?
URLリンク(www.h2database.com)
Add the h2*.jar to the classpath (H2 does not have any dependencies)
347:337
17/10/29 12:46:42.34 jaLMlrXm.net
>>339
レスありがとうございます。
具体的には、javac -cp h2*.jar Main.java (Main.javaはクラス名)と入力し、
java -cp h2*.jar Main と入力すればいいんですか?
348:デフォルトの名無しさん
17/10/29 13:08:40.31 cRJ4aa/x.net
今時クラスパスを手動で解決するとは
mavenとかgradle使え
349:デフォルトの名無しさん
17/10/29 13:18:28.37 oFRxn/Jf.net
>>340
いや、h2*.jar が入っているディレクトリごと指定しないと普通はダメなのでは?
カレントディレクトリにあるならそれでも良いのかも知れんが。
350:337
17/10/29 15:33:37.93 jaLMlrXm.net
コンパイルは通るのですが、実行できませんでした…。
ClassNotFoundExceptionとSQLExceptionが発生してしまいます。
どなたかヒントを下さい。
ソースコードは以下です。
URLリンク(ideone.com)
351:337
17/10/29 15:35:28.67 jaLMlrXm.net
>>341
すいません、今回はコマンドプロンプトで書かせて下さい。
352:デフォルトの名無しさん
17/10/29 15:57:54.47 0Uo9CHxR.net
>>343
javacで取り込むわけではないので
javaで実行時にもCLASSPATHを通して見つかるようにしてやる必要がある
353:デフォルトの名無しさん
17/10/29 16:23:24.35 oFRxn/Jf.net
>>343
コンパイル時と同じ classpath にしてもダメなの?
354:337
17/10/29 16:26:53.49 jaLMlrXm.net
>>345
はい。それは分かります。javacと同じクラスパスをjava実行時にも付けて
355:います。 実は根本的に、h2*.jarファイルがどこにあるのかよく分かってない気もするんですが、 H2 DatabaseのホームページからDL出来るh2-setup-2017-06-10.exeファイルの 中にあるんですよね?
356:337
17/10/29 16:32:10.42 jaLMlrXm.net
>>346
はい。
なのでjarファイルの位置指定がそもそも間違ってるんじゃないかと思い始めて
いるんですが…。.jarという拡張子のファイルが見当たらないんです。
357:デフォルトの名無しさん
17/10/29 17:11:13.08 0Uo9CHxR.net
>>347
知らないけど
それは自己解凍ファイルなのかな
検索して実際のjarファイルを探してみればいい
コンパイル時はインタフェースさえわかればいいから
その実装のclassには通ってない可能性がある
ちゃんと何してるかから理解した方がいいと思うぞ
358:337
17/10/29 20:16:42.57 jaLMlrXm.net
>>349
あれからいろいろ調べて、Cドライブを検索した結果、h2*.jarファイルが
見つかりました!やはり.exeファイル内には無かったようです。
クラスパスを更新したら実行(javaコマンド)も無事成功しました。
回答して頂いた方々、ありがとうございました。
359:デフォルトの名無しさん
17/10/29 22:13:14.03 ZPOHC70p.net
コンストラクタで引数チェックをし、例外を投げることは設計上良くないのでしょうか?例えば
class hoge {
private final int i;
hoge(int i) {
if(i >= 0)
this.i = i;
else
throw new IllegalArgumentException
}
}
フィールドiに負の数を持たせたくない場合このようにするのが自然かなと考えたのですがいかがでしょうか?
360:デフォルトの名無しさん
17/10/29 23:14:29.92 ILWFk/IO.net
>>351
クソだと思う
値をチェックする責務は専用のクラスに任せて
それ以外のクラスに持ち込むべきじゃない
361:デフォルトの名無しさん
17/10/30 00:07:29.30 RKfFK5VC.net
>>351
別にいいと思うぞ
作ってからIsValidで確認するか
そもそも作らせないようにするかの違い
どっちのやり方も良し悪しがある
362:デフォルトの名無しさん
17/10/30 00:34:24.41 EdHEI0+x.net
空のオブジェクト作って後でsetter使って入れるのも微妙だしコンストラクタで値チェックとかしていいと思うぞ
俺ならPattern.compileメソッドみたいに自分自身を返すstaticメソッドで価チェックする
363:デフォルトの名無しさん
17/10/30 00:44:57.12 sRaOGV/D.net
>>351
有り得ない状態で存在できるより良い
364:デフォルトの名無しさん
17/10/30 00:45:02.55 eddodMAs.net
>>352
値チェック専用のクラスを作る場合どのように作るべきでしょうか
値チェッククラスでOKだった数値(正の数)をどのようにhogeのコンストラクタに渡すのかいまいち正しいイメージがつかめません
値チェッククラスのインスタンスをhogeの内部に持たせる(フィールドとコンストラクタの引数を変更する)のが良いのでしょうか?
とんちんかんな質問かもしれませんがよければお答えいただけると嬉しいです
>>353
なるほど
isValidメソッドであとからチェックするというのは思い付きませんでした
365:デフォルトの名無しさん
17/10/30 01:04:31.28 JH+/yPWP.net
>>351
>コンストラクタで引数チェックをし、例外を投げる
問題ない
バグでおかしくなるのが一番の問題
366:デフォルトの名無しさん
17/10/30 01:12:17.89 RKfFK5VC.net
Hibernate Validatorみたいなバリデーションフレームワークは一般的に作ってから確認する方式
そもそも作らせないようにするのは”always valid”と呼ばれてる
“always valid model”とかで検索すれば参考になるサイトが出てくる
長所短所を理解して使い分ける
367:デフォルトの名無しさん
17/10/30 01:16:09.26 ImI1HNcW.net
俺だったらPositiveNumberみたいなジェネリッククラスを作るか、@positiveみたいなアノテーション作る
368:デフォルトの名無しさん
17/10/30 01:51:11.96 eddodMAs.net
>>354
ありがとう
>空のオブジェクト作って後でsetter使
>って入れるのも微妙だし
私もそう思ったのですがコンストラクタで例外を投げるのは良くないというような
369:意見をどこかで目にしたので聞いてみました >>358 ふむふむ 個人的にはそもそも作らせないって方が好みな感じがします 調べてみます情報ありがとう
370:デフォルトの名無しさん
17/10/30 02:19:42.12 sRaOGV/D.net
コンストラクタとセッタに同じことを示す文が複製されるのもちょっと良くないな
371:デフォルトの名無しさん
17/10/30 03:04:30.08 nQXUW6Dj.net
>>352
クソ?しかし API にも new した時に例外出すやつ沢山あるわけだが、そういうのは全部クソ?
372:デフォルトの名無しさん
17/10/30 07:16:59.94 fX/oTiYO.net
>>361
コンストラクタで最初に値をセットして後から変更できないようにsetterは持たせないというつもりでした
(フィールドをfinalにしているのはそのためです)
373:デフォルトの名無しさん
17/10/30 07:22:42.37 b9ZBDRTb.net
>>356
オブジェクト作る前にValidatorクラスでチェックするだけ
374:デフォルトの名無しさん
17/10/30 07:24:54.59 b9ZBDRTb.net
>>362
全部クソ。
オブジェクトの責務をわかっていない。
375:デフォルトの名無しさん
17/10/30 08:14:47.50 JH+/yPWP.net
インスタンス変数(やクラス変数)は
そのオブジェクトに付属するデータだから
コンストラクタなどでデータチェックの責務を
オブジェクト自身に持たせるのはおかしくない
ただしチェックが複雑化したときに
責務を委譲するのもアリ
376:デフォルトの名無しさん
17/10/30 08:43:10.77 5RpC60IR.net
>>366
そのただしが問題
検証はシステムの関心ごとだから
集約するべきでオブジェクト毎に持つものじゃない
コンストラクタはオブジェクトを初期化するという
特別な処理であってここでデータチェックが必要になるのは
責務の分離ができてないシグナルみたいなもの
staticメソッドでtryCreateという名前なら100歩譲ってオーケーだ
377:デフォルトの名無しさん
17/10/30 08:54:32.49 5RpC60IR.net
負の値を持たせたくないのは業務の要件なんですよ!!
378:デフォルトの名無しさん
17/10/30 08:55:34.55 JH+/yPWP.net
>>367
>検証はシステムの関心ごとだから
>集約するべきでオブジェクト毎に持つものじゃない
責務を分離するのは重要だがそのオブジェクトの
規模が大きくなって複雑化するにつれて分けていくもの
たとえば生成の責務をファクトリに分離してもいいが
何でもかんでも全部ファクトリにする必要はない
だからコンストラクタでチェックしてもいいし
バリデータみたいのに分離してもいい
379:デフォルトの名無しさん
17/10/30 08:56:23.29 5RpC60IR.net
思わず激昂してしまいましたがとにかく小生が言いたいのはコンストラクタで例外投げるのおかしいですよということなんです
380:デフォルトの名無しさん
17/10/30 09:00:29.54 5RpC60IR.net
>>369
どっちでもいいなんていうそんな優柔不断で玉虫色な考えに真実があるわけない、あなたは思考を放棄しているに等しい、ここにはこういう値しか保持したくないんです、立派な業務要件でしょうが!!
じゃあその要件をまとめましょうよ、システムの関心ごととして切り出しましょうよ
381:デフォルトの名無しさん
17/10/30 09:01:41.86 4hMzyEUs.net
>>368
業務要件で例外処理を考えてるってなかなかおもしろいね
382:デフォルトの名無しさん
17/10/30 09:04:21.57 5RpC60IR.net
>>372
どういうこと?
383:デフォルトの名無しさん
17/10/30 09:06:06.45 5RpC60IR.net
もっと具体的にちゃんと説明して
小生良い事言ってるからそれちゃんと説明して
384:デフォルトの名無しさん
17/10/30 09:12:06.74 JH+/yPWP.net
>>371
いやそれは極端でしょ
OOPの要素はどれも使い分けじゃないの?
複雑化したら切り出すが抽象化にはキリがないので
IF文を全部ポリモーフィズムにするわけでもないし
最初から全部デザパタにするわけでもない
385:デフォルトの名無しさん
17/10/30 09:17:39.73 5RpC60IR.net
>>375
ifの話じゃないだろ
なんでもかんでも一緒にするな
極端なのはそなたの方
こなたが言いたいのはとにかくコンストラクタでチェックするのおかしくないですかってこと
386:デフォルトの名無しさん
17/10/30 09:21:09.70 JH+/yPWP.net
>>376
コンストラクタでチェックするのはおかしくない
JavaのAPIでやってるくらいなんだから
むしろやるなって方が押しつけ
387:デフォルトの名無しさん
17/10/30 09:22:44.13 5RpC60IR.net
コンストラクタでチェックして例外投げるのは
ようわからんけどオブジェクト作ってみるわー
でけへんかったわーゲヘヘーと言ってるようなもの
文明人のやることじゃない
アサートを使うべき
アサートは本番では動かさないからね
検証は専用のオブジェクトでやりましょう
388:デフォルトの名無しさん
17/10/30 09:25:45.46 5RpC60IR.net
>>377
アホかお前は、お前はアホか
JavaのAPIははっきり申し上げてクソでござる
クソがやってるから大丈夫なんだとはならんだろうが
どこがクソかはお前に任せるよ
389:デフォルトの名無しさん
17/10/30 09:46:48.33 JH+/yPWP.net
アサートでもいいが例外投げてもいい
つーかコンストラクタで例外投げるのが大問題なら
Javaの言語仕様でできないようにするだろ……
普通に考えて2ちゃんの一個人より
Java(API)のやり方の方がいいわ
390:デフォルトの名無しさん
17/10/30 10:01:28.68 5RpC60IR.net
>>380
ファイナライザでは例外投げないようにしましょう
というのがベストプラクティスだけど言語仕様ではできるでしょうに
言語仕様ってその程度のものですよ
コンストラクタでも例外投げるのやめましょうよ
2chネラーだから信用しないっていうのは権威主義的というか誰が言ってるかより中身で判断していただきたい、小生絶対良い事言ってるから!!
391:デフォルトの名無しさん
17/10/30 10:21:49.81 0VAyPn/2.net
どっちがキチガイかは一目瞭然だな
ありがとう
392:デフォルトの名無しさん
17/10/30 10:37:40.45 5RpC60IR.net
それでええんか?
議論って考えを広げるためにあるんやで
キチガイとレッテルを張っておしまいでほんとにええんか?
小生が可哀想だと思わない?罪悪感を感じない?お前のお母さんもお前には優しい人に育ってほしいと思ってたのじゃないか?
393:デフォルトの名無しさん
17/10/30 10:38:44.40 5RpC60IR.net
ありがとうの後にはございますを付けろ、それが礼儀だ
394:デフォルトの名無しさん
17/10/30 10:39:13.84 5RpC60IR.net
礼儀正しく優しい人になって欲しい
395:デフォルトの名無しさん
17/10/30 10:46:46.93 5RpC60IR.net
コンストラクタでデータチェックしない人になって欲しい
396:デフォルトの名無しさん
17/10/30 12:29:49.28 ich1HAGc.net
>>378
何が悪いか分からん。
オブジェクトの生成失敗も業務メソッドの実行失敗も、中断すべき状況になったら例外飛ばして何が悪いのか。
コンストラクタで例外飛ばすなって話はC++ならメモリの回収がややこしくなるんで一利あるけど、JavaやC#なら問題ない。
397:デフォルトの名無しさん
17/10/30 12:30:44.96 FeUZMDfY.net
>>365
オブジェクトの責務とは?
398:デフォルトの名無しさん
17/10/30 12:38:10.73 OufZdVP7.net
遡及IDは嘘つかないな
ソノトキ何をしたかよりもソノアト何をしたかが一目瞭然である
便利でよろしい
399:デフォルトの名無しさん
17/10/30 12:38:19.13 FeUZMDfY.net
>>368
なんというか、それそのものは Java 自体の問題のようにも思えるね。
つまり、unsigned が型として用意されてないからとか、PASCALみたいに数値の範囲を指定した新たな型を作れないからとかね。
まあそういう数値型のクラスを自作してしまえば良いだけかも知れないが。
400:デフォルトの名無しさん
17/10/30 12:47:31.30 FeUZMDfY.net
>>386
そんなにそれを求めるなら最初からそれができない新言語作れば?
大丈夫。君にも作れるよ。実装までできなくても言語仕様考えてネットで晒してフォーラム作って議論してまとめ直してから作ってくれる人募集すればその内なんとかなるだろう。全てを君が作る必要はない。
401:デフォルトの名無しさん
17/10/30 12:53:44.32 6Zg8+NGr.net
Google Apps Scriptで
URLリンク(www.pre-practice.net)
ここを参考にLINEBOTを作っていて、
文章中の特定の文字列に反応して返答するようにしたのですが、
else if (strpos(input_text, "寒い") !== false ) {
reply_text = "もう冬だね";
}
これを挿入しても反応してくれません。
何がいけないのでしょうか教えてください。
あと質問場所が適切でなければどこで聞けばいいか教えてください
お願いします。
402:デフォルトの名無しさん
17/10/30 13:41:37.04 3rz3HBcW.net
たまに生成されたクラスファイルが分割されることがあるんですがどういう条件で起きるんですかね?
ファイル容量の問題かと思いきや大きいものでも分割されてなかったり…
403:デフォルトの名無しさん
17/10/30 13:52:19.55 4hMzyEUs.net
>>393
1ファイルに複数のクラスを書いてるんじゃない?
404:391
17/10/30 14:17:58.64 6Zg8+NGr.net
>>392
これがPHPというのがわかりました
スレ汚し失礼致しました。
405:デフォルトの名無しさん
17/10/30 15:15:46.44 y0GY6LFV.net
>>393
インナークラスの悪寒…
$付いてない?
406:デフォルトの名無しさん
17/10/30 15:50:40.06 3rz3HBcW.net
>>395,396
色々調べてみたらどうもシリアライズ可能なクラス?というのが原因みたいでした…
お手数おかけしました
407:デフォルトの名無しさん
17/10/30 18:18:23.77 sRaOGV/D.net
>>363
final見逃してただけだった
それなら尚更コンストラクタだね
408:デフォルトの名無しさん
17/10/31 08:25:04.95 OmcraJl8.net
>>360
範囲外の入力値エラーだろ
private、つまりクラス内では、戻り値でエラーを示すが、
public、つまりクラス外では、例外でエラーを示す
なぜなら、クラス内をコーディングしているのは、普通は同じ会社だから、
その会社内で規定したエラー値を使っても、見落としが少ない
でも、クラス外の場合は、クラスをコーディングした会社と、異なる会社が使うから、
そのクラス内で規定したエラー値を使っては、いけない。
なぜなら、他社の人は、クラスのドキュメントを読まずに、クラスを使うから
つまり、クラス外部の人に対しては、絶対にエラーが起こるように、例外を使う
クラス内をコーディングする人と、そのクラスを使う人は、
異なる会社を想定している。
他社の場合は、クラスのドキュメントを読まないことを想定すべき
「スッキリJava」にも書いてある。
クラスを使う側と、フレームワークなど、他社が使うクラスを作る側の、
コーディングの違い。
他社を想定している場合は、全く違う
この辺は、品質管理をやってないと知らないはず
409:デフォルトの名無しさん
17/10/31 08:35:40.63 BBLfUUwS.net
>>399
どうしてもスッキリの宣伝をしなきゃ気が済まないようだな
その一節がなけりゃいいのに
410:398
17/10/31 09:49:23.34 OmcraJl8.net
「スッキリJava」では、クラスの責務を、明確に分けている
前半は、クラスを使う側の知識で、
上級編はフレームワークなど、他社が使うクラスを作る側の知識
フレームワークを作る側では、検査例外を使って、コンパイルエラーにしないと、
ドキュメントを読まずに実行した客が、実行時エラーを起こして、
電話をかけてくるから、商売にならない
本を読んで、実行時エラーを起こした客が、出版社に電話をかけてくるだろ。
それと同じで、商売にならない
だから例外にして、その例外をキャッチしない人は、実行できないようにする
サポート契約をしない、無料相談の客をはじかないといけない。
無料で見積もりさせる客も
411:デフォルトの名無しさん
17/10/31 12:09:41.25 QuyL7alo.net
経営の話か
412:デフォルトの名無しさん
17/10/31 21:22:09.98 BSBih/VQ.net
javaでWebアプリ作ってるのですがグラフ表示をしたいです
jfreechartとかchart.jsとか出てくるんですがおすすめとかってありますか?
413:デフォルトの名無しさん
17/10/31 21:22:56.96 BSBih/VQ.net
質問スレと間違えましたすみません。
414:デフォルトの名無しさん
17/11/02 02:18:26.07 BShD5IWlq
JavaでWEBアプリ作りたいんだが、やっぱJSP+サーブレットってやつをやるべき?
DBの処理(クエリとか)はサーブレットで、JSPは結果表示のみ、みたいに分ける方がいいの?
415:デフォルトの名無しさん
17/11/02 15:08:48.76 BShD5IWlq
WEBプログラミング板ってのがあるんすね。すま
416:350です
17/11/03 17:28:51.99 AmIWbkAj.net
>>381
しばらく2ちゃんを見れない状況だったので亀レスとなってしまいましたが、コンストラクタで例外投げるのが良くない理由をできれば聞きたいです
417:デフォルトの名無しさん
17/11/03 17:36:15.65 lQ0XoM3e.net
>>407
責務の分離ができてない証拠だから
418:デフォルトの名無しさん
17/11/03 17:39:40.36 lQ0XoM3e.net
コンストラクタっていうのはオブジェクトを初期化する特別な処理を書くところ
渡された値をそのまま何の加工もせずにフィールドにお納めするのが義務なんです
419:デフォルトの名無しさん
17/11/03 17:42:31.79 lQ0XoM3e.net
どうしても例外を投げたいならtryCreateというスタティックメソッドを作って
例外投げますよ作れないかもしれないですよということをメソッド名で
陽に示すべきだ、この処理は検証も含んでいますよと示すべきだ
なぜならば検証も含むからだ、オブジェクトを作るメソッドなのにだ
420:デフォルトの名無しさん
17/11/03 18:39:37.30 lQ0XoM3e.net
FileStreamもコンストラクタで例外を投げるが
あの設計も大間違いだから
コンストラクタでリソース確保しようとするのが完全に間違ってる
closeの処理でリソースを解放するならばリソースを確保するのはopenだ
openの責務をFileStreamは持つべきでそれはオブジェクトを初期化する
コンストラクタとは役割が根本的に100憶パーセント異なるわけ
421:デフォルトの名無しさん
17/11/03 19:04:39.65 9CXEo34m.net
>>409
何もしなかったら意味ないだろ……
直通のゲッターセッターと同じただのお飾り
422:デフォルトの名無しさん
17/11/03 19:18:22.44 lQ0XoM3e.net
>>412
フィールドを初期化するという大事な処理がある
セッターは代入だから、初期化じゃないから
423:デフォルトの名無しさん
17/11/03 19:40:27.12 lQ0XoM3e.net
UI -> アプリ(バリデータ) -> ドメイン -> DAO
レイヤーはこのように分けてドメインから先にバリデーションのコードを持ち込んではいけない
オブジェクトをクリーンに保つためのベストプラクティス
424:デフォルトの名無しさん
17/11/03 19:47:48.30 lQ0XoM3e.net
バグがないように引数をチェックするという目的でやるなら
アサートを使うべきだ
ただしアサートを使うのは開発時のみで本番コードには含めない
本番コードで引数チェックが必要になるようならそれは
業務要件として抽出するべきだ
425:350です
17/11/03 20:10:50.22 AmIWbkAj.net
なるほど
405~410まではなんとなくわかりました
411, 412は私の経験or勉強不足でいまいち理解できませんでした
でも、解説してくれてありがとう
426:デフォルトの名無しさん
17/11/03 20:17:00.78 lQ0XoM3e.net
>>416
ありがとうの後にはございますだ
それが礼儀だ
427:デフォルトの名無しさん
17/11/03 20:19:43.27 EWAV0hJA.net
なるほど。わかった。スレが過疎って来たらコンストラクタで例外の話を出せば書き込みで溢れてスレが活性化するのだな。
時折反論を書きありがとうの後にございますを付けなければなお良いと。
428:デフォルトの名無しさん
17/11/03 20:21:29.16 lQ0XoM3e.net
僕が活性化しちゃうおおお
429:デフォルトの名無しさん
17/11/03 21:17:51.19 xnvXDnsB.net
またキチガイか
430:デフォルトの名無しさん
17/11/03 21:35:59.49 Ro85MhDs.net
コンストラクタに不正なもの渡された場合に例外を出すことが
なぜいけないのかについては1ミリも説明されてなくて草
431:デフォルトの名無しさん
17/11/03 21:41:52.50 lQ0XoM3e.net
>>421
責務の分離ができてない証拠だから
100ミリくらい説明してますけど
10メートルですよ
432:デフォルトの名無しさん
17/11/03 21:42:46.79 lQ0XoM3e.net
違うわ1,000ミリの間違いね
433:デフォルトの名無しさん
17/11/03 21:52:44.52 9CXEo34m.net
むしろ初期化の異常で例外を投げるのは
コンストラクタの責務だろ
なぜならコンストラクタの引数で渡されたデータから
インスタンス変数(やクラス変数)を初期化するわけだから
情報エキスパートの原則からして
データの処理はデータを持ってるオブジェクトが行うのが原則
ただ処理を全部抱え込むと肥大化するから
他に委譲することは構わない
newの代わりにファクトリを使ったりするのと同じ
しかしそれは「newを使うな」ではない
「外部に委譲してもいい」のであって
「コンストラクタで例外を投げてはいけない」ではない
434:デフォルトの名無しさん
17/11/03 22:00:57.69 Ro85MhDs.net
>>422
責務を理解できてない典型だね
君がそういう規約で開発するのは勝手だけど
それをベストプラクティスだからとか言って
他人に押し付けるのはよくないよ
435:デフォルトの名無しさん
17/11/03 22:01:56.36 lQ0XoM3e.net
>>424
ベストプラクティスってそういうものだよ
こういう実装もできるけどこっちの方が好ましいよねっていうものだから
そういう意味で言ってるわけよ
たとえばModel View ControllerのアーキテクチャがあるけどViewに
Modelのコードも全部書きまくっちゃってもいいわけよ
でも分離するのが好ましいだろ、そういう意味で言ってるわけよ
その真意をくみ取って欲しいわけよ
コンストラクタでデータチェックヤラナイのが好ましいわけよ
え?ヤラナイの?なんていうふしだらな誘いに乗らないで欲しいわけよ
436:デフォルトの名無しさん
17/11/03 22:02:38.01 lQ0XoM3e.net
>>425
理解できてないことを1ミリも説明してないじゃん
話にならないよ
437:デフォルトの名無しさん
17/11/03 22:03:47.06 lQ0XoM3e.net
自分の考える責務の分離はこうっす
自分こう思うっすとはきはきと説明できないかね
若さが感じられない
438:デフォルトの名無しさん
17/11/03 22:42:06.17 lQ0XoM3e.net
説明を求められたら言葉を失ってしまうみなさん
439:デフォルトの名無しさん
17/11/03 22:47:53.53 L9/pWClM.net
どんなに外部でチェックしてもインスタンス生成に失敗することはあるわけで、
そういうときに失敗を通知する手段は例外しかないわけで、
コンストラクタで例外を投げてはいけないとする方が問題だ。
440:デフォルトの名無しさん
17/11/03 22:49:18.72 lQ0XoM3e.net
モデルに存在するべきコードがコントローラに存在するものをファット・コントローラと言うけれども
バリデータに存在するべきコードがコンストラクタに存在するものをファット・コンストラクタと呼んで
クラスの生活習慣病に位置付けるのはどう?
徐々にシステムを蝕んでいきます
コーディングの習慣を見直しましょう
441:デフォルトの名無しさん
17/11/03 22:52:55.66 lQ0XoM3e.net
>>430
どんなに外部でチェックしてもインスタンス生成に失敗するときは例外投げて良い
そんなのケースバイケースだろ、柔軟に対応しろよ
442:デフォルトの名無しさん
17/11/03 22:53:28.36 lQ0XoM3e.net
ベストプラクティスっていうのは柔軟っていう意味もありまぁす!
443:デフォルトの名無しさん
17/11/04 00:31:14.87 FdHKGPou.net
入力値チェックは、MVC のビューでやるけど、
ドラクエ10 の記事によると、
通信データの500バイトに、1バイトは間違っているから、
通信データは、絶対に信用しちゃいけない。
必ずサーバー側でも、チェックすべき
途中のルーターが、データが間違っていても、データを破棄せず、
間違ったデータで、パリティを再計算して送ってくるから、
正常なデータのように見える
444:デフォルトの名無しさん
17/11/04 01:00:49.14 O0AU1SEY.net
サーバーが受け取ったデータが外部入力なんだから
それをチェックするのは当たり前
ユーザー入力と同じ
境界の外から入ってきたデータを
どのレイヤーでチェックしてエラーハンドリングするかということと
モデルレイヤーのコンストラクタが事前条件に反した不正値を受け取った場合に
例外を投げるかどうかは関係はしてるが種類の違う問題
という話をしてる
445:デフォルトの名無しさん
17/11/04 02:59:59.82 Wr8YwoWe.net
できれば不正値はコンパイル時にエラーになって欲しいものではあるな。
不正な値を引き渡せるようにプログラミングできること自体がなくなった方が良い。
I/O絡みのエラーは実行時じゃないとわからないから別としてね。
(指定したファイルがなくて読み出しオープンでエラーとかは仕方がない)
446:デフォルトの名無しさん
17/11/04 08:21:09.10 4V8ohWTX.net
javaってできることが多すぎて勉強しんどい
447:デフォルトの名無しさん
17/11/04 08:35:59.26 32ZzWJzG.net
>>434
へー、チェックサムも独自に仕込むのかな
448:デフォルトの名無しさん
17/11/04 08:37:10.99 32ZzWJzG.net
>>435
事前条件ってまさにアサートの領分じゃん
449:デフォルトの名無しさん
17/11/04 08:49:44.67 die+TITB.net
>>437
C++より楽
450:デフォルトの名無しさん
17/11/04 08:55:38.30 KxJ3WBAq.net
モデルの引数を間違えてるっていうのはバグなのでー
開発時に分かればよいことなのでー
アサート使うべきだよねー
コンストラクタをぶくぶくと太らせる理由にはならぬよ
メタボリッククラスから脱却してスマートクラスにしよう
451:デフォルトの名無しさん
17/11/04 13:21:03.20 O0AU1SEY.net
>>439
Javaの場合はアサートって言うとビルトインのassertをさすからね
事前条件なら自動的にアサート使えとはならないよ
それともコンストラクタでは
ExceptionではなくErrorを投げるべきって言いたいのかな?
452:デフォルトの名無しさん
17/11/04 13:36:25.85 KxJ3WBAq.net
>>442
何言ってんだおめー
assert使うべきで
例外を投げるべきじゃない
453:デフォルトの名無しさん
17/11/04 15:21:29.77 1M0jr43T.net
javaなら、コンストラクタで例外スローでいいでしょ。
454:デフォルトの名無しさん
17/11/04 17:10:27.14 KxJ3WBAq.net
>>444
でも設計的に大間違いですよそれ
コンストラクタの使い方完全に間違ってますよ
455:デフォルトの名無しさん
17/11/04 20:42:41.33 cKuNjw8p.net
>>445
あほ
456:デフォルトの名無しさん
17/11/05 13:12:43.81 z+9Dn5/C.net
以下のコードをideoneで実行できません。(ブラウザとしてエラーが発生)
どなたか理由を教えてもらえないでしょうか?
import java.lang.reflect.*;
class RefSamp {
public int times = 0;
public RefSamp(int t) {
this.times = t;
}
public void hello(String msg) {
this.hello(msg, this.times);
}
public void hello(String msg, int t) {
System.out.println("Hello, " + msg + " x " + t);
}
}
public class Main {
public static void main(String[] args) throws Exception {
Class clazz = RefSamp.class;
Constructor<?> cons = clazz.getConstructor(int.class);
RefSamp rs = (RefSamp) cons.newInstance(256);
Field f = clazz.getField("times");
f.set(rs, 2);
System.out.println(f.get(rs));
Method m = clazz.getMethod("hello", String.class, int.class);
m.invoke(rs, "refrection!", 128);
boolean pubc = Modifier.isPublic(clazz.getModifiers());
boolean finm = Modifier.isFinal(m.getModifiers());
}
}
457:デフォルトの名無しさん
17/11/05 14:11:12.97 0YSHLKzk.net
初心者じゃないんだろ35歳
自分で調べろ
458:遊園地
17/11/05 14:27:53.28 FPjW0d5Z.net
読むの面倒だから、エラー文も上げて。
459:デフォルトの名無しさん
17/11/05 14:34:37.57 k/LyUYN/.net
ideoneは知らんけどリフレクションはjavaセキュリティマネージャ動いてたら実行できないからそれじゃねーの
460:デフォルトの名無しさん
17/11/05 17:40:17.18 2ZrTuY5p.net
35歳に親切にすると君の職場に現れて付きまとわれるぞw
461:444
17/11/05 18:22:30.39 z+9Dn5/C.net
>>448
決めつけるなよ。それに初心者認定したのはあんたらだろ?
>>450
レスありがとうございます。
ideoneではなにかしらそういう安全装置が働いているということですね。
462:デフォルトの名無しさん
17/11/05 18:54:33.30 qSskq3Yv.net
釣りでエラーが発生と言ってるだけだろ
URLリンク(ideone.com)
463:デフォルトの名無しさん
17/11/05 18:59:33.63 0YSHLKzk.net
まず質問の仕方がおかしいんだよなぁ
ここは学校じゃないし、相手は先生じゃない
質問者の言わんとしてることを一生懸命に汲み取ってくれる人なんてほとんどいない
もっと相手に伝わるように質問しろ
464:444
17/11/05 19:41:51.63 z+9Dn5/C.net
>>451
たひんで
>>453
OSなど実行環境の違いによるんですかね…。
>>454
それはその通りだと思うけど、あんたは親切な人だったの?
465:デフォルトの名無しさん
17/11/05 19:45:10.05 /i0gfJYB.net
何この変なの?
どっかのコテハンか?
466:デフォルトの名無しさん
17/11/05 19:46:54.84 PoYQIzOm.net
>>453のリンク見てもエラーが出てるんだよな?
正直エスパーしようにも限界
467:デフォルトの名無しさん
17/11/05 20:07:50.04 2ZrTuY5p.net
もうそいつに触れるのはよせ
468:!
469:デフォルトの名無しさん
17/11/05 21:21:54.00 0YSHLKzk.net
>>455
なんで質問が分かりにくいって指摘に対
し、
俺が親切な人だったのか聞かれてるの?
全然意味分かんないんですけど
470:デフォルトの名無しさん
17/11/05 21:30:31.08 2ZrTuY5p.net
理解を越えているから考えては駄目
471:デフォルトの名無しさん
17/11/05 21:31:07.85 0YSHLKzk.net
そもそももっと答えの得られやすい質問が出来るようになれば解決なんだけど、
なぜ君は指摘に対してわざわざ「じゃああんたはごにょごにょ」とわざわざ全く関係ない事持ち出して喧嘩売ってきてるの?
中学生なの?反抗期なの?
自分の行動を振り替えって恥ずかしくない?
472:デフォルトの名無しさん
17/11/06 00:46:04.60 OjznruUj.net
以前お世話になりました >>201です。課題の上から二つ目の"(ここを作成)"がわからないです。
まあ上のほうも自信ないのですが...誰か教えていただけませんか?
URLリンク(imgur.com)
URLリンク(imgur.com)
URLリンク(imgur.com)
473:デフォルトの名無しさん
17/11/06 00:47:27.68 1qhCOQ98.net
宿題スレへ
474:
17/11/06 00:49:04.71 Lce8rfVs.net
今実行したら出来ました。何でさっきは出来なかったんだろ…。
URLリンク(ideone.com)
>>456
プログラマー板のコテハンです。
>>457
いや、リンクをたどるのは大丈夫でした。
>>459
ただ冷たくあしらわれたと思ったら、アドバイスをくれたので。
>>461
えっ?褒めてるのに?