Java入門・初心者質問スレ Part.7
レス数が950を超えています。1000を超えると書き込みができなくなります。
Javaのストリームってなんですか?出入力の流れだと説明されたのですがよくわかりません。 そもそも、たこ焼きは東京の名店、銀タコが明治24年に売り出したのが始まり。
戦後食糧難の時代に、当時タコの国内水揚げの8割を占めていた兵庫県に近いことから、復員兵、天田八助が地元心斎橋で屋台を出したところ、本家銀タコをしのぐ勢いで大ヒットした。
料亭の味にこだわった銀タコに対し、屋台から始めた八助は、手軽に作る製法をとるしかなかった。
ところが、手軽に作る製法はたこ焼きを広める結果につながり、たこ焼きと言えば大阪と言われるほどに広まったのである。 >>853
ストリームというのは川の流れのようにデーターがちゅるちゅると流れていくやつですね。
途中にダムを設けることが多いです。 >>853
工場のラインの流れ作業的なことができる。
流れの途中にある工業用ロボットが塗装したりネジ止めしたりの加工して行って最後の所で完成。 Javaでストリームと呼ばれるものには二種類ある
InputStream/OutputStreamとStreamは何の奸計もない全く別物の技術というクソみたいなネーミング 俺がタコ焼きを作ってキミが食べるとすると、一個焼きあがるたびに口に突っ込むわけですよ、無理やり。
するとキミは、もっとクレってときもあれば、口の中がいっぱいなのに突っ込まれる時もあるわけです。
そこでストリームなんですよ。
俺は焼きあがるとストリームに突っ込む、キミは食いたいときにストリームからタコ焼きをとる。 初心者質問スレなのだから、どんな突飛な質問だって、あって当然
staticってなんですか?オブジェクトって目的ですか?。なんていう質問があっても
javaってなんですか?何ができるのですか?って質問があっても
初心者スレなのだから、そういう質問もあり、という姿勢で、このスレに参加してくださいな
初心者に中学生が、とか、バカが、とか
そういう人は360億年ロム推奨
あなたの助言は必要とされていません。Errorです。 質問の仕方の是非を非難して馬鹿って言ってるのであって
質問内容の質じゃないんだよねぇ 海を見たことない人が、海育ちの人に海について質問するときに
何をどのように質問したらいいかなんて分かるわけがない
質問の仕方とか、聞き方さえも、初心者には分からない
質問する勇気は、前進しようとする姿勢の現れ
それを評価せず、どんなメンターなんだという話
質問の仕方の是非を問うなんて、知っている者のエゴなんだよ
そんなことも分からずにアドバイスするなという話
Errorは人に宿ってるんですわ
君の部下は才能を殺されているんだろうな だがしかし、同じレベルのもの同士でしか争いは起こらないというぞ? エゴじゃないんだよねぇ
質問の仕方もわからないのなら現実だともっと辛い目に合うので
ここで突き放すのは正解なんだよねぇ 君は生まれてきてから今日まで
赤子の頃から質問の仕方を弁えてきたのかね
親や友達や先輩の懐深い指導があって
稚拙な質問を、先輩たちが補いつつ
求めた解答や指導をしてくれたのでは?
君は常に、幼き頃から突き放されてきたのですか? 君は、一つのクラスやメソッドの振る舞いが好ましくない時に
そのクラスやメソッドに、おまえバカだろwwwっていうのだろうか
そのクラスやメソッドが正しく機能するために、みずからのコードを見直し修正しないのだろうか
君がアドバイスした人が、将来一緒に仕事をするかもしれない、しないかもしれない
でも、君のアドバイスで優れた人が、この道を歩むのをあきらめる可能性だってある
君がそんな処断をしていいわけがない
アドバイスを求めたものが、正しく機能するように、コードを書くものが導くべきだと思う 優れたものがいれば足を引っ張るのが人の道だろう。
すなわち人道主義。 プログラマーは、導きあうべきだし、奉仕しあうべきだと、僕は教わってきた
年齢、国籍、信条、性別、能力に関係なく
突然、色々いって悪かったですね。しばらく自重してロムります。@136億年 >>874
ROM中に悪いんだけど、誰に教わったの?
教えた人の悪意を感じるんだけど。 他所からコピペしてきて「これを動くように改変してください!(ブヒッw」
ってそれもう質問じゃないんだよねぇ
自分で思考することを放棄したただの馬鹿なんだよねぇ
馬鹿を棚に上げて「ぼくを突き放すなー!(オンギャアw」
ってただのクソガキの我儘なんだよねぇ
アホ https://github.com/validates-email-format-of/validates_email_format_of/blob/master/spec/validates_email_format_of_spec.rb
ここに、RSpec のテストも付いているだろ
こんな仕様を個人で作って、すべてのテストケースを羅列して、
合格判定するのは無理だろ。
フレームワークの会社か、OSS で作っているものを使うしかない
そもそも、ビジネスロジックと無関係だし、
こういう汎用的な部分を作って、テスト・保守する費用は出ない
OSS ですら一旦、Ruby で作ったものを、他の言語へ移植する。
いきなり、Java などで作るのは、可読性が低いから、議論の叩き台にならない。
Javaのソースコードで打ち合わせすることは、無理
他にも、正しいクレジットカードの番号かどうかチェックするとか、
こういう汎用的な処理は、個別のビジネスロジックじゃない くだらないしもう飽きたからいいよそのネタ
チラシの裏にでも書いてろアホ できない理由よりできる理由を考える人の方が伸びるのではないかな。
人間の脳は注目していることの情報収集を延々とするし。
出来ない方にばかり意識を集中してたらやがて何もできないようにしか思えなくなるだろう。 >>877
Ruby可読性高いのかな
そのRubyのプログラムJavaにポーティングできる?
>>856の方がよほどわかりやすいけどね Rubyの人は、僕はわからないのでどっかの誰かが作ったプログラムを利用します
と言ってるようにしか思えなくてRuby要らなくね? メールアドレスチェックの処理を、各プロジェクトの工程に入れるのは無理。
そのプロジェクト固有の処理じゃないから、共通ライブラリの部署へ頼めと言われる
共通ライブラリの部署でも、それは自社固有の処理じゃないから、
フレームワークの製作会社か、OSS へ頼めと言われる
社内では費用が出せない、工程に入れられない処理。
この処理を工程に入れて、テスト・保守する費用が出せない
一会社内よりも、もっと大きな世界レベルの共通処理 メールアドレスの正規表現
http://www.din.or.jp/~ohzaki/mail_regex.htm
ここでも正規表現で、何百行も書いているだろ
個人で作って、テスト・保守できるレベルじゃない >>883
内容を理解してないから行数みて無理だと思っちゃうんだよ
やってみなよ、案外簡単かもよ こんなの正規表現を使うか構文解析器作るかだからそんな難しくないよなあ。
なんで無理と決めつけるのか謎だ。
まあしかしこんなの何十年も前にライブラリ化されてとっくの昔に枯れた技術だろうから新規に作る必要性は普通はないだろうけどな。 性能を考慮したJavaのプログラミング
http://www.dd.e-mansion.com/~kumada/laboratory/column/java_perf.html#ITEM4_4
最近Javaを始めたのですが、この鉄則で今では変わった物ってありますか?
今どきVectorは使わない、とかはあるのでしょうが。 書いてる事の半分以上が時代遅れの間違いだらけの産物
プリミティブ型が速いのは当たり前で正確な小数点の計算をするにしても
特定の桁数までにしか対応できないし可読性も落ちる
速いからラッパークラスを全否定してる時点で論外
Arrayよりも配列を使うっていうのも同様でもはやただの馬鹿 配列がリストより速いのは事実
プリミティブ型がクラス型より速いのは事実
いずれも正しい
性能第一で考えるなら鉄則として妥当 例えばstatic private finalを付けてインライン化ってのは当時でも間違いだな。
つけてもつけなくても条件さえ合えば実行時にインライン化される。
仮にそれらが有効だったとしても記事がかかれるより5年ぐらい前の最初期のJITコンパイラぐらいだけかと。 デバッガでインスタンスの生成なんか逐一トレースしたら、絶対途中で挫折するわな。 性能を考慮するなら最初からJava使わない方が・・・ >>889
ブラウザでページ情報を出したら更新日時が 2003年8月14日 21:13:01 と出たので
内容が時代遅れなのは当然と言えば当然かもね。
約15年前。あの時は若かった。 色々な意見ありがとうございます。
確かにラッパーや可変長配列が遅いのは当然のことですね。
インライン化は意識しなくてもコンパイラがやってくれるのですか!
勉強になりました、ありがとうございます。 C++ の本にも書いてあるけど、
vector を使うよりも、君が配列で書いた方が速いっていう事は、あり得ない
コンピューターの最適化には、人間が書いたソースコードでは、絶対に勝てない
どれだけ一生懸命書いても、書けば書くほど遅くなるw >>898
> C++ の本にも書いてあるけど、
> vector を使うよりも、君が配列で書いた方が速いっていう事は、あり得ない
そうとは限らないと思うが?
C++ではそうなのかも知れないが。
> コンピューターの最適化には、人間が書いたソースコードでは、絶対に勝てない
最適化のアイデアは人間が考え付いてコンパイラやJITに実装しているわけで、勝てるかどうかで考えるなら引き分けか勝つかの二通りしかないのではないか?
相手はコンピュータのように見えても実は人間だから、その人と同じになるか上回ればいいだけだよね。 禿4にはstd::vectorは配列より遅いと書いてあるが。
そしてstd::arrayは配列に劣るところはないと書いてある。 拡張forで比較したら配列がリストより20倍以上速かったよ
あり得ないと言ってる人は性能が問題になるようなプログラミング経験がない知ったかぶりだと思った ここに別の言語の事情を書かれてもそうですかとしか言えない Javaの利点ってJVM上で動作するからプラットフォームを選ばないって言うけどさ、あれってどういうことなの
Webサーバー上でもWindowsのシェル上でも動くってことであってる? >>903
そう。
もちろん標準とは別のライブラリを使うのならそのライブラリがないと動かんが。(例えばAndroid用アプリとか) >>904
なるほとよくわかった
サンキューSEX ごめんまだよくわかってないわ
CだとなんでWebサーバー上で動作しないの
PHPだとなんでLinuxシェル上で動作しないのか
教えてくれ >>906
cはサーバ上で動くし
phpはシェル上で動くよ エッヘン、コンパイル後のクラスファイルはどんなOS上でも動くんだぞ!
ボクはスクリプト言語でいいです 急遽、Hibernate(JPA?)という物を扱う必要が出てきました。
タイプセーフなクライテリア、柔軟なネイティブSQLはなんとなくわかりますが、JPQLの利点って何でしょうか?
Javaに、@"や"""のような、複数行文字列を扱う仕組みはあるでしょうか?
切り刻まれたバラバラ死体のSQLゾンビによく効く武器はないでしょうか? あーあ終わったな
hibernateの癖の強さと難解さはORM一だからな
プロジェクトにガチでhibernateのプロフェッショナルが最低でも一人はいないとお前死んだわ ORMの利点ってオブジェクトの属性とカラム値の間のマッピングを勝手にやってくれることだけでしょ
それ以外は長期的にはデメリットしかない >>912
そんな気はしてた
先輩無断で会社来なくなってLINEも電話も出ないんだよね... 今は日本語のドキュメントあるからそれ見りゃ大体使い方わかるし
こういう例みたいにパフォーマンスを極端に気にしなければ悲観する必要はないと思うけどね
ttps://www.kaitoy.xyz/2017/02/23/how-hibernate-ruined-my-career/ 初歩的な質問をさせて頂いてもよろしいでしょうか?
System.out.println(31);
と表記した場合、
System.out.println("31");
と変換されてから、31、と表示される、
という理解でよろしいでしょうか? >>918
どこが間違っていますか?
例えば、
System.out.println("レベル" + 5);
という命令文の場合、
System.out.println("レベル" + "5");
System.out.println("レベル5");
というプロセスを経る、と本には書かれているのですが… 質問の際に「初歩的な質問ですが」とか「初心者です」等を書くのは絶対やってはいけないことだからね
そりゃあよろしくないよね System.out.println(31);
→ write(String.valueOf(31))
"レベル" + 5
→ "レベル5" >>920
何でですか?
>>921
ありがとうございます。
出来ればもう少し詳しくお願いしたいのですが… ヒント:入門書だけひたすら読んでわかるまで二度と書き込まない "レベル" + 5
「文字列型 + 数値型」の場合は、数値を文字列型に型変換して、
「文字列 + 文字列」つまり、文字列を連結するのじゃないか?
"レベル" + 5 → "レベル" + "5" → "レベル5"
まあ、検索して確かめて下さい
>>911
Ruby on Rails では、Active Record。
最初に、Rails をやっていないと、MVC の作り方がわからないだろ >>917
違うでしょ。
数値で受けとった後に
メソッドの中で文字列に変換してるのじゃね? 最終的には文字列だよね。
8を出力したら、カーソルが8個右に動いたりしない。 >>920
初心者です。初歩的な質問ですが、なぜですか? >>917
java.io.PrintStream のドキュメント見ればわかると思うが、int型一つを引数とする print() と println() メソッドはあるのでそれが呼ばれる。
文字列(というか String のインスタンス)をプラス記号で連結しようとした場合は StringBuilder クラス使って append() してから toString() で取り出した String のインスタンスになると考えて良い。
ただし最適化されて違う方法で連結されたりお互いに定数だったらコンパイル時に連結した結果がコードになるかも知れない。 >>892
ちょっと前のソースコードを見ると、
何でもfinalをしたりsuperを使ってたけども、
今は継承する必要が無ければ、特に意識しなくてもいいのかな? >>923
入門書に載ってなかったから聞いたんですが
>>925
そうですよね。俺も同じ理解です。
だとしたらprintln()メソッドの引数にint型の31が入ってきても、
一旦String型の"31"に変換されてから、プロンプトに出力されると思うんです。
>>927
ええ、だからその様子を>>917で表現したんですが
>>928
はい。
>>930
あれ?println()メソッドって、java.lang.*パッケージに属しているんじゃ… >>932
System.out は ProntStream クラスのインスタンス 猿でもわかる回答もらっておいてアホみたいに何回も質問繰り返す
ホームラン級の馬鹿に何度も触るな
ほんとこういうゴミは教えてもらうことが常識になってるから延々と調子に乗り続ける 答えてくれた方々ありがとうございました。
>>933
調べてみたら俺が間違っていました。失礼しました。
>>934
ちょっとその言い方は失礼じゃないですか?
ここは質問が出来るスレッドなんですよ ちょっと間違えた。8を出力したら→9を出力したら
ちょっとお遊び
abc
という内容のファイル abc.txt を作って、コマンドプロンプトから
type abc,txt とすると出力は
abc
ここでバイナリエディタを使って
61 62 63
を、
09 62 07
に変更すると、
type abc.txt で
b
と表示されてチャイムが鳴る。(半角スペース2つを全角スペースに書き換え) 究極クズ人間の35歳に関わらないように言っているのに
一部の教えたがりが餌付けしたのでキチガイが居座ってしまった例。 IP表示でいいよ。35歳は自演癖があるからそれだけで寄ってこない。 >>935
調べればすぐにわかることを何度も質問したら
苛立つ人もいるよ、わざとやってんのかなって思うし
巣に帰りなよ ちょうどスレ消費しそうだしいいね
全板ワッチョイ導入になったんだっけ? >>937
何だよその言い方は
>>939
必要があれば質問に来るし、無ければ来ない
>>940
分かりましたが、暴言は看過出来ません 35歳ってどこに行っても迷惑を掛けまくりだな
その上、自分理論だけを当てはめさせようとするから酷い
コテ付けたり消したりコウモリも相変わらずだし 文字列連結演算子使う事で暗黙の型変換が起こってるとか想像出来ないんだな 参考資料:カレンダープログラム一覧
・Java歴1年半Java Bronze持ち35歳が作成した最高傑作
https://ideone.com/JQbabV
・中学生が真似して作った贋作
https://ideone.com/WZmNs5
・プロ作
https://ideone.com/bLfLVt >>942
己が怠けるために他人を検索道具として扱うお前の行動は暴言よりも人の道を外れた行為だからな?
だから大勢がお前を看過しないで叩くんだよ。
本当他人を不快にさせるだけの存在と自覚してもう二度と来ないでくれ。
部屋に引きこもって生きながら社会的に死んでろ。 >>945
すっきりJavaに載ってないんだろうな。
自分で調べる気が皆無で本に載っていないことは知らなくて当然、という
マジ基地だからこいつ。 レス数が950を超えています。1000を超えると書き込みができなくなります。