スレ立てるまでもない質問はここで 154匹目
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/09/07(月) 18:56:51.64ID:4fn7uU/g スレ立てるまでもない質問はここで 154匹目
396デフォルトの名無しさん
2020/10/01(木) 13:51:05.30ID:Fo5IxMM2 >>395
参考までにあなたならどのように切りますか?
参考までにあなたならどのように切りますか?
397デフォルトの名無しさん
2020/10/01(木) 14:35:38.69ID:hOjhiI7q 条件式と条件文って同じ意味ですか?
398蟻人間 ◆T6xkBnTXz7B0
2020/10/01(木) 14:46:07.74ID:7hENrO7v399デフォルトの名無しさん
2020/10/01(木) 15:42:41.06ID:bVq+7g5F 値を返さないものが文、返すものが式って感じじゃね
400デフォルトの名無しさん
2020/10/01(木) 18:18:17.46ID:mFu9oEu2 まあ確かに言語によるかもしれんけど
条件文とは例えばif文とかの全体を言っていて
if(ここ) に入れるのが条件式と言ってるとかじゃないかね?
条件文とは例えばif文とかの全体を言っていて
if(ここ) に入れるのが条件式と言ってるとかじゃないかね?
401デフォルトの名無しさん
2020/10/01(木) 18:29:37.75ID:Njtwj5ZN402デフォルトの名無しさん
2020/10/01(木) 18:40:24.68ID:w51Lc0nW >>396
オーソドックスにやるならView/ViewModel/Controllerは
Presentation Layerの中に並列に切る
WebUI.Views
WebUI.ViewModels
WebUI.Controllers
アーキテクチャ次第だから絶対にこうすべきという物があるわけではないけど
とりあえずメジャーなサンプルプロジェクトを参考にしてみては?
https://github.com/dotnet-architecture/eShopOnWeb
https://github.com/jasontaylordev/NorthwindTraders
オーソドックスにやるならView/ViewModel/Controllerは
Presentation Layerの中に並列に切る
WebUI.Views
WebUI.ViewModels
WebUI.Controllers
アーキテクチャ次第だから絶対にこうすべきという物があるわけではないけど
とりあえずメジャーなサンプルプロジェクトを参考にしてみては?
https://github.com/dotnet-architecture/eShopOnWeb
https://github.com/jasontaylordev/NorthwindTraders
403デフォルトの名無しさん
2020/10/01(木) 22:50:18.59ID:theiHz1p404デフォルトの名無しさん
2020/10/02(金) 02:12:32.96ID:nnGmkCD2 認証ありのSPAをSpringBoot2とReactで実現したくて勉強をしています
いろんなサンプルプロジェクトを落としてきて見ているのですがどれも認証トークンをローカルストレージに保存する手法で作ってます
こちらの記事ではそういう大事な情報をローカルストレージに入れるのはマズいと書かれていました
https://techracho.bpsinc.jp/hachi8833/2019_10_09/80851
個人的には記事の内容の通りだと思うのですが多数のプロジェクトで使用されているからには何か対策があるからなのでしょうか
またローカルストレージを使用しない手法を使用したプロジェクトをご存知であれば教えていただきたいです
いろんなサンプルプロジェクトを落としてきて見ているのですがどれも認証トークンをローカルストレージに保存する手法で作ってます
こちらの記事ではそういう大事な情報をローカルストレージに入れるのはマズいと書かれていました
https://techracho.bpsinc.jp/hachi8833/2019_10_09/80851
個人的には記事の内容の通りだと思うのですが多数のプロジェクトで使用されているからには何か対策があるからなのでしょうか
またローカルストレージを使用しない手法を使用したプロジェクトをご存知であれば教えていただきたいです
405デフォルトの名無しさん
2020/10/02(金) 06:04:35.69ID:gfOt11Rw >>404
その記事でcookie使えと書いてあるじゃないか
その記事でcookie使えと書いてあるじゃないか
406デフォルトの名無しさん
2020/10/02(金) 13:31:20.50ID:aQA5qaSB MVCフレームワークならいつもと同じようにCookie認証すればOK
すると通常リクエストにもAJAXリクエストにも自動的に認証Cookieが乗っかる
後はCSRF対策用のヘッダーだけ載せ忘れないようにAJAXリクエストを共通コードでラップしておけば完璧
すると通常リクエストにもAJAXリクエストにも自動的に認証Cookieが乗っかる
後はCSRF対策用のヘッダーだけ載せ忘れないようにAJAXリクエストを共通コードでラップしておけば完璧
407デフォルトの名無しさん
2020/10/02(金) 17:28:18.61ID:IzIkeFXj ありがとうございます
Cookie認証で実装しているプロジェクトを探してみます
Cookie認証で実装しているプロジェクトを探してみます
408デフォルトの名無しさん
2020/10/02(金) 18:00:19.42ID:J9beoHbU これでも結局はクッキーで送られたIDでAPIをアクセスするんやろ?
一緒やんと思うんやけど何故これでセキュアと言い切れるのか
一緒やんと思うんやけど何故これでセキュアと言い切れるのか
409デフォルトの名無しさん
2020/10/02(金) 18:25:31.43ID:SqfSpP9U XSS対策 http only Cookie
盗聴対策 secure Cookie
CSRF対策 アンチフォージェリトークン
弱点は、ないッ!
盗聴対策 secure Cookie
CSRF対策 アンチフォージェリトークン
弱点は、ないッ!
410デフォルトの名無しさん
2020/10/02(金) 18:38:47.74ID:gfOt11Rw411デフォルトの名無しさん
2020/10/02(金) 18:44:34.78ID:gfOt11Rw412デフォルトの名無しさん
2020/10/02(金) 18:50:42.09ID:1uQRz/LD XSSされたらCookie取られなくても即死じゃね?
正規のエンドポイントに不正リクエスト送られてアウト
正規のエンドポイントに不正リクエスト送られてアウト
413デフォルトの名無しさん
2020/10/02(金) 19:59:33.86ID:J9beoHbU414デフォルトの名無しさん
2020/10/02(金) 20:53:53.02ID:gfOt11Rw >>413
えーと、ド素人乙
えーと、ド素人乙
415デフォルトの名無しさん
2020/10/03(土) 06:38:15.58ID:shIcxUBj 自分で作ったWebAPI(Lambda)からデータをGETするだけのサイトを作りたいのですが、フロントも自分で作った方がセキュリティ的に安全なのでしょうか?
もしセキュリティ的に問題無いのでしたらlivedoorブログとかで代用したいです
もしセキュリティ的に問題無いのでしたらlivedoorブログとかで代用したいです
416デフォルトの名無しさん
2020/10/03(土) 07:41:49.30ID:Kf2+e+3P417デフォルトの名無しさん
2020/10/03(土) 10:12:33.85ID:GRmzBiTi パスワード再設定のためにワンタイムパスワードをメールで送るパターンを採用してるシステムがよくあるけど
このメールって盗聴されたりしないんですか?
このメールって盗聴されたりしないんですか?
418デフォルトの名無しさん
2020/10/03(土) 10:21:50.46ID:rJVT04kJ >>417
starttls
starttls
419デフォルトの名無しさん
2020/10/03(土) 10:25:18.27ID:wMNyZfVn420デフォルトの名無しさん
2020/10/03(土) 10:51:42.71ID:rJVT04kJ >>419
そうだけど、それはそのサイトの問題じゃないよね
変なメールプロバイダ使ってる人の問題
それに実際の話、サイトのOTPだとバレたとしても何か問題ある?
アカウントと紐付いて初めて問題になるから
そうだけど、それはそのサイトの問題じゃないよね
変なメールプロバイダ使ってる人の問題
それに実際の話、サイトのOTPだとバレたとしても何か問題ある?
アカウントと紐付いて初めて問題になるから
421デフォルトの名無しさん
2020/10/03(土) 10:54:54.15ID:rJVT04kJ422デフォルトの名無しさん
2020/10/03(土) 10:58:51.68ID:rJVT04kJ >>419
まあ、大体がメールのリレーに割り込むこと自体のハードルがかなり高いし
まあ、大体がメールのリレーに割り込むこと自体のハードルがかなり高いし
423デフォルトの名無しさん
2020/10/03(土) 11:31:38.26ID:wMNyZfVn やっぱりメールだとセキュアではないですよね…
なんでこんな脆弱なプロトコルがスタンダードのまま野放しになってるんだろう
なんでこんな脆弱なプロトコルがスタンダードのまま野放しになってるんだろう
424デフォルトの名無しさん
2020/10/03(土) 11:46:14.18ID:TFoea3MP メール送信先と、OTPの発行されたシステムのアカウントの紐付けはどうやるんだろう
メールにアカウントのIDが書いてあったり下手なURLが書いてあったとしたら設計側の問題だよな
メールにアカウントのIDが書いてあったり下手なURLが書いてあったとしたら設計側の問題だよな
425デフォルトの名無しさん
2020/10/03(土) 12:14:10.63ID:iCV76+ee セキュリティを気にするのだったらメールで認証するなということだな
昔の技術にただ乗りしているのだからメールシステムに問題があるんじゃなくて
採用する側が問題
昔の技術にただ乗りしているのだからメールシステムに問題があるんじゃなくて
採用する側が問題
426デフォルトの名無しさん
2020/10/03(土) 12:38:01.90ID:FL3eMRUo セキュリティに「これしとけば完璧」なんてないのよ、いたちごっこだから
した方がしないよりはマシ
複数からの同時ログインを特別扱いしとけば横取りされたらすぐわかる、わからないよりはマシ
OTPは時限だし
した方がしないよりはマシ
複数からの同時ログインを特別扱いしとけば横取りされたらすぐわかる、わからないよりはマシ
OTPは時限だし
427デフォルトの名無しさん
2020/10/03(土) 12:42:02.51ID:ZslaW4c9 1. ランダムトークン、メールアドレス、パスワード、タイムスタンプ、IP、セッションIDなど仮登録
2. 検証URLのクエリパラメータにランダムトークンのみを付けてメール送信
3. 検証URLにアクセスが来たらランダムトークン、有効期限、IP、セッションIDなど検証してメールアドレス、パスワードを本登録
メールはどう頑張っても盗聴される可能性がある
検証を厳しくすると、登録はPCだけどメール確認はスマホ、のパターンに対応できなくなる
検証を厳しくしても、メール盗聴者によるなりすましは防げない
検証を厳しくすると、うっかりクリック狙いのなりすましを防げる
初期登録の場合、メール盗聴されても個人情報、機密情報が抜かれることはないが、勝手に本登録されてしまうことはある
パスワード強制リセットの場合、ランダムパスワードをメール通知するか、メール認証の後で再入力を促すしか方法がないので、メール盗聴されるとアウト
リセット後、可能な限り速やかに、WEB画面からパスワード変更すべし
こんなところですかね
セキュリティ難しすぎて辛い
2. 検証URLのクエリパラメータにランダムトークンのみを付けてメール送信
3. 検証URLにアクセスが来たらランダムトークン、有効期限、IP、セッションIDなど検証してメールアドレス、パスワードを本登録
メールはどう頑張っても盗聴される可能性がある
検証を厳しくすると、登録はPCだけどメール確認はスマホ、のパターンに対応できなくなる
検証を厳しくしても、メール盗聴者によるなりすましは防げない
検証を厳しくすると、うっかりクリック狙いのなりすましを防げる
初期登録の場合、メール盗聴されても個人情報、機密情報が抜かれることはないが、勝手に本登録されてしまうことはある
パスワード強制リセットの場合、ランダムパスワードをメール通知するか、メール認証の後で再入力を促すしか方法がないので、メール盗聴されるとアウト
リセット後、可能な限り速やかに、WEB画面からパスワード変更すべし
こんなところですかね
セキュリティ難しすぎて辛い
428デフォルトの名無しさん
2020/10/03(土) 12:51:33.85ID:1IyBCfpu 復号化するキーを画面上で発行してメールの中身を暗号化したり
ワンタイムパスワードをセッションID使って暗号化しておいて
同じセッションじゃないと使えないようにしたりすれば
メールアドレス == アカウントでもだいぶセキュアになるかも
でもパスワード忘れるような人にとってそういうのは異常にハードル高くて
サポートコストが増大するから特別なサイト以外はやらない
利便性とセキュリティのほどほどのバランス
ワンタイムパスワードをセッションID使って暗号化しておいて
同じセッションじゃないと使えないようにしたりすれば
メールアドレス == アカウントでもだいぶセキュアになるかも
でもパスワード忘れるような人にとってそういうのは異常にハードル高くて
サポートコストが増大するから特別なサイト以外はやらない
利便性とセキュリティのほどほどのバランス
429デフォルトの名無しさん
2020/10/03(土) 13:03:48.16ID:EzoVu8Do >>428
盗聴者がセッション開始することもできるからそれでは防げないかと
盗聴者:盗聴対象メールアドレスを入力、パスワード再設定セッション開始
盗聴者:パスワード再設定メールを盗聴、ワンタイムパスワード取得
盗聴者:ワンタイムパスワードを入力、パスワード再設定
盗聴者:パスワード再設定セッション終了
〜〜〜〜
正規ユーザー:身に覚えのないパスワード再設定メールを受信(この時点で手遅れ)
メールだとパスワード再設定が脆弱すぎる
パスワード再設定はメールじゃなく電話、SMSを必須にしたほうがいいのかも
盗聴者がセッション開始することもできるからそれでは防げないかと
盗聴者:盗聴対象メールアドレスを入力、パスワード再設定セッション開始
盗聴者:パスワード再設定メールを盗聴、ワンタイムパスワード取得
盗聴者:ワンタイムパスワードを入力、パスワード再設定
盗聴者:パスワード再設定セッション終了
〜〜〜〜
正規ユーザー:身に覚えのないパスワード再設定メールを受信(この時点で手遅れ)
メールだとパスワード再設定が脆弱すぎる
パスワード再設定はメールじゃなく電話、SMSを必須にしたほうがいいのかも
430デフォルトの名無しさん
2020/10/03(土) 13:14:51.58ID:rJVT04kJ431デフォルトの名無しさん
2020/10/03(土) 13:24:35.60ID:Y8AbULhw 不正アクセスに関しましては全て被害届を提出します
過去に実績もあります
って書いてればビビリからは攻撃受けないだろ
まぁ自動化して攻撃してるだろうから意味は無いかもしれんが
過去に実績もあります
って書いてればビビリからは攻撃受けないだろ
まぁ自動化して攻撃してるだろうから意味は無いかもしれんが
432デフォルトの名無しさん
2020/10/03(土) 14:17:48.67ID:1IyBCfpu >>429
標的のメールが常に盗聴可能な状態でパスワード再設定に必要な情報も持ってるって前提ならね
セキュリティに100%はないから
どういう種類の攻撃に対してどの程度の防御ができてるのかと
その攻撃が実現しうるリスクの程度で評価しないと
標的のメールが常に盗聴可能な状態でパスワード再設定に必要な情報も持ってるって前提ならね
セキュリティに100%はないから
どういう種類の攻撃に対してどの程度の防御ができてるのかと
その攻撃が実現しうるリスクの程度で評価しないと
433デフォルトの名無しさん
2020/10/03(土) 14:23:06.46ID:TFoea3MP なるほどメールアドレスがそのままアカウントIDになってるサービスでは盗聴に弱いのか
ならパスワード強制リセットのページにも別のワンタイムトークンを表示しておけば……いやそんなことしなくてもWeb側のセッションIDとメールの認証キーを内部で照合すれば、セッション固定攻撃と組み合わせない限りは安全なのでは?
ならパスワード強制リセットのページにも別のワンタイムトークンを表示しておけば……いやそんなことしなくてもWeb側のセッションIDとメールの認証キーを内部で照合すれば、セッション固定攻撃と組み合わせない限りは安全なのでは?
434デフォルトの名無しさん
2020/10/03(土) 14:25:13.05ID:TFoea3MP って428が書いてたわ
すまん見落としてた
すまん見落としてた
435デフォルトの名無しさん
2020/10/03(土) 14:45:21.88ID:TFoea3MP メール受信による認証は盗聴に弱いから、多要素認証の一部として効果を発揮するのであって、単独でパスワードリセットができるのは安全性が低い
せめて生年月日とか電話番号とかを合わせて聞くようなリセット方式にしないと心許ないってところかな
せめて生年月日とか電話番号とかを合わせて聞くようなリセット方式にしないと心許ないってところかな
436デフォルトの名無しさん
2020/10/03(土) 15:23:35.99ID:iCV76+ee セキュリティに100%はない
しかしマスコミをそれを知ってか知らずか
破られると猛烈にたたく
システムを作る側としては解がないわ
しかしマスコミをそれを知ってか知らずか
破られると猛烈にたたく
システムを作る側としては解がないわ
437デフォルトの名無しさん
2020/10/03(土) 15:35:47.09ID:iXmRISfh 参考にAmazonのパスワードリセットのワークフローを調べた
1. メールアドレス入力、サブミット
2. ワンタイムパスワードメール受信
3. ワンタイムパスワード入力、サブミット
4. 新パスワード入力、サブミット
盗聴者が攻撃しようとしたらこれで攻撃できちゃうのでは?
1. 攻撃対象メールアドレス入力、サブミット
2. ワンタイムパスワードメール盗聴
3. ワンタイムパスワード入力、サブミット
4. 新パスワード入力、サブミット
Amazonが採用してるぐらいだからメール盗聴のリスクは考えなくてもいいのかな?
もう、わかんねえなこれ
1. メールアドレス入力、サブミット
2. ワンタイムパスワードメール受信
3. ワンタイムパスワード入力、サブミット
4. 新パスワード入力、サブミット
盗聴者が攻撃しようとしたらこれで攻撃できちゃうのでは?
1. 攻撃対象メールアドレス入力、サブミット
2. ワンタイムパスワードメール盗聴
3. ワンタイムパスワード入力、サブミット
4. 新パスワード入力、サブミット
Amazonが採用してるぐらいだからメール盗聴のリスクは考えなくてもいいのかな?
もう、わかんねえなこれ
438デフォルトの名無しさん
2020/10/03(土) 15:38:28.30ID:iXmRISfh439397
2020/10/03(土) 17:03:59.82ID:WbMrpwtO >>398-401
レスありがとうございます
そもそもプログラムの世界でいう「式」って、何なんですか?
「文」は理解できたけれど、「式」がいまいちピント来ません。
(どうしても算数の「式」のイメージが強くて抜けない)
文を構成する要素を「式」だと考えればよいですか?
レスありがとうございます
そもそもプログラムの世界でいう「式」って、何なんですか?
「文」は理解できたけれど、「式」がいまいちピント来ません。
(どうしても算数の「式」のイメージが強くて抜けない)
文を構成する要素を「式」だと考えればよいですか?
440デフォルトの名無しさん
2020/10/03(土) 17:17:01.79ID:QafhOYYm 式は評価できるもの
評価すると値やオブジェクトを得る
式は式や文の構成要素となる
評価すると値やオブジェクトを得る
式は式や文の構成要素となる
441デフォルトの名無しさん
2020/10/03(土) 17:22:58.65ID:QafhOYYm 式は式、項、因子から構成される
式は因子の構成要素にもなる
式は因子の構成要素にもなる
442デフォルトの名無しさん
2020/10/03(土) 17:31:44.75ID:xp+vOEo3 Javaのifはif文なので直接変数に代入できない
Kotlinのifはif式なので直接変数に代入できる
Kotlinのifはif式なので直接変数に代入できる
443デフォルトの名無しさん
2020/10/03(土) 18:57:42.99ID:Hog1AJs4 プログラムなんてレベルじゃないので申し訳ない質問ですが、スプレッドシートで同じシート内の別タブにリンク飛ばしたい場合、PCでは飛べるけどiPhoneのアプリからは、「リンクを取得」を押しても飛べないんですけど、仕様ですか?やり方あったら教えてほしいです。
444デフォルトの名無しさん
2020/10/03(土) 20:41:33.18ID:5QIBKgVv 仕様です
445デフォルトの名無しさん
2020/10/03(土) 23:15:12.00ID:/wA+nWqo Ruby では、if は文ではなく式なので、戻り値を返す。
Rubyの影響を受けている、Kotlin, Rust, Go など、最近の言語は式重視
p res = if 1 + 2 == 4
"yes"
else
"no"
end
res は、no となる
Rubyの影響を受けている、Kotlin, Rust, Go など、最近の言語は式重視
p res = if 1 + 2 == 4
"yes"
else
"no"
end
res は、no となる
446デフォルトの名無しさん
2020/10/03(土) 23:29:33.97ID:jHC6YOpP SQLで四則演算させたりするのはあまり良くないのでしょうか?
そういう処理はアプリ側だけにしてSQLは極力シンプルにするのが理想ですか?
そういう処理はアプリ側だけにしてSQLは極力シンプルにするのが理想ですか?
447デフォルトの名無しさん
2020/10/03(土) 23:49:59.22ID:AAeCyfpr そんな質問をする程度のレベルなら極力SQLに寄せた方がいい
プログラミング言語は自由度がとても高いので、酷いコードは本当にどうしようもない底無しのビチグソであり、深刻な技術的負債となる
それに比べればSQLは巧拙次第でパフォーマンスの差はあれど、バカでもそこまでソフトウェアの品質に壊滅的影響を与えることは少ない
プログラミング言語は自由度がとても高いので、酷いコードは本当にどうしようもない底無しのビチグソであり、深刻な技術的負債となる
それに比べればSQLは巧拙次第でパフォーマンスの差はあれど、バカでもそこまでソフトウェアの品質に壊滅的影響を与えることは少ない
448デフォルトの名無しさん
2020/10/03(土) 23:58:47.01ID:ZEneYrh5 わかりました。ではこれからSQLを電卓アプリ代わりに使っていきます。
>>445
それは C の条件演算子/三項演算子(どちらもダサいネーミングだと思います)とか lisp の cond 特殊構文などの形で過去にありましたね
それは C の条件演算子/三項演算子(どちらもダサいネーミングだと思います)とか lisp の cond 特殊構文などの形で過去にありましたね
450デフォルトの名無しさん
2020/10/04(日) 01:13:51.71ID:hibiyDxp >>446
素人は全部SQLでいいよ
素人は全部SQLでいいよ
451デフォルトの名無しさん
2020/10/04(日) 01:56:06.09ID:iw0dJx5p Fortranでopenmpやり始めたんですが、遅いので調べてみたら、openmpを呼ばないで(シリアルと同じコード)単にOMP_NUM_THREADS =2とするだけで、OMP_NUM_THREADS =1より遅くなってしまうんですが、どういうことなんでしょうか。
452デフォルトの名無しさん
2020/10/04(日) 06:04:41.57ID:4IGvE5yV >>446
場合による。
場合による。
453デフォルトの名無しさん
2020/10/04(日) 06:54:10.83ID:9mv21uX9 SQLで頑張らなきゃいけないのは結局テーブル設計がダメってこと
454デフォルトの名無しさん
2020/10/04(日) 06:55:31.75ID:l91kU2Gr455デフォルトの名無しさん
2020/10/04(日) 08:25:36.50ID:9mv21uX9 >>454
クソテーブル設計者さん朝から発狂しちゃった……w
クソテーブル設計者さん朝から発狂しちゃった……w
456デフォルトの名無しさん
2020/10/04(日) 09:17:31.94ID:t+5MH57F457デフォルトの名無しさん
2020/10/04(日) 09:38:14.88ID:QfJSems3 テーブル設計がシステム要求に対して適切じゃなかったからSQLが複雑になったなんてのはあるけれど
逆は必ずしも真じゃないわな。
逆は必ずしも真じゃないわな。
458デフォルトの名無しさん
2020/10/04(日) 09:50:38.92ID:1rOiD+nc >>445
Haskellの事も忘れないで・・・。
if式も有るけど、パターンマッチでifそのものも作れますよ。
myif True t f = t
myif False t f = f
先行評価だと、引数を全部評価しちゃうから、正常に動作しない。
遅延評価だからこそif式を自作出来る。
Haskellの事も忘れないで・・・。
if式も有るけど、パターンマッチでifそのものも作れますよ。
myif True t f = t
myif False t f = f
先行評価だと、引数を全部評価しちゃうから、正常に動作しない。
遅延評価だからこそif式を自作出来る。
459デフォルトの名無しさん
2020/10/04(日) 10:00:31.68ID:hibiyDxp テーブル設計よりアプリケーション設計のほうがSQLへの影響が大きい
リポジトリパターンを採用すればテーブル設計が糞だとしてもそれほど複雑なSQLにはならない
スマートUIを採用するとテーブル設計が綺麗でもほぼ確実にSQLが混沌に導かれる
リポジトリパターンを採用すればテーブル設計が糞だとしてもそれほど複雑なSQLにはならない
スマートUIを採用するとテーブル設計が綺麗でもほぼ確実にSQLが混沌に導かれる
460デフォルトの名無しさん
2020/10/04(日) 10:11:28.99ID:wkZyx06T >>459
モデル設計の話をDBとごっちゃにしている点で、そのパターン論争は糞だと思うけど
モデル設計の話をDBとごっちゃにしている点で、そのパターン論争は糞だと思うけど
461デフォルトの名無しさん
2020/10/04(日) 10:45:28.99ID:8xouqNX0 ひどい脱線で言い争ってるなあ
最初の質問は
>SQLで四則演算させたりするのはあまり良くないのでしょうか?
だぞ
質問者そっちのけで言い争って勝って自分の有能さを誇示したいのか?
最初の質問は
>SQLで四則演算させたりするのはあまり良くないのでしょうか?
だぞ
質問者そっちのけで言い争って勝って自分の有能さを誇示したいのか?
462デフォルトの名無しさん
2020/10/04(日) 10:53:41.56ID:hibiyDxp >>460
SQLはDBモデルからAPモデルへの関数(射影)でしかない
なのでSQLを考えるときにAPモデルのことを考えないということはありえない
そして関数(射影)というものはどちらかというとINよりもOUTの構造が綺麗なほうが綺麗に実装しやすい
複雑なデータを綺麗に整頓するよりもデータを意図的に複雑化するほうが難しいからだ
であるからAPモデルが糞(スマートUI)ならDBモデルが糞であろうとなかろうとSQLも糞と化す
APモデルが綺麗(DDD, リポジトリパターン)ならDBが多少糞でもSQLはそれほど糞にはならない
SQLはDBモデルからAPモデルへの関数(射影)でしかない
なのでSQLを考えるときにAPモデルのことを考えないということはありえない
そして関数(射影)というものはどちらかというとINよりもOUTの構造が綺麗なほうが綺麗に実装しやすい
複雑なデータを綺麗に整頓するよりもデータを意図的に複雑化するほうが難しいからだ
であるからAPモデルが糞(スマートUI)ならDBモデルが糞であろうとなかろうとSQLも糞と化す
APモデルが綺麗(DDD, リポジトリパターン)ならDBが多少糞でもSQLはそれほど糞にはならない
463デフォルトの名無しさん
2020/10/04(日) 10:57:56.20ID:oGeBy4Z3 >>462
糞はフンと読みますかクソと読みますか?
糞はフンと読みますかクソと読みますか?
464デフォルトの名無しさん
2020/10/04(日) 10:58:26.92ID:8xouqNX0 >>446
開発者やチームのスキルが常軌を逸したびちぐそレベルではないと仮定して
四則演算やそれに類するロジックなんてSQLでやらないほうがいいと思う
SQLの中のロジックに対してユニットテストが書けない
バグがあるときデバッガで途中経過を追えない
SQLにロジックを入れるとしたら、インデックスが活きる操作等、性能的な意図があるもの
開発者やチームのスキルが常軌を逸したびちぐそレベルではないと仮定して
四則演算やそれに類するロジックなんてSQLでやらないほうがいいと思う
SQLの中のロジックに対してユニットテストが書けない
バグがあるときデバッガで途中経過を追えない
SQLにロジックを入れるとしたら、インデックスが活きる操作等、性能的な意図があるもの
465デフォルトの名無しさん
2020/10/04(日) 11:01:28.78ID:8xouqNX0 SQLに処理を寄せるとDB間の移植性も落ちる
466デフォルトの名無しさん
2020/10/04(日) 11:06:48.64ID:wkZyx06T467デフォルトの名無しさん
2020/10/04(日) 11:13:04.36ID:IHMs+qq2 SQLに色んな処理を書く人は
PHPとHTMLをごちゃ混ぜにしてるぐらいセンスないね
PHPとHTMLをごちゃ混ぜにしてるぐらいセンスないね
468デフォルトの名無しさん
2020/10/04(日) 12:23:00.03ID:oCHjZLK6 計算は別のところでやって
DBにはその答えを全部記憶していけばいい
究極のメモ化が完了する
DBにはその答えを全部記憶していけばいい
究極のメモ化が完了する
469デフォルトの名無しさん
2020/10/04(日) 13:06:14.51ID:hibiyDxp まとめ
* 原則的にはSQLにドメインロジックを書かない
* パフォーマンスなど理由があるならば原則を破ってよい
* 原則を破る場合は積極的にドキュメンテーションすべし
次の方どうぞ
* 原則的にはSQLにドメインロジックを書かない
* パフォーマンスなど理由があるならば原則を破ってよい
* 原則を破る場合は積極的にドキュメンテーションすべし
次の方どうぞ
470デフォルトの名無しさん
2020/10/04(日) 13:29:28.01ID:4IGvE5yV471デフォルトの名無しさん
2020/10/04(日) 13:38:21.04ID:xsUyERPe 小学生です。
今九九を自動化するためにDBに1の段のテーブル、2の段のテーブル……と作っています。
例えば8×7の場合は
select result from 8_no_dan where kakeru_aite = 7;でresultに56が出てきます。
これって商品化できますか?
今九九を自動化するためにDBに1の段のテーブル、2の段のテーブル……と作っています。
例えば8×7の場合は
select result from 8_no_dan where kakeru_aite = 7;でresultに56が出てきます。
これって商品化できますか?
472デフォルトの名無しさん
2020/10/04(日) 13:45:41.53ID:hibiyDxp 売れるかどうかはともかく商品化は可能なのでは?
473デフォルトの名無しさん
2020/10/04(日) 13:47:45.30ID:t5q2DIGq うん、商品にしても構わんよね
俺は買わんけど
俺は買わんけど
474デフォルトの名無しさん
2020/10/04(日) 14:20:36.68ID:ykILSOcJ >>455
やっぱり逃げましたね(笑)
やっぱり逃げましたね(笑)
475デフォルトの名無しさん
2020/10/04(日) 14:22:00.56ID:ykILSOcJ >>464
> 四則演算やそれに類するロジックなんてSQLでやらないほうがいいと思う
> SQLの中のロジックに対してユニットテストが書けない
データベースを入れないでテストしても正しく動作するという保証はできません
データベースを入れてテストするならテストはできます
> 四則演算やそれに類するロジックなんてSQLでやらないほうがいいと思う
> SQLの中のロジックに対してユニットテストが書けない
データベースを入れないでテストしても正しく動作するという保証はできません
データベースを入れてテストするならテストはできます
476デフォルトの名無しさん
2020/10/04(日) 14:39:24.05ID:t+5MH57F477デフォルトの名無しさん
2020/10/04(日) 14:43:39.75ID:t+5MH57F478デフォルトの名無しさん
2020/10/04(日) 15:22:34.07ID:bGe+XfpJ 同じ糞ならSQLのほうがマシ、は真
適切なフレームワークさえあれば、本質的にはコードよりよほどテストは容易
適切なフレームワークさえあれば、本質的にはコードよりよほどテストは容易
479デフォルトの名無しさん
2020/10/04(日) 15:25:09.66ID:h1367H/A >>475
それはユニットテストの範囲じゃなくてインテグレーションテストの範囲でしょ
それはユニットテストの範囲じゃなくてインテグレーションテストの範囲でしょ
480デフォルトの名無しさん
2020/10/04(日) 15:26:26.46ID:h1367H/A481デフォルトの名無しさん
2020/10/04(日) 15:27:58.49ID:bGe+XfpJ482デフォルトの名無しさん
2020/10/04(日) 15:47:36.28ID:k2QVBKjJ 単体か結合かはあまり気にしなくていい
要点は自動化できるかどうか
SQLは自動テストできるがとにかく遅い
規模が大きくなるとその遅さに耐えられなくなる
なのでSQLはテストしなくてもいいぐらい単純化する
複雑なビジネスロジックでもインフラが関わらなければ自動テストがすぐに終わる
要点は自動化できるかどうか
SQLは自動テストできるがとにかく遅い
規模が大きくなるとその遅さに耐えられなくなる
なのでSQLはテストしなくてもいいぐらい単純化する
複雑なビジネスロジックでもインフラが関わらなければ自動テストがすぐに終わる
483デフォルトの名無しさん
2020/10/04(日) 15:52:46.47ID:k2QVBKjJ デバッグはしなくていい
関数のI/Oだけを見ればいい
関数のI/Oだけを見ればいい
484デフォルトの名無しさん
2020/10/04(日) 16:06:58.13ID:qG3oE3Yr485デフォルトの名無しさん
2020/10/04(日) 16:30:23.87ID:H7RSzWbS >>483
てきとーにI/Oだけみて正しいと判断できちゃうような単純な関数しか実装させてもらえない人なのかな?
てきとーにI/Oだけみて正しいと判断できちゃうような単純な関数しか実装させてもらえない人なのかな?
486デフォルトの名無しさん
2020/10/04(日) 16:42:49.40ID:k2QVBKjJ >>485
単純に越したことはないがI/Oだけで判断できる純粋な関数はどんなに複雑化しても簡単にテストできる
なので経験を積んだ人ほど関数を好む
そして純粋な関数とはインフラストラクチャの定形的なコードと切り離された純然たるビジネスロジックそのもの
なのでそこを任されるということは実力を信用されているということだよ
単純に越したことはないがI/Oだけで判断できる純粋な関数はどんなに複雑化しても簡単にテストできる
なので経験を積んだ人ほど関数を好む
そして純粋な関数とはインフラストラクチャの定形的なコードと切り離された純然たるビジネスロジックそのもの
なのでそこを任されるということは実力を信用されているということだよ
487デフォルトの名無しさん
2020/10/04(日) 17:16:17.84ID:8xouqNX0 互いの言葉尻だけ捉えて持論を垂れ流すレスバトルだな
自尊心を満たした気分になる以外に何のメリットがあるのか
自尊心を満たした気分になる以外に何のメリットがあるのか
488デフォルトの名無しさん
2020/10/04(日) 17:29:49.03ID:QiXPDRB0489デフォルトの名無しさん
2020/10/04(日) 17:42:29.62ID:iwZf/b5U490デフォルトの名無しさん
2020/10/04(日) 18:30:37.36ID:t+5MH57F >>480
例えばSQL ServerのT-SQLのデバッグはSSMSやVisual Studioでできるよ
他のDBでも似たようなのあると思うけど求めてるものが違うのかな
https://docs.microsoft.com/en-us/sql/ssms/scripting/transact-sql-debugger
例えばSQL ServerのT-SQLのデバッグはSSMSやVisual Studioでできるよ
他のDBでも似たようなのあると思うけど求めてるものが違うのかな
https://docs.microsoft.com/en-us/sql/ssms/scripting/transact-sql-debugger
491デフォルトの名無しさん
2020/10/05(月) 04:46:05.27ID:JV/o/2r7 double random = Math.random() * 10D;
java初心者なんですがこのDってなんなんでしょうか? 演算子を調べても載っていませんでした
java初心者なんですがこのDってなんなんでしょうか? 演算子を調べても載っていませんでした
492デフォルトの名無しさん
2020/10/05(月) 06:03:41.00ID:ey7A18ly493デフォルトの名無しさん
2020/10/05(月) 13:11:17.75ID:woOxhzJw statelessとimmutableはなにが違うのですか?
494デフォルトの名無しさん
2020/10/05(月) 14:32:27.28ID:260iGAL2495デフォルトの名無しさん
2020/10/05(月) 14:57:27.73ID:kT6B15L4 オブジェクトに限定して、おおまかに言えば
イミュータブルは生成時に与えた初期状態が後から変更できない性質
Javaならメンバ変数が全てfinal
ステートレスはさらに生成時も含めて状態を持たない
Javaならメンバ変数が全てstatic final
イミュータブルは生成時に与えた初期状態が後から変更できない性質
Javaならメンバ変数が全てfinal
ステートレスはさらに生成時も含めて状態を持たない
Javaならメンバ変数が全てstatic final
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- アメリカ、入国時に「日本人を含む外国人観光客の最大5年分のSNS履歴の提出」義務化へ 過去10年間に使用のメールアドレスや電話番号等も★2 [Hitzeschleier★]
- 立憲・小宮山議員、「牛乳=白い水」投稿を削除 批判殺到で「大変失礼申し上げました」 [少考さん★]
- 【中国外務省】日本への渡航自粛を再度呼びかけ 今度は「地震発生」を理由に [ぐれ★]
- 日本語が話せない「外国籍」の子が急増中、授業がストップ、教室から脱走も…先生にも大きな負担「日本語支援」追いつかず★3 [七波羅探題★]
- 内閣支持、微減59.9% 5割超が補正予算評価 時事通信世論調査 [どどん★]
- 【芸能】デパートで見つけたランドセルが衝撃価格! つまみ枝豆「どこかで規制しないと」に共感の声殺到 「全て同感」「高すぎます」★2 [冬月記者★]
- 【高市はん】 維新の吉村はん「今年の漢字は【成】しかない! 大阪万博の成功。 維新が連立与党入りに成功。 どや😤」 [485983549]
- 愛国者「コピーという言葉は、文脈によって複数の意味を持ちます。これは事前通告とは言わない。」 [834922174]
- 【高市遺産】 ユネスコさん。日本の「匠の技」「屋台」「和紙」などを無形文化遺産に登録 🎉🎊 [485983549]
- 日本人のコメ離れが深刻、おまえらなんでコメ食わないんだ??? [974680522]
- キャンプ場 寝ている少女(19)のテントに入り120分わいせつ行為をした会社員(45)を逮捕 京都市 [546716239]
- 日本人、世界で最もブランドに興味なし🇯🇵 [462275543]
