スレ立てるまでもない質問はここで 164匹目

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2023/04/10(月) 22:13:58.31ID:YMPgGfeQ
この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。

次スレは>>980が立てること

【前スレ
スレ立てるまでもない質問はここで 163匹目
https://mevius.5ch.net/test/read.cgi/tech/1670470167/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2023/05/11(木) 21:13:43.57ID:BPf3TrdY
>>278
これまた意味が取りづらい文章だけど、それは俺に言われても困るというのはなんとなく分かった
俺が伝えたかったのは>>276が読み違えてるってことだけだからそれが理解できたのなら
そこから先の話は>>273に言ってくれ
2023/05/11(木) 21:50:55.51ID:YtjKVs2t
いやお前本人だろwww
2023/05/11(木) 22:03:09.24ID:BPf3TrdY
え?何を根拠に言ってるのか知らんが別人だぞ?
この件に関しては>>277>>279しか発言してない
2023/05/11(木) 22:04:25.15ID:YtjKVs2t
引数ってわかる?
2023/05/11(木) 22:12:42.60ID:BPf3TrdY
そらわかるさ
>>262が変数と書かずに引数かパラメータと書いてれば
>>263>>267あたりのレスも違ったろうよ
>>277で読みづらいって言ってるのはそれも含んでのこと
2023/05/11(木) 22:29:27.17ID:8tWYoMH6
変数名日本語にしろよ、もうw
285デフォルトの名無しさん
垢版 |
2023/05/11(木) 23:21:17.15ID:o7PdQSx7
一般的には引数もある種の変数でしょ
特化してるというだけで
2023/05/11(木) 23:43:40.21ID:BPf3TrdY
変数で間違ってなくても引数って書いた方がこの場合読み手に伝わりやすいよって話

>>282
で、本人疑いの件はもういいのかな?
2023/05/12(金) 20:29:34.90ID:ZTjkwpUy
>>285
chatGPTはそれが理解出来たけど>>278は出来てない
つまり
2023/05/12(金) 22:42:18.41ID:GFilPRd3
どう見ても本人じゃねえかw
2023/05/12(金) 23:03:56.98ID:Y3NM01jJ
こんな程度の煽りでノコノコ出てくるの耐性なさすぎやろ
ID変わってんだから黙ってりゃいいのに
2023/05/12(金) 23:06:39.36ID:GFilPRd3
見苦しいな
ID変わったんだからそれで受け入れりゃいいのに
無能ってどうしてこう見栄をはりたがるんだよw
匿名だぞ?w
2023/05/12(金) 23:13:28.64ID:Y3NM01jJ
即レスとはホント耐性ないな
見苦しいのはどっちよ
2023/05/13(土) 00:28:17.63ID:4pSoB5GJ
293262
垢版 |
2023/05/13(土) 09:27:58.83ID:vNstIXFZ
本人です。
納めるために>>273を最後に黙ってましたが
ChatGPTが有能ってだけで自分の駄文は擁護できません
エスパー出来なかったからって非はないとおもいます
諸々すみませんでした
2023/05/13(土) 09:32:45.71ID:qmV0KKoR
言い訳繰り返すからバレるんだぞ
2023/05/13(土) 09:34:20.41ID:qmV0KKoR
匿名スレで誰が書いたかなんて本人にしか興味がないんだから
296262
垢版 |
2023/05/13(土) 09:41:11.01ID:vNstIXFZ
ん?
まあ証明は出来ないですから自分は273以後先程までレスしてないって言うだけですね

駄文をフォローしてくださった方はありがとうございました
読み違えた人はすみませんでした
2023/05/13(土) 10:18:52.37ID:2eXxQqWR
>>294
まだ同一人物だと思い込もうとしてるのか
いいかげんしつこいぞ
2023/05/13(土) 10:23:03.07ID:KTOixF6n
そうやって必死になるからバレるんだって教えてやったのに学ばないやつだな
2023/05/13(土) 10:23:42.28ID:2eXxQqWR
>>296
そう思うなら当日のうちに礼を言ってほしかったな
そうすりゃ本人本人言われずにすんだのに
300262
垢版 |
2023/05/13(土) 10:27:01.88ID:vNstIXFZ
>>299
それはすみませんでした
あとフォローありがとうございました
2023/05/13(土) 10:29:29.62ID:2eXxQqWR
伝わってると思うけどID:BPf3TrdYな
2023/05/13(土) 15:19:52.01ID:aoP1WnmK
まだ気が早いけど次スレはワッチョイつけた方がいいな
この1週間ぐらい見てると明らかに話の通じないおかしなのも混じってるし
2023/05/13(土) 15:45:24.92ID:KTOixF6n
茶番すぎて草
2023/05/13(土) 16:05:18.80ID:v68qb1Kn
まだ続ける気か・・・
引っ込みがつかなくて今更撤回できないのは分かるけどこれ以上難癖つけるのは勘弁な
せめて黙っててくれ
305デフォルトの名無しさん
垢版 |
2023/05/13(土) 16:12:15.84ID:L/KMc9Bs
続けたくなければ自ら引くことだ
2023/05/13(土) 16:19:47.73ID:v68qb1Kn
まあたしかに
他のスレ住人に同一人物と思われてなければ良しとするか
2023/05/13(土) 17:00:07.93ID:KTOixF6n
効いてて草
2023/05/13(土) 17:33:36.47ID:IGToM9iL
こっち使ったれや
https://mevius.5ch.net/test/read.cgi/tech/1681525978
2023/05/13(土) 17:55:20.26ID:aoP1WnmK
ワッチョイ付きスレあったのか
2023/05/13(土) 20:34:17.86ID:Y3fGiMJ1
こうやって見ると>>307の方がケンカに長けてるなw
2023/05/14(日) 10:55:34.59ID:7BWzJcI7
ちょっとしたコツがあるんだよな、こういうのは
2023/05/14(日) 18:01:16.67ID:taBbpYMv
どうやって作るかわかんないんだけどPCやスマホ向けのアプリを作りたいなと思っています。
PythonでもJavaでも作れそうなんだけど、まず自分のPCに言語をインストールして環境を整えて作ってネットで公開するって流れだと思うんだけど、使う人はPythonとかJavaをインストールしなくても使えるんですか?
2023/05/14(日) 18:10:23.16ID:NgHJ91w5
使う人もインストールする必要ある
Javaのランタイムは最初から入ってる可能性も無くはない
2023/05/14(日) 18:36:49.80ID:taBbpYMv
>>313
ありがとうございます
Javaって万能なんですね!
2023/05/14(日) 19:05:21.65ID:/p7unyKj
Windows限定ならJavaより.NETの方がインストール不要にしやすいとは思う
2023/05/14(日) 19:10:37.41ID:xptJznuz
Openssl3.0~の環境にmysqlってインストールできないですか?
mysqlインストールしようとするとlibssl.so.10、libcrypto.so.10が必要と怒られる。
AmazonLinux2、Openssl3.0.8でやってます
2023/05/16(火) 19:56:23.68ID:2mBUljYc
SQLITEをJavaのJDBCで使ってますが、ほぼ作ったばかりの database で、
中身はテーブルが4つほどで、カラム数は最大で 4 つほどで、
全てのテーブルの全ての行数を合算しても50個もないほどなのですが、思ったより
遅くて驚いてます。
java コマンドから 自分のプログラム名.java を実行すると、database に触れる前に
プログラムの冒頭で Hello の文字列を出すようにしてますが、それは一瞬で
出てきますが、JDBC を使って 簡単な select 文で 10個も無い程度の
情報を取り出して、文字列にいれ、それを、stdout に出力して、
cmd.exe で見ていたのですが、Hello と出た後、1秒くらい経ってから
結果が出ます。文字列は、String ではなく、StringBuilder の append で
連結して、最後に toString を String 化してます。
また、SQLITE との接続のための Connection は、プログラムの
最初に一回しか作成してません。
この位の遅さは正常の範囲内ですか?
また、遅い原因は何が考えられますか。
2023/05/16(火) 20:05:53.60ID:2mBUljYc
>>317
ちなみに、Local に HttpServer を起動して、自作 Java プログラムを cgi として
テストしていて遅かったのですが、cmd.exe から直接、その cgi を BAT
ファイルから起動していても、同様に遅いことが分かりました。
当初は、ブラウザや HttpServer が遅いのだとばかり思っていたのですが、
Java プログラム自体の中でとても時間が経過しています。
BAT を起動すると、Hello の文字列は非常に高速に出てくるので、Java
プログラムの起動の遅さでも無いようです。
Java は起動時にオブジェクト確保が集中してしまうために
遅くなっているのでしょうか。そういえば・・・。
2023/05/16(火) 20:07:23.06ID:2mBUljYc
>>318
ちなみに今回のプログラムはテストプログラムに近くて、実験に不要なオブジェクト
の確保はしていません。
改めて、テストプログラムを書いてみたらいいかも知れませんが。
2023/05/16(火) 20:52:16.77ID:Zr29oUXQ
Javaスレでプロファイリングの仕方を教えてもらったら?
321デフォルトの名無しさん
垢版 |
2023/05/16(火) 21:55:01.31ID:uqMIty2j
>>317
遅いのがJavaのコードなのかDBなのかまず切り分けたほうがいい
2023/05/16(火) 21:56:58.54ID:3cu+jrCu
切り分けも含めてプロファイリングでしょ
323デフォルトの名無しさん
垢版 |
2023/05/16(火) 22:31:22.06ID:4bjXAdLt
>>322
この場合プロファイリングも切り分けの手段なんだけど
問題がありそうな箇所が事前に判明してない場合はより簡単にできてより大きく問題を絞り込めるタスクから先にやるのがセオリー
2023/05/16(火) 22:57:24.62ID:lLY4YiLw
Javaのプロファイラよく知らないけど問題の所在がDB側かJava側かの判別は出来ないの?
2023/05/16(火) 23:19:06.69ID:i9SCRh5Q?2BP(0)

目視できるレベルの遅延なんだから各処理にprintぶち込む
そしたら長々と説明書かんでもこの関数に時間掛かってますって質問できるやろ
2023/05/16(火) 23:58:33.33ID:Uv0DjIn7
>>317
>また、遅い原因は何が考えられますか。
可能性高いのはJDBCドライバのクラスファイルロードあたり
2023/05/17(水) 03:19:08.03ID:H0zdOTL1
>>316
Linux 板で質問してみれば?

ただし、あの板は荒らし対策で規制が強いから、書き込めないかも
2023/05/17(水) 07:56:09.37ID:PsbDwPcr
だいたいDB接続が遅いイメージ
329デフォルトの名無しさん
垢版 |
2023/05/17(水) 09:46:44.89ID:JiQOYoO1
>>324
判別できない可能性もあるけど問題はそこじゃない
例えばsqliteのシェルからSQLだけ実行して時間を計測すれば高い確率で切り分けできるわけだが
それと同程度の労力でプロファイリングして原因箇所を判別できるかどうか(特にそれだけの知識や能力があるか)が問題
2023/05/17(水) 10:28:00.67ID:oza9WAtC
プロファイリング提案されてだよなぁとならないのが謎やわ
2023/05/17(水) 10:58:23.94ID:/4erUzJ5
切り分けしてDB問題なしとなったら結局プロファイリングしないといけないわけだし
初手からプロファイリングでええやんな
知識がー能力がーとかそんなの理由にならんわ
332デフォルトの名無しさん
垢版 |
2023/05/17(水) 11:07:50.06ID:4qZNdnz/
>>154
3.42のバグ修正で再現しないようになってた
2023/05/17(水) 12:37:11.65ID:71aWNbTU
>>326, 328
その通りでした。以下に経緯を書いておきますが、解決策は有りますでしょうか?

java(JVM) は、起動時に 以下のオプションを付けました。

1. -cp で、sqlite-jdbc-3.41.2.1.jar の圧縮を展開したフォルダを指定して
  高速化を図りました。
  しかし、時間計測する限り、効果は全く現れなかったようです。
  jarを指定してもメモリー中に展開されるため、SSDから個別のファイルを
  読み込むより、読み込み時間が速くなるからだそうです。

2. -Xms800M -Xmx2G オプションをしてして GC の STOP THE WORLD が
 発生しないようにしておきました。

$ java -Xms800M -Xmx2G -cp "./;../JDBC/sqlite-jdbc-3.41.2.1" MyAppName

自分の java のソースコード内で、System.currentTimeMillis() を使って
時間計測したところ、
・トータルで 546(ms) でした。
・最初の以下の部分に 421(ms) も掛かっていることが分かりました。

String url = "jdbc:sqlite:C:/sqlite3/xxx.db";
DriverManager.getConnection( url );

つまり、データベースの接続に大量の時間がかかっています。

時間計測時は、MyAppName の stdout を java ・・・ MyAppName >a のようにして
ファイルにリダイレクトして端末への表示によって遅くなることを防ぎました。
2023/05/17(水) 13:02:58.99ID:jajfXzYD
ここまで分かったならあとはJavaスレ行った方が早いでしょ
ここは病院の外来総合受付みたいなもん
335デフォルトの名無しさん
垢版 |
2023/05/17(水) 14:02:05.41ID:uFqNdu7t
>>333
先にドライバロードしてる?
してなければ接続に時間がかかってるのかドライバのロードに時間がかかってるのかわからない
2023/05/17(水) 14:19:11.53ID:xh2FOm6Y
>>335
やってみました。行末の数値は起動時を 0 とした時間で、単位は [ms]です。
cur_time, before call Class.forName( 'org.sqlite.JDBC' ) : 62
cur_time, after call Class.forName( 'org.sqlite.JDBC' ) : 94
cur_time, before call this.connectB() : 94
cur_time, after call this.connectB() : 437

public static Connection connectB() throws SQLException {
 String url = "jdbc:sqlite:C:/sqlite3/xxx.db";
 return DriverManager.getConnection( url );
}
2023/05/17(水) 17:56:02.41ID:mscdOYdU
DataSource経由で接続は試してみた?
変わらんかもしれないけど
2023/05/17(水) 18:00:09.24ID:yPEfv0d2
結局データベース接続は遅いでFAでいいんじゃないかね
乱数の為の環境ノイズ収集だとかいろいろ原因はあるらしいけど
339デフォルトの名無しさん
垢版 |
2023/05/17(水) 18:50:12.67ID:a3AQdQcX
いくらなんでも遅すぎない?
JavaでSQLite使ったことないけど350msって
リモートのDBからデータ取得してもお釣りが来る
ローカルのSQLiteへの接続ならPythonですら遅くても数ミリ秒
2023/05/17(水) 19:33:06.66ID:CplANjy6
ちなみに、全く同じ環境(マシン、OS)でもsqlite3.exeのコマンドラインから
だと物凄く高速です。
また、今、C言語から処理することも試してみたところ、やはり、物凄く
高速でした。
2023/05/17(水) 19:59:17.26ID:Z2qpt4tw
>>340
どうもSQLiteJDBCドライバがよろしくないという情報もちらほら
>>337は試してみた?
2023/05/17(水) 20:08:05.71ID:CplANjy6
DataSource経由は試してません。
勘では多分速くならないと思います。
なぜなら最も簡単な方法や最も標準的な方法が最も最適になっていることが多いからです。
それは、ライブラリを作っている人が最適な方法を一番良く知っているためです。
2023/05/17(水) 20:22:37.20ID:Z2qpt4tw
>>342
勘も大事だけど人の話を素直に聞くのも大事な
https://docs.oracle.com/javase/jp/8/docs/api/java/sql/DriverManager.html
>注: JDBC 2.0 APIで新しく追加されたDataSourceインタフェースを使用してデータ・ソースに接続することも可能です。
>データ・ソースへの接続時にはDataSourceオブジェクトの使用をお薦めします。
2023/05/17(水) 20:25:45.03ID:Z2qpt4tw
あと、仮に効果がなかったとしても実際に試してその結果を得ることに価値があるんだよ
2023/05/17(水) 21:24:19.24ID:6Z2WPb/3
なんでプロファイリングしないん?
なんだかんだ理由をつけて新しいことを覚えようとしない人と、面白そうだと挑戦する人
これ実際数年後にかなり差がつくよ
2023/05/18(木) 01:57:33.41ID:iVuaVjKY
もう、Javaは使わないことに決定しましたので、実験はしません。
お騒がせしました。
2023/05/18(木) 02:13:43.33ID:o6F/mK5k
データベース接続が遅いってだけで?
2023/05/18(木) 02:27:07.46ID:iVuaVjKY
>>347
はい。C++で書くことにしました。
2023/05/18(木) 02:28:09.74ID:iVuaVjKY
理由は、私が想定した用途では使い物にならないと判断しましたので。
2023/05/18(木) 02:31:09.36ID:o6F/mK5k
どういう用途?
2023/05/18(木) 03:27:41.92ID:iVuaVjKY
cgi です。
起動さえ速ければ Rails サーバーや mod PHP の様な常駐方式でなくても
良いと考えました。
そうすると、格安レンタルサーバーでも使用できます。
2023/05/18(木) 10:13:06.22ID:ZSmJ7kE/
言葉だけは丁寧、謎の理屈による決めつけ、自分の間違いを認めない、都合の悪いレスは無視
こないだのID:NDGne9Urか
2023/05/18(木) 10:18:46.05ID:4KlPbS1t
アスペ君というネームドだよ
354デフォルトの名無しさん
垢版 |
2023/05/18(木) 10:29:51.20ID:3hAjoQCO
根本原因を理解してないのはアホな指摘してる人と同じだけど
アスペ君の方が要点おさえてるから笑えない
2023/05/18(木) 13:06:04.27ID:nzXYqesT
自分の勘を絶対視してほんの数行書き換えれば試せることすらやらずに切って捨てる
常人には理解できん感覚だ
356デフォルトの名無しさん
垢版 |
2023/05/18(木) 13:14:07.60ID:eVp0PU5P
DataSourceにしたところで変わらんよ
JDBCやめてsqlite4javaのような薄いラッパー使えば数十ミリ秒になる
さらにそれをネイティブコンパイルすれば数ミリ秒以下にはなる
でもサーバー用途で初回の起動速度・実行速度をが最重要ならJavaはいい選択ではない
2023/05/18(木) 13:36:42.82ID:nzXYqesT
実際に変わるかどうかじゃなくて姿勢の話
2023/05/18(木) 13:49:14.30ID:Ir4oA68o
サーバ用途なら事前に接続しとくから逆に気にならんが
2023/05/18(木) 14:31:59.84ID:nzXYqesT
sqlite4java試してみたらJDBCで1000msかかってたDB接続が200ms程度まで改善した
これくらいだと遅いという感覚はないな
360デフォルトの名無しさん
垢版 |
2023/05/18(木) 15:10:52.58ID:slkZO2TO
>>358
サーバーといっても旧来のずっと起動状態で待機させるサーバーじゃなくFaaSでWebアプリを運用するイメージ
>>351が言うcgiと同じイメージかどうかは知らんけど
361デフォルトの名無しさん
垢版 |
2023/05/18(木) 15:18:38.28ID:54thrNHK
あとsqliteの場合はずっと接続してたら困る
同時実行制御のモデルがサーバー型のデータベースとは違うので
2023/05/18(木) 16:11:57.82ID:wz6179+R
Javaでお手軽なDBだったらApacheDerby使えばDBサーバのインストール不要だがね
(接続時間の問題は引き続きある)
2023/05/18(木) 16:24:40.66ID:MymoCgbT
接続じゃなくクラスファイルのロードが遅いんじゃねぇの?
まぁ、別口でやるようだし、もうどうでもいいか
2023/05/18(木) 16:40:21.60ID:A6PyJVVw
この速さなら言える。
最近アイマスがコナミじゃなくてナムコだって知った。
2023/05/18(木) 19:57:16.42ID:4rcvRPf1
変数名を後から他人にもわかるようにと考えながら付けて書いてるけど
長くなってもいいからと3つぐらい単語を繋いで書いてみたけど
非常に局所的にでてくる雑用フラグなんかも名前つけて書いて
しかし客観的に見てもこれだけでは他人が見てもやっぱりなんの変数なのかわからないと気がついた
変数名だけで用途を理解できるように書くのはやっぱり無理なのか
そう割り切りながらもそれっぽく名付けていくしかないんだろうか?…
2023/05/18(木) 20:03:30.92ID:Z6jck6wF
関数を短く切り分けたら変数名なんて一文字でいいんだよ
ローカル変数を長くしなきゃ読みにくくなるとすればそれは構造化が不十分
引数やインスタンス変数は長い名前をつけろ
2023/05/18(木) 20:28:50.94ID:QGYnHLAs
主に旧世代のプログラマや初心者がときどき珍妙なフラグを使うことがあって
役割が整理されてないからいい名前も付けようがないというケースもある
難しいときは無理せずコメントを添えりゃええとも思う
2023/05/18(木) 20:57:47.22ID:C/0SMFUB
そういうのこそChatGPTに相談とかすれば、とか思うけどこのスレの意義が無くなるか
2023/05/18(木) 21:02:32.56ID:MHJwn3W1
ChatGPTに自分のコード貼るのあぶなくないですか?
370デフォルトの名無しさん
垢版 |
2023/05/18(木) 21:30:11.38ID:efWpxgk+
>>365
この文章を見る限り
君には分かりやすい命名は無理なんじゃないかと
思わなくもなくはないかもしれないような気がしないでもないような
2023/05/18(木) 21:39:04.78ID:kyhdrXZE
Wordpressのphpファイルにデータベースの接続情報を直接記入しても大丈夫なのでしょうか。
2023/05/18(木) 23:17:41.86ID:bwphGA3U
関数名や切り出し方が適切なら変数名には迷わないという理想論
そのはずだけど中々上手くいかない
2023/05/19(金) 00:57:35.59ID:uf4wYYis
sqlite が遅いと言うか、

全てのデータベースが接続プールを使うのは、初期化が遅いから
2023/05/19(金) 01:02:06.99ID:uf4wYYis
>>371
Ruby on Rails では、環境変数は暗号化されたcredential ファイルに書く
2023/05/19(金) 01:43:50.43ID:Gmj5KBEl
ソースコードの特許侵害しないためには何を気をつけたらいいですか?
ググって出てきたやつにフリー素材ですとか商用不可とか書いてないけどどうなってるの?
2023/05/19(金) 01:55:09.54ID:iSJAQTOS
知らんがな
ググって見つけたサイトの管理人に聞け
377デフォルトの名無しさん
垢版 |
2023/05/19(金) 02:17:07.06ID:yGaK6N7d
まずは特許と著作権の違いから学ぼうなw
2023/05/19(金) 02:33:12.25ID:rO74badk
>>373
sqlite3はC言語で使うと接続時間は 0 です。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況