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

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

【前スレ】
スレ立てるまでもない質問はここで 155匹目
https://mevius.5ch.net/test/read.cgi/tech/1606439237/

次スレは>>980が立てること
2021/03/07(日) 13:05:42.41ID:NGBp4E5a
wgetでindex.htmlだけ取得
index.htmlダブルクリック
で表示されるけど
2021/03/07(日) 14:33:53.65ID:9WV6HKiO
オフラインでプライベートブラウジングすると表示されないです
2021/03/07(日) 15:42:44.80ID:Htr3Z/NJ
>>137
chromeでctrl+sで保存じゃダメなのか?
2021/03/07(日) 15:48:47.98ID:9WV6HKiO
リンク先も保存したいので出来ればwget等のミラーリングツールが使いたいです
2021/03/07(日) 19:16:06.28ID:NGBp4E5a
>>140
> https://www.revdol.com/wp-content/uploads/2020/12/sp_thum_2020xmas.jpg
オフラインでサイトにあるデータにアクセスできるわけがない
../wp-content/
相対パスで
2021/03/07(日) 20:42:35.52ID:9WV6HKiO
http://***/wp-content/のところを../wp-content/に置換するスクリプト書くしかない感じですかね
2021/03/07(日) 20:52:29.64ID:LoC/rHxp
テキストエディタでちょこっと置換するだけのことじゃね
2021/03/07(日) 20:59:48.55ID:9WV6HKiO
ページがいくつもあるのと階層に応じて相対パス書き換える必要があるんでエディタでやるのはきつそうです
2021/03/08(月) 10:06:01.56ID:A+E7x4iR
>>146
wgetの-kオプション
2021/03/08(月) 14:10:21.22ID:CHREQTow
そのオプションは試したんですが上手く書き変わらないですね
WordPressが使われてるのが原因なんですかね
2021/03/08(月) 15:03:16.16ID:wHqvdvLW
>>150
俺の環境では書き換わるな
原因調べるか他の方法使うか好きにして
2021/03/08(月) 16:03:05.90ID:CHREQTow
どこが書き変わってるか知りたいのですが
index.htmlのdata-src="..."のところですか?
2021/03/08(月) 16:32:01.85ID:CHREQTow
どこがと言うよりindex.htmlのdata-srcset="https://*/wp-content/*";がdata-srcset="../wp-content/*"に書き変わるかが知りたいです
2021/03/08(月) 18:23:45.46ID:mZK0MLvW
data-* 属性は書き換え対象外なんじゃないかな
--follow-tags=list の仕様はそう読める
書き換えていい実ファイルなのかURNみたいな識別子なのかわからんし
https://www.gnu.org/software/wget/manual/html_node/Recursive-Accept_002fReject-Options.html#Recursive-Accept_002fReject-Options
2021/03/08(月) 23:11:47.76ID:CHREQTow
wgetはdata-*に対して何もしない感じなんですかね?
an internal table of HTML tag / attribute pairsがどういうattributeを集めてるのかが分からないですね
2021/03/09(火) 00:15:57.20ID:S5lnRcq1
ウタウダ言ってる間にちゃちゃっと置換しちゃったほうが早い
2021/03/09(火) 04:40:45.23ID:NUN2sKP0
data-* 属性は、ユーザーが使い方を決める部分

そこに入っているデータは、使い方が決まっていないから、何もできない。
そこにリンクを入れてるのは、その人独自の使い方と言うだけ

だから、そこは直接書き換えるか、置換プログラムを書くとか
2021/03/09(火) 09:11:05.45ID:K8yALR59
AWSのcodepipelineでcodebuildからelasticbeanへのデプロイが成功って出てるのにアプリがawsのサンプルになってしまうのですが、buildspecファイルのartifactの置き場所が違うとそうなる、とかありますか?
2021/03/09(火) 11:58:38.65ID:UEq7DsGd
ふとパワーシェルを勉強しようと仕事サボって遊んでるんだが、$_で躓いた

$obj=ls; echo $obj.PSDrive
は良くて
ls| echo $_.PSDrive
がだめな理由が分からん
暇な方いたら解説頼みたい
2021/03/09(火) 20:32:47.09ID:L1JhVdDy
ファイルが1個の場合はコレクションにならないのでパイプラインを通す意味がなくて、通常
(ls).PSDrive
で事足りる

敢えてパイプラインを通すなら要素1個のコレクションと考えて、
ls | % {echo $_.PSDrive}
2021/03/09(火) 21:24:30.91ID:FO598anN
>>160
サンクス
コレクションならforeachで要素を展開して動かすってのは直感的に分かるんだ

ただそうなると変数に格納した場合に動く理由が分からん
もし、コレクションに対してecho $obj.PSDriveで動くのなら、ls| echo $_.PSDriveも動いていいんじゃね?ってのが疑問
何か勘違いしてるんだと思うんだが自分じゃ気付けずモヤモヤしてる…
162デフォルトの名無しさん
垢版 |
2021/03/09(火) 21:55:31.31ID:sQfPg4KP
lsコマンドってpipe時はis -1になるからじゃない?
2021/03/09(火) 22:16:48.46ID:2BiJ5sGo
繰り返すけどその$objはコレクションじゃない
ファイル1個の場合と複数の場合とでそれぞれ$obj.getType()を確認してくれ

%に流せばそれなりに良きに図らってくれるけど本来固くやるなら明示的にコレクションに変換すべき
,(ls) | % {echo $_.PSDrive}

あと$_はそのような使い方はそもそも存在しないから確認して
もっと簡単な例で試すと
(0,1,2) | echo $_ # error
2021/03/10(水) 02:34:56.12ID:hr2yGgcj
>>158
デプロイしても、すぐに起動されるとは限らないのでは?

Kubernetes のrolling update とか、すべてが入れ替わるのに時間が掛かる
2021/03/10(水) 02:43:21.41ID:hr2yGgcj
JavaScript でよくある。
0, 1, 2以上で、型が変わるので統一的に書けないとか

0 ならnil を返して、1 なら単数形を返して、
2以上ならコレクションを返すみたいな、バラバラなAPI を作っている

それを統一的に書けるのが、jQuery。
jQueryオブジェクトに変換すれば、0でも空配列、1以上は配列になる

0以上で、すべてeach で書ける。
0なら何も実行されない
2021/03/10(水) 12:56:00.03ID:wBm3UJME
>>163
何度もありがとう

ファイル1つと複数でfileinfoとobject[]になってるのは確認したが、
$obj=ls; echo $obj.PSDrive
はどちらでも実行可能だった
聞きたいことの本質ではないのでここは割愛

>あと$_はそのような使い方はそもそも存在しないから確認して
ググってみるとパイプで渡されたオブジェクトを格納する変数とか書かれていた
意味わからんのでもう少し調べてみたら、processブロック内で参照できるように渡されたオブジェクトって記載を見かけた
awkにおける$0、無名関数における変数に近いのだとひとまず理解したつもりになったわ

ただそうなると以下の挙動がまた混乱した
最後のは機能してないんだけども…
OK: ls|echo
NG: ls|echo $_.Name
OK: ls|sort
OK: ls|sort $_.Name
これ以上は深みに嵌りそうだから一旦ここまでにするわ
167165
垢版 |
2021/03/10(水) 13:53:46.96ID:hr2yGgcj
>>165
に書いた

$_ は、パイプの前段から渡ってくるもの

パイプの前段が、nil なら、エラーになる。
nil.Name に、Name 属性はない

1つが返ってくると、単数型.Name。
2以上なら、配列.Name

nil, 単数型・複数型に、Name 属性があるかどうか、
3つの条件処理で分けないといけない

大文字に変換する、Ruby の1-liner、
ls | ruby -ne 'print $_.upcase'

これが動く原理は、-e オプションで、
print $_.upcase を、暗黙の内にループで囲むから

jQueryオブジェクトに変換してるのと同じ。
前段の戻り値が、0, 1, 2以上のすべてのパターンを一旦配列化して、each を呼ぶから

配列化して、each するから、必ず配列の要素型になるから、
3つの条件処理で分けなくてもよい

>>166
では、配列化して、each を使っていないから、

パイプの前段が、0のnil, 1の単数型・2以上の複数型と、
3つの条件処理で分けないといけない
168165
垢版 |
2021/03/10(水) 13:58:50.69ID:hr2yGgcj
一旦配列化して、each を使うと、
前段のパイプが、0のnil, 1の単数型・2以上の複数型と、どれを返しても正常に動く

jQueryオブジェクト、Ruby の1-liner と同じ原理

[ ].each
[ "a" ].each
[ "a", "b" ].each
169165
垢版 |
2021/03/10(水) 14:06:33.53ID:hr2yGgcj
[ ].each
[ "a" ].each
[ "a", "b" ].each

要素が0の場合は、処理なし。
要素が1の場合は、$_ に、a が渡ってくる

要素が2の場合は、1回目の$_ に、a が渡ってくる
2回目の$_ に、b が渡ってくる

だから一旦配列化して、each を使うと、
前段のパイプが、0のnil, 1の単数型・2以上の複数型と、どれを返しても正常に動く
170165
垢版 |
2021/03/10(水) 14:21:33.96ID:hr2yGgcj
例えば、JavaScript では、関数の戻り値が、

0個・該当無しの場合は、nil を返して、
1個の場合は、文字列を返して、
2個以上の場合は、配列を返すとか、

3つの型が異なる設計にしているから、
一々、3つの条件処理で分けないといけない

これが苦痛だから、jQuery オブジェクトが出来た。
0のnil, 1の単数型・2以上の複数型と、どれを返しても正常に動く

nilでも単数型でも、配列化してしまうので、each で処理できる
2021/03/11(木) 00:16:26.39ID:RchM98kf
>>166
ls|sort $_.Name
これが想像通りに動作していない理由は、sortの第一引数がソート対象のパイプライン対象データやコレクションではなく、-Property 引数だからだよ
ls|sort -Property $_.Name
と書いているのと同じで、プロパティ名として謎のリストが渡されている状態
ls|sort -Property $(if ($_ -eq $null) { "LastWriteTime" } else { "Length" } ) を実行してソート順をみると分かりやすい
$_ は $null になってる
ls | ForEach-Object { echo $_ } のようにコマンドレットのスクリプトブロック外で呼び出しても $_ は $null になっていて使い物にならない模様

echo 1
は当然エラーにならないのに対して
ls|echo 1 が ParameterBindingException になる理由はよくわからんけど、第一引数とパイプラインのどちらの形式でも渡すことができる同一概念のパラメーターを二重に渡しているのでコマンドレット内部で競合・混乱が起きるのかもね
2021/03/11(木) 00:21:47.20ID:RchM98kf
文が変なので訂正

ls | ForEach-Object { echo $_ } のようにコマンドレットのスクリプトブロック内で参照するのが正しい
ls | コマンドレット $_ のように外で $_ を参照しも $null になっていて使い物にならない
2021/03/11(木) 08:00:09.14ID:veC1m4UT
>>167
丁寧な解説痛みいる
背景的な内容は分かりやすかったが、すまんが俺の疑問は直接解決できんかった

>>171
分かりやすい回答ありがとう
> ls|sort -Property $(if ($_ -eq $null) { "LastWriteTime" } else { "Length" } ) を実行してソート順をみると分かりやすい
これは天才的な分かりやすさだった!一発で理解できた、マジでスッキリした

>>172
この内容、公式ドキュメントに書いておいて欲しいぐらいだわ…

レスしてくれた方々、非常に助かった
ありがとうございました
2021/03/11(木) 12:29:32.19ID:xLl2MnNI
すいません、AWSで仮想ルータ作成してIPsecなどのVPNを構築できますか?
2021/03/11(木) 12:48:39.66ID:7AhbbQuZ
>>174
AWS VPNっていうそのまんまなサービスがある
変な知恵を働かせようとするのはやめて猿のように完全マネージドサービスに頼るのがAWSの正しい使い方
176165
垢版 |
2021/03/11(木) 13:08:05.76ID:EP88fPM9
大文字に変換する、Ruby の1-liner、
ls | ruby -ne 'print $_.upcase'

これが動く原理は、-e オプションで、
print $_.upcase を、暗黙の内にループで囲むから

ls | ForEach-Object { echo $_ }
も、たぶん同じ原理で、
ForEachで、ループで囲むか、イタレータ・配列化してる

これによって、前段が、次の3パターンの型のどれを返しても、エラーにならない。
該当なし0, nil
1つの単数型
2以上の複数型・配列

jQuery オブジェクトも、同じ原理

Ruby では、オブジェクト.メソッドを呼ぶ時、
オブジェクトがnil の場合、nil.メソッドとなり、
nil には、そういうメソッドは存在しないという、エラーがよく出る

だから必ず、返すものが、0, 1, 2以上の個数の3パターンで、テストしないといけない
177デフォルトの名無しさん
垢版 |
2021/03/11(木) 14:16:17.15ID:Jwslfn/r
質問というか雑談やが
google画像検索ってくっそ精度低い
のに
二次元画像詳細検索はどうやってあそこまで
高い精度出してるんだ
分かるやつおる?
2021/03/11(木) 14:22:52.42ID:EP88fPM9
異なるものを使っているから。
たぶん、開発者も異なる

YouTube なんか、しょっちゅうデザインが崩れる。
漏れは、いつも通報してるけど、ひどい時は1か月も修正されない

ちゃんと開発できる香具師は、意外と少ない
2021/03/11(木) 14:48:03.38ID:z2KCe4yD
>>177
グーグルは画像からキーワードを抽出して文字列で検索しとるだけやろ
2021/03/11(木) 18:02:27.69ID:Q/MHSOVy
>>177
俺が雑に画像検索作るならこんなもんかな
1.ハッシュ値の検索
2.各色の比率、分布
3.アクセス頻度、ワード検索
2021/03/12(金) 15:11:58.40ID:87XOLJ3X
>>137ですが, pythonでwebクローラーを書いて解決しました
解答して下さった皆さんありがとうございました
2021/03/12(金) 20:42:26.28ID:JVJjAlGn
既存のソースコードの処理の流れを把握するのによく使われる調査ツールや分析手法とかありますか?
ttps://lvgl.io/ (組み込み向けのGUIフレームワーク)
の画像をレンダリングする部分を改造したいのですがこの規模のソースコードだと何かどうなっているのかさっぱり判りません・・・
2021/03/12(金) 21:02:17.58ID:REwpE7TJ
>>182
軽く見てみたけどかなり綺麗で読みやすいコードだな
ネーミングもコメントも神経質すぎるくらい丁寧
このレベルでさっぱり判らないならたぶん改造なんて無理だから諦めたほうがいいよ
2021/03/12(金) 21:04:29.96ID:uT2s1Yvs
>>182
リファクタリング
2021/03/12(金) 21:05:10.57ID:uT2s1Yvs
正確には調査的リファクタリング
2021/03/12(金) 22:23:00.78ID:U+iRPjP4
>>182
静的解析ツールでDependency DiagramやCall Graphを生成する
図にしてくれるやつは有償のが多い
無償ならdoxygen + graphvizとか
187182
垢版 |
2021/03/12(金) 23:58:48.24ID:JVJjAlGn
GUIフレームワークの裏側の知識なんて全くないしどこから手を付ければいいのか・・・
とりあえずシミュレータとやらを動かしてみるとか?
この類のプログラムだと動かすのも簡単ではなさそうだけど

改造内容は出力対象としてラインバッファを追加してメモリを節約出来ないかなと

>>183
確かにコードは見やすくコメントはよく書いてある方だと思いますが
フレームバッファに書いているのは何処なのか・・・

>>184-185
ググったら「レガシーソフトウェア改善ガイド」なる本が出てきましたが
今度本屋へ行ったときに見てみようと思います

>>186
それ良さそうですね。試してみます
2021/03/13(土) 02:00:09.73ID:EttNgG4o
競技プログラミングのスレ、人気スレのようだけど
ム板でもよさそうだけどなんでプログラマー板いっちゃった?
もともとマ板なんかネタスレしかなかったのに
いつのまにか立場逆転しとるやん
2021/03/13(土) 08:37:06.73ID:DIvgpMzo
競技プログラミング=ネタだから
2021/03/13(土) 08:48:03.00ID:+/gF4ceM
>>188
競プロのスレはアルゴリズムとか技術的な話はほとんどなくて、不正がどうのスコアやルールがどうの就活が〜〜とか、ム板にあったらマ板に行けって言われるような内容だぞ
2021/03/14(日) 13:18:59.65ID:dGW/zbvR
ちょっとマイナーかもしれませんが、pythonのgrapheneに関する質問です。
queryに指定されたレスポンスのフィールドがどれかを知ることはできるのでしょうか?
2021/03/15(月) 04:07:57.73ID:MNT36Itg
エンジンとライブラリってどう違いますか?
ググったのですが、参考になるページが出てこなかったので質問させてください。

たとえば、音声合成エンジン、音声合成ライブラリ、
――などの文脈で使われる、「エンジン」と「ライブラリ」は、
同じようなものですか?それとも全然別物でまったく違うものなのでしょうか??
2021/03/15(月) 06:33:29.52ID:3pdFxOVF
>>192
同じようなもの
言い切った者勝ち

でも他のプログラムに皮被せたようなものでエンジンとか言ってたら、俺は胡散臭い目で見ちゃう
なんちゃら(爆)速エンジンw
ライブラリと言っておけば安泰
194デフォルトの名無しさん
垢版 |
2021/03/15(月) 12:13:08.90ID:NUPkxmQY
javascriptのファイルをIEやchromeの開発者ツールで見えないようにすることは難しいでしょうか?
2021/03/15(月) 12:21:39.59ID:KUxKEAvv
モジュール・ライブラリは、いくつかの関連するクラス・関数などを、1つにまとめたもの。
例えば、CSV 関連のモジュールなど

一方、エンジンは、Unity ゲームエンジンとか、
上のモジュールなどを、大量に使って、1つのシステムにしたもの
2021/03/15(月) 12:43:26.35ID:YjBdAbou
>>194
こういうの使えば見られても解読されんよ
https://closure-compiler.appspot.com/home
2021/03/15(月) 13:21:46.12ID:sEBHDRmj
ヘルパー フレームワーク 似たような言葉がどんどん出てくるね
2021/03/15(月) 13:25:18.98ID:QmxS+DUu
英語ができない人は可哀想だな
2021/03/15(月) 15:08:52.10ID:W4mhVG7e
>>192
同じようなものの場合もあるが文脈的に強調したい点が違うか違うものを指すほうが多い気がする
エンジンという場合は対象の中核となる処理を実行するソフトウェアコンポーネントを指すことが多い
(中核となる処理を担いますよとアピールしたい場合にも使う)

音声合成エンジンは音声合成処理そのものを実行するコンポーネント
音声合成ライブラリはアプリケーションプログラムが音声合成機能を使いたいときに利用できるAPIを備えたライブラリ
音声合成ライブラリが特定の音声合成エンジンを含んでいる場合もあればエンジンは選択可能な場合もある

正規表現エンジンと正規表現ライブラリとかで考えればわかりやすいかと
200194
垢版 |
2021/03/15(月) 15:35:14.92ID:NUPkxmQY
>>196
ありがとうございます。
ただ、見にくくなるだけで、頑張って解析しようとしたら読めるんですかね?
ただ、.htaccessでjsに直接アクセスできないようにしても、F12ツールで見えてしまうでしょうし、これで読みにくいように持っていくのがベストでしょうかね?
2021/03/15(月) 16:13:13.56ID:KUxKEAvv
難読化ツールか。
7行テトリスとか、変数名を1文字にするだけでも読めない

apple をみかん、orange をリンゴの数にするだけでも、理解するのに苦痛
202194
垢版 |
2021/03/15(月) 16:47:38.40ID:NUPkxmQY
ありがとうございます。
ここを使えばだいたい読めなくなりますね。ありがとうございます。
ttps://javascriptobfuscator.com/Javascript-Obfuscator.aspx
203デフォルトの名無しさん
垢版 |
2021/03/15(月) 16:48:15.07ID:AOv43n/m
横浜駅近辺か以南で東プレとかHHKとかのプログラマ御用達キーボードの実機が触れるお店があったら教えて下さい
(このご時世アキバまで行きたくないです
2021/03/15(月) 19:27:35.09ID:QmxS+DUu
Amazonとかで2万円で試せると思う
2021/03/15(月) 20:33:47.84ID:esGaOKmu
今はどっちも2万じゃ無理では?
2021/03/17(水) 11:02:52.72ID:tiNitlKG
複雑なロジックが絡む認可処理ってどこでやればいいんだ?
例えば勤務データ登録システムがあるとして
・部長以上はすべての勤務履歴を変更可能
・チームリーダー以上は3ヶ月以内のチームメンバーの勤務履歴を変更可能
・平社員は当月の自分の勤務履歴を変更可能
みたいな感じで条件に合わない場合は403

A. 他の認可と同じようにWEBフレームワークのミドルウェアでやる
B. ドメイン層でやる
C. その他
2021/03/17(水) 11:59:23.51ID:ilMOdSUD
認可としてはロールの名前だけ持たせて、ドメインロジックで制御する
208デフォルトの名無しさん
垢版 |
2021/03/17(水) 21:59:18.03ID:kWcDxPo7
procfs以外で他のプロセスのシグナルマスクの状態を見る方法ある?
macOSで知りたい。言語は何でもいい。
2021/03/17(水) 22:44:39.39ID:12LzxBGv
>>206
一般的には認可はアプリケーション層でやる

その例なら”勤務履歴変更”のユースケースの中で認可処理をキックする
認可ルール/ポリシーの管理や可否を返すメソッドは独立した認可サービスに切り出してまとめる
2021/03/17(水) 23:08:34.27ID:cfyQhyzB
>>209
認可サービスはどこに置く?
アプリケーション?
ドメイン?
2021/03/18(木) 00:53:57.46ID:/B4L4J97
どれだよ
2021/03/18(木) 23:49:03.68ID:wqSEV4VX
>>210
アプリケーション層

アプリケーションロジックじゃなくドメインロジックとして捉える考え方もあるだろうけど
アプリロジックとしてアプリケーション層にまとめておいたほうが何かとスッキリしやすい

認可サービスという独立したBounded Contextのアプリケーションを作って
その中のドメイン層で扱うというやり方もある(WindowsのActive Directory的なもの)が
一般的なアプリだとオーバーキルになる
2021/03/19(金) 00:15:19.34ID:z1gdjZk4
データベースにログインするようにしたら
個人でログインするとかドメインで管理するとか
好きにすればいいじゃない
2021/03/19(金) 00:29:23.47ID:ugVJrA7w
>>212
的外れなことを言うかもとは思うけど、
まず、認可の前提としての認証は自前では持たずにOAuthに任せるって方針の所もあるよね(俺とかも)
そう考えると認可(権限)の管理とかも今後は自前ではやらずに、認証に対する権限リストの保持までは他所のサービスを使うってのは、いずれはオーバーキルとも言えなくなってはこないだろうか?
認証を内製するより外注しといたほうが安全で楽なように、権限処理も定型的だから外注したほうが安全で楽だろう
2021/03/19(金) 00:43:48.97ID:ZleoXut0
>>214
いや、認可ってのはあくまでフラグを立てるだけでしかない
そのフラグをどう解釈するかは完全にアプリ次第
2021/03/19(金) 00:55:02.15ID:ugVJrA7w
>>215
だからそのフラグを使う部分だけは内製するけど、認証と結びつけておくデータベースとか管理ツールは外注している認証側に移行していかないかな?という話
定型的と書いたのは、フラグ管理は認証した相手をグルーピングすることで行うだろうけど、グループ分けに特段のビジネスロジックは不要だから共通サービスとして提供できるだろうと
まあ、要するにオープン化されたADサービス?
2021/03/19(金) 02:48:32.09ID:ysVgQ22g
>>214
AWSのIAMみたいのでしょ
認可って汎用的にするとそれだけで結構複雑になんだよね

外部とインテグレーションするオーバーヘッドが出てくるのもあるし
特定のアプリケーションで必要になる認可ポリシーがアプリケーションとは全く別のところで管理されるので
両方を見ないと全体を把握できなくなるみたいなデメリットもある
その辺りを考えてもメリットがあるかどうかってところ
2021/03/19(金) 10:05:16.85ID:A2FC3wYP
アプリケーション層で管理するほうが人気か…
自分としては認可ってドメイン層だと思うんだけどな
誰がどんな条件で何をしていいかなんてのは
システムがなくたって業務ルールとして存在してるわけじゃん
ならそれはドメイン層としか思えんのだが

・ドメインサービスの入口で認可検証
・拒否ならAuthz例外を投げる
・アプリケーション層は認可ルールの詳細を把握せず例外を403に変換するだけ

こっちのほうがよかないか?
2021/03/19(金) 10:18:54.73ID:A2FC3wYP
アプリケーション層に認可があると移行の問題もある
例えばWEBフレームワークをJava EEからSpring bootに変更したい場合とかね

認可がアプリケーション層にあるとフレームワークに合わせて認可を大幅に書き換えないといけない
認可の業務ルール自体は全く変わっていないにも関わらずだ
それってなんだかおかしくないか?

ドメイン層に認可を置いておけば移行の際に認可は全く変更しなくていい
ただ例外をレスポンスに変換する処理を切り替えるだけ
それはアプリケーション層の仕事としては妥当だ
2021/03/19(金) 11:10:58.80ID:isOHUPOf
WebフレームワークはDDDやClean Architectureで言うアプリケーション層とは違うぞ

WebフレームワークのControllerをアプリケーション層として利用すればその2つが密結合する
メリットもあるのでトレードオフを判断して選択するもの
2021/03/19(金) 17:39:18.57ID:+RPcY+jV
TCPのコネクションって切断接続繰り返すの良くない?秒間何十回とか
2021/03/19(金) 18:45:19.76ID:9tRqQibJ
>>221
良くないというか無駄じゃろ?
2021/03/19(金) 19:01:54.56ID:+RPcY+jV
>>222
すまん、無駄なのは知ってる
HTTPリクエストごとにTCPコネクション確立するのはサーバー攻撃に該当するか?ってのが知りたい
頻度は例えば秒間80回とか
2021/03/19(金) 19:08:37.48ID:zfX0YSnj
ちゃんとしたシステム程そういう短い期間に多数のリクエストを送るホストを遮断する
2021/03/19(金) 19:10:14.73ID:ao22suim
トレ○ドマイクロのことですね
2021/03/19(金) 20:47:33.56ID:3OSa/Ffn
>>223
それは相手次第だから一概にはなんとも言えん
感覚的には攻撃とみなされても文句は言えないレベルだと思うぞ
2021/03/19(金) 21:07:41.10ID:+RPcY+jV
>>224-226
そらそうだよなあ
面倒だけど問題起きる前に修正しとくか…
2021/03/19(金) 21:07:55.18ID:+RPcY+jV
サンクス
2021/03/19(金) 23:12:56.84ID:gtzZCHhj
その昔はサイトに対して警告が来たもんだが
最近は、最悪いきなり訴訟かもしれないからなあ
2021/03/20(土) 19:06:44.35ID:V661mPJv
>>223
同じ場所から秒間80回だとsyn-floodとまでは言わないけど、WindowsだとTIME_WAITの
デフォルト時間が4分らしいので、何か処理して切ってって繰り返してもセッションが
19200発生するので、良くないって言うか攻撃だと判断される可能性が高いと思うよ
2021/03/20(土) 19:34:22.31ID:DA77laUl
MDISみたいな技術力の低い三流会社が作ったサイトだと一秒に一回のアクセスでもサービス停止を引き起こして告訴される
2021/03/20(土) 20:34:52.41ID:MkV/e5E1
あれはアクセス頻度とは関係ないバグだったからな
日本はSIerも警察も図書館も技術力だけでなく倫理観も底辺クラスだったことが露呈した歴史に残る事件
2021/03/20(土) 21:24:14.84ID:ecDBcKi/
日本のITが世界に後れをとる原因となった事件の1つ
2021/03/20(土) 21:48:18.65ID:DA77laUl
MDISというかM系列会社ってトレンドマイク○使ってるんだよな信じがたいが
2021/03/21(日) 00:29:10.59ID:he5zjlJ+
C++でコードを書いていって、途中から プロセス間のIPCの処理を追加したくなりました。
で、IPCの際、データをマーシャルするということでprotobufというものを知り、現在protobufで
データを定義中 <- 今ココ、なんですが、

IPCの際、元からあるオブジェクトをいちいちprotobufで定義するオプジェクトに変換、およびその逆
をしないといけないような?
ひょっとして、最初からprotobufで定義するオブジェクトでコードを書けば良かったのかな?
2021/03/21(日) 00:33:33.93ID:nSGJEJyH
そもそもOSは何なの?
2021/03/21(日) 00:39:11.43ID:ejnWrGNO
普通は変換するよ
通信のためのデータ構造とアプリケーションのためのデータ構造は別物だからね
2021/03/21(日) 08:19:52.84ID:he5zjlJ+
>>236
Linuxですが、そこは重要ですか? macOSやAndroidでも動かす予定ですが。

>>237
はい、実際 protobuf の範疇では元のオブジェクトを完全に定義することは不可能で、
今はオブジェクトの属性をロジカルに書き出して、それをprotobufのmessageとして定義し、
IPCでやり取りした後オブジェクトに反映、みたいな処理かなあ、という感じになってます。
2021/03/21(日) 11:09:39.55ID:nSGJEJyH
C++なら共有メモリでええやん
2021/03/22(月) 11:55:12.29ID:c10Em98H
>>230
TIME_WAITの待ち時間の間、TIME_WAIT状態のTCPコネクションが残るため、待ち時間240秒なら秒間80回x240秒=19200のコネクションが残るって話?
でもこれはアクティブクローズ仕掛けてる側の話だから、クライアントからアクティブクローズしてるならサーバーサイドじゃ問題にならないよね?
クライアント側が動的ポート食いつぶして自滅する可能性はあるけど…
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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