[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 05/05 05:37 / Filesize : 295 KB / Number-of Response : 1047
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Java入門・初心者質問スレ Part.8



1 名前:デフォルトの名無しさん mailto:sage [2018/06/07(木) 20:17:08.87 ID:N8MsK2gr0.net]
Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ Part.7
mevius.5ch.net/test/read.cgi/tech/1515549964/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured

856 名前:デフォルトの名無しさん mailto:sage [2019/01/02(水) 16:47:38.66 ID:ckX+EqcM0.net]
いまどきHaskellerでも言わないような理論振りかざす原理主義者なんかNGしとけよ

857 名前:デフォルトの名無しさん [2019/01/02(水) 17:02:15.83 ID:iJhnqyOR0.net]
>>821
やれるやれないじゃなくて
ラムダ式を使ったら簡単に書けるでしょう
だから便利でしょうという論理ですよ

Javaの公式ドキュメントでラムダ式と呼ばれてるので
ラムダ式と呼ぶべきかと

ところでJavaのラムダ式でコンビネータ記述できなかったの?
ググったらyコンビネータとかzコンビネータとかパーサコンビネータとかあったけど
それは自分の定義ではコンビネータと呼ぶことはできないとか?

858 名前:デフォルトの名無しさん [2019/01/02(水) 17:05:38.37 ID:iJhnqyOR0.net]
>>822
コンビネータが必要になったことがないから
大事なんだと言われてもよくわからんのよね
コンビネータの概念を知らなくてもJavaのラムダ式は便利だと思うんよ

859 名前: mailto:sage [2019/01/02(水) 18:05:41.80 ID:U9fPlruq0.net]
>>823
>ググったらyコンビネータとかzコンビネータとかパーサコンビネータとかあったけど
それは javascprit じゃない?js なら書けると思いますよ、ちょっと url を教えてください。

>Javaの公式ドキュメントでラムダ式と呼ばれてるのでラムダ式と呼ぶべきかと

そういう権威・権力のスカートにしがみつく理由で採用するのですか?頭が悪いと思われますよ
プログラマってそういうものからはもっとも遠くに立っている人種ではなかったかと

>>824
>コンビネータが必要になったことがないから大事なんだと言われてもよくわからんのよね

それは当然です、コンビネータは「記述できる範囲を定める」ものであり実用プログラムで使用することはありません
「コンビネータを記述できること」をもって lambda 式と呼ぶべき、という意見です、コンビネータが記述できないのなら別の名前にするべきでしょう。
私は@便利に書けるからといって糖衣構文をなんでもかんでも言語仕様に含めることには反対であり、ましてや、Aなんでもかんでもぶちこんだ糖衣構文にテキトーな名前をつけることにも反対しているのです

Java は発表当初から言葉遣いがおかしいところがあり、たとえば「参照(reference)」などは他言語とは完全に意味が違いますね

860 名前:デフォルトの名無しさん [2019/01/02(水) 18:27:16.02 ID:iJhnqyOR0.net]
>>825
https://www.google.com/search?q=java+%E3%82%B3%E3%83%B3%E3%83%93%E3%83%8D%E3%83%BC%E3%82%BF

Javaのラムダ式と君のラムダ式があって
Javaのラムダ式は僕のラムダ式じゃないんだと
君は言うけれども君は自分が頭が良いと思われてると
思ってるのかな

俺はJavaのラムダ式は簡単な処理を簡単にかけるから大賛成
Streamを使いやすいしリッチなコレクションに処理を丸投げする
関数型のようなプログラミングがやりやすくなって大感謝

君の価値観とは正反対だけどJavaのラムダ式は便利だよ

コンビネータが実用プログラムで使用されることがないなら
ラムダ式をコンビネータを記述できるかどうかで語ることに意味あるのかな
Javaのラムダ式は実用上有用だから導入されたものだよ

referenceの話は具体的にどの言語の概念と完全に違うと言ってるのかしら
文脈が変われば概念が変わるのは当然と思うよ

スペリングが同じだからといって概念が同じとは限らない
言語が変わるならなおさら

861 名前: mailto:sage [2019/01/02(水) 19:48:36.75 ID:U9fPlruq0.net]
>>826
まず「パーサコンビネータ」の「コンビネータ」は不動点コンビネータとはなんの関係もありません
大雑把にググッた結果だけみせて、その中身を精査していないのは、新しい概念に対するキャパシティー、あるいは概念把握力に問題があるのではないですか?

Java では yコンビネータは無理でも、zコンビネータという不動点コンビネータは記述できるようですね…

862 名前:これは追体験しているところです、情報を提供いただきありがとうございます。

>君の価値観とは正反対だけどJavaのラムダ式は便利だよ
私の価値観は「Javaラムダ式は不便である」ではなく「Javaラムダ式はラムダ式と呼べるのか?」でしたが、Java ラムダ式にて不動点コンビネータの一部が記述できるようですから、この認識はあらためることになりました

>ラムダ式をコンビネータを記述できるかどうかで語ることに意味あるのかな
>Javaのラムダ式は実用上有用だから導入されたものだよ
有用、というよりも単なる糖衣構文にしかみえないですね、まあ、このあたりは人それぞれ

>referenceの話は具体的にどの言語の概念と完全に違うと言ってるのかしら
>文脈が変われば概念が変わるのは当然と思うよ
>スペリングが同じだからといって概念が同じとは限らない
>言語が変わるならなおさら

いろいろな言語をやってみよう、というときには、あなたのこの助言は有用だと思います
しかし、それと同程度に次の意見も有効ではないですか?

「異なる言語であっても、同じ概念に対しては同じ言葉を使い、違う概念に対しては違う言葉を使うべき」

C++ の reference と Java の reference は、それぞれの概念が近接することもあり、非常に紛らわしいです
これは Java が出たときにすぐに問題になっていた記憶があります。
[]
[ここ壊れてます]

863 名前:デフォルトの名無しさん mailto:sage [2019/01/02(水) 20:00:23.62 ID:wUoDMH3da.net]
なんでみんな荒らしコテハンにいちいち構ってんの
三が日の暇つぶしか

864 名前: mailto:sage [2019/01/02(水) 20:02:31.83 ID:U9fPlruq0.net]
>>828
私のどこが荒らしと感じたのですか?具体的に記述できるのですか?



865 名前:デフォルトの名無しさん [2019/01/02(水) 20:14:19.54 ID:iJhnqyOR0.net]
>>827
パーサコンビネータと君のコンビネータについては
どっちでも良いと思って

誤解されたくなければ君は詳細に説明してるだろうし
俺が違ったものだしても君は文句言える立場じゃないよ

yコンビネータのことなんだと君が最初から言ってたなら別だけどね
yコンビネータと最初に言ったのは俺だよ

俺のエスパー能力に君は感謝こそすれ文句言うのは大間違いだよ
いま俺が君から聞きたいのは謝罪の言葉だよ
きちんと説明せずに文句まで言ってしまってどうもすみませんでしたという
言葉を聞きたいよ

C++ の reference と Java の referenceは近接してるんだと言ってるわけですね
完全に違うと言ってたと思うんだけどそれもC++ の referenceのこと?

Javaが出たときにはJavaは普及してないだろうから新しい概念も周知されてないでしょう
それはしょうがないと思うけどC++のreferenceとJavaのreferenceはどう違うの?

言語間にまたがって用語を統一しようとしたら言語の外に辞書を作らないといけないね
プログラミング言語の用語一覧を作って概念が少しでも異なる場合は新しい用語を
追加することというルールを作らないといけないね

俺は嫌だなあそういうの官僚的でめんどくさいだけ賛同できないわ

866 名前:デフォルトの名無しさん mailto:sage [2019/01/02(水) 20:26:05.19 ID:wUoDMH3da.net]
>>829
「Javaのラムダ式でコンビネータ書けますか?書けなかったら不要ですよね?」

「コンビネータ関係なくラムダ式便利だよ」
ここまでは(入門・初心者向けかはともかく)質問スレの範疇

「コンビネータが書けなきゃラムダ式と呼んではいけない!それに従うのは権威主義で〜」
ここら辺から質問関係なくなってる
単語の選出基準の話ならJavaの開発チームにでも聞かないとここで解決できるはずもない
同一スペリングで意味が異なる単語の話まで抽象化するともっともっとJava関係ない
そしておそらく本人もそんなことわかってるのに言い続けてるあたりが荒らし

867 名前: mailto:sage [2019/01/02(水) 20:36:27.11 ID:U9fPlruq0.net]
>>830
一連のやりとりは Java のスレで、Java とは異なる世界からやってきた「ラムダ式」「不動点コンビネータ」をぶつけてみて(化学)反応を楽しむ、という私の悪癖が出てしまいました、あまり気にしないでください
ごめんなさい

そして z コンビネータの存在を知らしていただいたことに感謝します

868 名前: mailto:sage [2019/01/02(水) 20:38:21.42 ID:U9fPlruq0.net]
>>831
>おそらく本人もそんなことわかってるのに言い続けてるあたりが荒らし

…お見通しですね
そのとおり、そういう意味なら私は荒らし、です…

869 名前:デフォルトの名無しさん [2019/01/02(水) 20:44:00.26 ID:iJhnqyOR0.net]
>>832
良いってことよ
それよりも

870 名前:C++のreferenceとJavaのreferenceはどう違うの? []
[ここ壊れてます]

871 名前:デフォルトの名無しさん [2019/01/02(水) 21:12:34.14 ID:iJhnqyOR0.net]
Javaのドキュメントには
・reference type
・reference value
が書かれてる

reference typeは
・class type
・interface type
・type variable
・array type
のこと

オブジェクトはクラスインスタンス、または、配列のこと
reference value(たんにreference)はオブジェクトへのポインタのこと

ゆえにJavaのreferenceは、クラスインスタンスへのポインタ、または、配列へのポインタのこと

872 名前: mailto:sage [2019/01/02(水) 21:58:39.12 ID:U9fPlruq0.net]
>>835
お許しが出たようなので続けます。

ざっと ezoeryou.github.io/cpp-book/C++11-Syntax-and-Feature.xhtml 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 名前:デフォルトの名無しさん [2019/01/02(水) 22:37:44.34 ID:iJhnqyOR0.net]
>>836
よくわかんなかったからググったけど

C++のreferenceはreference variableの省略形で
変数のエイリアスみたいだよ

https://paiza.io/projects/2PkDkRGyIOxNPRxdvBctkg

こういう使い方するんでしょ

874 名前:デフォルトの名無しさん [2019/01/13(日) 14:57:02.91 ID:jed35pcVa.net]
ttps://pastebin.com/6EefhNbW
クリックしたさいに3行目のメッセージが出ません。
count()のmsgIndex++とmouseClickedのmsgIndex++が原因と思われるのですが、
解決方法が思いつきません。
構造自体を変更したほうがいいのでしょうか?



875 名前:デフォルトの名無しさん [2019/01/13(日) 15:26:22.32 ID: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 名前:デフォルトの名無しさん [2019/01/13(日) 19:40:10.92 ID:AcEsFCPQa.net]
>>839

ありがとうございます。
インクリメント変更での解決納得いたしました。

877 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 10:07:33.04 ID:fM0+TDNA0.net]
ubuntu18.04をインストールしてJava 1.8にしてintellijインストールしたんだけど
intellijを含めたSwingの日本語入力のIMEの変換候補Windowが、編集中の行の近くじゃなくて
画面左下の方に表示されるんだけど、他の人もそうなりますか?
Ubuntuの設定がたりないとかあるのでしょうか?

878 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 15:15:17.32 ID:B9Pk/I2L0.net]
たぶんSwing(が使ってるAWT)が位置情報渡せてないから設定とか弄ってもムダかと。

FreeBSDのJava移植の時に位置情報渡すと変換候補ウィンドウがあっちっこっち飛ぶ(?)ので
諦めて位置情報渡さないようにした(結果デフォルト位置であるウィンドウ左下に
変換候補ウィンドウが表示されるようになった)とかって話を読んだ記憶がある。
Linux版もその辺の処理をきちんと書ける人いなかったんじゃねーかと。

879 名前:デフォルトの名無しさん [2019/01/19(土) 17:39:35.80 ID: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 名前:デフォルトの名無しさん [2019/01/19(土) 18:15:50.72 ID:cYz5ck7p0.net]
>>843
var d = new Date();
d.setDate(d.getDate() + 7);
alert(`${d.getFullYear()}年${d.getMonth() + 1}月${d.getDate()}日`);

881 名前:デフォルトの名無しさん [2019/01/19(土) 19:50:59.40 ID:pTjWjaAA0.net]
843です、ありがとうございます!

882 名前:デフォルトの名無しさん [2019/01/19(土) 19:57:45.69 ID:pTjWjaAA0.net]
843です、度々すみません、上記をどこに挿入したらよろしいのでしょうか汗

883 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 21:13:15.35 ID:1SvRh6zM0.net]
>>846
ここはJavaスレであってJavaScriptスレじゃないぞ

もう関係ないけど反応を見た限り致命的なレベルで何も分かってないみたいだからちゃんと0からステップを踏んでくれ

884 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 21:17:23.40 ID:wiNfQeeu0.net]
ここは、Java のスレです!

君のは、JavaScript です!
web 制作管理板の、JavaScript のスレへ書き込んで!



885 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 23:30:03.52 ID:fM0+TDNA0.net]
>>842
詳しく、ありがとうございます。

Windowsで編集業が画面下の時不都合が起きるから
Linuxに移行を考えてたけど、より駄目なのか。
まあ、Java Swingでデスクトップアプリなんて作るもんじゃないのかな。

886 名前:デフォルトの名無しさん [2019/01/20(日) 18:36:43.33 ID:VD9ut2bQ0.net]
>>843-846
スレチだ。ここはJavaScriptのスレではなくJavaのスレだ。

887 名前:デフォルトの名無しさん [2019/01/20(日) 18:37:41.27 ID:VD9ut2bQ0.net]
あ、リロード忘れてた。すでに同じこと書かれてるではないかorz

888 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 05:40:03.31 ID:jDpmEG8Wa.net]
orz ←これ100年ぶりに見たw

889 名前:デフォルトの名無しさん mailto:age [2019/01/21(月) 08:23:09.39 ID:CkGvEyfYM.net]
長老かよ

890 名前:デフォルトの名無しさん [2019/01/21(月) 09:52:33.61 ID:YCjnB4PDM.net]
>>853
ワラ

891 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 11:55:04.19 ID:ubpSrO6va.net]
タイムリーにギネス最高齢の男性用がなくなっとるな…

892 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 11:55:26.30 ID:ubpSrO6va.net]
男性用→男性

893 名前:デフォルトの名無しさん [2019/01/22(火) 21:48:34.77 ID:8mJXdjenM.net]
>>856
(核爆)

894 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 17:44:01.21 ID:yPNynzM60.net]
java初心者なんですが、javaのスピードってゲームに耐えられる程あるんですか

マインクラフトとか本当にjavaだけなら凄いなと



895 名前:デフォルトの名無しさん [2019/01/23(水) 18:56:46.12 ID:gQZD+vR+a.net]
>>858
どうだろう。VMやハードウェアしだいではあるが、Androidのスマホアプリは結構速いよね。

896 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 19:15:17.85 ID:VcXIroIfM.net]
openGLありなら

897 名前:デフォルトの名無しさん [2019/01/23(水) 19:39:02.88 ID:GhD8NJBs0.net]
JavaやJavascriptは結構早いですよ。
問題はリソースをアホほど使うことですね。

898 名前:デフォルトの名無しさん [2019/01/23(水) 19:40:27.88 ID:GhD8NJBs0.net]
Javaは元々ハードウェアを売るための言語ですから、リソースを大量に使うのは善

899 名前:なんですよ。
それだけ高いマシンを売れるんですから。
[]
[ここ壊れてます]

900 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 19:46:29.62 ID:DtngHTsf0.net]
>>858
MinecraftはLWJGLっていうライブラリを使っててLWJGLは中でOpenGL/AL/CLとかを叩いてるからJavaだけっていうと微妙な気がしなくもない

ちなみにJavaは起動が遅いのであって実行速度は別に遅くない

901 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 20:02:57.29 ID:Hfh86APr0.net]
ぶっちゃけ泥のゲームてほとんどUnity製なのでは…

902 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 01:02:43.09 ID:QNhC8yZPa.net]
ブ、ブートストラップは早いんだからね!遅いのは依存ライブラリが大きすぎるせいなんだから!

903 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 06:27:42.32 ID:SamtYSKx0.net]
>>858
速いよ。スマホゲーならサーバーサイドはJavaだったりする

904 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 08:41:37.60 ID:AuVzjGCMa.net]
Eclipseの設定でエラー情報を試しに全部オンにしたところ、文字列に対してNON-NLSというコメントをつけるよう言われました
あまり意味がわかってないのですが、これは文字列を記述する度につけた方がいいものですか?



905 名前:デフォルトの名無しさん [2019/01/24(木) 09:37:30.92 ID:7Yhstfrna.net]
>>866
そのスマホもAndroidなら普通はJavaだ。

906 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 11:23:07.06 ID:XarvyAfJ0.net]
Java初心者というかプログラミング初心者の大学生です。
java awtを使ってランダムなルーレットを作りたいのですが可能ですか?
イメージはルーレットがぐるぐる回っているアニメーションを実装したいです。

907 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 12:11:49.55 ID:Zu9VTso2D.net]
>>869
逆に作れない理由を知りたい

908 名前:デフォルトの名無しさん mailto:age [2019/01/24(木) 12:19:31.58 ID:PLeglmGSM.net]
>>867
文字列を外部から読み込む設定にしたのでしょ
NON-NLSはその警告を出さないようにするためのコメント

文字列を外部から読み込むのなら修正するべきだし
その文字列を例外的に認めるのならコメントを入れて警告出さないようにするのもあり

文字列を外部から読み込まないのなら設定を外すべき

909 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 12:34:58.27 ID:mQopJVvfa.net]
>>871
ありがとうございます
普通にString hoge = "hoge";のように書いてるのですが、何か設定ミスったんですかね
外部読み込みというのがどういう設定かはまだわかりませんが、一度調べてみます

910 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 20:28:29.07 ID:6FJ6Yx0F0.net]
質問の前にググれば一発なのになぁって思う。

911 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 20:32:06.65 ID:iWJQcTkX0.net]
>>873
ググってもよくわからなかったので質問させていただいたのですが、不快にさせてしまったならすみませんでした

912 名前:デフォルトの名無しさん [2019/01/24(木) 23:34:06.77 ID:MzTIY1gg0.net]
>>867
>あまり意味がわかってないのですが、
>>872
>まだわかりませんが
>>874
>ググってもよくわからなかったので

結局のところ全然わからないんだろ?

913 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 23:36:41.12 ID:shrNjFzUr.net]
>>869
可能か不可能かで言えば考えるまでも無く可能

なんだけどその質問をしたということは何処かで躓いたと見えるから何処で躓いてるのかを書いて欲しい

914 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 23:54:19.89 ID:uopHkcdua.net]
>>875
そうなります
「String外部化」とか「多言語対応」とか、単語だけ入ってきて結局どういうものか、警告を無視していいのかなどが全然判断つかなかったので質問させていただいたのですが、甘えでした
上記の質問は取り下げます
すみませんでした



915 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 00:13:26.15 ID:561g9VC2r.net]
>>874
自分でググって分かる範囲は知識量とかで決まるからそういう事もある

結論から言うと分からないレベルなら「無視」に設定すれば問題ない

外部化ってのは…871の回答が全てかなぁ…
今後色々とコードを書いているうちに外部化の嬉しさは分かるはず

916 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 00:54:39.85 ID:mb4m/ktH0.net]
>>876
まさしくそうです。
イメージでは図形(円)を何等分かにしたもの(それぞれに項目を入力するようにしたい)を回転させてボタンをクリックすると徐々に停止するという感じにしたいのですが、
図形を回転させる方法が分からなくて準備した画像を回転させるという方式を妥協案としてだすところまではいきました。

917 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 07:24:34.20 ID:Z4/AkBY20.net]
次の現場のfwがSpringらしいんだがSpringって何が特徴なの

918 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 08:16:19.71 ID:5vdjXK7W0.net]
>>880
DI

919 名前:デフォルトの名無しさん [2019/01/25(金) 16:21:15.59 ID:DXGS5FUqx.net]
Jsoup使ってwebスクレイピングしたいんだけど、やり方がよくわからないです。。
ダウンロードは済みだけど動かし方がさっぱりわからずで…

ちなjavaは、びじゅあるすたじおこーどでコードを打ち込んで、パワーシエルで動かしてます。

920 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 16:32:36.23 ID:dvigx+iy0.net]
Ruby で、Nokogiri, Selenium WebDriver, ERB などで、スクレイピングする方が簡単

>>880
掌田津耶乃の本

Spring Framework 4 プログラミング入門、2014
Spring Boot プログラミング入門、2016

921 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 20:00:54.94 ID:2mJ8qHrma.net]
>>881
>>883
ありがとう、買ってみる

922 名前:デフォルトの名無しさん [2019/01/25(金) 22:22:34.59 ID:mdE9f39+x.net]
>>883ありがとう。
スクレイピング技術はPythonが充実してそうだけど、
学校ではjavaとPHPとhtmlとJavaScript しか習ってないんだ。。。
とりあえず今はjavaでやってみて、時間に余裕出来たらPython極めたい

923 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 23:01:06.51 ID:9WShTN4K0.net]
スクレイピングならPythonよりもRubyが鉄板じゃないかな

924 名前:デフォルトの名無しさん [2019/01/25(金) 23:19:12.52 ID:RXh8uaIc0.net]
なんでこれはダメなんですか
String gomi="sinekasu";

public Sampleb() {
this(gomi);//明示的にコンストラクターを起動している間、インスタンス・フィールド gomi は参照できません
}

こっちは問題なし
public Sampleb() {
System.out.println(gomi);
}



925 名前:デフォルトの名無しさん [2019/01/25(金) 23:20:49.61 ID:RXh8uaIc0.net]
両方コンストラクタが動いてる途中ですよね

926 名前:デフォルトの名無しさん [2019/01/25(金) 23:43:50.18 ID:2NxaaluW0.net]
>>886
そうなの?
図書館で蔵書調べたり、ネットで検索するとPythonばかり出てくるし、最近はAIの話題でもPythonて耳にするから、授業そっちのけでPython学ぼうか悩んでる

927 名前:デフォルトの名無しさん mailto:sage [2019/01/26(土) 01:00:54.13 ID:dj+QRU8+d.net]
一部だけ書かれても分かるかよ

928 名前:デフォルトの名無しさん mailto:sage [2019/01/26(土) 09:36:16.81 ID:FDRbZUKha.net]
>>889
トレンドとしてPythonが人気なのはそうだけど、言語ごとに得意分野はある。
現実的にはスクレイピングだけを考えたらRuby一択だけど他の用途も想定するならPythonは悪い選択肢じゃないよ。

929 名前:デフォルトの名無しさん [2019/01/26(土) 10:53:45.57 ID:RAOXCofF0.net]
>>890
this()でフィールド使えない理由がよくわからないんです
そういうもんだと暗記しようかなとも思ってますが

930 名前:デフォルトの名無しさん mailto:sage [2019/01/26(土) 11:25:50.14 ID:w0Sct7+Sr.net]
>>887
this()やsuper()は先頭にしか置けないってのから分かるように,インスタンスが生成されるタイミングは一番最後に呼び出されたコンストラクタの先頭に当たるから,this()を呼び出す前にフィールドにはアクセスできない

931 名前:デフォルトの名無しさん [2019/01/26(土) 11:31:54.81 ID:RAOXCofF0.net]
>>893
そうなんですか
じゃあ暗記します

932 名前:デフォルトの名無しさん mailto:sage [2019/01/26(土) 11: ]
[ここ壊れてます]

933 名前:45:29.68 ID:+eApZUOf0.net mailto: 説明もらっても暗記かい []
[ここ壊れてます]

934 名前:デフォルトの名無しさん [2019/01/26(土) 11:56:32.88 ID:RAOXCofF0.net]
説明を見たうえで暗記でいいって判断したんだろうが猿黙ってろゴミ



935 名前:デフォルトの名無しさん mailto:sage [2019/01/26(土) 12:03:46.69 ID:BtPdovbm0.net]
これアイツかな?発達の奴

936 名前:デフォルトの名無しさん [2019/01/26(土) 12:28:44.69 ID:YGE1FiJD0.net]
>>897
おいガイジ

937 名前:デフォルトの名無しさん mailto:sage [2019/01/26(土) 12:53:32.64 ID:FDRbZUKha.net]
カイジ?

938 名前:デフォルトの名無しさん mailto:sage [2019/01/26(土) 16:51:56.90 ID:BtPdovbm0.net]
ざわわ

939 名前:デフォルトの名無しさん [2019/01/26(土) 17:35:22.64 ID:YGE1FiJD0.net]
>>900
おいきたろう

940 名前:デフォルトの名無しさん mailto:sage [2019/01/27(日) 19:55:36.26 ID:fsCM9HoX0.net]
https://ja.wikipedia.org/wiki/%E3%81%8C%E3%81%84%E3%81%97

941 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 20:32:51.19 ID:J13kBbfld.net]
質問です。
ログ出力の構成を考えてるのですが、
Javaで別ディレクトリにある同名ファイルは同時に開けますか?
手元にPCなくて試せません…

942 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 21:56:48.54 ID:ikzK+zF/a.net]
開けるよ。

943 名前:デフォルトの名無しさん [2019/02/01(金) 23:57:08.52 ID:F13kZs9F0.net]
それどころか同じディレクトリにある同じファイルも開けるよ。
あまりやる必要はないかも知れないが。

944 名前:デフォルトの名無しさん mailto:sage [2019/02/02(土) 20:51:07.37 ID:yXPIoHRha.net]
何かのテンプレートファイルを使うときは同じファイルを同時に読み込むことはあるな
業務アプリで何かをエクセルに出力するときなんかにやることはある



945 名前:デフォルトの名無しさん mailto:sage [2019/02/02(土) 21:02:02.95 ID:nIL1CRM4d.net]
ほえー全く同じファイルも開けるんですね
ありがとうございます助かりました

946 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 15:47:50.42 ID:okavnPFe0.net]
Javaアプレットも読めるんだけど、弊社の自作VMだって主張するやつについてどう思う?

947 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 15:53:07.87 ID:okavnPFe0.net]
どのブラウザもJAVAは選択制でデフォルトではオフ。
日本の官庁がJAVAで書かれたオンラインシステムを持っていて大慌て。
GoogleのAndroidもサンマイクロシステムにライセンス料だせと脅されたから、たぶんAndroidもJAVA離れするだろうし。
似たようなC#ってあるのだからそれで十分なんだよね。

948 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 18:18:24.39 ID:GRtPH2TFa.net]
文章からガチで頭おかしいオーラが漂いまくってる

949 名前:デフォルトの名無しさん [2019/02/06(水) 18:46:04.80 ID:uzDWrSZHa.net]
なんともまあ……

950 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 07:57:03.78 ID:Teb/Q4UXM.net]
Webシステムの現場なんですけど
Javaをコンパイルしたらクラスが生成されるということを知らないおっさん(35)が異動してきました
何から教えればいいのでしょうか

951 名前:デフォルトの名無しさん mailto:age [2019/02/07(木) 08:31:14.20 ID:9RrHvXh/M.net]
マウンティング化みっともない行為であることを教えてやれ

952 名前:デフォルトの名無しさん [2019/02/07(木) 09:46:07.67 ID:3xOPfbFs0.net]
>>912
Javaをコンパイルしたらクラスが生成されるんだよと知らないおっさん(35)にやさしく教えてあげましょう

953 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 11:28:48.27 ID:oaRutm/fM.net]
>>912
コピー機の使い方と便所掃除のやり方かな

954 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 11:48:46.46 ID:Ftq4Fy0Na.net]
>>912
とりあえず転職サイトの登録の仕方を教えてあげるのがお互いのため



955 名前:デフォルトの名無しさん [2019/02/08(金) 00:12:47.05 ID:pLb7xNU70.net]
paiza.io とか、転職のためのプログラミングの学習もできるようなサイトを教えてあげなさい。

956 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 00:14:15.67 ID:en9HPq6pa.net]
>>912
Scala

957 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 06:21:41.94 ID:ic1vtp+o0.net]
paizaな、コンセプトは分かるんだけど現実的にはあまり、って感じだからうちはもう来季以降使わない方向。
正直あんな問題よりもGithubでも見せてもらった方がはるかに応募者のことが分かるし

958 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 16:48:36.70 ID:zHfqMrpOH.net]
はぁ〜ん、

959 名前:eclipse is ゴミ
なんで Find / Replace 効かなくなるっていうクソみたいなバグあるんだよ勘弁してくれ
[]
[ここ壊れてます]

960 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 16:50:45.43 ID:zHfqMrpOH.net]
はぁ〜ん、Git のプラグインをアンインスコしたら治ったわ
Git Plugin is ゴミ

961 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:16:55.85 ID:UceabCeXa.net]
さすがにそろそろIntelliJに乗り換えとけ
eclipseなんて使ってると今どきの女子高生に笑われるぞ

962 名前:デフォルトの名無しさん [2019/02/08(金) 19:29:37.34 ID:/KfwBoQL0.net]
これから何か覚えようと思ってJAVAを考えてるんだけど有料になったの?
あとなんだっけJDKとかってオラクルのやつが一番メジャーなの?

963 名前:デフォルトの名無しさん [2019/02/08(金) 19:53:07.51 ID:pLb7xNU70.net]
燃料が投入された。

964 名前:デフォルトの名無しさん [2019/02/08(金) 19:56:07.37 ID:/KfwBoQL0.net]
>>923
追加です、アプレットとサーブレットってどっちやればいいの?
自分のPCで個人的に使いたいんだけど



965 名前:デフォルトの名無しさん [2019/02/08(金) 20:00:49.39 ID:/KfwBoQL0.net]
>>925
あとどこか解りやすいサイトあったら教えてくださいーよろしくお願いします_(_ _)_

966 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 21:25:18.87 ID:1PVJmtoQ0.net]
JSPとJSって違うんですか
jsファイルってなんですかって聞かれたけど答えられませんでした
なんて言うのが正解なんでしょうか

967 名前:デフォルトの名無しさん [2019/02/08(金) 21:46:08.51 ID:wNOXgeyf0.net]
女子小学生。

968 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 22:14:13.31 ID:zHfqMrpOH.net]
>>922
IntelliJのほうがいいのは重々わかってるんだけど、
eclipse の API とか プラグインとかごりごり使ってるし
使ってる SWT とか JFace のGUIビルダが eclipse にしかないんだよね…まぁGUIビルダもクソバグ満載のゴミなんだけど

969 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 00:52:56.06 ID:KF+GGfgS0.net]
簡単なプログラムならEclipseのコンパイル爆速だ というか
編集中にインクリメントコンパイルしてるのかな?

970 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 01:22:19.42 ID:zeYP++f3a.net]
今時のPCならJavaのコンパイルなんて一瞬だからインクリメンタルコンパイルはほとんど関係ない
不要なコンパイルを減らすようにする程度の依存関係管理さえやってればクラスファイル単位でのコンパイルで十分に速い

971 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 08:03:40.22 ID:by4oxQBn0.net]
javaってインタープリター言語だったっけ?と思った記憶がある。コンパイルしてるように見えなかったんで。

972 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 09:04:16.42 ID:/gorSJ8M0.net]
IntelliJも出来るよ、デフォルトでオフになってるけど。
ただビルドそのものなんて一瞬だから、あんま意味ないよね。
Springとかのウェブアプリを作ってて画面いじりながら即座に変更を反映したい時には使う。

973 名前:デフォルトの名無しさん [2019/02/09(土) 09:10:58.95 ID:yVVPxPY90.net]
初心者質問スレなのにガン無視って・・・そういうスレなんですね。
自分で調べます、ありがとうございました。

974 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 10:39:35.77 ID:/gorSJ8M0.net]
そうか、頑張れよ



975 名前:デフォルトの名無しさん [2019/02/09(土) 15:35:20.18 ID:6/bHpQ6m0.net]
燃料は燃えなかったようだな

976 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 21:46:00.20 ID: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 名前:デフォルトの名無しさん [2019/02/09(土) 21:46:22.21 ID: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 名前:デフォルトの名無しさん [2019/02/09(土) 21:49:45.18 ID:XEN4loIw0.net]
使用テキストエディタはAtomです。

980 名前:デフォルトの名無しさん [2019/02/09(土) 22:17:23.17 ID:wvYgqGa/0.net]
>>938
パッケージとフォルダ階層を一致させればいい

root/Calc.java
tor/CalcLogc.java

実行するときはrootの親のフォルダでjava root.Calcを実行すればいいよ

981 名前:デフォルトの名無しさん [2019/02/09(土) 23:24:15.53 ID:XEN4loIw0.net]
>>940

C----User---sinou---Desktop-------java
|
|---Calc.java
|
|
|---CalcLogic.java

2つの.javaファイルはこういう風になっていますが、階層を合わせるにはどうすればいいですか?
自分の理解が理解が低くてすいません。
それと申し訳ないのですが、package化せずに、CalcLogic.tasu という風にそのまま呼び出せば作動するのですが、これはpackageが何か作用しているのですが?
何度も質問して申し訳ありません。

982 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 23:29:19.47 ID:XEN4loIw0.net]
Atomではこんな感じです
https://i.imgur.com/Oq64Wm0.png
https://i.imgur.com/h5ZJ2S3.png

983 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 23:32:38.32 ID:XEN4loIw0.net]
すみません。こっちが正しい奴です。
https://i.imgur.com/WC8utYB.png
https://i.imgur.com/h5ZJ2S3.png

984 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 23:34:12.23 ID:ugjh5xrz0.net]
940ではないけどパッケージとフォルダ階層の関係とフォルダ(ディレクトリ)の基点を整理する必要がありそう



985 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 23:36:35.01 ID:TFFIMnUD0.net]
えっ、importの話じゃないの?
みんなが何言ってるのかよくわからない

986 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:39:40.56 ID:4NPrpNeG0.net]
>>944
ありがとうございます!
助言の通りクラスローダーについて調べてみたらどうやらクラスファイルの位置が間違えていたようです!
クラスファイルを作成すると成功しました!
本当にありがとうございました!

https://i.imgur.com/nwn88Fp.png

987 名前:デフォルトの名無しさん [2019/02/10(日) 11:08:18.40 ID:PwIN6g+GM.net]
VScodeとAtomでは
どっち使ったほうがいいですか?

988 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 11:12:20.42 ID:Ix0Ul5tpa.net]
Atomは開発元がVSCodeの開発元であるMSに買収され、完全に存在意義を失い事実上終了

989 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 11:28:50.23 ID:Q/s8Bwota.net]
>>947
その2択ならVSCode
Javaを書くならそれらよりIntelliJの方が良いと思うけど

990 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 11:50:42.09 ID:dkb/B5OXM.net]
VSCodeのJava拡張は意外に良くできてるよ
今時流行りのコマンドラインだけで完結するビルドツールやフレームワークを使っているならほぼ不都合はない
リファクタリングなんかは敵わないけど、テキストエディタとしての拡張性・快適性を考慮すれば全然アリな選択

991 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 12:30:05.01 ID:DNUQi1GGM.net]
お前らがJava使ってるのってCOBOLと同じ流れ?

992 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:00:43.30 ID:oG+nD+ob0.net]
は?どういう流れよ?

993 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:59:46.04 ID:DNUQi1GGM.net]
>>952
いや純粋に聞いてみたいだけだよ

994 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 17:58:31.67 ID:n6QJeawT0.net]
COBOLと同じ流れっていうのがどういう意味で言ってるのかわからんから答えようがない



995 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 18:18:48.96 ID:96GWWqq3M.net]
Javaが採用される理由は下記の通り
1. 既存資産があるから
2. PGの調達

996 名前:が容易で単価も安いから
3. Winで特に支障なくUNIXサーバー向けの開発ができるから
このうち1.はCOBOLと同じだが、あとの2つはCOBOLには当てはまらない
[]
[ここ壊れてます]

997 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 10:48:57.26 ID:vMTyjZUqa.net]
COBOL以外覚えられなくてCOBOLにしがみついてるって意味なら当てはまらんなあ
俺の場合は他の言語から入って後からJava書き始めた口だし

998 名前:デフォルトの名無しさん [2019/02/11(月) 15:48:11.98 ID:Xld2ZNBKa.net]
ステートレスBeanとステートフルBeanの違いがわかりません。
例をあげて違いを明確に教えてください。

999 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 17:48:15.62 ID:jZrUzxgNa.net]
ジェネリクスについて質問です
List<HashMap<String, Integer>> 型のリストをソートするためのComparotorクラスって、
class Hoge implements Comparotor<Map <String, Integer>> {}
で良いんですか?
どこかでMap<?, ?>とワイルドカードにしないといけないと見たんですが(うろ覚えです)、特にそうしなくても動くので気になりました

1000 名前:デフォルトの名無しさん [2019/02/16(土) 08:20:41.88 ID:fTKLBuzC0.net]
ここってちょっと難しい質問だとレス止まるな。

1001 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 10:14:53.73 ID:n5QWwS4y0.net]
今頃Javaに熱意のあるプログラマーなんて居ないし

1002 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 18:45:03.62 ID:N5DMegPc0.net]
ステートレスは1回の処理で破棄される
ステートフルは永続性がある
つーか、Javaの質問じゃないわ

1003 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 15:14:02.61 ID:FJjom38pa.net]
該当スレがないので
eclipseからintelij IDEAを試してますが、括弧の中からenterで抜け出せないのが不便過ぎます。

ショートカットは面倒だし、tabキーもsoutなんかの括弧付き定型文では無効。
使ってる人はどう対応してるのか教えてください

1004 名前:デフォルトの名無しさん [2019/02/20(水) 16:36:06.49 ID:4EtSY22fa.net]
括弧の中からenterで抜け出すの意味がよくわからん



1005 名前:デフォルトの名無しさん mailto:age [2019/02/20(水) 19:06:18.77 ID:6i9INm92M.net]
エクリプスエアプか?

1006 名前:デフォルトの名無しさん mailto:age [2019/02/20(水) 19:06:56.72 ID:6i9INm92M.net]
エクリプス童貞の皆さん

1007 名前:デフォルトの名無しさん [2019/02/20(水) 20:21:31.82 ID:EKI9LXSlM.net]
エンターキーなのに出たいという話は全世界が驚く発言。

1008 名前:デフォルトの名無しさん mailto:age [2019/02/20(水) 20:26:29.38 ID:6i9INm92M.net]
>>966
おい童貞

1009 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 21:16:52.17 ID:K6Fdo/zQr.net]
こういう事を言ってる?
https://ja.stackoverflow.com/questions/39484/intellijで括弧の中身を入力した後エンターキーで自動でカーソルを括弧の外に移動させたい

でもぱっと見た感じその条件はこれじゃ解決できなさそうやね

1010 名前:デフォルトの名無しさん [2019/02/20(水) 22:50:23.64 ID:V5pUCRq30.net]
Enter押すのも→押すのもワンキーなんだから、慣れてるかどうか以外の違いはないんじゃないかと思った。

1011 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 23:00:18.44 ID:VQnn8S2l0.net]
>>968
そうですね。そのショートカットの他に、()+文字列続けて打ってる場合はtabで抜け出すことができます。
しかしprint()のように()を含む補完だと 中身を書いて抜け出すことができません。

1012 名前:デフォルトの名無しさん [2019/02/21(木) 05:41:02.41 ID:jvb9Tzci0.net]
;打てば抜けられるときあるよな
抜けられないときもあるけど

1013 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 17:34:53.91 ID: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 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 19:25:26.84 ID:9TadMKc3a.net]
>>972
変化がないってことは変わらず20秒でタイムアウトになるって意味?

あと何が悪いのか分からないと言われても、実際に書いたコードを見せてもらわないことにはどうにもならん

1016 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 19:39:21.87 ID: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 名前:デフォルトの名無しさん [2019/02/21(木) 19:42:18.83 ID:fprmeCB00.net]
>>974
httpRequest.setConnectTimeout(3 * 60000); // 3 minutes connect timeout
これ入れてもNG?

1018 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 19:46:38.87 ID:SR0wFFcv0.net]
>>975
同じです。そっちのコードも試しました。

5000行くらいだとスムーズに読んでくれるんで、シートをいくつも作ってそこに5000行ずつ分割した上で読んだりしてるんですけど、
すごく手間だし、シートのある列がどこまで埋まってるか知りたいなんて時はそういうこともできないので困ってます。

1019 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 20:18:27.97 ID:9TadMKc3a.net]
>>976
携帯だから試せないけど、>>974のコードに>>975のを加えて両方書いてもダメ?

1020 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 20:29:20.31 ID:bp6QexpC0.net]
ラムダの中が実行されないなら渡し方が違うんでね

1021 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 20:31:04.28 ID:SR0wFFcv0.net]
>>977
private static HttpRequestInitializer setTimeout(final HttpRequestInitializer initializer) {
return request -> {
initializer.initialize(request);
request.setConnectTimeout(60000);
request.setReadTimeout(60000);
};

これでやってみたけどダメでした。

1022 名前:デフォルトの名無しさん [2019/02/21(木) 21:19:34.16 ID:Neuw5rL80.net]
>>966
Return と書いてあるシールでも貼っときなさい。

1023 名前:デフォルトの名無しさん [2019/02/21(木) 21:27:18.64 ID:lsmx9sV60.net]
>>980
リターンキーは左下に行くという意味で、戻るわけではありません。

1024 名前:デフォルトの名無しさん [2019/02/21(木) 23:33:38.23 ID: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 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 05:42:45.85 ID:p3Rb6+Rra.net]
まだ解決してないならタイムアウトしてる部分のソース見るのが一番早いかな

1027 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 08:02:33.12 ID:2zA+k7LF0.net]
>>982
コードまで書いてもらってありがとうございます。朝一で試してみたんですが、残念ながら変わりませんでした。
ともあれありがとうございました。

1028 名前:デフォルトの名無しさん mailto:age [2019/02/22(金) 08:51:44.48 ID:Iun5aGGoM.net]
>>984
タイムアウトで例外投げられてるなら
スタックトレース出力されてない?

スタックトレースを見ればどのオブジェクトが関わってるか
わかるんじゃないかな

それ貼ってもらえれば

1029 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 12:29:35.43 ID: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 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 12:34:28.93 ID:2zA+k7LF0.net]
これで全部ではなくて、まだもう半分あるんですが、書き込もうとしたらNGワード禁止と言われて書き込めませんでした。

1031 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 12:45:13.44 ID: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 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 21:43:24.52 ID:2zA+k7LF0.net]
HttpRequestInitializer をググってたらこういうページに行き当たりまして、
https://developers.google.com/api-client-library/java/google-http-java-client/reference/1.19.0/com/google/api/client/http/HttpRequestInitializer
そこに書いてあった 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 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 22:32:47.11 ID:p3Rb6+Rra.net]
最初のコードと比べるとHttpRequestInitializerをnewしてるところが違うように見えるな

1034 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 14:33:18.47 ID:jlfdOyKu0.net]
えー皆さん大変申し訳ありません。>>989は間違いです。
ついでに最初に出したstackoverflowのコードはちゃんと動きます。
呼び出し側の自分のコードが原因でした。すごく馬鹿な間違いをしてまして、恥ずかしくて書けないような初歩的な



1035 名前:ミスでした。
ごめんなさい。
[]
[ここ壊れてます]

1036 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 16:33:08.81 ID:aHdAp3lda.net]
ワロタw
解決してよかったね

1037 名前:デフォルトの名無しさん [2019/02/28(木) 16:44:17.92 ID:imPJLa31d.net]
Arrays.streamにchar[]が無いのってオラクルの嫌がらせか何かですか?

1038 名前:デフォルトの名無しさん [2019/03/02(土) 03:41:49.15 ID:V02tz52S0.net]
あ、valueOfしてcharsでいいのか

1039 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 23:52:36.89 ID:MEPSmozW0.net]
canvasのハックの仕方を教えてください
判断するための状態を読み取りたいです

1040 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 17:27:33.32 ID:l8LfQfs2d.net]
printwriterで最後の数行が書き込まれなくて困ってたけどclose()する前にflush()したら解決した
こういうこともあるのか

1041 名前:デフォルトの名無しさん [2019/03/09(土) 19:55:15.69 ID:ACok0wnJ0.net]
>>996
closeするときにflushを呼ばない行儀の悪いクラスを
PrintWriterでラッピングしてしまったのね
なんてクラスよ、晒しちゃいなよ!

1042 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 22:17:07.64 ID:SBBakmG00.net]
メッセージって業務クラスにベタ書きする?普通
メッセージのプロパティかそれ用のクラスにまとめるでしょ??
業務クラスにべた書きってありえなくないですか?

1043 名前:デフォルトの名無しさん [2019/03/09(土) 23:57:52.40 ID:ACok0wnJ0.net]
ケースバイケース

1044 名前:デフォルトの名無しさん [2019/03/09(土) 23:59:48.81 ID:ACok0wnJ0.net]
Java入門・初心者質問スレ Part.9
mevius.5ch.net/test/read.cgi/tech/1552143555/



1045 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 275日 3時間 42分 40秒

1046 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<295KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef