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


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

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



1 名前:デフォルトの名無しさん [2020/09/07(月) 18:56:51.64 ID:4fn7uU/g.net]
スレ立てるまでもない質問はここで 154匹目

374 名前:デフォルトの名無しさん [2020/09/30(水) 20:29:48.47 ID:qrMJGMd/.net]
ショウガ無いなぁー

375 名前:デフォルトの名無しさん [2020/09/30(水) 20:37:06.52 ID:FNqhIy19.net]
>>373
石けん作ったことあるんでしょ?
だったら消毒液をつくるにはどうすればいいかもわかるよね?
それも水でやりたいなら電気分解じゃないかな

376 名前:デフォルトの名無しさん mailto:sage [2020/09/30(水) 21:10:22.10 ID:s9/SbtbT.net]
switchでおみくじゲーム(笑)を使っているレベルの人間が、
GitとかGithubとかバージョン管理ソフトを使うメリットってありますかね?
とりあえず使ってみたら、「なんでいままで使わなかったんだ!」って感動しますかね?

377 名前:デフォルトの名無しさん mailto:sage [2020/09/30(水) 21:10:53.31 ID:s9/SbtbT.net]
×使っている
〇作っている

378 名前:デフォルトの名無しさん mailto:sage [2020/09/30(水) 21:23:43.82 ID:pc2vUBN1.net]
>>376
感動のあまり、PCゲームのセーブデータまでGitでバージョン管理するようになる

379 名前:デフォルトの名無しさん mailto:sage [2020/09/30(水) 21:35:48.35 ID:s9/SbtbT.net]
絶対嘘だ(笑)

380 名前:デフォルトの名無しさん mailto:sage [2020/09/30(水) 21:38:59.03 ID:mE7lggX7.net]
>>378
ソースコードじゃないから意味がないな

381 名前:デフォルトの名無しさん [2020/09/30(水) 21:42:26.84 ID:pe+tBhYh.net]
>>375
Webアプリと言ってもフレームワークだよりだったのでわからないです

382 名前:デフォルトの名無しさん mailto:sage [2020/09/30(水) 21:50:38.24 ID:pc2vUBN1.net]
>>380
いや、マジよ
マインクラフトとかのコンストラクション系や、RPGでもキャラビルドが取り返しつかない系でセーブを戻すため



383 名前:デフォルトの名無しさん mailto:sage [2020/09/30(水) 21:54:40.29 ID:mE7lggX7.net]
>>382
だからソースコードじゃないからソースコード管理システム管理する意味がない
「ソースコードの断片を再利用できないから」
そういうのはただのバックアップソフトで十分

384 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 00:13:27.89 ID:511kcisg.net]
double型で整数/整数=整数となる計算をした時は正確な値になりますか?
どの整数もdouble型で正確に表せる範囲とします

例えば
ceil(8.0/3.0)=3.0
ceil(9.0/3.0)=3.0←これが4.0になってしまう心配
ceil(10.0/3.0)=4.0

385 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 00:17:10.73 ID:5ZG2Vz6Q.net]
>>384
「double型で正確に表せる範囲」をお前はちゃんと知ってるんか?
ちょっといってみぃよ

386 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 00:22:27.53 ID:U2i45Vms.net]
処理系次第としか言えないかなぁ
テストするしかないよ

387 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 00:22:29.39 ID:511kcisg.net]
>>385
53bitの範囲ですか…?

388 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 00:26:34.47 ID:5ZG2Vz6Q.net]
>>387
仮数部53bit(52bit+符号1bit)だな
その意味はわかってるか?

53bitで正確に表せる範囲であれば正確に表せる
つまりあんたは意味がないことを聞いてるんだよ

正しく表せる数字は正しく表せますか?と言ってる
正確に表せる範囲であれば正確に表せるよw

389 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 01:28:46.90 ID:theiHz1p.net]
浮動小数点は誤差を含むから、a == b みたいに比較しない

誤差の範囲内で、OK とする。
b - 誤差 <= a <= b + 誤差

a == b を使いたいなら、整数型へ変換して比較すべき

390 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 05:42:25.73 ID:/D1HJJ3Q.net]
>>383
ブランチ管理してくれるならバックアップでもいいかな
あとリストアも自動で
BunBackupでそこまでの機能ってあったっけ?

391 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 07:57:28.84 ID:8lHIA6al.net]
>>384
IEEE754の規定では、9.0/3.0なら正確に3.0を返さなければならないはず。

392 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 13:06:08.35 ID:Fo5IxMM2.net]
名前空間で分類してるからクラス名を積極的に短くする
vs
かぶらないに越したことはないのでクラス名は長く書く

どちらが正解なのでしょうか?

//shared code
namespace Domain {
Foo
FooDetail
Bar
IFooRepository
IBarRepository
IFooService
IBarService
}



393 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 13:06:41.82 ID:Fo5IxMM2.net]
//長い名前派
TooLongName.cshtml
namespace UI {
TooLongNameViewModel
TooLongNameFooViewModel
TooLongNameFooDetailViewModel
TooLongNameBarViewModel
TooLongNameModelMapper
TooLongNameController
TooLongNameFacade
TooLongNameOther
}

//短い名前派
TooLongName.cshtml
namespace UI {
TooLongNameController // 設定より規約パターンのために短くできない
namespace TooLongNameDetail {
namespace ViewModels {
Foo
FooDetail
Bar
}
ModelMapper
Facade
Other
}}

394 名前:デフォルトの名無しさん [2020/10/01(木) 13:15:51.37 ID:OaA9a4hN.net]
この手のものに正解は無いので
名前空間の方が好みだし、名前は短い方がいい

395 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 13:43:58.49 ID:w51Lc0nW.net]
名前空間使って短くするほうが圧倒的に良いと思うけど切り方が微妙

396 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 13:51:05.30 ID:Fo5IxMM2.net]
>>395
参考までにあなたならどのように切りますか?

397 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 14:35:38.69 ID:hOjhiI7q.net]
条件式と条件文って同じ意味ですか?

398 名前:蟻人間 mailto:sage [2020/10/01(木) 14:46:07.74 ID:7hENrO7v.net]
>>397
多分、条件式の方が正しいと思うが、
250個以上のプログラム言語があるから、
条件文も正しいかも知れない。

399 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 15:42:41.06 ID:bVq+7g5F.net]
値を返さないものが文、返すものが式って感じじゃね

400 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 18:18:17.46 ID:mFu9oEu2.net]
まあ確かに言語によるかもしれんけど
条件文とは例えばif文とかの全体を言っていて
if(ここ) に入れるのが条件式と言ってるとかじゃないかね?

401 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 18:29:37.75 ID:Njtwj5ZN.net]
>>400
よく使われている常識的な言語だとそうだろうね。
独特の用語の使い方をする言語もあるから責任は持てないけれど。

402 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 18:40:24.68 ID:w51Lc0nW.net]
>>396
オーソドックスにやるならView/ViewModel/Controllerは
Presentation Layerの中に並列に切る

WebUI.Views
WebUI.ViewModels
WebUI.Controllers

アーキテクチャ次第だから絶対にこうすべきという物があるわけではないけど
とりあえずメジャーなサンプルプロジェクトを参考にしてみては?
https://github.com/dotnet-architecture/eShopOnWeb
https://github.com/jasontaylordev/NorthwindTraders



403 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 22:50:18.59 ID:theiHz1p.net]
>>392
Ruby on Rails では、1単語が多い

bookmark, comment, todo とか、皆が使う

404 名前:デフォルトの名無しさん mailto:sage [2020/10/02(金) 02:12:32.96 ID:nnGmkCD2.net]
認証ありのSPAをSpringBoot2とReactで実現したくて勉強をしています
いろんなサンプルプロジェクトを落としてきて見ているのですがどれも認証トークンをローカルストレージに保存する手法で作ってます

こちらの記事ではそういう大事な情報をローカルストレージに入れるのはマズいと書かれていました
https://techracho.bpsinc.jp/hachi8833/2019_10_09/80851

個人的には記事の内容の通りだと思うのですが多数のプロジェクトで使用されているからには何か対策があるからなのでしょうか

またローカルストレージを使用しない手法を使用したプロジェクトをご存知であれば教えていただきたいです

405 名前:デフォルトの名無しさん mailto:sage [2020/10/02(金) 06:04:35.69 ID:gfOt11Rw.net]
>>404
その記事でcookie使えと書いてあるじゃないか

406 名前:デフォルトの名無しさん mailto:sage [2020/10/02(金) 13:31:20.50 ID:aQA5qaSB.net]
MVCフレームワークならいつもと同じようにCookie認証すればOK
すると通常リクエストにもAJAXリクエストにも自動的に認証Cookieが乗っかる
後はCSRF対策用のヘッダーだけ載せ忘れないようにAJAXリクエストを共通コードでラップしておけば完璧

407 名前:デフォルトの名無しさん mailto:sage [2020/10/02(金) 17:28:18.61 ID:IzIkeFXj.net]
ありがとうございます
Cookie認証で実装しているプロジェクトを探してみます

408 名前:デフォルトの名無しさん mailto:sage [2020/10/02(金) 18:00:19.42 ID:J9beoHbU.net]
これでも結局はクッキーで送られたIDでAPIをアクセスするんやろ?
一緒やんと思うんやけど何故これでセキュアと言い切れるのか

409 名前:デフォルトの名無しさん mailto:sage [2020/10/02(金) 18:25:31.43 ID:SqfSpP9U.net]
XSS対策 http only Cookie
盗聴対策 secure Cookie
CSRF対策 アンチフォージェリトークン

弱点は、ないッ!

410 名前:デフォルトの名無しさん mailto:sage [2020/10/02(金) 18:38:47.74 ID:gfOt11Rw.net]
>>408
雑に説明するなら、http only cookie はスクリプトからアクセスできないから
とりあえずCSRF周りの記事を読み漁るといい

411 名前:デフォルトの名無しさん mailto:sage [2020/10/02(金) 18:44:34.78 ID:gfOt11Rw.net]
>>409
強引に難しいルートとしてだけど攻略不可能でもないと思う
DNSポイズニングで偽証明局掴まされて、中間者攻撃でTLSを中継されたらどうしようもない

412 名前:デフォルトの名無しさん mailto:sage [2020/10/02(金) 18:50:42.09 ID:1uQRz/LD.net]
XSSされたらCookie取られなくても即死じゃね?
正規のエンドポイントに不正リクエスト送られてアウト



413 名前:デフォルトの名無しさん mailto:sage [2020/10/02(金) 19:59:33.86 ID:J9beoHbU.net]
>>410
そんなのコードだけの話でパケットみたら丸わかりやん・・・
こういうのでセキュアってなんか違うんじゃね?
CSRFってこれもトークンなんだし結局は一緒かと

414 名前:デフォルトの名無しさん mailto:sage [2020/10/02(金) 20:53:53.02 ID:gfOt11Rw.net]
>>413
えーと、ド素人乙

415 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 06:38:15.58 ID:shIcxUBj.net]
自分で作ったWebAPI(Lambda)からデータをGETするだけのサイトを作りたいのですが、フロントも自分で作った方がセキュリティ的に安全なのでしょうか?
もしセキュリティ的に問題無いのでしたらlivedoorブログとかで代用したいです

416 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 07:41:49.30 ID:Kf2+e+3P.net]
>>415
問題ない
GETは普通のHTTP GETだから

417 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 10:12:33.85 ID:GRmzBiTi.net]
パスワード再設定のためにワンタイムパスワードをメールで送るパターンを採用してるシステムがよくあるけど
このメールって盗聴されたりしないんですか?

418 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 10:21:50.46 ID:rJVT04kJ.net]
>>417
starttls

419 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 10:25:18.27 ID:wMNyZfVn.net]
>>418
これってクライアントから直近のSMTPサーバーまでの暗号化を強いるだけじゃないんですか?
SMTPリレー中のサーバーが1つでも非対応の場合は盗聴されてしまうのでは

420 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 10:51:42.71 ID:rJVT04kJ.net]
>>419
そうだけど、それはそのサイトの問題じゃないよね
変なメールプロバイダ使ってる人の問題

それに実際の話、サイトのOTPだとバレたとしても何か問題ある?
アカウントと紐付いて初めて問題になるから

421 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 10:54:54.15 ID:rJVT04kJ.net]
>>420
あ、いや問題はあるか
問題のあるプロバイダ使ってる人のアカウントを特定できるなら、パスワード再設定して盗聴したOTPでログインとか

422 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 10:58:51.68 ID:rJVT04kJ.net]
>>419
まあ、大体がメールのリレーに割り込むこと自体のハードルがかなり高いし



423 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 11:31:38.26 ID:wMNyZfVn.net]
やっぱりメールだとセキュアではないですよね…
なんでこんな脆弱なプロトコルがスタンダードのまま野放しになってるんだろう

424 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 11:46:14.18 ID:TFoea3MP.net]
メール送信先と、OTPの発行されたシステムのアカウントの紐付けはどうやるんだろう
メールにアカウントのIDが書いてあったり下手なURLが書いてあったとしたら設計側の問題だよな

425 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 12:14:10.63 ID:iCV76+ee.net]
セキュリティを気にするのだったらメールで認証するなということだな
昔の技術にただ乗りしているのだからメールシステムに問題があるんじゃなくて
採用する側が問題

426 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 12:38:01.90 ID:FL3eMRUo.net]
セキュリティに「これしとけば完璧」なんてないのよ、いたちごっこだから
した方がしないよりはマシ

複数からの同時ログインを特別扱いしとけば横取りされたらすぐわかる、わからないよりはマシ
OTPは時限だし

427 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 12:42:02.51 ID:ZslaW4c9.net]
1. ランダムトークン、メールアドレス、パスワード、タイムスタンプ、IP、セッションIDなど仮登録
2. 検証URLのクエリパラメータにランダムトークンのみを付けてメール送信
3. 検証URLにアクセスが来たらランダムトークン、有効期限、IP、セッションIDなど検証してメールアドレス、パスワードを本登録

メールはどう頑張っても盗聴される可能性がある

検証を厳しくすると、登録はPCだけどメール確認はスマホ、のパターンに対応できなくなる

検証を厳しくしても、メール盗聴者によるなりすましは防げない

検証を厳しくすると、うっかりクリック狙いのなりすましを防げる

初期登録の場合、メール盗聴されても個人情報、機密情報が抜かれることはないが、勝手に本登録されてしまうことはある

パスワード強制リセットの場合、ランダムパスワードをメール通知するか、メール認証の後で再入力を促すしか方法がないので、メール盗聴されるとアウト
リセット後、可能な限り速やかに、WEB画面からパスワード変更すべし

こんなところですかね
セキュリティ難しすぎて辛い

428 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 12:51:33.85 ID:1IyBCfpu.net]
復号化するキーを画面上で発行してメールの中身を暗号化したり
ワンタイムパスワードをセッションID使って暗号化しておいて
同じセッションじゃないと使えないようにしたりすれば
メールアドレス == アカウントでもだいぶセキュアになるかも

でもパスワード忘れるような人にとってそういうのは異常にハードル高くて
サポートコストが増大するから特別なサイト以外はやらない
利便性とセキュリティのほどほどのバランス

429 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 13:03:48.16 ID:EzoVu8Do.net]
>>428
盗聴者がセッション開始することもできるからそれでは防げないかと

盗聴者:盗聴対象メールアドレスを入力、パスワード再設定セッション開始
盗聴者:パスワード再設定メールを盗聴、ワンタイムパスワード取得
盗聴者:ワンタイムパスワードを入力、パスワード再設定
盗聴者:パスワード再設定セッション終了

〜〜〜〜
正規ユーザー:身に覚えのないパスワード再設定メールを受信(この時点で手遅れ)



メールだとパスワード再設定が脆弱すぎる
パスワード再設定はメールじゃなく電話、SMSを必須にしたほうがいいのかも

430 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 13:14:51.58 ID:rJVT04kJ.net]
>>429
https://blog.kaspersky.co.jp/hacking-cellular-networks/9681/
これ5Gでも問題になってる
豆な

431 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 13:24:35.60 ID:Y8AbULhw.net]
不正アクセスに関しましては全て被害届を提出します
過去に実績もあります
って書いてればビビリからは攻撃受けないだろ

まぁ自動化して攻撃してるだろうから意味は無いかもしれんが

432 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 14:17:48.67 ID:1IyBCfpu.net]
>>429
標的のメールが常に盗聴可能な状態でパスワード再設定に必要な情報も持ってるって前提ならね

セキュリティに100%はないから
どういう種類の攻撃に対してどの程度の防御ができてるのかと
その攻撃が実現しうるリスクの程度で評価しないと



433 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 14:23:06.46 ID:TFoea3MP.net]
なるほどメールアドレスがそのままアカウントIDになってるサービスでは盗聴に弱いのか
ならパスワード強制リセットのページにも別のワンタイムトークンを表示しておけば……いやそんなことしなくてもWeb側のセッションIDとメールの認証キーを内部で照合すれば、セッション固定攻撃と組み合わせない限りは安全なのでは?

434 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 14:25:13.05 ID:TFoea3MP.net]
って428が書いてたわ
すまん見落としてた

435 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 14:45:21.88 ID:TFoea3MP.net]
メール受信による認証は盗聴に弱いから、多要素認証の一部として効果を発揮するのであって、単独でパスワードリセットができるのは安全性が低い
せめて生年月日とか電話番号とかを合わせて聞くようなリセット方式にしないと心許ないってところかな

436 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 15:23:35.99 ID:iCV76+ee.net]
セキュリティに100%はない
しかしマスコミをそれを知ってか知らずか
破られると猛烈にたたく
システムを作る側としては解がないわ

437 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 15:35:47.09 ID:iXmRISfh.net]
参考にAmazonのパスワードリセットのワークフローを調べた
1. メールアドレス入力、サブミット
2. ワンタイムパスワードメール受信
3. ワンタイムパスワード入力、サブミット
4. 新パスワード入力、サブミット

盗聴者が攻撃しようとしたらこれで攻撃できちゃうのでは?
1. 攻撃対象メールアドレス入力、サブミット
2. ワンタイムパスワードメール盗聴
3. ワンタイムパスワード入力、サブミット
4. 新パスワード入力、サブミット

Amazonが採用してるぐらいだからメール盗聴のリスクは考えなくてもいいのかな?
もう、わかんねえなこれ

438 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 15:38:28.30 ID:iXmRISfh.net]
>>435
あー、なるほど、そのための秘密の3つの質問か
アレ、なんのためにあるのか謎だったけど必要な物だったんだな

439 名前:397 mailto:sage [2020/10/03(土) 17:03:59.82 ID:WbMrpwtO.net]
>>398-401
レスありがとうございます

そもそもプログラムの世界でいう「式」って、何なんですか?
「文」は理解できたけれど、「式」がいまいちピント来ません。
(どうしても算数の「式」のイメージが強くて抜けない)

文を構成する要素を「式」だと考えればよいですか?

440 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 17:17:01.79 ID:QafhOYYm.net]
式は評価できるもの
評価すると値やオブジェクトを得る
式は式や文の構成要素となる

441 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 17:22:58.65 ID:QafhOYYm.net]
式は式、項、因子から構成される
式は因子の構成要素にもなる

442 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 17:31:44.75 ID:xp+vOEo3.net]
Javaのifはif文なので直接変数に代入できない
Kotlinのifはif式なので直接変数に代入できる



443 名前:デフォルトの名無しさん [2020/10/03(土) 18:57:42.99 ID:Hog1AJs4.net]
プログラムなんてレベルじゃないので申し訳ない質問ですが、スプレッドシートで同じシート内の別タブにリンク飛ばしたい場合、PCでは飛べるけどiPhoneのアプリからは、「リンクを取得」を押しても飛べないんですけど、仕様ですか?やり方あったら教えてほしいです。

444 名前:デフォルトの名無しさん [2020/10/03(土) 20:41:33.18 ID:5QIBKgVv.net]
仕様です

445 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 23:15:12.00 ID:/wA+nWqo.net]
Ruby では、if は文ではなく式なので、戻り値を返す。
Rubyの影響を受けている、Kotlin, Rust, Go など、最近の言語は式重視

p res = if 1 + 2 == 4
"yes"
else
"no"
end

res は、no となる

446 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 23:29:33.97 ID:jHC6YOpP.net]
SQLで四則演算させたりするのはあまり良くないのでしょうか?
そういう処理はアプリ側だけにしてSQLは極力シンプルにするのが理想ですか?

447 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 23:49:59.22 ID:AAeCyfpr.net]
そんな質問をする程度のレベルなら極力SQLに寄せた方がいい
プログラミング言語は自由度がとても高いので、酷いコードは本当にどうしようもない底無しのビチグソであり、深刻な技術的負債となる
それに比べればSQLは巧拙次第でパフォーマンスの差はあれど、バカでもそこまでソフトウェアの品質に壊滅的影響を与えることは少ない

448 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 23:58:47.01 ID:ZEneYrh5.net]
わかりました。ではこれからSQLを電卓アプリ代わりに使っていきます。

449 名前: mailto:sage [2020/10/04(日) 01:10:36.93 ID:47GmJZ02.net]
>>445
それは C の条件演算子/三項演算子(どちらもダサいネーミングだと思います)とか lisp の cond 特殊構文などの形で過去にありましたね

450 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 01:13:51.71 ID:hibiyDxp.net]
>>446
素人は全部SQLでいいよ

451 名前:デフォルトの名無しさん [2020/10/04(日) 01:56:06.09 ID:iw0dJx5p.net]
Fortranでopenmpやり始めたんですが、遅いので調べてみたら、openmpを呼ばないで(シリアルと同じコード)単にOMP_NUM_THREADS =2とするだけで、OMP_NUM_THREADS =1より遅くなってしまうんですが、どういうことなんでしょうか。

452 名前:デフォルトの名無しさん [2020/10/04(日) 06:04:41.57 ID:4IGvE5yV.net]
>>446
場合による。



453 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 06:54:10.83 ID:9mv21uX9.net]
SQLで頑張らなきゃいけないのは結局テーブル設計がダメってこと

454 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 06:55:31.75 ID:l91kU2Gr.net]
>>453
テーブル設計がいいと、SQLで頑張らなくていい例を
1つでいいからあげてください
ないならそのまま逃げて構いません(笑)

455 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 08:25:36.50 ID:9mv21uX9.net]
>>454
クソテーブル設計者さん朝から発狂しちゃった……w

456 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 09:17:31.94 ID:t+5MH57F.net]
>>453
SQLで頑張らなきゃいけない場合と
SQLで頑張ることを選択した場合を区別してるなら
おおむね同意

457 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 09:38:14.88 ID:QfJSems3.net]
テーブル設計がシステム要求に対して適切じゃなかったからSQLが複雑になったなんてのはあるけれど
逆は必ずしも真じゃないわな。

458 名前:デフォルトの名無しさん [2020/10/04(日) 09:50:38.92 ID:1rOiD+nc.net]
>>445
Haskellの事も忘れないで・・・。
if式も有るけど、パターンマッチでifそのものも作れますよ。

myif True t f = t
myif False t f = f

先行評価だと、引数を全部評価しちゃうから、正常に動作しない。
遅延評価だからこそif式を自作出来る。

459 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 10:00:31.68 ID:hibiyDxp.net]
テーブル設計よりアプリケーション設計のほうがSQLへの影響が大きい
リポジトリパターンを採用すればテーブル設計が糞だとしてもそれほど複雑なSQLにはならない
スマートUIを採用するとテーブル設計が綺麗でもほぼ確実にSQLが混沌に導かれる

460 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 10:11:28.99 ID:wkZyx06T.net]
>>459
モデル設計の話をDBとごっちゃにしている点で、そのパターン論争は糞だと思うけど

461 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 10:45:28.99 ID:8xouqNX0.net]
ひどい脱線で言い争ってるなあ
最初の質問は
>SQLで四則演算させたりするのはあまり良くないのでしょうか?
だぞ
質問者そっちのけで言い争って勝って自分の有能さを誇示したいのか?

462 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 10:53:41.56 ID:hibiyDxp.net]
>>460
SQLはDBモデルからAPモデルへの関数(射影)でしかない
なのでSQLを考えるときにAPモデルのことを考えないということはありえない

そして関数(射影)というものはどちらかというとINよりもOUTの構造が綺麗なほうが綺麗に実装しやすい
複雑なデータを綺麗に整頓するよりもデータを意図的に複雑化するほうが難しいからだ

であるからAPモデルが糞(スマートUI)ならDBモデルが糞であろうとなかろうとSQLも糞と化す
APモデルが綺麗(DDD, リポジトリパターン)ならDBが多少糞でもSQLはそれほど糞にはならない



463 名前:デフォルトの名無しさん [2020/10/04(日) 10:57:56.20 ID:oGeBy4Z3.net]
>>462
糞はフンと読みますかクソと読みますか?

464 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 10:58:26.92 ID:8xouqNX0.net]
>>446
開発者やチームのスキルが常軌を逸したびちぐそレベルではないと仮定して
四則演算やそれに類するロジックなんてSQLでやらないほうがいいと思う
SQLの中のロジックに対してユニットテストが書けない
バグがあるときデバッガで途中経過を追えない
SQLにロジックを入れるとしたら、インデックスが活きる操作等、性能的な意図があるもの

465 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 11:01:28.78 ID:8xouqNX0.net]
SQLに処理を寄せるとDB間の移植性も落ちる

466 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 11:06:48.64 ID:wkZyx06T.net]
>>462
だからモデル設計のみで考えるべき問題
SQLなんて低レベルのレイヤーの都合を持ち込んで考えるからおかしくなる
だから、その論争は糞

467 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 11:13:04.36 ID:IHMs+qq2.net]
SQLに色んな処理を書く人は
PHPとHTMLをごちゃ混ぜにしてるぐらいセンスないね

468 名前:デフォルトの名無しさん [2020/10/04(日) 12:23:00.03 ID:oCHjZLK6.net]
計算は別のところでやって
DBにはその答えを全部記憶していけばいい
究極のメモ化が完了する

469 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 13:06:14.51 ID:hibiyDxp.net]
まとめ

* 原則的にはSQLにドメインロジックを書かない
* パフォーマンスなど理由があるならば原則を破ってよい
* 原則を破る場合は積極的にドキュメンテーションすべし

次の方どうぞ

470 名前:デフォルトの名無しさん [2020/10/04(日) 13:29:28.01 ID:4IGvE5yV.net]
>>468
計算した結果が出るViewを作ったりしてな。
マテリアルビューとかでやれば普通の表と似たようなものか。

471 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 13:38:21.04 ID:xsUyERPe.net]
小学生です。
今九九を自動化するためにDBに1の段のテーブル、2の段のテーブル……と作っています。
例えば8×7の場合は
select result from 8_no_dan where kakeru_aite = 7;でresultに56が出てきます。
これって商品化できますか?

472 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 13:45:41.53 ID:hibiyDxp.net]
売れるかどうかはともかく商品化は可能なのでは?



473 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 13:47:45.30 ID:t5q2DIGq.net]
うん、商品にしても構わんよね
俺は買わんけど

474 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 14:20:36.68 ID:ykILSOcJ.net]
>>455
やっぱり逃げましたね(笑)






[ 続きを読む ] / [ 携帯版 ]

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

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