18/11/15 15:12:37.43 pPH/bz/I0.net
>>713
ありがとうございます。
参考にさせてもらって、その正規表現の効果をぐぐって見て
自分でもいけそうな気がしたのですが。
NGになってしまいます。
何が間違えてますか・・・
String a ="aac";
if(a.matches("(.).*\1")){
System.out.println("OK");
}else{
System.out.println("NG");
}
>>712
>>714
ありがとう、ございます。
それらとは別のやり方ですがヒントになりました。
特定の文字をAllreplaceで""にして原本とのlength()の差で
選別する感じでひとまずいけました。
745:114
18/11/15 15:16:26.15 lNkjj0jra.net
>>715
解決したようで何より。
746:デフォルトの名無しさん
18/11/15 15:17:43.39 RDhHOc3na.net
>>715
\ 記号はエスケープ文字なので \\ にする。
747:デフォルトの名無しさん
18/11/15 15:32:48.07 .net
ありがとうございます。
\\でもNG出て
if(a.matches(".*(.).*\\1.*")){
にさせてもらったら
期待通りの結果がでるようになりました。
ありがとうございました。
748:デフォルトの名無しさん
18/11/15 16:12:34.80 RDhHOc3na.net
あー。そうか。matches() は前後に暗黙の ^$ が入るんだったな。
749:デフォルトの名無しさん
18/11/15 19:45:12.42 y/xxNwdx0.net
配列変数の宣言と配列を作成する文において、配列の型を2回記述しないと
いけない理由は何ですか?
例) int[] array = new int[5];
インスタンス変数の宣言文と似ていますが、もしかして配列においても
多態性が使えるんですか?
750:デフォルトの名無しさん
18/11/15 20:07:38.69 RDhHOc3na.net
元々Javaは型推論しない言語だからなあ。
751:デフォルトの名無しさん
18/11/15 20:56:36.68 zE6igjOyd.net
bronzeの問題見てるけどインクリメントの後置やらfor文のブロック省略やら、引っ掻けたいだけの問題多すぎない?
752:デフォルトの名無しさん
18/11/15 21:05:38.09 cJq6eeYEa.net
>>720
理由と言われても、そう言う言語仕様だから。もう20年以上前に設計された言語だから、今の基準で見たら冗長な表現が多々ある。
あと配列においても多態性が~、の部分は何が言いたいのか分からない。
753:720
18/11/16 00:48:09.83 weOG1xUa0.net
>>723
ありがとうございます。
その部分は勝手な憶測なので気にしないで下さい。
例えば、int型はdouble型に型変換されることもあり得るので、
例) double[] array2 = new int[5];
のような記述が出来るのかな?と思っただけです。
754:デフォルトの名無しさん
18/11/16 06:24:36.92 cFUtGW68a.net
>>724
それは多態性というか暗黙的なキャストだな。
Javaではそれは出来ない。暗黙的キャストは便利なこともある反面、意図しないキャストでバグを生み出す可能性があるからJavaの設計思想とは相容れない。
755:デフォルトの名無しさん
18/11/16 07:10:27.50 tlDZCd2g0.net
>>724
子の型の代入を認めるのを共変というのだけれども
配列の型は共変だから型が継承関係にあるならば代入できるよ
Number[] a;
a = new Integer[5];
a = new Double[5];
756:デフォルトの名無しさん
18/11/16 08:33:57.46 mPcqV91P0.net
>>722
まぁ自分が何気なく書いて意図した結果にならなくて混乱するようなことになるなよってことだと思う
757:デフォルトの名無しさん
18/11/16 16:52:39.39 OkLwTKGUM.net
>>722
プログラミング言語の資格はそういうもの。
そもそもC言語の影響を受けた言語では細かい部分を知っていないと、他人が書いたコードが読めない。
758:720
18/11/16 18:52:17.01 weOG1xUa0.net
>>725
ありがとうございます。
>>726
ありがとうございます。プリミティブ型は継承関係に無いから駄目ですね。
759:デフォルトの名無しさん
18/11/17 17:43:14.07 /eM8wfkM0.net
URLリンク(qiita.com)
このサイトに従ってBuild ArtifactsまでしてコマンドプロンプトでIdeaProjects\test\out\artifacts\test_jarから
「java test」
と実行したのですが
「エラー: メイン・クラスtestが見つからなかったかロードできませんでした」
と言われ実行できません。どのようにすればよろしいでしょうか。
760:デフォルトの名無しさん
18/11/17 17:58:07.43 /eM8wfkM0.net
>>730
自己解決しました。
.jarをjavaで走らそうとしたのが問題だったみたいで、
java -jar test.jarと入力したら無事出力されました。
761:デフォルトの名無しさん
18/11/18 13:21:56.54 KOW7JXzwa.net
やだ~へこむ~
762:デフォルトの名無しさん
18/11/19 17:22:08.06 ZS5AqKuz0.net
スッキリわかるJava入門の第8章の練習問題を解き、以下のような
Clericクラスを作ったのですが、
URLリンク(pastebin.com)
英語にすると訳が分からなくなる言葉もあったので、それらはローマ字に
した結果、英単語とローマ字が混在するコードになってしまったのですが、
問題でしょうか?
763:デフォルトの名無しさん
18/11/19 18:13:02.26 vHw2N8A80.net
>>733
自分1人しか弄らないなら好きにすればいいよ。
どうせならローマ字じゃなくて漢字や平仮名を使って日本語でそのまま命名することもできるから試してみるといい。
ただし一般論、というか仕事でやる開発なら英語で統一するのが普通なのでそれは忘れちゃいけない。
764:デフォルトの名無しさん
18/11/19 18:31:24.19 Je8g3va9d.net
入門に出てくるようなクラス名は普通に出てくる単語ばっかだろうからさっさと覚えたほうがいいでしょ
765:デフォルトの名無しさん
18/11/19 18:39:15.60 97DIZmBta.net
>>733
ソース見たけど、確かにkaifukuryoとか死ぬほど読みにくいから、これならいっそ「回復量」の日本語でもいいと思うw
766:デフォルトの名無しさん
18/11/19 18:40:59.11 97DIZmBta.net
うちの社内システムは何年も前から部分的に日本語変数名も使ってるけど、特に問題が起きたことはないよ
ただこの話題で議論が紛糾して荒れるのをネットで見かけるから、何がなんでも絶対に許さない人達がいるのは間違いないw
767:デフォルトの名無しさん
18/11/19 20:51:25.27 C68x9bSia.net
うちの会社でうっかりそんなことしたら中国語で溢れるよ。あとドイツ語と英語。
あ、英語はいいのかw
768:デフォルトの名無しさん
18/11/19 23:59:34.33 qLcuYLw7a.net
総称型配列を生成したい…リフレクション使えばいける?
769:733
18/11/20 00:24:59.86 n8v7mGgD0.net
答えてくれた方、ありがとうございました。
なるべく英語で行くようにしたいと思います。
770:デフォルトの名無しさん
18/11/20 00:28:00.33 MPotoW9R0.net
ローマ字は特に気にしないけどおかしな英語だとモヤる
登録でregistってなんやねん
771:デフォルトの名無しさん
18/11/20 01:25:13.23 +ftLPXCpa.net
>>739
Array.newInstanceの結果をダウンキャスト
警告が出るが気にしない
外から引数でClass<T>を受け取るようにすれば多少はタイプセーフ風な雰囲気を醸し出せるかもしれない
Javaのジェネリックがハリボテの糞と呼ばれる所以だ
772:デフォルトの名無しさん
18/11/20 01:33:24.00 8KtihEK80.net
>>741
すまん。昔量産してしまった
区分フラグとかも
773:デフォルトの名無しさん
18/11/20 01:42:27.99 MPotoW9R0.net
>>743 まあモヤるレベルだから別にいいんだけどさ 終わりの見えない関数とか、読み解くと結局意味のない処理とか、Objectに全てを詰め込み中身を変えまくる黒魔術に比べたら可愛いもんさ、ハハハ……
775:デフォルトの名無しさん
18/11/20 01:55:25.40 X8QFm2fdM.net
Javaのジェネリクスが単なるObjectのシンタックスシュガーであることを考えると、
総称型の配列などというものは存在自体が常に虚偽であり明らかに矛盾していることがわかるだろう
Javaで総称型の配列が欲しいときは、ArrayList<>(これは実はObject[]をラップしている)を使うか、
単にObject[]を使っておいて辻褄合わせが必要なときに要素を適宜ダウンキャストしてやるかのどちらかだ
Javaのジェネリクスでは型の整合性を維持するのはジェネリックなメンバやクラスを作るプログラマの責任なんだよ
通常のアプリケーションコードで積極的に作るものではない
776:デフォルトの名無しさん
18/11/20 22:41:13.06 QYuuoNJVd.net
silverの問題集の解説見ながら勉強してるけどコンスタントプールってのがあるんだなぁ(こなみかん)
777:デフォルトの名無しさん
18/11/23 21:42:39.82 UR66aWLO0.net
cyclopsを使ってダサいTRY-CATCHを改善してみたがカッコイイ
public static javafx.scene.image.Image loadImageFromFile(@NotNull Path path, double w, double h) {
return Try.withResources(() -> new FileInputStream(path.toFile()),
stream -> new javafx.scene.image.Image(stream, w, h, true, true),
IOException.class)
.onFail((e) -> GUICommon.debugMessage("loadImageFromFile >> File not found : " + path.toString()))
.get()
.orElse(null);
}
public static javafx.scene.image.Image loadImageFromURL(@NotNull URL url, double w, double h) {
return Try.withCatch(url::openConnection)
.peek(conn -> conn.setRequestProperty("User-Agent", "Wget/1.13.4 (linux-gnu)"))
.peek(conn -> conn.setRequestProperty("Referer", customReferrer(url, null)))
.flatMap(conn -> Try.withResources(conn::getInputStream,
stream -> new javafx.scene.image.Image(stream, w, h, true, true),
IOException.class))
.onFail((e) -> GUICommon.debugMessage("loadImageFromURL >> Cannot get image from : " + url.toString()))
.get()
.orElse(null);
}
778:デフォルトの名無しさん
18/12/01 03:52:43.89 dszPmHpM0.net
clone()メソッドについて質問です。
URLリンク(pastebin.com)
上記のBookクラスにおいて、フィールドに、Date型のpublishDateがあるのですが、
これをclone()でコピーするにあたっては深いコピーにする必要があるみたいなのですが、
String型は浅いコピーでよくてDate型は深いコピーにしないといけない理由は
何故でしょうか?
779:デフォルトの名無しさん
18/12/01 11:04:34.18 5cBxQ4wD0.net
>>748
Date型は状態を変えられるから
たとえば単純にコピーするだけだと
こうなる
Book ┬ Date ─ 2018/12/01
Book ┘
Date.setTimeで状態を変えることができて
コピー先のBookの日付を変えると
コピー元のBookの日付も変わる
Bookごとに日付が異なるなら
BookをコピーするときにDateをコピーしないといけない
Stringは状態を変えられないから
同じものを参照しても問題ない
780:748
18/12/01 12:12:49.53 dszPmHpM0.net
>>749
丁寧にありがとうございました。
781:デフォルトの名無しさん
18/12/02 19:47:16.98 6vF3BQAf0.net
何でもいいから例外をなげたいんですけど
例外で調べても catch のサンプルばかりで投げ方がわかりません
782:デフォルトの名無しさん
18/12/02 19:48:34.29 4+IlSjWZ0.net
>>751
throw new Exception("テスト");
これでおk
783:デフォルトの名無しさん
18/12/02 20:02:05.39 6vF3BQAf0.net
>>752
new でふつうにclassみたいに作れるんですね
ありがとうございました
784:デフォルトの名無しさん
18/12/02 21:44:32.63 324yNEli0.net
基礎からのサーブレット Servlet/jsp 2009
この本で勉強するのは古すぎか?
785:デフォルトの名無しさん
18/12/03 07:20:06.09 ygSmLhmHa.net
>>753
みたいにっていうか、クラスだから。
Exceptionを継承して独自の例外クラスも作れる。
786:デフォルトの名無しさん
18/12/03 07:21:19.23 ygSmLhmHa.net
>>754
古すぎる。古文書レベル。
役に立たないどころか現代ではやってはいけないとされてるやり方が載ってる可能性もあるから、それを覚えてしまってむしろマイナスになるまであり得る。
787:デフォルトの名無しさん
18/12/03 08:28:43.59 sGONNGUuM.net
エスアイアーではまだ十分役に立つよ
788:デフォルトの名無しさん
18/12/03 18:42:47.05 C4qy2S1/0.net
列挙型のフィールドを持つクラスを作ったのですが……
同じ列挙型を2つ持たせる場合があるものの、1つのみ持つ場合もあることで問題が発生しています
コンストラクタ引数で列挙型指定する際に、必ず1つ指定するが、2つ目は(言うなら)nullでも構わない
列挙型の中にnull相当のものを追加してもよいと思ったのですが、それが1つ目に指定されてしまうと困るので追加したくない……という状態です
具体的には、いくつかの属性を列挙型で指定し、サブ属性は(同じ内容+(サブ属性なし))というかたちにしたいのです
サブ属性用に(同じ内容+なし)の列挙型を追加するしかないでしょうか……
789:デフォルトの名無しさん
18/12/03 19:43:01.66 SSwMcRlR0.net
>>758
引数チェックして例外投げればいんじゃない?
URLリンク(paiza.io)
790:デフォルトの名無しさん
18/12/03 20:03:14.72 YDqptBck0.net
>>754
つか、古すぎてその本に書いてあるバージョンの開発環境を用意する時点で挫折すると思う。
791:デフォルトの名無しさん
18/12/03 20:22:15.78 C4qy2S1/0.net
>>759
そうか、1つ目にnull入れられないようにチェック入れりゃよかったんですね
エラーを使う発想がなかった
792:デフォルトの名無しさん
18/12/03 20:50:22.63 6IhUZ/y0a.net
>>758
どういう状況なのかよくわからない。
同じメソッド名で一つの引数のやつと二つの引数のやつ作れば良いだけってことない?
つまりメソッドのオーバーロード。
793:デフォルトの名無しさん
18/12/03 21:24:42.76 C4qy2S1/0.net
>>762
それだと後々面倒だという理由があったような気がするんだけどむしろ後々表示するときに処理考えたほうが簡単に済みそうな気もしてきました……
こういう設計?ってどういう順番でやってくもんなんでしょうか
794:デフォルトの名無しさん
18/12/03 21:29:04.09 C4qy2S1/0.net
データを呼び出して表示する目的だったので、とりあえずtoStringのオーバーライドができてからデータ登録用のコンストラクタを調整していくことにしました
795:デフォルトの名無しさん
18/12/05 07:39:08.42 aQtlFGVia.net
拡張for文って配列でもコレクションでも動作しますよね?
ということは、双方に共通するクラスなりインターフェースなりがあるのでしょうか?
配列またはコレクションを引数に取る関数を作りたくて、内部処理は同じなので、オーバーロードではなく一つの関数で済ませたいのですが
796:デフォルトの名無しさん
18/12/05 08:50:55.63 uTDw63xLM.net
>>765
共通のインターフェースは存在しないです
コンパイラがIterableか配列か判断して処理します
オーバーロードを使いましょう
797:デフォルトの名無しさん
18/12/05 12:36:33.07 1UnNMx3Qa.net
>>766
ありがとうございます
それともう一つ質問させてください
リストを引数に取ってリストを返す関数で、よく
public <T> List<T> hoge(List<T> list){
// 何らかの処理
}
のように書きますが、この引数のリストがArrayListならArrayListを、LinkedListならLinkedListを、といったように、引数と同じ型のインスタンスを返したいです
ポリモーフィズムというよりは型クラスのイメージです
境界化して
public <A extends List<T>, T> A<T> piyo(A<T> list){}
のように書いてみましたが、「型Aは総称ではありません」とエラーになりました。
ワイルドカードなどを使えばいいのでしょうか?
というかあまりJava的な書き方ではないですかね?
798:デフォルトの名無しさん
18/12/05 13:09:26.62 uTDw63xLM.net
>>767
引数の型と戻り値の型をAにすればいんじゃないでしょうか
私はそういうの必要になったことがないです
List返すぜヒャッハーなコードしか書いたことないです
Javaでそういうの書きまくってる世紀末ジェネリック伝説
みたいな人もいると思いますけど
799:デフォルトの名無しさん
18/12/05 15:53:00.93 1UnNMx3Qa.net
>>768
何度もありがとうございます
混乱させるのも嫌なので普通の書き方に準拠します
Javaは慣れてないので勉強します
800:デフォルトの名無しさん
18/12/05 16:52:13.39 ifntcr/4a.net
>>767
LinkedListってArrayListやListと用途が違う気が。。。
素直に?オーバーロードで良いんじゃ無いか?
多態性はジェネリックだけにあらずよ?
(と言うか、Java初期にはジェネリック無かったし)
801:デフォルトの名無しさん
18/12/05 18:38:20.62 1UnNMx3Qa.net
>>770
Listの汎用関数とか、Mapの汎用関数を作ってたら思った次第です
Mapなら、HashMapはHashMap、EnumMapはEnumMapで返したいなとかです
素直にオーバーロードしますね
ありがとうございました
802:デフォルトの名無しさん
18/12/05 20:40:25.38 tLhebNm/a.net
それって呼び出す側にnewさせて引数で受け取れば良いだけでは?
自分でnewしてリターン値にしないなら関係なくなるよね。
803:デフォルトの名無しさん
18/12/06 10:12:58.64 Wmyc4Uu/0.net
素朴な疑問なのですが
Javaプログラマーってみんなオブジェクト指向やデザインパターンやイベントリスナーのしくみなんかを完璧に理解して使いこなせているんですか?
別に自慢じゃないけどオレは理系で高学歴ですが
こんな難解複雑なものをみんなたやすく理解できるものじゃないと思うのですが。
高校の数学物理化学をレベルの高い大学に受かるくらいの頭がないと無理と感じます。
804:デフォルトの名無しさん
18/12/06 11:07:38.61 nonVVsji0.net
デザインパターンは、オブジェクト同士の疎結合の歴史。
DI, Flux, Pub-Sub(発行・購読)とか
WEB+DB 106号に載ってる。
スマホアプリの設計。DI, MVVM, Flux
805:デフォルトの名無しさん
18/12/06 12:20:30.95 UmHyXr4oa.net
>>772
出来るだけ副作用のない関数にしたかったので、その手は見送りました
806:デフォルトの名無しさん
18/12/06 12:31:53.41 nzH90qpKa.net
>>773
容易くかどうかはわからんが、ずっとやってりゃ小学生でもわかるようになると思うけどな。
このスレにもいないか?小学生の頃からプログラミングたできたやつ。
807:デフォルトの名無しさん
18/12/06 17:43:06.98 Wmyc4Uu/0.net
>>774
>>776
なるほど。
まあワタシは頭がいいのですぐ理解して使いこなせそうですが。
ハッハッハ!
ところでスキルを身に着けたときやっぱり報酬は期待したいのですが
年収1000万以上、できるだけ高く、を目指すためには、どのようなことをすればいいですか?
これはヒューマンスキルも大きくかかってくると思いますが、具体的にどんなことをすれば高収入になりますか?
野球でも年俸はFAがからむと高収入になるし、それがないと成績がいいの�
808:ノ低収入の選手もいるし、 なにかコツを知ってるだけで同じスキルなのに収入は天と地ほどの大差になるというのが現状のような気がして。
809:デフォルトの名無しさん
18/12/06 17:50:43.36 siOfDNuRd.net
そういう事を聞かなくても行動できるのが、高収入な人だと思うけど。
810:デフォルトの名無しさん
18/12/06 17:55:06.03 jTeUvFfL0.net
グーの音もでねえw
811:デフォルトの名無しさん
18/12/06 18:08:44.44 nzH90qpKa.net
グー
812:デフォルトの名無しさん
18/12/06 19:12:26.31 Cn1g7mwL0.net
>>773
ちゃんと理解出来ている人は極少数だと思う
でも理解出来てなくてもある程度実装は出来てしまうしプログラマにも成れてしまうからどヤバいコードが生成されてしまったりするわけで
813:デフォルトの名無しさん
18/12/06 19:33:36.24 Wmyc4Uu/0.net
>>781
なるほどそうなのですね。納得。
オレはわりと進学校出身だけど、まわりはみんな数学物理化学で苦労しててオレだけできたから
プログラマの仕事でもそう簡単にオブジェクト指向/デザインパターン/イベントリスナーを理解できる人はいない気はしていました。
でもこれに甘えずオレはどんどん勉強してスキルアップしていきたいと思います。
オレは経験がないだけど伸びしろは無限にあると思っているので。
オレみたいな人がやっぱりプログラミングに向いてるよね?w
高校レベルの数学物理化学で苦労するようじゃプログラミングも高度なことは絶対できなそうだし。
814:デフォルトの名無しさん
18/12/06 19:37:14.79 vPx9vAPGa.net
>>782
傲慢であることはいわゆるプログラマーの三大美徳の1つなので安心して励んでください
815:デフォルトの名無しさん
18/12/06 19:44:56.31 nzH90qpKa.net
いや、使われる能力がちょっと違うと思うぞ。
数学や物理が絡まなくはないし絡められるわけだが、かといってそんなもんほとんど知らないままプログラミングできるようになるやつは居るだろうしな。
816:デフォルトの名無しさん
18/12/06 20:46:52.33 Cn1g7mwL0.net
>>782
数物化が出来る→プログラミングが出来る
は一般に成り立たないかな
情報系でそれなりに良い成績を獲ってるけど実技系の科目の成績は低いみたいな人は結構いたりするし情報系であってもちゃんと理解出来てる人はそんなに多くない
まぁ相関が全く無いとは思わないけどね
817:デフォルトの名無しさん
18/12/07 07:06:25.60 OaIqSJqTa.net
>>785
そこらへんは知識そのものというより、求められる思考方法が近しいってのはある。
だから数学が出来ればプログラミングが出来るっていうより、数学の得意なタイプのやつはプログラミングも得意であることが多い、とかそういう感じだと思う
818:デフォルトの名無しさん
18/12/11 03:28:29.21 BPBNTIF+0.net
Windows10のJava1.8以上のバージョンのSwingでの日本語入力する時、
編集中の行が画面の一番下の方の時に変換すると、日本語変換候補Windowが編集中の行と重なって、編集中の文字列を隠してしまうバグのようなものが
自分の環境ではおきるのですが、他の人はどうですか?
Swingのテキストコンポーネントでおきます。
819:デフォルトの名無しさん
18/12/11 06:12:00.67 ms9OZaRY0.net
V2Cでもそうなる
820:デフォルトの名無しさん
18/12/11 13:05:28.74 BPBNTIF+0.net
>>788
ありがとう。
これだけ普通の条件で簡単に起きるのに、ずっとバグが直らないのはSwingで日本語入力なんてほとんど使われてないからなんだろうな。
Intellijとか使われてるけど、プログラム用のエディタだから日本語はほとんど入力されないのかな。
バグレポートかなんかしたいと思ったけど、ます英語を勉強しなきゃいけないし。
821:デフォルトの名無しさん
18/12/11 13:10:54.23 BPBNTIF+0.net
編集中の行の下に候補ウィンドウを表示する時はうまくいくんだけど、
編集中の上に候補ウィンドウを表示する時(つまり編集中の行が画面の下の方の時)、重なってしまう。
IMEのAPIのバグらしく、Swing使ってる限り独自のテキストコンポーネントを作っても直らない。
822:デフォルトの名無しさん
18/12/14 00:47:28.4
823:9 ID:+doa0nVt0.net
824:デフォルトの名無しさん
18/12/14 09:55:52.99 cCP3RgWTa.net
>>791
配列やリスト等に突っ込んで返す方法もあるが、本当にそれで問題ないかはよく考えた方が良いと思う。
825:デフォルトの名無しさん
18/12/14 17:58:19.96 mN1ioE7i0.net
>>791
Hashmapに突っ込むとかもある。
俺なら絶対にクラスを作るけど。
826:デフォルトの名無しさん
18/12/14 18:57:38.32 yKLaTwQg0.net
Ruby なら、メソッドの委譲機能を定義する、forwardable, delegate
継承(is-a)じゃなくて、汎用的なコンテナ(配列・リスト・辞書)に処理を委譲するような形(has-a)
クラス内に、汎用的なコンテナを作って、
push, pop など、同じメソッド名で、処理を内部コンテナに丸投げする
827:デフォルトの名無しさん
18/12/20 10:29:23.88 uzBoRH9c0.net
VBAは経験豊富だけどJavaは初めてです。
もちろんいっぱい勉強しました。
転職アピールで取ったほうがいい資格はなにがありますでしょうか?
Java経験ないので面接の質疑応答と資格アピールでがんばろうと思うのですが。
資格受験はすぐに取り掛かる予定です。今月にでも!
828:デフォルトの名無しさん
18/12/20 11:33:53.15 hE8cxs9Xa.net
earとかwarがいまいちわからないです
開発時にファイルAでファイルB(別パッケージ)をimportして使っていて、eclipse上ではコンパイルも通っていました
でもデプロイ段階になってから、先輩にこの2つのパッケージは別々のwar?になるからimportできないよと言われました
自分の感覚だとそもそもそれでコンパイルが通るようになってるのがおかしい気がするのですが、Javaの世界だとそれが普通なんですか?
829:デフォルトの名無しさん
18/12/20 12:23:41.18 uzBoRH9c0.net
earは耳、warは戦争です。
発音の注意としては、warは「ウォー」であって「ウァー」ではありません。
ここを押さえておけば大丈夫。
830:デフォルトの名無しさん
18/12/20 22:34:23.24 6pIAvd2J0.net
うぁー
831:デフォルトの名無しさん
18/12/20 22:40:41.67 9plr5EIz0.net
>>796
それはear、war云々の話ではなく
開発段階とデプロイ段階で違うことをやってるのがおかしいという話では?
832:デフォルトの名無しさん
18/12/20 22:44:39.27 JiVjjaVo0.net
>>799
あ、それです
ただJava界隈だとそれが普通なのかなと思いまして
833:デフォルトの名無しさん
18/12/20 23:04:28.20 IcrQnoua0.net
ear, war, tar など、ar とついているものは、zip などの圧縮 archive だろ。
サーバーにデプロイするために、1つにまとめる
だから、a.ear の中から、b.war の中の、オブジェクト・関数などは使えないのだろう
2つもデプロイしないから。
デプロイするのは、1つだけ
「java ear war」で検索!
834:デフォルトの名無しさん
18/12/20 23:44:55.08 uRkd43kpd.net
>>801
tarは非圧縮では?
835:デフォルトの名無しさん
18/12/22 02:51:17.48 Mf8aObFB0.net
本来アーカイブと圧縮は別だからな
836:デフォルトの名無しさん
18/12/23 17:21:45.07 yY9Kiav4a.net
tarは頭からファイル名、内容の順で入ってるだけだからいまいち使い辛いな。
ファイル名
837:出したいだけでも途中に大きいファイルがあると待たされる。 テープ装置用のコマンドを無理矢理使い回してるのがいかんよな。 せめてファイル名だけ並べたヘッダだけでも別に用意すればいいのに。
838:デフォルトの名無しさん
18/12/23 19:04:58.22 TNYL2NhX0.net
>>804
テープ用のコマンドを無理矢理使いまわしてるんじゃなくて、今でもテープに書いたりもするぞ。-Mでマルチボリュームにして、-Lでサイズ指定したらテープ交換メッセージ出る。
そうしとかないとボリュームまたぎのファイル探しづらいし、そういうもんじゃねえかなぁ。
ディスクに落とすとしても、ボリューム切り替わるたびに最初のディスク入れさせるとか狂気の沙汰な気がする。
839:デフォルトの名無しさん
18/12/25 17:56:14.99 Waofyifpa.net
まあ今でもテープ装置があれば使うのはわかる。
しかしテープではなく普通のファイルに書くならもう一ひねり欲しいところ。
840:デフォルトの名無しさん
19/01/01 16:14:58.54 rBFfBn4R0.net
silver黒本で勉強してて、例外終わらせたと思ったら最終章でラムダ式とかいう完全に新しいやつでてきてわろた
仕様が覚えられん
841:デフォルトの名無しさん
19/01/01 16:40:11.15 uncIR6SLM.net
ラムダなんか平均的なJava土方現場ならもれなく使用禁止だから安心していい
その証拠にこのスレでも滅多に出てこないだろ?
842:デフォルトの名無しさん
19/01/01 16:44:18.00 qkJ7OcChd.net
そうなのか、まあ試験用で一通り覚えないといけないけど
考え方とか他の言語やるときに役立つかな
843:
19/01/01 17:32:31.57 +TypiBw50.net
Javaのラムダはコンビネータを記述できますか?出来ないのなら不要(ラムダの意味がない)と思います
844:デフォルトの名無しさん
19/01/01 18:42:27.39 d0qESFYs0.net
ラムダっていうか関数型の概念をJavaを通じて学ぶのは無謀だから試験用に割り切るしかない
845:デフォルトの名無しさん
19/01/01 22:01:03.29 dc6+vvYb0.net
>>810
は?
import java.util.function.Supplier;
public class Test {
public static void main(String[] args) {
バニーガール a = new バニーガール(() -> "巨乳");
a.ぱふぱふ();
}
}
class バニーガール {
Supplier<String> create;
バニーガール(Supplier<String> create) {
this.create = create;
}
void ぱふぱふ() {
String おっぱい = create.get();
System.out.printf("%sでぱふぱふ", おっぱい);
}
}
846:デフォルトの名無しさん
19/01/01 22:01:24.13 dc6+vvYb0.net
これがFactoryパターン
847:
19/01/01 22:22:19.85 +TypiBw50.net
>>812-813
は?
それのどこがコンビネータですか?
848:デフォルトの名無しさん
19/01/01 22:32:19.26 dc6+vvYb0.net
>>814
コンビネータとは関係なくラムダ式は便利だよ
コンビネータ仕事で使うことないやろ
それを言うとんねん
849:デフォルトの名無しさん
19/01/01 22:32:48.32 dc6+vvYb0.net
アホがなあにがコンビネータだバカが
850:
19/01/02 03:25:42.83 U9fPlruq0.net
>>815
コンビネータを記述できるからλ式に存在意義があるのであって、コンビネータを記述できないλ式なんて「λ式」と名乗る資格がない文法的屑仕様にしか見えないのですけれども
851:デフォルトの名無しさん
19/01/02 13:27:44.18 iJhnqyOR0.net
>>817
コンビネータ記述できなかったの?
それはそれとしてJavaのラムダ式はコンビネータとは関係なく
匿名クラスを書かなくてすむから便利だと思うよ
Streamとかで使ったら便利だよ
852:デフォルトの名無しさん
19/01/02 13:29:49.59 iJhnqyOR0.net
導入した意図も知ろうとしないで
屑仕様と言う人にJavaを語る資格があるとは思えない
普段Java使ってるの?
853:デフォルトの名無しさん
19/01/02 14:33:45.83 MMKJrJD00.net
Kotlinもよろしく
854:
19/01/02 16:35:18.
855:40 ID:U9fPlruq0.net
856:デフォルトの名無しさん
19/01/02 16:47:38.66 ckX+EqcM0.net
いまどきHaskellerでも言わないような理論振りかざす原理主義者なんかNGしとけよ
857:デフォルトの名無しさん
19/01/02 17:02:15.83 iJhnqyOR0.net
>>821
やれるやれないじゃなくて
ラムダ式を使ったら簡単に書けるでしょう
だから便利でしょうという論理ですよ
Javaの公式ドキュメントでラムダ式と呼ばれてるので
ラムダ式と呼ぶべきかと
ところでJavaのラムダ式でコンビネータ記述できなかったの?
ググったらyコンビネータとかzコンビネータとかパーサコンビネータとかあったけど
それは自分の定義ではコンビネータと呼ぶことはできないとか?
858:デフォルトの名無しさん
19/01/02 17:05:38.37 iJhnqyOR0.net
>>822
コンビネータが必要になったことがないから
大事なんだと言われてもよくわからんのよね
コンビネータの概念を知らなくてもJavaのラムダ式は便利だと思うんよ
859:
19/01/02 18:05:41.80 U9fPlruq0.net
>>823
>ググったらyコンビネータとかzコンビネータとかパーサコンビネータとかあったけど
それは javascprit じゃない?js なら書けると思いますよ、ちょっと url を教えてください。
>Javaの公式ドキュメントでラムダ式と呼ばれてるのでラムダ式と呼ぶべきかと
そういう権威・権力のスカートにしがみつく理由で採用するのですか?頭が悪いと思われますよ
プログラマってそういうものからはもっとも遠くに立っている人種ではなかったかと
>>824
>コンビネータが必要になったことがないから大事なんだと言われてもよくわからんのよね
それは当然です、コンビネータは「記述できる範囲を定める」ものであり実用プログラムで使用することはありません
「コンビネータを記述できること」をもって lambda 式と呼ぶべき、という意見です、コンビネータが記述できないのなら別の名前にするべきでしょう。
私は①便利に書けるからといって糖衣構文をなんでもかんでも言語仕様に含めることには反対であり、ましてや、②なんでもかんでもぶちこんだ糖衣構文にテキトーな名前をつけることにも反対しているのです
Java は発表当初から言葉遣いがおかしいところがあり、たとえば「参照(reference)」などは他言語とは完全に意味が違いますね
860:デフォルトの名無しさん
19/01/02 18:27:16.02 iJhnqyOR0.net
>>825
URLリンク(www.google.com)
Javaのラムダ式と君のラムダ式があって
Javaのラムダ式は僕のラムダ式じゃないんだと
君は言うけれども君は自分が頭が良いと思われてると
思ってるのかな
俺はJavaのラムダ式は簡単な処理を簡単にかけるから大賛成
Streamを使いやすいしリッチなコレクションに処理を丸投げする
関数型のようなプログラミングがやりやすくなって大感謝
君の価値観とは正反対だけどJavaのラムダ式は便利だよ
コンビネータが実用プログラムで使用されることがないなら
ラムダ式をコンビネータを記述できるかどうかで語ることに意味あるのかな
Javaのラムダ式は実用上有用だから導入されたものだよ
referenceの話は具体的にどの言語の概念と完全に違うと言ってるのかしら
文脈が変われば概念が変わるのは当然と思うよ
スペリングが同じだからといって概念が同じとは限らない
言語が変わるならなおさら
861:
19/01/02 19:48:36.75 U9fPlruq0.net
>>826
まず「パーサコンビネータ」の「コンビネータ」は不動点コンビネータとはなんの関係もありません
大雑把にググッた結果だけみせて、その中身を精査していないのは、新しい概念に対するキャパシティー、あるいは概念把握力に問題があるのではないですか?
Java では yコンビネータは無理でも、zコンビネータという不動点コンビネータは記述できるようですね…
862:これは追体験しているところです、情報を提供いただきありがとうございます。 >君の価値観とは正反対だけどJavaのラムダ式は便利だよ 私の価値観は「Javaラムダ式は不便である」ではなく「Javaラムダ式はラムダ式と呼べるのか?」でしたが、Java ラムダ式にて不動点コンビネータの一部が記述できるようですから、この認識はあらためることになりました >ラムダ式をコンビネータを記述できるかどうかで語ることに意味あるのかな >Javaのラムダ式は実用上有用だから導入されたものだよ 有用、というよりも単なる糖衣構文にしかみえないですね、まあ、このあたりは人それぞれ >referenceの話は具体的にどの言語の概念と完全に違うと言ってるのかしら >文脈が変われば概念が変わるのは当然と思うよ >スペリングが同じだからといって概念が同じとは限らない >言語が変わるならなおさら いろいろな言語をやってみよう、というときには、あなたのこの助言は有用だと思います しかし、それと同程度に次の意見も有効ではないですか? 「異なる言語であっても、同じ概念に対しては同じ言葉を使い、違う概念に対しては違う言葉を使うべき」 C++ の reference と Java の reference は、それぞれの概念が近接することもあり、非常に紛らわしいです これは Java が出たときにすぐに問題になっていた記憶があります。
863:デフォルトの名無しさん
19/01/02 20:00:23.62 wUoDMH3da.net
なんでみんな荒らしコテハンにいちいち構ってんの
三が日の暇つぶしか
864:
19/01/02 20:02:31.83 U9fPlruq0.net
>>828
私のどこが荒らしと感じたのですか?具体的に記述できるのですか?
865:デフォルトの名無しさん
19/01/02 20:14:19.54 iJhnqyOR0.net
>>827
パーサコンビネータと君のコンビネータについては
どっちでも良いと思って
誤解されたくなければ君は詳細に説明してるだろうし
俺が違ったものだしても君は文句言える立場じゃないよ
yコンビネータのことなんだと君が最初から言ってたなら別だけどね
yコンビネータと最初に言ったのは俺だよ
俺のエスパー能力に君は感謝こそすれ文句言うのは大間違いだよ
いま俺が君から聞きたいのは謝罪の言葉だよ
きちんと説明せずに文句まで言ってしまってどうもすみませんでしたという
言葉を聞きたいよ
C++ の reference と Java の referenceは近接してるんだと言ってるわけですね
完全に違うと言ってたと思うんだけどそれもC++ の referenceのこと?
Javaが出たときにはJavaは普及してないだろうから新しい概念も周知されてないでしょう
それはしょうがないと思うけどC++のreferenceとJavaのreferenceはどう違うの?
言語間にまたがって用語を統一しようとしたら言語の外に辞書を作らないといけないね
プログラミング言語の用語一覧を作って概念が少しでも異なる場合は新しい用語を
追加することというルールを作らないといけないね
俺は嫌だなあそういうの官僚的でめんどくさいだけ賛同できないわ
866:デフォルトの名無しさん
19/01/02 20:26:05.19 wUoDMH3da.net
>>829
「Javaのラムダ式でコンビネータ書けますか?書けなかったら不要ですよね?」
↓
「コンビネータ関係なくラムダ式便利だよ」
ここまでは(入門・初心者向けかはともかく)質問スレの範疇
「コンビネータが書けなきゃラムダ式と呼んではいけない!それに従うのは権威主義で~」
ここら辺から質問関係なくなってる
単語の選出基準の話ならJavaの開発チームにでも聞かないとここで解決できるはずもない
同一スペリングで意味が異なる単語の話まで抽象化するともっともっとJava関係ない
そしておそらく本人もそんなことわかってるのに言い続けてるあたりが荒らし
867:
19/01/02 20:36:27.11 U9fPlruq0.net
>>830
一連のやりとりは Java のスレで、Java とは異なる世界からやってきた「ラムダ式」「不動点コンビネータ」をぶつけてみて(化学)反応を楽しむ、という私の悪癖が出てしまいました、あまり気にしないでください
ごめんなさい
そして z コンビネータの存在を知らしていただいたことに感謝します
868:
19/01/02 20:38:21.42 U9fPlruq0.net
>>831
>おそらく本人もそんなことわかってるのに言い続けてるあたりが荒らし
…お見通しですね
そのとおり、そういう意味なら私は荒らし、です…
869:デフォルトの名無しさん
19/01/02 20:44:00.26 iJhnqyOR0.net
>>832
良いってことよ
それよりも
870:C++のreferenceとJavaのreferenceはどう違うの?
871:デフォルトの名無しさん
19/01/02 21:12:34.14 iJhnqyOR0.net
Javaのドキュメントには
・reference type
・reference value
が書かれてる
reference typeは
・class type
・interface type
・type variable
・array type
のこと
オブジェクトはクラスインスタンス、または、配列のこと
reference value(たんにreference)はオブジェクトへのポインタのこと
ゆえにJavaのreferenceは、クラスインスタンスへのポインタ、または、配列へのポインタのこと
872:
19/01/02 21:58:39.12 U9fPlruq0.net
>>835
お許しが出たようなので続けます。
ざっと URLリンク(ezoeryou.github.io) 8.3.2
や C++11 draft N3242 8.3.2
あたりを眺めていますが、reference が満たさなければならない用件は記述されていて(N3242 8.3.2.5)も、reference が何者なのかをずばり記述している部分はみあたらないですね。
Java の reference は「クラスインスタンスのポインタ」「配列へのポインタ」ですか、つまりポインタの一種なんですね、これは理解できます
一方 C++ reference はポインタに限定されることなくすべての型に対応して存在できます、int に対して「int の reference」、クラスC に対して「クラスC のreference」というふうに
ここで私の定義を示します。
ある型T のポインタを型「T *」とするとき、型「T *」 の変数 T *p が現に存在して
式の上の表現の文字列「 *p 」を文字列として v に機械的に置き換えたときに v が新たな変数として機能する余地があるのなら、文字列 v は型「T &」のreference として宣言できる。
という感じですか…
873:デフォルトの名無しさん
19/01/02 22:37:44.34 iJhnqyOR0.net
>>836
よくわかんなかったからググったけど
C++のreferenceはreference variableの省略形で
変数のエイリアスみたいだよ
URLリンク(paiza.io)
こういう使い方するんでしょ
874:デフォルトの名無しさん
19/01/13 14:57:02.91 jed35pcVa.net
URLリンク(pastebin.com)
クリックしたさいに3行目のメッセージが出ません。
count()のmsgIndex++とmouseClickedのmsgIndex++が原因と思われるのですが、
解決方法が思いつきません。
構造自体を変更したほうがいいのでしょうか?
875:デフォルトの名無しさん
19/01/13 15:26:22.32 GXHGuQEW0.net
>>838
public void mouseClicked(MouseEvent e) {
// msgIndex + 1 => msgIndex
if (msg.size() == msgDispSize && msgIndex < messages.size()) {
msg.poll();
// 下に移動
// msgIndex++;
messages.get(msgIndex).setVisible(true);
msg.add(messages.get(msgIndex));
// メッセージに追加したあとにインクリメント
msgIndex++;
}
}
876:デフォルトの名無しさん
19/01/13 19:40:10.92 AcEsFCPQa.net
>>839
ありがとうございます。
インクリメント変更での解決納得いたしました。
877:デフォルトの名無しさん
19/01/19 10:07:33.04 fM0+TDNA0.net
ubuntu18.04をインストールしてJava 1.8にしてintellijインストールしたんだけど
intellijを含めたSwingの日本語入力のIMEの変換候補Windowが、編集中の行の近くじゃなくて
画面左下の方に表示されるんだけど、他の人もそうなりますか?
Ubuntuの設定がたりないとかあるのでしょうか?
878:デフォルトの名無しさん
19/01/19 15:15:17.32 B9Pk/I2L0.net
たぶんSwing(が使ってるAWT)が位置情報渡せてないから設定とか弄ってもムダかと。
FreeBSDのJava移植の時に位置情報渡すと変換候補ウィンドウがあっちっこっち飛ぶ(?)ので
諦めて位置情報渡さないようにした(結果デフォルト位置であるウィンドウ左下に
変換候補ウィンドウが表示されるようになった)とかって話を読んだ記憶がある。
Linux版もその辺の処理をきちんと書ける人いなかったんじゃねーかと。
879:デフォルトの名無しさん
19/01/19 17:39:35.80 pTjWjaAA0.net
下記で、本日の日付を表示できますが、
本日の一週間後を表示させるには、どこを+7したら宜しいでしょうか
よろしくお願い致します。
<SCRIPT type="text/javascript">
<!--
function _HpbDays()
{
this[0] = "日"; this[1] = "月"; this[2] = "火"; this[3] = "水";
this[4] = "木"; this[5] = "金"; this[6] = "土";
}
var now = new Date();
var yr = now.getYear();
var mn = now.getMonth() + 1;
var dt = now.getDate();
var dy = now.getDay();
var fyr = (yr < 1900) ? 1900 + yr : yr;
var dys = new _HpbDays();
var dyj = dys[dy];
document.write(fyr + "年" + mn + "月" + dt + "日");
//-->
</SCRIPT>
880:デフォルトの名無しさん
19/01/19 18:15:50.72 cYz5ck7p0.net
>>843
var d = new Date();
d.setDate(d.getDate() + 7);
alert(`${d.getFullYear()}年${d.getMonth() + 1}月${d.getDate()}日`);
881:デフォルトの名無しさん
19/01/19 19:50:59.40 pTjWjaAA0.net
843です、ありがとうございます!
882:デフォルトの名無しさん
19/01/19 19:57:45.69 pTjWjaAA0.net
843です、度々すみません、上記をどこに挿入したらよろしいのでしょうか汗
883:デフォルトの名無しさん
19/01/19 21:13:15.35 1SvRh6zM0.net
>>846
ここはJavaスレであってJavaScriptスレじゃないぞ
もう関係ないけど反応を見た限り致命的なレベルで何も分かってないみたいだからちゃんと0からステップを踏んでくれ
884:デフォルトの名無しさん
19/01/19 21:17:23.40 wiNfQeeu0.net
ここは、Java のスレです!
君のは、JavaScript です!
web 制作管理板の、JavaScript のスレへ書き込んで!
885:デフォルトの名無しさん
19/01/19 23:30:03.52 fM0+TDNA0.net
>>842
詳しく、ありがとうございます。
Windowsで編集業が画面下の時不都合が起きるから
Linuxに移行を考えてたけど、より駄目なのか。
まあ、Java Swingでデスクトップアプリなんて作るもんじゃないのかな。
886:デフォルトの名無しさん
19/01/20 18:36:43.33 VD9ut2bQ0.net
>>843-846
スレチだ。ここはJavaScriptのスレではなくJavaのスレだ。
887:デフォルトの名無しさん
19/01/20 18:37:41.27 VD9ut2bQ0.net
あ、リロード忘れてた。すでに同じこと書かれてるではないかorz
888:デフォルトの名無しさん
19/01/21 05:40:03.31 jDpmEG8Wa.net
orz ←これ100年ぶりに見たw
889:デフォルトの名無しさん
19/01/21 08:23:09.39 CkGvEyfYM.net
長老かよ
890:デフォルトの名無しさん
19/01/21 09:52:33.61 YCjnB4PDM.net
>>853
ワラ
891:デフォルトの名無しさん
19/01/21 11:55:04.19 ubpSrO6va.net
タイムリーにギネス最高齢の男性用がなくなっとるな…
892:デフォルトの名無しさん
19/01/21 11:55:26.30 ubpSrO6va.net
男性用→男性
893:デフォルトの名無しさん
19/01/22 21:48:34.77 8mJXdjenM.net
>>856
(核爆)
894:デフォルトの名無しさん
19/01/23 17:44:01.21 yPNynzM60.net
java初心者なんですが、javaのスピードってゲームに耐えられる程あるんですか
マインクラフトとか本当にjavaだけなら凄いなと
895:デフォルトの名無しさん
19/01/23 18:56:46.12 gQZD+vR+a.net
>>858
どうだろう。VMやハードウェアしだいではあるが、Androidのスマホアプリは結構速いよね。
896:デフォルトの名無しさん
19/01/23 19:15:17.85 VcXIroIfM.net
openGLありなら
897:デフォルトの名無しさん
19/01/23 19:39:02.88 GhD8NJBs0.net
JavaやJavascriptは結構早いですよ。
問題はリソースをアホほど使うことですね。
898:デフォルトの名無しさん
19/01/23 19:40:27.88 GhD8NJBs0.net
Javaは元々ハードウェアを売るための言語ですから、リソースを大量に使うのは善
899:なんですよ。 それだけ高いマシンを売れるんですから。
900:デフォルトの名無しさん
19/01/23 19:46:29.62 DtngHTsf0.net
>>858
MinecraftはLWJGLっていうライブラリを使っててLWJGLは中でOpenGL/AL/CLとかを叩いてるからJavaだけっていうと微妙な気がしなくもない
ちなみにJavaは起動が遅いのであって実行速度は別に遅くない
901:デフォルトの名無しさん
19/01/23 20:02:57.29 Hfh86APr0.net
ぶっちゃけ泥のゲームてほとんどUnity製なのでは…
902:デフォルトの名無しさん
19/01/24 01:02:43.09 QNhC8yZPa.net
ブ、ブートストラップは早いんだからね!遅いのは依存ライブラリが大きすぎるせいなんだから!
903:デフォルトの名無しさん
19/01/24 06:27:42.32 SamtYSKx0.net
>>858
速いよ。スマホゲーならサーバーサイドはJavaだったりする
904:デフォルトの名無しさん
19/01/24 08:41:37.60 AuVzjGCMa.net
Eclipseの設定でエラー情報を試しに全部オンにしたところ、文字列に対してNON-NLSというコメントをつけるよう言われました
あまり意味がわかってないのですが、これは文字列を記述する度につけた方がいいものですか?
905:デフォルトの名無しさん
19/01/24 09:37:30.92 7Yhstfrna.net
>>866
そのスマホもAndroidなら普通はJavaだ。
906:デフォルトの名無しさん
19/01/24 11:23:07.06 XarvyAfJ0.net
Java初心者というかプログラミング初心者の大学生です。
java awtを使ってランダムなルーレットを作りたいのですが可能ですか?
イメージはルーレットがぐるぐる回っているアニメーションを実装したいです。
907:デフォルトの名無しさん
19/01/24 12:11:49.55 Zu9VTso2D.net
>>869
逆に作れない理由を知りたい
908:デフォルトの名無しさん
19/01/24 12:19:31.58 PLeglmGSM.net
>>867
文字列を外部から読み込む設定にしたのでしょ
NON-NLSはその警告を出さないようにするためのコメント
文字列を外部から読み込むのなら修正するべきだし
その文字列を例外的に認めるのならコメントを入れて警告出さないようにするのもあり
文字列を外部から読み込まないのなら設定を外すべき
909:デフォルトの名無しさん
19/01/24 12:34:58.27 mQopJVvfa.net
>>871
ありがとうございます
普通にString hoge = "hoge";のように書いてるのですが、何か設定ミスったんですかね
外部読み込みというのがどういう設定かはまだわかりませんが、一度調べてみます
910:デフォルトの名無しさん
19/01/24 20:28:29.07 6FJ6Yx0F0.net
質問の前にググれば一発なのになぁって思う。
911:デフォルトの名無しさん
19/01/24 20:32:06.65 iWJQcTkX0.net
>>873
ググってもよくわからなかったので質問させていただいたのですが、不快にさせてしまったならすみませんでした
912:デフォルトの名無しさん
19/01/24 23:34:06.77 MzTIY1gg0.net
>>867
>あまり意味がわかってないのですが、
>>872
>まだわかりませんが
>>874
>ググってもよくわからなかったので
結局のところ全然わからないんだろ?
913:デフォルトの名無しさん
19/01/24 23:36:41.12 shrNjFzUr.net
>>869
可能か不可能かで言えば考えるまでも無く可能
なんだけどその質問をしたということは何処かで躓いたと見えるから何処で躓いてるのかを書いて欲しい
914:デフォルトの名無しさん
19/01/24 23:54:19.89 uopHkcdua.net
>>875
そうなります
「String外部化」とか「多言語対応」とか、単語だけ入ってきて結局どういうものか、警告を無視していいのかなどが全然判断つかなかったので質問させていただいたのですが、甘えでした
上記の質問は取り下げます
すみませんでした
915:デフォルトの名無しさん
19/01/25 00:13:26.15 561g9VC2r.net
>>874
自分でググって分かる範囲は知識量とかで決まるからそういう事もある
結論から言うと分からないレベルなら「無視」に設定すれば問題ない
外部化ってのは…871の回答が全てかなぁ…
今後色々とコードを書いているうちに外部化の嬉しさは分かるはず
916:デフォルトの名無しさん
19/01/25 00:54:39.85 mb4m/ktH0.net
>>876
まさしくそうです。
イメージでは図形(円)を何等分かにしたもの(それぞれに項目を入力するようにしたい)を回転させてボタンをクリックすると徐々に停止するという感じにしたいのですが、
図形を回転させる方法が分からなくて準備した画像を回転させるという方式を妥協案としてだすところまではいきました。
917:デフォルトの名無しさん
19/01/25 07:24:34.20 Z4/AkBY20.net
次の現場のfwがSpringらしいんだがSpringって何が特徴なの
918:デフォルトの名無しさん
19/01/25 08:16:19.71 5vdjXK7W0.net
>>880
DI
919:デフォルトの名無しさん
19/01/25 16:21:15.59 DXGS5FUqx.net
Jsoup使ってwebスクレイピングしたいんだけど、やり方がよくわからないです。。
ダウンロードは済みだけど動かし方がさっぱりわからずで…
ちなjavaは、びじゅあるすたじおこーどでコードを打ち込んで、パワーシエルで動かしてます。
920:デフォルトの名無しさん
19/01/25 16:32:36.23 dvigx+iy0.net
Ruby で、Nokogiri, Selenium WebDriver, ERB などで、スクレイピングする方が簡単
>>880
掌田津耶乃の本
Spring Framework 4 プログラミング入門、2014
Spring Boot プログラミング入門、2016
921:デフォルトの名無しさん
19/01/25 20:00:54.94 2mJ8qHrma.net
>>881
>>883
ありがとう、買ってみる
922:デフォルトの名無しさん
19/01/25 22:22:34.59 mdE9f39+x.net
>>883ありがとう。
スクレイピング技術はPythonが充実してそうだけど、
学校ではjavaとPHPとhtmlとJavaScript しか習ってないんだ。。。
とりあえず今はjavaでやってみて、時間に余裕出来たらPython極めたい
923:デフォルトの名無しさん
19/01/25 23:01:06.51 9WShTN4K0.net
スクレイピングならPythonよりもRubyが鉄板じゃないかな
924:デフォルトの名無しさん
19/01/25 23:19:12.52 RXh8uaIc0.net
なんでこれはダメなんですか
String gomi="sinekasu";
public Sampleb() {
this(gomi);//明示的にコンストラクターを起動している間、インスタンス・フィールド gomi は参照できません
}
こっちは問題なし
public Sampleb() {
System.out.println(gomi);
}
925:デフォルトの名無しさん
19/01/25 23:20:49.61 RXh8uaIc0.net
両方コンストラクタが動いてる途中ですよね
926:デフォルトの名無しさん
19/01/25 23:43:50.18 2NxaaluW0.net
>>886
そうなの?
図書館で蔵書調べたり、ネットで検索するとPythonばかり出てくるし、最近はAIの話題でもPythonて耳にするから、授業そっちのけでPython学ぼうか悩んでる
927:デフォルトの名無しさん
19/01/26 01:00:54.13 dj+QRU8+d.net
一部だけ書かれても分かるかよ
928:デフォルトの名無しさん
19/01/26 09:36:16.81 FDRbZUKha.net
>>889
トレンドとしてPythonが人気なのはそうだけど、言語ごとに得意分野はある。
現実的にはスクレイピングだけを考えたらRuby一択だけど他の用途も想定するならPythonは悪い選択肢じゃないよ。
929:デフォルトの名無しさん
19/01/26 10:53:45.57 RAOXCofF0.net
>>890
this()でフィールド使えない理由がよくわからないんです
そういうもんだと暗記しようかなとも思ってますが
930:デフォルトの名無しさん
19/01/26 11:25:50.14 w0Sct7+Sr.net
>>887
this()やsuper()は先頭にしか置けないってのから分かるように,インスタンスが生成されるタイミングは一番最後に呼び出されたコンストラクタの先頭に当たるから,this()を呼び出す前にフィールドにはアクセスできない
931:デフォルトの名無しさん
19/01/26 11:31:54.81 RAOXCofF0.net
>>893
そうなんですか
じゃあ暗記します
932:デフォルトの名無しさん
19/01/26 11:
933:45:29.68 ID:+eApZUOf0.net
934:デフォルトの名無しさん
19/01/26 11:56:32.88 RAOXCofF0.net
説明を見たうえで暗記でいいって判断したんだろうが猿黙ってろゴミ
935:デフォルトの名無しさん
19/01/26 12:03:46.69 BtPdovbm0.net
これアイツかな?発達の奴
936:デフォルトの名無しさん
19/01/26 12:28:44.69 YGE1FiJD0.net
>>897
おいガイジ
937:デフォルトの名無しさん
19/01/26 12:53:32.64 FDRbZUKha.net
カイジ?
938:デフォルトの名無しさん
19/01/26 16:51:56.90 BtPdovbm0.net
ざわわ
939:デフォルトの名無しさん
19/01/26 17:35:22.64 YGE1FiJD0.net
>>900
おいきたろう
940:デフォルトの名無しさん
19/01/27 19:55:36.26 fsCM9HoX0.net
URLリンク(ja.wikipedia.org)
941:デフォルトの名無しさん
19/01/31 20:32:51.19 J13kBbfld.net
質問です。
ログ出力の構成を考えてるのですが、
Javaで別ディレクトリにある同名ファイルは同時に開けますか?
手元にPCなくて試せません…
942:デフォルトの名無しさん
19/01/31 21:56:48.54 ikzK+zF/a.net
開けるよ。
943:デフォルトの名無しさん
19/02/01 23:57:08.52 F13kZs9F0.net
それどころか同じディレクトリにある同じファイルも開けるよ。
あまりやる必要はないかも知れないが。
944:デフォルトの名無しさん
19/02/02 20:51:07.37 yXPIoHRha.net
何かのテンプレートファイルを使うときは同じファイルを同時に読み込むことはあるな
業務アプリで何かをエクセルに出力するときなんかにやることはある
945:デフォルトの名無しさん
19/02/02 21:02:02.95 nIL1CRM4d.net
ほえー全く同じファイルも開けるんですね
ありがとうございます助かりました
946:デフォルトの名無しさん
19/02/06 15:47:50.42 okavnPFe0.net
Javaアプレットも読めるんだけど、弊社の自作VMだって主張するやつについてどう思う?
947:デフォルトの名無しさん
19/02/06 15:53:07.87 okavnPFe0.net
どのブラウザもJAVAは選択制でデフォルトではオフ。
日本の官庁がJAVAで書かれたオンラインシステムを持っていて大慌て。
GoogleのAndroidもサンマイクロシステムにライセンス料だせと脅されたから、たぶんAndroidもJAVA離れするだろうし。
似たようなC#ってあるのだからそれで十分なんだよね。
948:デフォルトの名無しさん
19/02/06 18:18:24.39 GRtPH2TFa.net
文章からガチで頭おかしいオーラが漂いまくってる
949:デフォルトの名無しさん
19/02/06 18:46:04.80 uzDWrSZHa.net
なんともまあ……
950:デフォルトの名無しさん
19/02/07 07:57:03.78 Teb/Q4UXM.net
Webシステムの現場なんですけど
Javaをコンパイルしたらクラスが生成されるということを知らないおっさん(35)が異動してきました
何から教えればいいのでしょうか
951:デフォルトの名無しさん
19/02/07 08:31:14.20 9RrHvXh/M.net
マウンティング化みっともない行為であることを教えてやれ
952:デフォルトの名無しさん
19/02/07 09:46:07.67 3xOPfbFs0.net
>>912
Javaをコンパイルしたらクラスが生成されるんだよと知らないおっさん(35)にやさしく教えてあげましょう
953:デフォルトの名無しさん
19/02/07 11:28:48.27 oaRutm/fM.net
>>912
コピー機の使い方と便所掃除のやり方かな
954:デフォルトの名無しさん
19/02/07 11:48:46.46 Ftq4Fy0Na.net
>>912
とりあえず転職サイトの登録の仕方を教えてあげるのがお互いのため
955:デフォルトの名無しさん
19/02/08 00:12:47.05 pLb7xNU70.net
paiza.io とか、転職のためのプログラミングの学習もできるようなサイトを教えてあげなさい。
956:デフォルトの名無しさん
19/02/08 00:14:15.67 en9HPq6pa.net
>>912
Scala
957:デフォルトの名無しさん
19/02/08 06:21:41.94 ic1vtp+o0.net
paizaな、コンセプトは分かるんだけど現実的にはあまり、って感じだからうちはもう来季以降使わない方向。
正直あんな問題よりもGithubでも見せてもらった方がはるかに応募者のことが分かるし
958:デフォルトの名無しさん
19/02/08 16:48:36.70 zHfqMrpOH.net
はぁ~ん、
959:eclipse is ゴミ なんで Find / Replace 効かなくなるっていうクソみたいなバグあるんだよ勘弁してくれ
960:デフォルトの名無しさん
19/02/08 16:50:45.43 zHfqMrpOH.net
はぁ~ん、Git のプラグインをアンインスコしたら治ったわ
Git Plugin is ゴミ
961:デフォルトの名無しさん
19/02/08 18:16:55.85 UceabCeXa.net
さすがにそろそろIntelliJに乗り換えとけ
eclipseなんて使ってると今どきの女子高生に笑われるぞ
962:デフォルトの名無しさん
19/02/08 19:29:37.34 /KfwBoQL0.net
これから何か覚えようと思ってJAVAを考えてるんだけど有料になったの?
あとなんだっけJDKとかってオラクルのやつが一番メジャーなの?
963:デフォルトの名無しさん
19/02/08 19:53:07.51 pLb7xNU70.net
燃料が投入された。
964:デフォルトの名無しさん
19/02/08 19:56:07.37 /KfwBoQL0.net
>>923
追加です、アプレットとサーブレットってどっちやればいいの?
自分のPCで個人的に使いたいんだけど
965:デフォルトの名無しさん
19/02/08 20:00:49.39 /KfwBoQL0.net
>>925
あとどこか解りやすいサイトあったら教えてくださいーよろしくお願いします_(_ _)_
966:デフォルトの名無しさん
19/02/08 21:25:18.87 1PVJmtoQ0.net
JSPとJSって違うんですか
jsファイルってなんですかって聞かれたけど答えられませんでした
なんて言うのが正解なんでしょうか
967:デフォルトの名無しさん
19/02/08 21:46:08.51 wNOXgeyf0.net
女子小学生。
968:デフォルトの名無しさん
19/02/08 22:14:13.31 zHfqMrpOH.net
>>922
IntelliJのほうがいいのは重々わかってるんだけど、
eclipse の API とか プラグインとかごりごり使ってるし
使ってる SWT とか JFace のGUIビルダが eclipse にしかないんだよね…まぁGUIビルダもクソバグ満載のゴミなんだけど
969:デフォルトの名無しさん
19/02/09 00:52:56.06 KF+GGfgS0.net
簡単なプログラムならEclipseのコンパイル爆速だ というか
編集中にインクリメントコンパイルしてるのかな?
970:デフォルトの名無しさん
19/02/09 01:22:19.42 zeYP++f3a.net
今時のPCならJavaのコンパイルなんて一瞬だからインクリメンタルコンパイルはほとんど関係ない
不要なコンパイルを減らすようにする程度の依存関係管理さえやってればクラスファイル単位でのコンパイルで十分に速い
971:デフォルトの名無しさん
19/02/09 08:03:40.22 by4oxQBn0.net
javaってインタープリター言語だったっけ?と思った記憶がある。コンパイルしてるように見えなかったんで。
972:デフォルトの名無しさん
19/02/09 09:04:16.42 /gorSJ8M0.net
IntelliJも出来るよ、デフォルトでオフになってるけど。
ただビルドそのものなんて一瞬だから、あんま意味ないよね。
Springとかのウェブアプリを作ってて画面いじりながら即座に変更を反映したい時には使う。
973:デフォルトの名無しさん
19/02/09 09:10:58.95 yVVPxPY90.net
初心者質問スレなのにガン無視って・・・そういうスレなんですね。
自分で調べます、ありがとうございました。
974:デフォルトの名無しさん
19/02/09 10:39:35.77 /gorSJ8M0.net
そうか、頑張れよ
975:デフォルトの名無しさん
19/02/09 15:35:20.18 6/bHpQ6m0.net
燃料は燃えなかったようだな
976:デフォルトの名無しさん
19/02/09 21:46:00.20 XEN4loIw0.net
packageについて質問します。
javaおよびコンピュータについては殆ど素人なんでお手柔らかにお願いします。
Calc.java(メイン)、CalcLogic.java という二つのファイルをコンパイルしたところ
C:\Users\sinou\Desktop\java>javac Calc.java CalcLogic.java
という風にコンパイルできたのですが、
いざメインのほうのCalc.javaを実行したところ
C:\Users\sinou\Desktop\java>java Calc
エラー: メイン・クラスCalcを検出およびロードできませんでした
原因: java.lang.NoClassDefFoundError: root/Calc (wrong name: Calc)
という風にエラーが出ました。
また、メインのCalc.javaのみをコンパイルした結果
C:\Users\sinou\Desktop\java>javac Calc.java
Calc.java:5: エラー: パッケージtorは存在しません
int total=tor.CalcLogic.tasu(a,b);
^
Calc.java:6: エラー: パッケージtorは存在しません
int
977:delta=tor.CalcLogic.hiku(a,b); ^ エラー2個 となりました。 二つの.javaファイルは同じjavaファイルに入っているのになぜかコンパイルできません。
978:デフォルトの名無しさん
19/02/09 21:46:22.21 XEN4loIw0.net
ソースコード
Calc.java
package root;
public class Calc{
public static void main(String[]ags){
int a=10;int b=2;
int total=tor.CalcLogic.tasu(a,b);
int delta=tor.CalcLogic.hiku(a,b);
System.out.println("tasuto"+total+"hikuto"+delta);
}
}
CalcLogic.java
package tor;
public class CalcLogic{
public static int tasu(int a,int b){
return(a+b);
}
public static int hiku(int a,int b){
return(a-b);
}
}
もしわかる方がいればご指導よろしくお願いします。
979:デフォルトの名無しさん
19/02/09 21:49:45.18 XEN4loIw0.net
使用テキストエディタはAtomです。
980:デフォルトの名無しさん
19/02/09 22:17:23.17 wvYgqGa/0.net
>>938
パッケージとフォルダ階層を一致させればいい
root/Calc.java
tor/CalcLogc.java
実行するときはrootの親のフォルダでjava root.Calcを実行すればいいよ
981:デフォルトの名無しさん
19/02/09 23:24:15.53 XEN4loIw0.net
>>940
C----User---sinou---Desktop-------java
|
|---Calc.java
|
|
|---CalcLogic.java
2つの.javaファイルはこういう風になっていますが、階層を合わせるにはどうすればいいですか?
自分の理解が理解が低くてすいません。
それと申し訳ないのですが、package化せずに、CalcLogic.tasu という風にそのまま呼び出せば作動するのですが、これはpackageが何か作用しているのですが?
何度も質問して申し訳ありません。
982:デフォルトの名無しさん
19/02/09 23:29:19.47 XEN4loIw0.net
Atomではこんな感じです
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
983:デフォルトの名無しさん
19/02/09 23:32:38.32 XEN4loIw0.net
すみません。こっちが正しい奴です。
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
984:デフォルトの名無しさん
19/02/09 23:34:12.23 ugjh5xrz0.net
940ではないけどパッケージとフォルダ階層の関係とフォルダ(ディレクトリ)の基点を整理する必要がありそう
985:デフォルトの名無しさん
19/02/09 23:36:35.01 TFFIMnUD0.net
えっ、importの話じゃないの?
みんなが何言ってるのかよくわからない
986:デフォルトの名無しさん
19/02/10 00:39:40.56 4NPrpNeG0.net
>>944
ありがとうございます!
助言の通りクラスローダーについて調べてみたらどうやらクラスファイルの位置が間違えていたようです!
クラスファイルを作成すると成功しました!
本当にありがとうございました!
URLリンク(i.imgur.com)
987:デフォルトの名無しさん
19/02/10 11:08:18.40 PwIN6g+GM.net
VScodeとAtomでは
どっち使ったほうがいいですか?
988:デフォルトの名無しさん
19/02/10 11:12:20.42 Ix0Ul5tpa.net
Atomは開発元がVSCodeの開発元であるMSに買収され、完全に存在意義を失い事実上終了
989:デフォルトの名無しさん
19/02/10 11:28:50.23 Q/s8Bwota.net
>>947
その2択ならVSCode
Javaを書くならそれらよりIntelliJの方が良いと思うけど
990:デフォルトの名無しさん
19/02/10 11:50:42.09 dkb/B5OXM.net
VSCodeのJava拡張は意外に良くできてるよ
今時流行りのコマンドラインだけで完結するビルドツールやフレームワークを使っているならほぼ不都合はない
リファクタリングなんかは敵わないけど、テキストエディタとしての拡張性・快適性を考慮すれば全然アリな選択
991:デフォルトの名無しさん
19/02/10 12:30:05.01 DNUQi1GGM.net
お前らがJava使ってるのってCOBOLと同じ流れ?
992:デフォルトの名無しさん
19/02/10 14:00:43.30 oG+nD+ob0.net
は?どういう流れよ?
993:デフォルトの名無しさん
19/02/10 14:59:46.04 DNUQi1GGM.net
>>952
いや純粋に聞いてみたいだけだよ
994:デフォルトの名無しさん
19/02/10 17:58:31.67 n6QJeawT0.net
COBOLと同じ流れっていうのがどういう意味で言ってるのかわからんから答えようがない
995:デフォルトの名無しさん
19/02/10 18:18:48.96 96GWWqq3M.net
Javaが採用される理由は下記の通り
1. 既存資産があるから
2. PGの調達
996:が容易で単価も安いから 3. Winで特に支障なくUNIXサーバー向けの開発ができるから このうち1.はCOBOLと同じだが、あとの2つはCOBOLには当てはまらない
997:デフォルトの名無しさん
19/02/11 10:48:57.26 vMTyjZUqa.net
COBOL以外覚えられなくてCOBOLにしがみついてるって意味なら当てはまらんなあ
俺の場合は他の言語から入って後からJava書き始めた口だし
998:デフォルトの名無しさん
19/02/11 15:48:11.98 Xld2ZNBKa.net
ステートレスBeanとステートフルBeanの違いがわかりません。
例をあげて違いを明確に教えてください。
999:デフォルトの名無しさん
19/02/12 17:48:15.62 jZrUzxgNa.net
ジェネリクスについて質問です
List<HashMap<String, Integer>> 型のリストをソートするためのComparotorクラスって、
class Hoge implements Comparotor<Map <String, Integer>> {}
で良いんですか?
どこかでMap<?, ?>とワイルドカードにしないといけないと見たんですが(うろ覚えです)、特にそうしなくても動くので気になりました
1000:デフォルトの名無しさん
19/02/16 08:20:41.88 fTKLBuzC0.net
ここってちょっと難しい質問だとレス止まるな。
1001:デフォルトの名無しさん
19/02/16 10:14:53.73 n5QWwS4y0.net
今頃Javaに熱意のあるプログラマーなんて居ないし
1002:デフォルトの名無しさん
19/02/16 18:45:03.62 N5DMegPc0.net
ステートレスは1回の処理で破棄される
ステートフルは永続性がある
つーか、Javaの質問じゃないわ
1003:デフォルトの名無しさん
19/02/20 15:14:02.61 FJjom38pa.net
該当スレがないので
eclipseからintelij IDEAを試してますが、括弧の中からenterで抜け出せないのが不便過ぎます。
ショートカットは面倒だし、tabキーもsoutなんかの括弧付き定型文では無効。
使ってる人はどう対応してるのか教えてください
1004:デフォルトの名無しさん
19/02/20 16:36:06.49 4EtSY22fa.net
括弧の中からenterで抜け出すの意味がよくわからん
1005:デフォルトの名無しさん
19/02/20 19:06:18.77 6i9INm92M.net
エクリプスエアプか?
1006:デフォルトの名無しさん
19/02/20 19:06:56.72 6i9INm92M.net
エクリプス童貞の皆さん
1007:デフォルトの名無しさん
19/02/20 20:21:31.82 EKI9LXSlM.net
エンターキーなのに出たいという話は全世界が驚く発言。
1008:デフォルトの名無しさん
19/02/20 20:26:29.38 6i9INm92M.net
>>966
おい童貞
1009:デフォルトの名無しさん
19/02/20 21:16:52.17 K6Fdo/zQr.net
こういう事を言ってる?
URLリンク(ja.stackoverflow.com)で括弧の中身を入力した後エンターキーで自動でカーソルを括弧の外に移動させたい
でもぱっと見た感じその条件はこれじゃ解決できなさそうやね
1010:デフォルトの名無しさん
19/02/20 22:50:23.64 V5pUCRq30.net
Enter押すのも→押すのもワンキーなんだから、慣れてるかどうか以外の違いはないんじゃないかと思った。
1011:デフォルトの名無しさん
19/02/20 23:00:18.44 VQnn8S2l0.net
>>968
そうですね。そのショートカットの他に、()+文字列続けて打ってる場合はtabで抜け出すことができます。
しかしprint()のように()を含む補完だと 中身を書いて抜け出すことができません。
1012:デフォルトの名無しさん
19/02/21 05:41:02.41 jvb9Tzci0.net
;打てば抜けられるときあるよな
抜けられないときもあるけど
1013:デフォルトの名無しさん
19/02/21 17:34:53.91 SR0wFFcv0.net
グーグルのスプレッドシートをAPIとjavaで読み書きしてるのですが、
シートの行数が2万行とか3万行になると、読み込みに時間がかかって Timeout 例外になります。
ググってその対処法を見つけたんですが、ちゃんと動作
1014:してくれません。何が悪いのか分かりませんか? デフォルトのタイムアウトは20秒くらいで、60秒くらいに設定しても変化ありません。 https://stackoverflow.com/questions/46999143/how-to-set-timeout-for-google-client-spreadsheet-api こっちも参考になるかもしれません。 https://stackoverflow.com/questions/29518231/sockettimeoutexception-read-timed-out-on-insert-to-google-drive-is-it-retryab https://developers.google.com/api-client-library/java/google-api-java-client/errors
1015:デフォルトの名無しさん
19/02/21 19:25:26.84 9TadMKc3a.net
>>972
変化がないってことは変わらず20秒でタイムアウトになるって意味?
あと何が悪いのか分からないと言われても、実際に書いたコードを見せてもらわないことにはどうにもならん
1016:デフォルトの名無しさん
19/02/21 19:39:21.87 SR0wFFcv0.net
>>973
自分のコードはこんな感じです。
private static final JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
public static Sheets getSheetsService() throws IOException, GeneralSecurityException {
final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
return new Sheets.Builder(HTTP_TRANSPORT, JSON_FACTORY, setTimeout(getCredentials(HTTP_TRANSPORT)))
.setApplicationName(APPLICATION_NAME)
.build();
}
private static HttpRequestInitializer setTimeout(final HttpRequestInitializer initializer) {
return request -> {
initializer.initialize(request);
request.setReadTimeout(60000);
};
}
デバッガでトレースしてもラムダ式の中のコードが実行されないし、相変わらず20秒でタイムアウトになります。
1017:デフォルトの名無しさん
19/02/21 19:42:18.83 fprmeCB00.net
>>974
httpRequest.setConnectTimeout(3 * 60000); // 3 minutes connect timeout
これ入れてもNG?
1018:デフォルトの名無しさん
19/02/21 19:46:38.87 SR0wFFcv0.net
>>975
同じです。そっちのコードも試しました。
5000行くらいだとスムーズに読んでくれるんで、シートをいくつも作ってそこに5000行ずつ分割した上で読んだりしてるんですけど、
すごく手間だし、シートのある列がどこまで埋まってるか知りたいなんて時はそういうこともできないので困ってます。
1019:デフォルトの名無しさん
19/02/21 20:18:27.97 9TadMKc3a.net
>>976
携帯だから試せないけど、>>974のコードに>>975のを加えて両方書いてもダメ?
1020:デフォルトの名無しさん
19/02/21 20:29:20.31 bp6QexpC0.net
ラムダの中が実行されないなら渡し方が違うんでね
1021:デフォルトの名無しさん
19/02/21 20:31:04.28 SR0wFFcv0.net
>>977
private static HttpRequestInitializer setTimeout(final HttpRequestInitializer initializer) {
return request -> {
initializer.initialize(request);
request.setConnectTimeout(60000);
request.setReadTimeout(60000);
};
これでやってみたけどダメでした。
1022:デフォルトの名無しさん
19/02/21 21:19:34.16 Neuw5rL80.net
>>966
Return と書いてあるシールでも貼っときなさい。
1023:デフォルトの名無しさん
19/02/21 21:27:18.64 lsmx9sV60.net
>>980
リターンキーは左下に行くという意味で、戻るわけではありません。
1024:デフォルトの名無しさん
19/02/21 23:33:38.23 fprmeCB00.net
>>979
ちょっと覗いてみたけど
NetHttpTransport.buildRequest
・ConnectionFactoryでconnectionを作成
・NetHttpRequestを作成
# setTimeoutがあるけど呼び方がわからぬ
って感じだった
HttpRequestInitializerを呼び出すのはHttpTransportだと思うんだけど
どこで呼び出してるのかよくわからんかった
ConnectionFactoryを指定してみたりとか
final NetHttpTransport HTTP_TRANSPORT = new NetHttpTransport.Builder()
.trustCertificates(GoogleUtils.getCertificateTrustStore())
.setConnectionFactory(new DefaultConnectionFactory() {
@Override
public HttpURLConnection openConnection(URL url) throws IOException {
HttpURLConnection
1025:con = super.openConnection(url); con.setReadTimeout(1000000); con.setConnectTimeout(1000000); return con; } }) .build(); JVMの設定を入れてみたりとか System.setProperty("sun.net.client.defaultConnectTimeout", "100000"); System.setProperty("sun.net.client.defaultReadTimeout", "100000"); Javaの起動時にJVMのオプション指定したりとか試してみてはどうだろ
1026:デフォルトの名無しさん
19/02/22 05:42:45.85 p3Rb6+Rra.net
まだ解決してないならタイムアウトしてる部分のソース見るのが一番早いかな
1027:デフォルトの名無しさん
19/02/22 08:02:33.12 2zA+k7LF0.net
>>982
コードまで書いてもらってありがとうございます。朝一で試してみたんですが、残念ながら変わりませんでした。
ともあれありがとうございました。
1028:デフォルトの名無しさん
19/02/22 08:51:44.48 Iun5aGGoM.net
>>984
タイムアウトで例外投げられてるなら
スタックトレース出力されてない?
スタックトレースを見ればどのオブジェクトが関わってるか
わかるんじゃないかな
それ貼ってもらえれば
1029:デフォルトの名無しさん
19/02/22 12:29:35.43 2zA+k7LF0.net
>>985
エラーはこんなのが出ます。
Exception in thread "main" java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
at sun.security.ssl.InputRecord.read(InputRecord.java:503)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:940)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
1030:デフォルトの名無しさん
19/02/22 12:34:28.93 2zA+k7LF0.net
これで全部ではなくて、まだもう半分あるんですが、書き込もうとしたらNGワード禁止と言われて書き込めませんでした。
1031:デフォルトの名無しさん
19/02/22 12:45:13.44 2zA+k7LF0.net
一番下から1行ずつ消しながら書き込めないかやってみます。
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:347)
at com.google.api.client.http.javanet.NetHttpResponse.<init>(NetHttpResponse.java:37)
at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:105)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:981)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
1032:デフォルトの名無しさん
19/02/22 21:43:24.52 2zA+k7LF0.net
HttpRequestInitializer をググってたらこういうページに行き当たりまして、
URLリンク(developers.google.com)
そこに書いてあった DisableTimeout というクラスを組み込んでみたんですが、今のところ動作してるみたいです。
public static Sheets getSheetsService() throws IOException, GeneralSecurityException {
class DisableTimeout implements HttpRequestInitializer {
public void initialize(HttpRequest request) throws IOException {
request.setConnectTimeout(0);
request.setReadTimeout(0);
}
}
final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
return new Sheets.Builder(HTTP_TRANSPORT, JSON_FACTORY, new DisableTimeout())
.setApplicationName(APPLICATION_NAME)
.build();
}
これで35,000行のファイルを2、3秒で読んでしまうので、さすがに嘘だろうと思って、読み込んだ文字列をファイルに書き出してみたんですが、
確かに読めているみたいです。実際のところこれまで何十秒もかかっていた読み込みが、これでそんな短時間になるというのはちょっと理解不能です。
1033:デフォルトの名無しさん
19/02/22 22:32:47.11 p3Rb6+Rra.net
最初のコードと比べるとHttpRequestInitializerをnewしてるところが違うように見えるな
1034:デフォルトの名無しさん
19/02/23 14:33:18.47 jlfdOyKu0.net
えー皆さん大変申し訳ありません。>>989は間違いです。
ついでに最初に出したstackoverflowのコードはちゃんと動きます。
呼び出し側の自分のコードが原因でした。すごく馬鹿な間違いをしてまして、恥ずかしくて書けないような初歩的な
1035:ミスでした。 ごめんなさい。
1036:デフォルトの名無しさん
19/02/23 16:33:08.81 aHdAp3lda.net
ワロタw
解決してよかったね
1037:デフォルトの名無しさん
19/02/28 16:44:17.92 imPJLa31d.net
Arrays.streamにchar[]が無いのってオラクルの嫌がらせか何かですか?
1038:デフォルトの名無しさん
19/03/02 03:41:49.15 V02tz52S0.net
あ、valueOfしてcharsでいいのか
1039:デフォルトの名無しさん
19/03/03 23:52:36.89 MEPSmozW0.net
canvasのハックの仕方を教えてください
判断するための状態を読み取りたいです
1040:デフォルトの名無しさん
19/03/09 17:27:33.32 l8LfQfs2d.net
printwriterで最後の数行が書き込まれなくて困ってたけどclose()する前にflush()したら解決した
こういうこともあるのか
1041:デフォルトの名無しさん
19/03/09 19:55:15.69 ACok0wnJ0.net
>>996
closeするときにflushを呼ばない行儀の悪いクラスを
PrintWriterでラッピングしてしまったのね
なんてクラスよ、晒しちゃいなよ!
1042:デフォルトの名無しさん
19/03/09 22:17:07.64 SBBakmG00.net
メッセージって業務クラスにベタ書きする?普通
メッセージのプロパティかそれ用のクラスにまとめるでしょ??
業務クラスにべた書きってありえなくないですか?
1043:デフォルトの名無しさん
19/03/09 23:57:52.40 ACok0wnJ0.net
ケースバイケース
1044:デフォルトの名無しさん
19/03/09 23:59:48.81 ACok0wnJ0.net
Java入門・初心者質問スレ Part.9
スレリンク(tech板)
1045:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 275日 3時間 42分 40秒
1046:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています