1 名前:デフォルトの名無しさん mailto:sage [2022/12/08(木) 12:29:27.06 ID:Nq8u2KPWd.net] この板はプログラムを作る人のための板です。 あらゆる質問はまず スレ立てるまでもない質問はここで スレにしてください。 次スレは>>980 が立てること 【前スレ】 スレ立てるまでもない質問はここで 162匹目 https://mevius.5ch.net/test/read.cgi/tech/1666337882/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
232 名前:デフォルトの名無しさん [2022/12/31(土) 16:22:39.19 ID:h+i7/rFS0.net] 画像ファイルとその画像に関する情報がデータベースにあります 特定の画像ファイルを消す処理とその画像の情報をデータベースから消す処理を実装する場合、どう実装するべきですか? 何かエラーで片方の処理だけ実行されるとかありそうな気がするので、これを防ぐような実装方法があるのか知りたいです それとも予期せぬエラーはどうしようもないので、そこは割り切って不一致が起きてる場合にどうにかすべきでしょうか
233 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 17:01:13.25 ID:m3/e5oOm0.net] >>232 「SQLアンチパターン ファントムファイル」でググるといいかもしれない。 これって言う決め手はないような気も・・
234 名前:デフォルトの名無しさん (ワッチョイ 5a01-z/aK) mailto:sage [2022/12/31(土) 17:40:48.29 ID:zqencv+y0.net] >>232 2フェーズコミットを使わない分散トランザクションと同じ 基本的には削除処理中の状態を記録して個々の処理が成功・失敗したら状態を更新する 細かい実装方法はビジネスルール的にどういう理由で失敗するかや 失敗した場合にどういう状態にしたいかによって変わる ファイルシステムがトランザクションをサポートしてるなら2フェーズコミットでも可
235 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 19:14:43.64 ID:YncayN1e0.net] >>232 特に要件ないなら普通にエラーになったらログ採っておけばいいだけだと思うよ
236 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 19:28:15.86 ID:sRDUPVgu0.net] >>232 ロールバックがサポートされてるならLOB等で入れると楽 画像がないときにエラーの代替画像を表示することで許されるならそれも楽
237 名前:デフォルトの名無しさん [2022/12/31(土) 21:21:24.52 ID:tl6LrbQ70.net] >>232 画像データ自体をDBMSで管理してトランザクションで扱うのが筋だろうな。 ファイル自体が外部のファイルシステムなどDBMSの管理下にない場合は データベース側だけでどうこうできる話じゃない。 常套手段としてはトランザクションでは画像の管理レコードに相当するものだけ 削除しておいて後でクリーンアッププロセスで実ファイルを片付けるとか。
238 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 21:33:57.27 ID:W1vUYFSNd.net] 俺もこういうのは迷わず裏でバッチ回して消すようにするわ 一般に言えることだが、漏れのないように色んなケースを想定して潰していかなきゃいけないような方法は避け、最低ライン(どんな状況でもいずれ自然に消える)を確実に担保することをまずは優先した方がよい ファイルだけしばらく残ってたところで特に害があるとは思えない
239 名前:デフォルトの名無しさん [2023/01/01(日) 00:01:38.30 ID:9MSmyB9U0.net] >>222 それだ ありがとうありがとう
240 名前:デフォルトの名無しさん [2023/01/01(日) 00:34:18.85 ID:hXIv+xxRM.net] Google Apps Scriptについてです。 Googleアカウントを作成した後、スプレッドシートの拡張機能にある「Apps Script」を選択し、 index.htmlとsource.gsを作成しました。 またディプロイをテストしながら開発練習をしています。 実装したいことは、ウェブ上で表示された縦と横のテキストボックスに長さを入力した後、ボタンを押下すると、下部にある実行結果が表示されるようになることです(ボタンが押されるまでは下部にある実行結果は非表示)。 何か参考になりそうな情報などありますでしょうか? ttps://pastebin.com/8GEdrULp
241 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 04:32:50.41 ID:0NHwaL+l0.net] 給与明細をペーパーレス化する場合、 初心者でなんとかなりそうな方法はありますでしょうか。 職員の給与データはCSVファイルです。 社内LANはインターネットには直接繋がっておらずインターネット見るには仮想ブラウザを使っています。 イントラネットにローカルブラウザでアクセスして職員番号でログインし、月を選択して明細を表示させる、ということが考えられるかなと思っているのですが、出来るだけ難しくない方法だとどのような選択肢が考えられますでしょうか。
242 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 04:37:07.32 ID:wzBFMQaB0.net] 個人個人にメールで送れば?
243 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 04:56:17.75 ID:0NHwaL+l0.net] レスありがとうございます。 たしかにそれが一番よいのですが、課ごと、よくて係ごとのメルアドしかないのです。 社員は300人位ですが、部署によっては1つのPCを2人以上で使っていて、個人のメルアドを作ってもメーラー(パソコン)を共有使用する自体は避けられず情報流出が考えられます。 プライベートのウェブメール等に、各個の給与電子ファイル(pdfか画像ファイル?)を送るのは、ヒューマンエラー等での情報流出や、インターネット側へのファイル交換の手間などで、出来れば避けたいと考えています。
244 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 05:35:12.57 ID:wzBFMQaB0.net] ならどっかからWeb給与明細のシステム買ってきてそのCSV吐いてるシステムと連結させるのがいいよ 年末調整とか源泉徴収とか含めて他の労務管理はその既存のシステムだかでやってんだろうから、そこかぶらずに 給与明細の発行配信だけに特化したの探せば安めのやつとか多分あるんじゃない
245 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 07:26:04.26 ID:YsBMuvLw0.net] 給与明細が会社のメアドに来るとかイントラからしか見えないって辞めたあとどうすんのさ ペーパーレスにしちゃダメな部分じゃないの?
246 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 07:35:42.10 ID:1k7qyNCA0.net] >>245 印刷しときゃいいじゃん ペーパーレスにならないけど...
247 名前:デフォルトの名無しさん [2023/01/02(月) 07:41:46.65 ID:YsBMuvLw0.net] >>246 ペーパーレスにならないだけじゃなく他の人に見られる機会も増えるしプリンタ混むだろうし社員だったら不満しかないわ
248 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 09:18:32.97 ID:Y63RKV4t0.net] ちまちまPHPで作る案件ではないな ましてや初診者には無理
249 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 10:52:23.87 ID:niEyW8S/r.net] 社内PCがインターネットに接続されてない時点で不便すぎるだろ そんな会社があるんだな
250 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 11:41:35.88 ID:VCjQSWZY0.net] ベストではないにしても理由があってそうしてると考えられんのか 無理矢理でもいいから接続してないメリットを挙げてみてみ
251 名前:デフォルトの名無しさん [2023/01/02(月) 12:24:35.65 ID:0NHwaL+l0.net] レスありがとうございます。 >>244 ,248 やはり既存のソフトを購入するのが無難でしょうかね。 どうしても自分で作らなければならない場合はPHPって感じでしょうか。 ありがとうございました。
252 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 13:52:04.20 ID:1k7qyNCA0.net] >>243 共有フォルダーに暗号化PDF(パスワードは個人毎に異なる)置いときゃいいやん
253 名前:デフォルトの名無しさん [2023/01/02(月) 14:00:35.88 ID:3NXu7QcIM.net] >>241 自分で作らずにそういうサービス使うのがいいよ 月々の費用はかかるけど自作に比べれば圧倒的に安いし手間がかからない
254 名前:デフォルトの名無しさん [2023/01/02(月) 14:01:51.48 ID:u8ta3fRNM.net] >>252 マジかw
255 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 14:04:21.36 ID:DJCs4he/0.net] IDとパスワードを入力して見させるようにするなら 既存のメールアドレスに送ったほうが安心度が高いとおもうが ここで相談するくらいだと、社員、社内でログイン機能、メールサーバーつくったりするのは不安定だろう 最初の個人アドレスの確定部分には不安は残るが
256 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 14:04:21.59 ID:1wsplgZl0.net] ACCESSのVBAで、下記のようなことってできないでしょうか? アドバイス等頂けないでしょうか。。。 <やりたいこと> 下記コードにおいて、rs1で抽出したものの中から、さらに抽出してrs2に入れたいです。 https://i.imgur.com/S1mtPeL.png <VBAコード(画像内と同じ)> Sub test() Dim db As Database Dim rs1 As Recordset Dim rs2 As Recordset Set db = CurrentDb Set rs1 = CurrentDb.OpenRecordset("SELECT * FROM [Tテーブル] WHERE [フィールド1] = 'A1'", dbOpenDynaset) Set rs2 = CurrentDb.OpenRecordset("SELECT * FROM rs1 WHERE [フィールド2] = 'B1'", dbOpenDynaset) Debug.Print rs2("フィールド2") & rs2("フィールド3") End Sub
257 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 14:09:40.32 ID:XjT/l8aPa.net] 既存のソフトというか、そういうサービスやってるとこいっぱいあるよ https://it-trend.jp/electronic_pay_slip_system/article/payslips_electronic_selection_point
258 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 14:10:01.04 ID:DJCs4he/0.net] おすすめのWeb給与明細システムを比較 https://it-trend.jp/electronic_pay_slip_system/article/payslips_electronic_selection_point Web給与明細とは?おすすめシステム13選を比較【2023年版】 https://strate.biz/kyuyokeisan/payslips_recommend/
259 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 14:25:48.67 ID:1k7qyNCA0.net] >>254 まあ半分冗談だけど、以前はうちもメールで個人宛に送付されてた時はPDFでパスワード掛けてた いまは社内/社外からWebでダウンロードできるように変わったてその時にパスワード保護も止めた
260 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 14:30:19.39 ID:1k7qyNCA0.net] >>256 アクセスよく知らんけど Set rs2 = CurrentDb.OpenRecordset("SELECT * FROM [Tテーブル] WHERE [フィールド1] = 'A1' and [フィールド2] = 'B1'", dbOpenDynaset) ってできないんだっけ?
261 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 14:40:39.54 ID:1wsplgZl0.net] >>260 返信ありがとうtございます。 後出しで申し訳ないですが、 rs1、rs2の2つならそれで良さげですが、複数個あってfor文とかで回そうとしたときに、その記載だとスマートに書けず。。。 ※rs2はrs1の中から、rs3はrs2の中から、・・・みたいな。 (実際にはさらに条件判定も入って、条件満たしていないときは飛ばすみたいな感じの予定です。) なので、いったんrs1みたいに変数に格納して、それを使えたらなと思ってます。
262 名前:デフォルトの名無しさん (ワッチョイ 5a01-z/aK) mailto:sage [2023/01/02(月) 15:53:16.41 ID:aa6+GqrY0.net] rs1をFilterしてrs2を作るかDBに中間テーブルを作ってSELECT INTO AccessがクライアントでDBサーバーに接続してるなら クライアント側で処理したいかサーバー側で処理したいかで選択
263 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 16:44:54.81 ID:1k7qyNCA0.net] >>261 よく分からんけどfor文で条件式組み立てるだけじゃないの? Dim C As Scripting.Dictionary C.Add "フィールド1", "A1" C.Add "フィールド2", "B1" C.Add "フィールド3", "C1" ... Dim W As String W = "1 = 1" Dim F As Variant For Each F In C.Keys W = W & " AND [" & F & "] = '" & C(F) "'" Next Set rs = CurrentDb.OpenRecordset("SELECT * FROM [Tテーブル] WHERE " & W, dbOpenDynaset)
264 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 17:12:54.49 ID:1wsplgZl0.net] >>262 ありがとうございます。 Filterっていうのがあるんですね。 なんかうまく使えそうな気がするので使ってみます。 (なぜかCurrentDb.OpenRecordsetだとうまく機能しなかったのですが、ADODB.Recordsetにしたらうまくできました。) >>263 既に複雑なループや条件判定の状況だと複雑化しそうで、、、 (コーディングうまい人だと、うまく扱えるのだとは思うのですが) ただ、これはこれで勉強になりました。(またFilterでうまくコード組めなかったときには使わせて頂くかもです) ありがとうございました。
265 名前:デフォルトの名無しさん [2023/01/02(月) 20:07:02.00 ID:/A7Qm9x+0.net] しょーもない質問ですみません。 前にも質問をしたことがあるのですが、 掲示板サイトを作るには、HTML、CSS、PHP、データベース(MySQL)、JavaScriptを覚えて使いこなせるようにならないといけないとの話だったのですが、 今、JavaScriptの入門書を読んでいるのですが、正直、こんなのがいつどこで使われるのかというのがあまり理解できません。 少し前はPHPの入門書を読んでいたのですが、HTMLとCSSとPHPとMySQLだけで掲示板サイトが作れそうな気がするのですがそれは間違っているのでしょうか? もしそうだとしたら、どういう場面でJavaScriptが必要になるのかを教えてほしいです。
266 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 20:09:24.34 ID:nZ65GlYM0.net] 社内LANをあきらめて google drive にすればすべて簡単に解決
267 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 20:13:03.96 ID:nZ65GlYM0.net] >>265 yahoo, googleどこでもいいんだけど htmlのソースを見ればいたるところで 使われているよ 見て何をしているかを理解するのは 難しいかもしれないけど
268 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 20:14:49.59 ID:nZ65GlYM0.net] ああ掲示板か この5chねるも あらゆるところで javascripは使われているよ
269 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 20:15:35.52 ID:1k7qyNCA0.net] >>265 作れると思うなら作ってみなよ その方がちゃんと理解できると思うし
270 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 21:49:30.58 ID:BkSmfruU0.net] 古典的な掲示板なら作れると思うよ チェックも投稿者名の記憶もサーバーサイドでやればいい
271 名前:デフォルトの名無しさん mailto:sage [2023/01/02(月) 22:01:43.81 ID:N1W2ThUkH.net] OCUP2ってもしかすると日本語で受験できないのですか?
272 名前:デフォルトの名無しさん [2023/01/02(月) 22:07:36.03 ID:PjgOkF5jM.net] >>265 >HTMLとCSSとPHPとMySQLだけで掲示板サイトが作れそうな気がするのですがそれは間違っているのでしょうか? 間違ってないよ JavaScript無しだと何か処理しようとするたびにサーバーにリクエスト投げてページ単位のロードが発生するだけ JavaScriptはユーザビリティを高めるための補助
273 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 03:14:37.23 ID:u4guPUDCa.net] >>232 Ruby on Rails の画像投稿機能では、Active Storage で、S3 へ保存する。 ImageMagick, libvips, Carrierwave なども使う。 モデル・表の関連は、polyphonic 画像のvalidation が難しい 縦横が、1 × 10,000, 10,000 × 1 みたいな極端なサイズの攻撃で、 CPU・メモリを占有されてしまう
274 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 03:27:48.54 ID:u4guPUDCa.net] >>265 Ruby on Rails のポートフォリオでも昔は、Bootstrap, jQuery だけで採用された その後、ソニックガーデンの伊藤 淳一、 YouTube で有名な雑食系エンジニア・KENTA の初心者向けRailsサロンとか、 Rails専業のRUNTEQ などの生徒が、Vue.js を使った事で、 これはすごいとなって、日本ではVue.jsが決め手となった。 もちろん、React もある 今や、Linux, Docker, AWS Solution Architect も決め手となってきて、 Railsの未経験者は、10年以上のプロよりも上! 日本人の未経験者は、競争的に究極まで進化して、 外人はクレイジーと驚嘆している
275 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 03:31:49.94 ID:u4guPUDCa.net] >>240 この板に、Google Apps Script のスレが無い? 有れば、そちらで聞けば?
276 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 10:02:42.02 ID:/D1njwCQ0.net] Visual Studio 2022でC#やVBのプログラミングを始めたばかりの初心者です 質問なのですが、ソリューション名とかプロジェクト名の名前を 2023-01-03-ConsoleApp 2023-01-03-WinFormApp のような、先頭に数字を含んだ名前にしても問題ありませんか?
277 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 10:05:58.31 ID:DiXPGtkDd.net] 初心者にそんなところのオリジナリティは要らん 黙って一般的な慣習に従いなさい
278 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 10:57:38.89 ID:cXTWG1PB0.net] >>276 何で自分でやってみないの?
279 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 18:52:48.16 ID:Pc1jo4F40.net] >>278 初心者がその問題にすぐに直面するとは とても思えない 数字を先頭に持ってくるのはお勧めできない -を使うのもできれば避けた方がいい
280 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 20:04:11.80 ID:wHbGcdQn0.net] グローバル変数ってなんでダメなんですかね?
281 名前:デフォルトの名無しさん [2023/01/03(火) 20:06:29.47 ID:r5MucSoo0.net] >>280 ダメなものはなにをやってもダメ。
282 名前:デフォルトの名無しさん [2023/01/03(火) 20:08:44.37 ID:r5MucSoo0.net] ちょっとでも単純でないプログラムを作るとそれに気づく。 それに気づけないならセンスがないのでプログラミングは諦めろ(というより実際に挫折しておのずと諦める)。
283 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 20:12:53.86 ID:wHbGcdQn0.net] 結構便利ですよね?
284 名前:デフォルトの名無しさん [2023/01/03(火) 20:18:25.42 ID:r5MucSoo0.net] 複雑なブログラムだと 1つの変更がありとあらゆるコードに影響を与える可能性がある。 しかしグローバルじゃないローカルな変数を使ってると、 その影響を受ける範囲を局所的に小さくできる。 そのことにより自信を持ってコードの改変ができる。
285 名前:デフォルトの名無しさん (ワッチョイ 9759-836l) mailto:sage [2023/01/03(火) 20:33:01.93 ID:J6VsDBea0.net] メンテ面倒ってことか
286 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 20:47:29.18 ID:6MPz74YQ0.net] 結局使用範囲が広ければ影響箇所が広いってだけだろ? グローバル変数だから広くなるってのはよくわからん ローカル変数でもそれを色んなところに受け渡してたら広くなるわけだし
287 名前:デフォルトの名無しさん [2023/01/03(火) 21:11:00.58 ID:2jxjuAzD0.net] >>284 今時の開発環境を使っていればグローバル変数かどうかなんてすぐにわかる それで見れなくとも変数名の付け方とか工夫すれば使うのに問題はない
288 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 22:36:46.23 ID:97qfA6UK0.net] >>286 ちゃんと把握できてるなら問題ないよ ある程度の規模になると頭の負担が増大して困るから 品質保つために分離したりアクセサ設けるのが定石なだけ
289 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 22:43:16.22 ID:LE/UHUv50.net] 昔、Cでグローバル変数をできるだけ避けろって言われたから 延々ポインタ連れ回してたことあるな・・
290 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 23:01:41.42 ID:Wiz3YSLp0.net] ここのスレ番が「匹」なのはなぜですか?
291 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 23:40:25.74 ID:RzaZz8cI0.net] バグの数かな
292 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 23:55:32.82 ID:A6CTSC6V0.net] >>280 プログラムを機能ごとに小分けし、小分けしたものを汎用性を持った部品のような形で書いておくと部品を組み上げるようにプログラムを書ける そういうやり方が昔起こって、これが色々な面で都合がいいのでそのやり方と思想が広まって今もそれが根底にいきてる けど、そのこととグローバル変数を参照することは相性が悪いので、グローバル変数を汎用のデータ置き場とするのは良くないことというのが定着した ただ一様にダメってことはないよ 全体から見える必要のあるものとか見えた方がいいものはやっぱり広域変数で持つ
293 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 00:03:10.58 ID:+C+yH2XZ0.net] バカの数の間違いでは
294 名前:デフォルトの名無しさん [2023/01/04(水) 07:08:38.46 ID:t0JafVGP0.net] ファイル型のデータベースでミラーリングできるやつありますか? 同期ソフトで同期すると壊れたまま同期されてしまって意味がない
295 名前:デフォルトの名無しさん [2023/01/04(水) 10:14:58.02 ID:jqatKeeiM.net] 壊れたまま同期ってのはなんか望んでない動作なのかい 壊れたものを同期すればそりゃ壊れたまま同期されるのでは
296 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 10:17:15.15 ID:oDtTzSSa0.net] バックアップ取れよ
297 名前:デフォルトの名無しさん [2023/01/04(水) 10:57:45.60 ID:t0JafVGP0.net] >>295 書き込みのログだけ反映してほしい
298 名前:デフォルトの名無しさん [2023/01/04(水) 10:58:55.77 ID:t0JafVGP0.net] >>296 無停止がよくて。 というかバックアップとミラーリングは目的が違うので
299 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 11:04:58.19 ID:8/tNUmCD0.net] データベースの動作中に外からファイルコピーしたら不整合な状態になるから なんとか回避したいのかとおもった
300 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 11:15:45.81 ID:lFNs7lW+0.net] >>295 たぶんそういう話じゃなくてDB使ってる時に裏でファイルをコピーするとコピー中に変更されてデータベースファイルとしては壊れちゃうって話だと思う もしくは稼動中の状態からでは復帰できないとか なので普通はデータベースを停止させてコピーするかものによってはチェックポイント作ってスナップショットを裏でコピーするとかする
301 名前:デフォルトの名無しさん [2023/01/04(水) 11:59:02.65 ID:mijQ8ejT0.net] >>297 何々だけっていう時点でミラーリングとは違うから変な用法はしないように LVMかRaid1でやりぁいいじゃんミラーリングの話したいならそれで解決だよ そもそもデータベースとその同期ソフトとやらは具体的に何使ってんの
302 名前:デフォルトの名無しさん [2023/01/04(水) 14:02:00.81 ID:hsLqwQpIM.net] 「ファイル型のデータベース」って聞き慣れない言葉だけど何を指してるの?
303 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 14:03:58.73 ID:1JQ1gS/7r.net] SQLiteのことじゃないの? ファイル1つでデータベースになってる
304 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 14:10:44.63 ID:2ZrlOGxua.net] こういう言葉もろくに話せないやつを介護しなきゃいけなくなってるのなんでなの?
305 名前:デフォルトの名無しさん [2023/01/04(水) 14:11:13.57 ID:hsLqwQpIM.net] SQLiteだと使いかたにもよるが普通はWALにしか書かれてないデータがあるからファイル1つだけの単純コピーだと同期できないね 書き込みのログだけ反映しろとあるから求めてるのはミラーリングじゃなくてレプリじゃないのかな
306 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 15:08:35.51 ID:LHzXCuSX0.net] SQliteってサイズでかくなると読み書きで速度低下しそうだから たとえばMAX500MBに手動(プログラム)で分割して記録したほうが効率よさげ
307 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 15:11:03.97 ID:lFNs7lW+0.net] >>302 多分インプロセスのDBMSの事を言ってるんだとエスパーした ストレージがファイルというだけなら大抵のDBMSが該当しちゃうし で、たぶん>>305 の言うようにレプリケーションの話じゃないかと インプロセスだと現状SQLite一択(以前はSQL-Server Compact Edtionがあったけど見捨てられた)で、レプリケーションできるのはこれぐらいしか見つけられなかった(有償) https://litesync.io/ja/index.html
308 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 15:15:16.30 ID:1JQ1gS/7r.net] SQLiteはレコード数100万件を超えるとSELECTが他のRDBMSよりぶっ飛びで速くなる 更新も同時更新が発生しなければ速い
309 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 15:16:49.25 ID:NWdIhsNV0.net] ファイル型のデータベースっていったら汎用的なDBMSじゃなくて オールインワンなAccessとかを指すんじゃないかな
310 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 15:19:45.71 ID:LHzXCuSX0.net] >>308 でかいほど、他との比較で早くなるなら 一ファイルではない大規模用DBをつかう必要下がらないのか?
311 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 15:44:54.96 ID:1JQ1gS/7r.net] >>310 大規模RDBMSは同時接続での処理が速い つまり多人数で使う場合に向いている SQLiteは同時接続が弱すぎるから一人用 例えばメーラーのThunderbirdやAndroidでは一人で使うからSQLiteが使われている
312 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 16:56:22.34 ID:eOxHD5pt0.net] こういうのがあったら便利だよなぁっていう何かを車輪の再発明しないために予め確実に存在しないか強力に探す技術って英語に精通するしかない?
313 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 17:52:55.70 ID:lFNs7lW+0.net] >>308 それどんな魔法よw
314 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 18:42:42.00 ID:tw5wqvcHd.net] 今作ってるプログラムはせいぜい1000レコードの想定で言語もJavaだから素直にDerbyにした
315 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 19:19:09.13 ID:gEBE6zIG0.net] 魔法とか他のDBが不要になるとかじゃなくてどんな強みがあるか性質を説明しているだけでしょ 何事もトレードオフがある
316 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 19:38:54.10 ID:lFNs7lW+0.net] >>315 いや > SQLiteはレコード数100万件を超えるとSELECTが他のRDBMSよりぶっ飛びで速くなる なんて初めて聞いたからソースあるんか?って話なんだが
317 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 19:43:00.64 ID:492NQUrQd.net] 通信が必要ないからシーケンシャルアクセスが速いのは当たり前じゃない? 処理時間の差も件数に比例するから件数が多いときに速く感じるのも当たり前だと思う
318 名前:デフォルトの名無しさん [2023/01/04(水) 20:19:55.42 ID:jDmYg10Gd.net] 馬鹿って自分の知ってる狭い範囲で断定するから馬鹿なんだよね
319 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 20:58:43.22 ID:WHtfJqZDM.net] .bashrc のようなカレントシェルで実行しないと意味がないスクリプトを自分で書く場合に、サブシェルとして実行されたら警告を出すことってできますか?
320 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 21:02:00.45 ID:AvzaDUce0.net] SHLVL
321 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 21:20:26.95 ID:oLi3mo910.net] >>317 一概に言えるもんでもないだろう。クライアント/サーバーといっても同一ノード上の通信なら ディスクアクセスと比べたら無視していいくらい速い。
322 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 21:22:51.87 ID:lFNs7lW+0.net] >>317 > 通信が必要ないからシーケンシャルアクセスが速いのは当たり前じゃない? まさかと思うけど100万件のデータから100万件を抽出する話なのか?w > 処理時間の差も件数に比例するから件数が多いときに速く感じるのも当たり前だと思う 件数に比例とか言ってる時点でお前さんわかってないだろ...
323 名前:デフォルトの名無しさん [2023/01/04(水) 21:36:29.87 ID:QxUfEWbZ0.net] ストアドよりインデックスが速いよ。 https://mevius.5ch.net/test/read.cgi/db/1094134263/l50 正論。
324 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 22:03:56.19 ID:gEBE6zIG0.net] 何の基準もなく「ぶっ飛びに早い」というふわっとした発言に深掘りしても おったまげな情報は得られないだろう 正月から空虚なマウントの取り合いが繰り広げられるだけ
325 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 22:57:00.83 ID:1JQ1gS/7r.net] >>313-324 https://i.imgur.com/IAd9fMX.jpg
326 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 23:09:49.56 ID:lFNs7lW+0.net] 測定条件も書いてない単なる表になんの価値があるんだ? そもそも例えばPostgresSQL 100万件で150秒とかインデックス張ってないにしても遅すぎる
327 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 23:26:14.42 ID:1JQ1gS/7r.net] >>326 1億件のレコードから1万件/10万件/100万件を主キーで1件ずつSELECTした場合の速度
328 名前:デフォルトの名無しさん [2023/01/04(水) 23:29:55.56 ID:gVbSXgMqM.net] M1優勝できるレベルのネタだなw
329 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 23:37:16.27 ID:lFNs7lW+0.net] SQLite 1万件: 0.06秒 ÷ 10,000件 = 6μs/件 これオンメモリーじゃね? てかソースは出せないのか?
330 名前:デフォルトの名無しさん [2023/01/05(木) 00:06:55.48 ID:iqc5j6UOd.net] >>325 馬鹿はこんなソースを鵜呑みにするんだな その上商用データベースはないし
331 名前:デフォルトの名無しさん mailto:sage [2023/01/05(木) 00:38:18.87 ID:HRGQlaN+r.net] >>329 SQLiteはファイルシステムのI/Oより高速 https://i.imgur.com/JCfmbMF.jpg >>330 商用で使われてるけど? 馬鹿は何も知らないんだな https://i.imgur.com/833qmGW.jpg https://i.imgur.com/uhnM01O.jpg
332 名前:デフォルトの名無しさん mailto:sage [2023/01/05(木) 01:37:59.87 ID:sCQ59Dgt0.net] >>331 329は、"基本オンメモリで動作するSQlite"と、"通常ディスクで動作する(オンメモリもできなくはない)他DB"、 それらをそれぞれデフォかなんかわからない環境で比較してることに意味はあるの?ってことじゃないの? 両方オンメモリ(インメモリ)ならどうなるのかな? たとえばMySQLならInsertが数十倍になった記憶はある(メモリの仕様にも依存するだろうけどね) 330は、商用データベースという言い方はちょっとズレてて、 商用ライセンスとサポートがないんじゃないのってことじゃないかな 使う案件によっては影響出るからね