22/12/31 06:29:48.40 FohLv0kz0.net
なにもかもがうろ覚えなので申し訳ないのですが、
テレグラムのような密告用、告発用のツールだかソフトウェアだかを作り
その後、強姦かなにかをやってフランスかどこかで逮捕された
プログラマーのことを思い出せません
彼の名前と作成したツールの名前を教えて欲しいです
ちなみに彼は白人です
219:デフォルトの名無しさん
22/12/31 08:29:58.24 m3/e5oOm0.net
「単純前方探索」っていうのは線形探索のことだろうか。
意味はなんとなくわかるけどはじめて聞いたかも。
220:デフォルトの名無しさん
22/12/31 08:37:30.52 mMd7om+i0.net
単純前方探索をググると同じ課題が知恵袋やteratailでみつかるからあまり使われてない言葉なんだろうな
221:デフォルトの名無しさん (ワッチョイ 5b92-9j0N)
22/12/31 09:39:09.75 4BY8f6B30.net
誰か>>215の質問に答えてもらえないでしょうか?お願いします
222:デフォルトの名無しさん (ワッチョイ cebb-P+qm)
22/12/31 09:42:24.51 sRDUPVgu0.net
>>218
ジュリアンアサンジとウィキリークスのことを言ってたりする?
さすがにこれが正解ならうろ覚えにも程がある気もするが
223:デフォルトの名無しさん
22/12/31 11:31:02.67 xM2dVammr.net
>>221
答える価値なし
224:デフォルトの名無しさん
22/12/31 12:52:27.59 IuH++inna.net
>>221
難解すぎて答えられそうにないわー
ユリゲラー並の技術力がないと無理なんじゃね
225:デフォルトの名無しさん
22/12/31 13:06:10.35 A8GWHO1q0.net
>>221
キャプ画像うp
226:デフォルトの名無しさん
22/12/31 14:30:23.80 uaogbe5e0.net
>>215
なんでこれだけの情報で答えが出てくると思うのか?
OSの種類すら分からんのに答えようもないよね
XAMPPのバージョンもそこに至った経緯も書かれてない
答えがほしいならならそういう情報はしっかり書こう
227:デフォルトの名無しさん
22/12/31 14:44:14.33 +4jO0clQp.net
デコレータの質問には沈黙してるの笑う
228:デフォルトの名無しさん (アウアウウー Sac7-jVCh)
22/12/31 15:09:51.85 IuH++inna.net
デコレータは常識
229:デフォルトの名無しさん (ワッチョイ 1a79-ZNv9)
22/12/31 15:18:02.27 xrutZBv50.net
>>213の話ならマルチポストな上に
pythonスレでちゃんと進んでたぞ
スレリンク(tech板:337番)-
230:デフォルトの名無しさん
22/12/31 15:20:49.95 xrutZBv50.net
てか、同一人物かよ
231:デフォルトの名無しさん
22/12/31 15:28:18.23 sRDUPVgu0.net
そういやデコレーターパターンって使う機会なかったな
クラスまで手で作るのは大仰すぎた
232:デフォルトの名無しさん
22/12/31 16:22:39.19 h+i7/rFS0.net
画像ファイルとその画像に関する情報がデータベースにあります
特定の画像ファイルを消す処理とその画像の情報をデータベースから消す処理を実装する場合、どう実装するべきですか?
何かエラーで片方の処理だけ実行されるとかありそうな気がするので、これを防ぐような実装方法があるのか知りたいです
それとも予期せぬエラーはどうしようもないので、そこは割り切って不一致が起きてる場合にどうにかすべきでしょうか
233:デフォルトの名無しさん
22/12/31 17:01:13.25 m3/e5oOm0.net
>>232
「SQLアンチパターン ファントムファイル」でググるといいかもしれない。
これって言う決め手はないような気も・・
234:デフォルトの名無しさん (ワッチョイ 5a01-z/aK)
22/12/31 17:40:48.29 zqencv+y0.net
>>232
2フェーズコミットを使わない分散トランザクションと同じ
基本的には削除処理中の状態を記録して個々の処理が成功・失敗したら状態を更新する
細かい実装方法はビジネスルール的にどういう理由で失敗するかや
失敗した場合にどういう状態にしたいかによって変わる
ファイルシステムがトランザクションをサポートしてるなら2フェーズコミットでも可
235:デフォルトの名無しさん
22/12/31 19:14:43.64 YncayN1e0.net
>>232
特に要件ないなら普通にエラーになったらログ採っておけばいいだけだと思うよ
236:デフォルトの名無しさん
22/12/31 19:28:15.86 sRDUPVgu0.net
>>232
ロールバックがサポートされてるならLOB等で入れると楽
画像がないときにエラーの代替画像を表示することで許されるならそれも楽
237:デフォルトの名無しさん
22/12/31 21:21:24.52 tl6LrbQ70.net
>>232
画像データ自体をDBMSで管理してトランザクションで扱うのが筋だろうな。
ファイル自体が外部のファイルシステムなどDBMSの管理下にない場合は
データベース側だけでどうこうできる話じゃない。
常套手段としてはトランザクションでは画像の管理レコードに相当するものだけ
削除しておいて後でクリーンアッププロセスで実ファイルを片付けるとか。
238:デフォルトの名無しさん
22/12/31 21:33:57.27 W1vUYFSNd.net
俺もこういうのは迷わず裏でバッチ回して消すようにするわ
一般に言えることだが、漏れのないように色んなケースを想定して潰していかなきゃいけないような方法は避け、最低ライン(どんな状況でもいずれ自然に消える)を確実に担保することをまずは優先した方がよい
ファイルだけしばらく残ってたところで特に害があるとは思えない
239:デフォルトの名無しさん
23/01/01 00:01:38.30 9MSmyB9U0.net
>>222
それだ
ありがとうありがとう
240:デフォルトの名無しさん
23/01/01 00:34:18.85 hXIv+xxRM.net
Google Apps Scriptについてです。
Googleアカウントを作成した後、スプレッドシートの拡張機能にある「Apps Script」を選択し、
index.htmlとsource.gsを作成しました。
またディプロイをテストしながら開発練習をしています。
実装したいことは、ウェブ上で表示された縦と横のテキストボックスに長さを入力した後、ボタンを押下すると、下部にある実行結果が表示されるようになることです(ボタンが押されるまでは下部にある実行結果は非表示)。
何か参考になりそうな情報などありますでしょうか?
URLリンク(pastebin.com)
241:デフォルトの名無しさん
23/01/02 04:32:50.41 0NHwaL+l0.net
給与明細をペーパーレス化する場合、
初心者でなんとかなりそうな方法はありますでしょうか。
職員の給与データはCSVファイルです。
社内LANはインターネットには直接繋がっておらずインターネット見るには仮想ブラウザを使っています。
イントラネットにローカルブラウザでアクセスして職員番号でログインし、月を選択して明細を表示させる、ということが考えられるかなと思っているのですが、出来るだけ難しくない方法だとどのような選択肢が考えられますでしょうか。
242:デフォルトの名無しさん
23/01/02 04:37:07.32 wzBFMQaB0.net
個人個人にメールで送れば?
243:デフォルトの名無しさん
23/01/02 04:56:17.75 0NHwaL+l0.net
レスありがとうございます。
たしかにそれが一番よいのですが、課ごと、よくて係ごとのメルアドしかないのです。
社員は300人位ですが、部署によっては1つのPCを2人以上で使っていて、個人のメルアドを作ってもメーラー(パソコン)を共有使用する自体は避けられず情報流出が考えられます。
プライベートのウェブメール等に、各個の給与電子ファイル(pdfか画像ファイル?)を送るのは、ヒューマンエラー等での情報流出や、インターネット側へのファイル交換の手間などで、出来れば避けたいと考えています。
244:デフォルトの名無しさん
23/01/02 05:35:12.57 wzBFMQaB0.net
ならどっかからWeb給与明細のシステム買ってきてそのCSV吐いてるシステムと連結させるのがいいよ
年末調整とか源泉徴収とか含めて他の労務管理はその既存のシステムだかでやってんだろうから、そこかぶらずに
給与明細の発行配信だけに特化したの探せば安めのやつとか多分あるんじゃない
245:デフォルトの名無しさん
23/01/02 07:26:04.26 YsBMuvLw0.net
給与明細が会社のメアドに来るとかイントラからしか見えないって辞めたあとどうすんのさ
ペーパーレスにしちゃダメな部分じゃないの?
246:デフォルトの名無しさん
23/01/02 07:35:42.10 1k7qyNCA0.net
>>245
印刷しときゃいいじゃん
ペーパーレスにならないけど...
247:デフォルトの名無しさん
23/01/02 07:41:46.65 YsBMuvLw0.net
>>246
ペーパーレスにならないだけじゃなく他の人に見られる機会も増えるしプリンタ混むだろうし社員だったら不満しかないわ
248:デフォルトの名無しさん
23/01/02 09:18:32.97 Y63RKV4t0.net
ちまちまPHPで作る案件ではないな
ましてや初診者には無理
249:デフォルトの名無しさん
23/01/02 10:52:23.87 niEyW8S/r.net
社内PCがインターネットに接続されてない時点で不便すぎるだろ
そんな会社があるんだな
250:デフォルトの名無しさん
23/01/02 11:41:35.88 VCjQSWZY0.net
ベストではないにしても理由があってそうしてると考えられんのか
無理矢理でもいいから接続してないメリットを挙げてみてみ
251:デフォルトの名無しさん
23/01/02 12:24:35.65 0NHwaL+l0.net
レスありがとうございます。
>>244,248
やはり既存のソフトを購入するのが無難でしょうかね。
どうしても自分で作らなければならない場合はPHPって感じでしょうか。
ありがとうございました。
252:デフォルトの名無しさん
23/01/02 13:52:04.20 1k7qyNCA0.net
>>243
共有フォルダーに暗号化PDF(パスワードは個人毎に異なる)置いときゃいいやん
253:デフォルトの名無しさん
23/01/02 14:00:35.88 3NXu7QcIM.net
>>241
自分で作らずにそういうサービス使うのがいいよ
月々の費用はかかるけど自作に比べれば圧倒的に安いし手間がかからない
254:デフォルトの名無しさん
23/01/02 14:01:51.48 u8ta3fRNM.net
>>252
マジかw
255:デフォルトの名無しさん
23/01/02 14:04:21.36 DJCs4he/0.net
IDとパスワードを入力して見させるようにするなら
既存のメールアドレスに送ったほうが安心度が高いとおもうが
ここで相談するくらいだと、社員、社内でログイン機能、メールサーバーつくったりするのは不安定だろう
最初の個人アドレスの確定部分には不安は残るが
256:デフォルトの名無しさん
23/01/02 14:04:21.59 1wsplgZl0.net
ACCESSのVBAで、下記のようなことってできないでしょうか?
アドバイス等頂けないでしょうか。。。
<やりたいこと>
下記コードにおいて、rs1で抽出したものの中から、さらに抽出してrs2に入れたいです。
URLリンク(i.imgur.com)
<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:デフォルトの名無しさん
23/01/02 14:09:40.32 XjT/l8aPa.net
既存のソフトというか、そういうサービスやってるとこいっぱいあるよ
URLリンク(it-trend.jp)
258:デフォルトの名無しさん
23/01/02 14:10:01.04 DJCs4he/0.net
おすすめのWeb給与明細システムを比較
URLリンク(it-trend.jp)
Web給与明細とは?おすすめシステム13選を比較【2023年版】
URLリンク(strate.biz)
259:デフォルトの名無しさん
23/01/02 14:25:48.67 1k7qyNCA0.net
>>254
まあ半分冗談だけど、以前はうちもメールで個人宛に送付されてた時はPDFでパスワード掛けてた
いまは社内/社外からWebでダウンロードできるように変わったてその時にパスワード保護も止めた
260:デフォルトの名無しさん
23/01/02 14:30:19.39 1k7qyNCA0.net
>>256
アクセスよく知らんけど
Set rs2 = CurrentDb.OpenRecordset("SELECT * FROM [Tテーブル] WHERE [フィールド1] = 'A1' and [フィールド2] = 'B1'", dbOpenDynaset)
ってできないんだっけ?
261:デフォルトの名無しさん
23/01/02 14:40:39.54 1wsplgZl0.net
>>260
返信ありがとうtございます。
後出しで申し訳ないですが、
rs1、rs2の2つならそれで良さげですが、複数個あってfor文とかで回そうとしたときに、その記載だとスマートに書けず。。。
※rs2はrs1の中から、rs3はrs2の中から、・・・みたいな。
(実際にはさらに条件判定も入って、条件満たしていないときは飛ばすみたいな感じの予定です。)
なので、いったんrs1みたいに変数に格納して、それを使えたらなと思ってます。
262:デフォルトの名無しさん (ワッチョイ 5a01-z/aK)
23/01/02 15:53:16.41 aa6+GqrY0.net
rs1をFilterしてrs2を作るかDBに中間テーブルを作ってSELECT INTO
AccessがクライアントでDBサーバーに接続してるなら
クライアント側で処理したいかサーバー側で処理したいかで選択
263:デフォルトの名無しさん
23/01/02 16:44:54.81 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:デフォルトの名無しさん
23/01/02 17:12:54.49 1wsplgZl0.net
>>262
ありがとうございます。
Filterっていうのがあるんですね。
なんかうまく使えそうな気がするので使ってみます。
(なぜかCurrentDb.OpenRecordsetだとうまく機能しなかったのですが、ADODB.Recordsetにしたらうまくできました。)
>>263
既に複雑なループや条件判定の状況だと複雑化しそうで、、、
(コーディングうまい人だと、うまく扱えるのだとは思うのですが)
ただ、これはこれで勉強になりました。(またFilterでうまくコード組めなかったときには使わせて頂くかもです)
ありがとうございました。
265:デフォルトの名無しさん
23/01/02 20:07:02.00 /A7Qm9x+0.net
しょーもない質問ですみません。
前にも質問をしたことがあるのですが、
掲示板サイトを作るには、HTML、CSS、PHP、データベース(MySQL)、JavaScriptを覚えて使いこなせるようにならないといけないとの話だったのですが、
今、JavaScriptの入門書を読んでいるのですが、正直、こんなのがいつどこで使われるのかというのがあまり理解できません。
少し前はPHPの入門書を読んでいたのですが、HTMLとCSSとPHPとMySQLだけで掲示板サイトが作れそうな気がするのですがそれは間違っているのでしょうか?
もしそうだとしたら、どういう場面でJavaScriptが必要になるのかを教えてほしいです。
266:デフォルトの名無しさん
23/01/02 20:09:24.34 nZ65GlYM0.net
社内LANをあきらめて
google drive にすればすべて簡単に解決
267:デフォルトの名無しさん
23/01/02 20:13:03.96 nZ65GlYM0.net
>>265
yahoo, googleどこでもいいんだけど
htmlのソースを見ればいたるところで
使われているよ
見て何をしているかを理解するのは
難しいかもしれないけど
268:デフォルトの名無しさん
23/01/02 20:14:49.59 nZ65GlYM0.net
ああ掲示板か
この5chねるも
あらゆるところで
javascripは使われているよ
269:デフォルトの名無しさん
23/01/02 20:15:35.52 1k7qyNCA0.net
>>265
作れると思うなら作ってみなよ
その方がちゃんと理解できると思うし
270:デフォルトの名無しさん
23/01/02 21:49:30.58 BkSmfruU0.net
古典的な掲示板なら作れると思うよ
チェックも投稿者名の記憶もサーバーサイドでやればいい
271:デフォルトの名無しさん
23/01/02 22:01:43.81 N1W2ThUkH.net
OCUP2ってもしかすると日本語で受験できないのですか?
272:デフォルトの名無しさん
23/01/02 22:07:36.03 PjgOkF5jM.net
>>265
>HTMLとCSSとPHPとMySQLだけで掲示板サイトが作れそうな気がするのですがそれは間違っているのでしょうか?
間違ってないよ
JavaScript無しだと何か処理しようとするたびにサーバーにリクエスト投げてページ単位のロードが発生するだけ
JavaScriptはユーザビリティを高めるための補助
273:デフォルトの名無しさん
23/01/03 03:14:37.23 u4guPUDCa.net
>>232
Ruby on Rails の画像投稿機能では、Active Storage で、S3 へ保存する。
ImageMagick, libvips, Carrierwave なども使う。
モデル・表の関連は、polyphonic
画像のvalidation が難しい
縦横が、1 × 10,000, 10,000 × 1 みたいな極端なサイズの攻撃で、
CPU・メモリを占有されてしまう
274:デフォルトの名無しさん
23/01/03 03:27:48.54 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:デフォルトの名無しさん
23/01/03 03:31:49.94 u4guPUDCa.net
>>240
この板に、Google Apps Script のスレが無い?
有れば、そちらで聞けば?
276:デフォルトの名無しさん
23/01/03 10:02:42.02 /D1njwCQ0.net
Visual Studio 2022でC#やVBのプログラミングを始めたばかりの初心者です
質問なのですが、ソリューション名とかプロジェクト名の名前を
2023-01-03-ConsoleApp
2023-01-03-WinFormApp
のような、先頭に数字を含んだ名前にしても問題ありませんか?
277:デフォルトの名無しさん
23/01/03 10:05:58.31 DiXPGtkDd.net
初心者にそんなところのオリジナリティは要らん
黙って一般的な慣習に従いなさい
278:デフォルトの名無しさん
23/01/03 10:57:38.89 cXTWG1PB0.net
>>276
何で自分でやってみないの?
279:デフォルトの名無しさん
23/01/03 18:52:48.16 Pc1jo4F40.net
>>278
初心者がその問題にすぐに直面するとは
とても思えない
数字を先頭に持ってくるのはお勧めできない
-を使うのもできれば避けた方がいい
280:デフォルトの名無しさん
23/01/03 20:04:11.80 wHbGcdQn0.net
グローバル変数ってなんでダメなんですかね?
281:デフォルトの名無しさん
23/01/03 20:06:29.47 r5MucSoo0.net
>>280
ダメなものはなにをやってもダメ。
282:デフォルトの名無しさん
23/01/03 20:08:44.37 r5MucSoo0.net
ちょっとでも単純でないプログラムを作るとそれに気づく。
それに気づけないならセンスがないのでプログラミングは諦めろ(というより実際に挫折しておのずと諦める)。
283:デフォルトの名無しさん
23/01/03 20:12:53.86 wHbGcdQn0.net
結構便利ですよね?
284:デフォルトの名無しさん
23/01/03 20:18:25.42 r5MucSoo0.net
複雑なブログラムだと
1つの変更がありとあらゆるコードに影響を与える可能性がある。
しかしグローバルじゃないローカルな変数を使ってると、
その影響を受ける範囲を局所的に小さくできる。
そのことにより自信を持ってコードの改変ができる。
285:デフォルトの名無しさん (ワッチョイ 9759-836l)
23/01/03 20:33:01.93 J6VsDBea0.net
メンテ面倒ってことか
286:デフォルトの名無しさん
23/01/03 20:47:29.18 6MPz74YQ0.net
結局使用範囲が広ければ影響箇所が広いってだけだろ?
グローバル変数だから広くなるってのはよくわからん
ローカル変数でもそれを色んなところに受け渡してたら広くなるわけだし
287:デフォルトの名無しさん
23/01/03 21:11:00.58 2jxjuAzD0.net
>>284
今時の開発環境を使っていればグローバル変数かどうかなんてすぐにわかる
それで見れなくとも変数名の付け方とか工夫すれば使うのに問題はない
288:デフォルトの名無しさん
23/01/03 22:36:46.23 97qfA6UK0.net
>>286
ちゃんと把握できてるなら問題ないよ
ある程度の規模になると頭の負担が増大して困るから
品質保つために分離したりアクセサ設けるのが定石なだけ
289:デフォルトの名無しさん
23/01/03 22:43:16.22 LE/UHUv50.net
昔、Cでグローバル変数をできるだけ避けろって言われたから
延々ポインタ連れ回してたことあるな・・
290:デフォルトの名無しさん
23/01/03 23:01:41.42 Wiz3YSLp0.net
ここのスレ番が「匹」なのはなぜですか?
291:デフォルトの名無しさん
23/01/03 23:40:25.74 RzaZz8cI0.net
バグの数かな
292:デフォルトの名無しさん
23/01/03 23:55:32.82 A6CTSC6V0.net
>>280
プログラムを機能ごとに小分けし、小分けしたものを汎用性を持った部品のような形で書いておくと部品を組み上げるようにプログラムを書ける
そういうやり方が昔起こって、これが色々な面で都合がいいのでそのやり方と思想が広まって今もそれが根底にいきてる
けど、そのこととグローバル変数を参照することは相性が悪いので、グローバル変数を汎用のデータ置き場とするのは良くないことというのが定着した
ただ一様にダメってことはないよ 全体から見える必要のあるものとか見えた方がいいものはやっぱり広域変数で持つ
293:デフォルトの名無しさん
23/01/04 00:03:10.58 +C+yH2XZ0.net
バカの数の間違いでは
294:デフォルトの名無しさん
23/01/04 07:08:38.46 t0JafVGP0.net
ファイル型のデータベースでミラーリングできるやつありますか?
同期ソフトで同期すると壊れたまま同期されてしまって意味がない
295:デフォルトの名無しさん
23/01/04 10:14:58.02 jqatKeeiM.net
壊れたまま同期ってのはなんか望んでない動作なのかい
壊れたものを同期すればそりゃ壊れたまま同期されるのでは
296:デフォルトの名無しさん
23/01/04 10:17:15.15 oDtTzSSa0.net
バックアップ取れよ
297:デフォルトの名無しさん
23/01/04 10:57:45.60 t0JafVGP0.net
>>295
書き込みのログだけ反映してほしい
298:デフォルトの名無しさん
23/01/04 10:58:55.77 t0JafVGP0.net
>>296
無停止がよくて。
というかバックアップとミラーリングは目的が違うので
299:デフォルトの名無しさん
23/01/04 11:04:58.19 8/tNUmCD0.net
データベースの動作中に外からファイルコピーしたら不整合な状態になるから
なんとか回避したいのかとおもった
300:デフォルトの名無しさん
23/01/04 11:15:45.81 lFNs7lW+0.net
>>295
たぶんそういう話じゃなくてDB使ってる時に裏でファイルをコピーするとコピー中に変更されてデータベースファイルとしては壊れちゃうって話だと思う
もしくは稼動中の状態からでは復帰できないとか
なので普通はデータベースを停止させてコピーするかものによってはチェックポイント作ってスナップショットを裏でコピーするとかする
301:デフォルトの名無しさん
23/01/04 11:59:02.65 mijQ8ejT0.net
>>297
何々だけっていう時点でミラーリングとは違うから変な用法はしないように
LVMかRaid1でやりぁいいじゃんミラーリングの話したいならそれで解決だよ
そもそもデータベースとその同期ソフトとやらは具体的に何使ってんの
302:デフォルトの名無しさん
23/01/04 14:02:00.81 hsLqwQpIM.net
「ファイル型のデータベース」って聞き慣れない言葉だけど何を指してるの?
303:デフォルトの名無しさん
23/01/04 14:03:58.73 1JQ1gS/7r.net
SQLiteのことじゃないの?
ファイル1つでデータベースになってる
304:デフォルトの名無しさん
23/01/04 14:10:44.63 2ZrlOGxua.net
こういう言葉もろくに話せないやつを介護しなきゃいけなくなってるのなんでなの?
305:デフォルトの名無しさん
23/01/04 14:11:13.57 hsLqwQpIM.net
SQLiteだと使いかたにもよるが普通はWALにしか書かれてないデータがあるからファイル1つだけの単純コピーだと同期できないね
書き込みのログだけ反映しろとあるから求めてるのはミラーリングじゃなくてレプリじゃないのかな
306:デフォルトの名無しさん
23/01/04 15:08:35.51 LHzXCuSX0.net
SQliteってサイズでかくなると読み書きで速度低下しそうだから
たとえばMAX500MBに手動(プログラム)で分割して記録したほうが効率よさげ
307:デフォルトの名無しさん
23/01/04 15:11:03.97 lFNs7lW+0.net
>>302
多分インプロセスのDBMSの事を言ってるんだとエスパーした
ストレージがファイルというだけなら大抵のDBMSが該当しちゃうし
で、たぶん>>305の言うようにレプリケーションの話じゃないかと
インプロセスだと現状SQLite一択(以前はSQL-Server Compact Edtionがあったけど見捨てられた)で、レプリケーションできるのはこれぐらいしか見つけられなかった(有償)
URLリンク(litesync.io)
308:デフォルトの名無しさん
23/01/04 15:15:16.30 1JQ1gS/7r.net
SQLiteはレコード数100万件を超えるとSELECTが他のRDBMSよりぶっ飛びで速くなる
更新も同時更新が発生しなければ速い
309:デフォルトの名無しさん
23/01/04 15:16:49.25 NWdIhsNV0.net
ファイル型のデータベースっていったら汎用的なDBMSじゃなくて
オールインワンなAccessとかを指すんじゃないかな
310:デフォルトの名無しさん
23/01/04 15:19:45.71 LHzXCuSX0.net
>>308
でかいほど、他との比較で早くなるなら
一ファイルではない大規模用DBをつかう必要下がらないのか?
311:デフォルトの名無しさん
23/01/04 15:44:54.96 1JQ1gS/7r.net
>>310
大規模RDBMSは同時接続での処理が速い
つまり多人数で使う場合に向いている
SQLiteは同時接続が弱すぎるから一人用
例えばメーラーのThunderbirdやAndroidでは一人で使うからSQLiteが使われている
312:デフォルトの名無しさん
23/01/04 16:56:22.34 eOxHD5pt0.net
こういうのがあったら便利だよなぁっていう何かを車輪の再発明しないために予め確実に存在しないか強力に探す技術って英語に精通するしかない?
313:デフォルトの名無しさん
23/01/04 17:52:55.70 lFNs7lW+0.net
>>308
それどんな魔法よw
314:デフォルトの名無しさん
23/01/04 18:42:42.00 tw5wqvcHd.net
今作ってるプログラムはせいぜい1000レコードの想定で言語もJavaだから素直にDerbyにした
315:デフォルトの名無しさん
23/01/04 19:19:09.13 gEBE6zIG0.net
魔法とか他のDBが不要になるとかじゃなくてどんな強みがあるか性質を説明しているだけでしょ
何事もトレードオフがある
316:デフォルトの名無しさん
23/01/04 19:38:54.10 lFNs7lW+0.net
>>315
いや
> SQLiteはレコード数100万件を超えるとSELECTが他のRDBMSよりぶっ飛びで速くなる
なんて初めて聞いたからソースあるんか?って話なんだが
317:デフォルトの名無しさん
23/01/04 19:43:00.64 492NQUrQd.net
通信が必要ないからシーケンシャルアクセスが速いのは当たり前じゃない?
処理時間の差も件数に比例するから件数が多いときに速く感じるのも当たり前だと思う
318:デフォルトの名無しさん
23/01/04 20:19:55.42 jDmYg10Gd.net
馬鹿って自分の知ってる狭い範囲で断定するから馬鹿なんだよね
319:デフォルトの名無しさん
23/01/04 20:58:43.22 WHtfJqZDM.net
.bashrc のようなカレントシェルで実行しないと意味がないスクリプトを自分で書く場合に、サブシェルとして実行されたら警告を出すことってできますか?
320:デフォルトの名無しさん
23/01/04 21:02:00.45 AvzaDUce0.net
SHLVL
321:デフォルトの名無しさん
23/01/04 21:20:26.95 oLi3mo910.net
>>317
一概に言えるもんでもないだろう。クライアント/サーバーといっても同一ノード上の通信なら
ディスクアクセスと比べたら無視していいくらい速い。
322:デフォルトの名無しさん
23/01/04 21:22:51.87 lFNs7lW+0.net
>>317
> 通信が必要ないからシーケンシャルアクセスが速いのは当たり前じゃない?
まさかと思うけど100万件のデータから100万件を抽出する話なのか?w
> 処理時間の差も件数に比例するから件数が多いときに速く感じるのも当たり前だと思う
件数に比例とか言ってる時点でお前さんわかってないだろ...
323:デフォルトの名無しさん
23/01/04 21:36:29.87 QxUfEWbZ0.net
ストアドよりインデックスが速いよ。
スレリンク(db板)
正論。
324:デフォルトの名無しさん
23/01/04 22:03:56.19 gEBE6zIG0.net
何の基準もなく「ぶっ飛びに早い」というふわっとした発言に深掘りしても
おったまげな情報は得られないだろう
正月から空虚なマウントの取り合いが繰り広げられるだけ
325:デフォルトの名無しさん
23/01/04 22:57:00.83 1JQ1gS/7r.net
>>313-324
URLリンク(i.imgur.com)
326:デフォルトの名無しさん
23/01/04 23:09:49.56 lFNs7lW+0.net
測定条件も書いてない単なる表になんの価値があるんだ?
そもそも例えばPostgresSQL 100万件で150秒とかインデックス張ってないにしても遅すぎる
327:デフォルトの名無しさん
23/01/04 23:26:14.42 1JQ1gS/7r.net
>>326
1億件のレコードから1万件/10万件/100万件を主キーで1件ずつSELECTした場合の速度
328:デフォルトの名無しさん
23/01/04 23:29:55.56 gVbSXgMqM.net
M1優勝できるレベルのネタだなw
329:デフォルトの名無しさん
23/01/04 23:37:16.27 lFNs7lW+0.net
SQLite 1万件: 0.06秒 ÷ 10,000件 = 6μs/件
これオンメモリーじゃね?
てかソースは出せないのか?
330:デフォルトの名無しさん
23/01/05 00:06:55.48 iqc5j6UOd.net
>>325
馬鹿はこんなソースを鵜呑みにするんだな
その上商用データベースはないし
331:デフォルトの名無しさん
23/01/05 00:38:18.87 HRGQlaN+r.net
>>329
SQLiteはファイルシステムのI/Oより高速
URLリンク(i.imgur.com)
>>330
商用で使われてるけど?
馬鹿は何も知らないんだな
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
332:デフォルトの名無しさん
23/01/05 01:37:59.87 sCQ59Dgt0.net
>>331
329は、"基本オンメモリで動作するSQlite"と、"通常ディスクで動作する(オンメモリもできなくはない)他DB"、
それらをそれぞれデフォかなんかわからない環境で比較してることに意味はあるの?ってことじゃないの?
両方オンメモリ(インメモリ)ならどうなるのかな?
たとえばMySQLならInsertが数十倍になった記憶はある(メモリの仕様にも依存するだろうけどね)
330は、商用データベースという言い方はちょっとズレてて、
商用ライセンスとサポートがないんじゃないのってことじゃないかな
使う案件によっては影響出るからね
333:デフォルトの名無しさん
23/01/05 01:48:13.14 iqc5j6UOd.net
>>331
馬鹿は商用データベースの意味がわからんような馬鹿か
334:デフォルトの名無しさん
23/01/05 02:03:08.48 2xtdBLfB0.net
別にケチ付けるまでもなく普通の結果じゃね
SQLiteはシンプルで排他であるがゆえにオーバーヘッドも少なく動くし
ファイル動作でもOSによるキャッシングも効きやすく(そこを割り切ったからこそのシンプルなDB)
デフォルトで理論値出やすいし
335:デフォルトの名無しさん
23/01/05 05:33:44.92 O+NRT3S+0.net
>>331
> SQLiteはファイルシステムのI/Oより高速
これはBLOBの話
こんなのは他のDBMSでも同じだぞ
>>334
インプロセスでネットワークのオーバーヘッドが無いとか他のDBMSが持ってるような権限チェックや利用ログ機能が無いとかあるから特に単純なSQLで比較するとSQLiteが圧倒的に有利であるのは間違いない
ただそれにしても6μs/件を出そうとしたらI/Oアクセスあると相当難しい
そもそも
>>308 > SQLiteはレコード数100万件を超えるとSELECTが他のRDBMSよりぶっ飛びで速くなる
って書いてたから対象レコードの話かと思ったら単なる繰り返しの回数みたいだしそもそも他のDBMSを含めてリニアに増加してるから「100万件越えたらぶっ飛びで速くなる」なんてどこから出てきたのか謎すぎる
336:デフォルトの名無しさん
23/01/05 06:58:12.29 oM1k4p980.net
SQLiteは大規模なデータベースは無理なんだよ。
その点で住み分けは出来る。
とはいえ、SQLiteで9割カバー出来るだろな。
第一推奨がSQLite。
337:デフォルトの名無しさん
23/01/05 12:01:45.56 nNkP0Ncc0.net
こんなん、条件が特殊でしょw
338:デフォルトの名無しさん
23/01/05 12:18:31.66 uXoq84mk0.net
>>336
DB自体の規模はあまり問題ではない
SQLiteが無理なのは複数の人が同時にアクセスするようなDBで、その時点でDBのユースケースの9割からは外れる
339:デフォルトの名無しさん
23/01/05 13:09:47.11 HRGQlaN+r.net
>>335
少しは自分で調べたらどうか
でお前はSQLiteが速いと困るのか?
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
340:デフォルトの名無しさん
23/01/05 13:21:32.96 jGVXI03l0.net
ファイル型のデータベースって言ったらユニケージやろ
URLリンク(www.usp-lab.com)
ロールバックはシンボリックリンクを手作業で張り替えればいいから安全
341:デフォルトの名無しさん
23/01/05 13:24:28.43 /79BsoYR0.net
情報はありがたいが出典は書いてほしいな。
342:デフォルトの名無しさん
23/01/05 14:39:37.45 O+NRT3S+0.net
>>339
1万件のselectで0.11sだったのに5,000件だと1.1sとかえらく遅くなったなw
そもそもSQLite 2.7.6って20年近く前のリリースやぞ...
URLリンク(www.sqlite.org)
まあこの頃のPostgresSQLは遅いので有名だったからこんなもんじゃね?
343:デフォルトの名無しさん
23/01/05 14:50:56.99 vkZCL/K50.net
ウェイトフリー、ロックフリーのキューにいれてシリアル化? 、直列化? すれば
多重アクセスでもSQliteでいいか?
344:デフォルトの名無しさん
23/01/05 14:53:54.58 vkZCL/K50.net
Lock-freeとWait-freeアルゴリズム 出典: フリー百科事典『ウィキペディア(Wikipedia)』
Lock-freeとWait-freeアルゴリズムとは、共有データにロックをかけてアクセスを防ぐアルゴリズムとは違い、複数のスレッドが同時並行的に、ある対象データを壊すことなしに読み書きすることを可能にするアルゴリズムである。
Lock-free とはスレッドがロックしないことを意味しており、全てのステップにおいてシステムが必ず進行する。
Wait-free とは、他のスレッドの動作に関係なく、スレッドがいかなる操作も有限のステップで操作を完了させられることを指す。
Wait-free なアルゴリズムは Lock-free である。
銀行預金の例
例えば、銀行口座への預金プログラムを作るとする。それぞれのスレッドをATMとする。
ロック方式のやり方の場合、1つ目のATMが預金をするとき、ほかのATMが同時に預金残高を変更しないよう、ロックをかける。
さもないと、同時に処理してしまうと、最終的な預金残高に不整合が起きうる。
この処理を Lock-free にするには、すべての預入要求を管理するスレッドを作り、そこに、Wait-free のキューを作り、
ATMはそのキューに対して非同期にロックをかけることなく預入要求を入れ、預入要求を管理するスレッドはキューから順次取り出し、預金残高を更新する。
このやり方の方が、わざわざ Lock-free の預金アルゴリズムを作るよりも、プログラミングは楽である。
さらに、この手法は、キューがWait-freeであるので、Lock-free なだけでなく、Wait-freeでもある。
預金残高の書き換え処理をn並列で行いたいなら、n個Wait-freeキューを作り、口座番号をnで割った余りでどのキューに入れるか決めるという方法で対応できる。
345:デフォルトの名無しさん
23/01/06 00:44:53.18 Hz2m3Wai0.net
sndvol.exeやeartrumpetなどのアプリごとの音量調整アプリはどうやって実現させているのでしょうか
アプリごとに音量調整できるWindowsAPIがあるのですか?