[過去ログ] スレ立てるまでもない質問はここで 161匹目 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
97: 2022/09/13(火)19:44 ID:aae9uQ50(2/2) AAS
誘導ありがとうございます!スレ違いすみません、いってきます
98(1): 2022/09/13(火)21:10 ID:KrVBep+i(1/2) AAS
.NETのXmlSerializer使ったシリアライズ処理で
XmlElementAttribute等々使ってシリアライズ処理をカスタマイズできるけれど
List<T>型のプロパティを持つClassAをシリアライズしたら
<ClassA>
<T>...</T>
<T>...</T>
</ClassA>
な感じになるところを、<T>だけがズラっと並ぶようなシリアライズはできないもんでしょうか?
99: 98 2022/09/13(火)21:12 ID:KrVBep+i(2/2) AAS
間違えた
<ClassA>
<プロパティ名>
<T>...</T>
<T>...</T>
</プロパティ名>
</ClassA>
になるところを
<ClassA>
<T>...</T>
<T>...</T>
</ClassA>
になるように、ですわ
100: 2022/09/13(火)22:59 ID:wteulEu6(1) AAS
ルールを定義して、変換器を作れば?
101: 2022/09/14(水)18:40 ID:pKMHGYxI(1) AAS
IA-32環境のリバースエンジニアリング用デバッガだとOllyDbgとか有名だけど、AMD64環境だと何がよく使われるの?
102: 2022/09/15(木)23:08 ID:wUYVNLcG(1) AAS
Web製作・・・とも思ったけどElectronとかTauriあたりのネタなのでこちらで
プログラムの出力結果(BITMAPやPCM)をGUIで表示&再生したんだけど
こういうときってWeb側はどんな感じにするのが定石なの?
動作はバッチ式(一括)じゃなくてパイプライン式(分割)にしたい。動画プレイヤーみたいな感じ
103(2): 2022/09/16(金)13:03 ID:pgB81iJy(1/2) AAS
import FileSystemHandle from './FileSystemHandle.js'
const kAdapter = Symbol('adapter')
class FileSystemDirectoryHandle extends FileSystemHandle {
/** @type {FileSystemDirectoryHandle} */
[kAdapter]
constructor (adapter) {
super(adapter)
this[kAdapter] = adapter
}
・・・
}
というのがあったんだけど、 [kAdapter]やthis[kAdapter]の意味が分からない。
誰か教えてケロ。
104: 2022/09/16(金)13:06 ID:pgB81iJy(2/2) AAS
>>103
これは、FileSystemDirectoryHandle の polyfill(ponyfill)。
場所は:外部リンク:github.com
105(2): 2022/09/16(金)18:24 ID:cJN3hfhk(1) AAS
web apiを作っていて、どのステータスコードを返せばいいのかで悩んでいます。
400番台と500番台の使い分けを、皆さんどのようにしていますでしょうか?
例えば、ユーザー情報を更新するAPIで
指定したユーザーIDの情報がDBに無い時、もしくは2件以上ある時、その他の論理状態がおかしい時。です。
以下のように400番台の理屈も、500番台の理屈も思いつくので、どちらが正しいかで悩んでいます。
ユーザー情報がない時に限れば404かなという気もしますが、その他の論理異常の時と同じにしたいという思いがあります。
サーバーからすれば「そのリクエストしたIDがおかしいんだからアプリが悪い。同じリクエスト投げても状況は変わらない」と言いたいのですが
この場合はクライアントサイドが原因なので400で良い気もする。
DBの状態が原因なんだから500エラーなのかなという気もするのですが、そうなると究極的には全部のエラーが500番台のエラーになる気もする。
そもそもDBに対象のユーザーIDが無い(複数ある、論理異常)時は明らかにバグだ。バグ前提で考えるのは良くない。
とすると、おかしいのはリクエスト。だから400番台。
と、自分の中でどっちが正しいのか悩んでいる状態です。
106(1): 2022/09/16(金)19:17 ID:6w/ivPAn(1) AAS
>>105
素人だけどCGIとかの実行エラーなんだからそういうのは全部500番代だと思ってた
ファイルがないとかアク禁とかデーモン側のみでスクリプト抜きの話は400番代で
107(1): 2022/09/16(金)19:37 ID:oAyMZKxN(1/2) AAS
400番台: クライアントに原因のあるエラー (送ったデータに不備ありなど)
500番台: サーバーに原因のあるエラー (データ仕様は正しいがサーバ側の処理が失敗したなど)
不正IDを送られた時に存在しないという結果を返すのはサーバー側から見たらそれが正しい動作なんだから送信側のエラー
108: 2022/09/16(金)19:42 ID:oAyMZKxN(2/2) AAS
てか500て実行時エラーとかDBが落ちてるとか要求の受付時間外とかそういうのじゃない
109: 2022/09/16(金)21:34 ID:Pdv1nxJ2(1) AAS
基本は>>107の書いてるようにクライアントとサーバーのどちらに原因があるか
指定したユーザーIDがDBにないのは400番台
指定したユーザーIDがDBに2件以上あるのがDB不整合の状態なら500番台
原因も対処方法が違うのに同じにしたいというのが間違い
110: 2022/09/16(金)23:14 ID:R7zfJ/61(1) AAS
そもそもバリデーションエラーやら処理している段階でエラーみたいな内部的なものは
成功時は例えばstatus: 0とか返して正常終了を示す
失敗時はstatus: 1とか内部で設定したエラーコードを返すのが一般的では?
HTTPのエラーコードはwebサーバーなどの都合で発生したエラー用だと思うが
111: 2022/09/16(金)23:28 ID:2cEUPRtN(1) AAS
APIが0を返したら正常終了とか古き良き香りになりにけり
RESTful APIならある程度はスタンダードに沿いつつ
ユーザーの責務が何で自分の責務が何かは仕事では必ず決めないといけないんだからそのノリで個々に線引きしていけばいい
112(1): 105 2022/09/17(土)14:24 ID:iAB+KSrH(1) AAS
>>106-
ありがとうございます。
DBにレコードが2件というのは例として不適切でしたが、
とりあえず400を積極的に使う事にします。
113: 2022/09/17(土)14:51 ID:EEEbWrXO(1) AAS
> とりあえず400を積極的に使う事にします。
ダミだこりゃ
114: 2022/09/17(土)15:37 ID:slnpqWSw(1) AAS
>>112
指定したユーザーIDの情報がDBにないという例のほうが論理異常の例として不適切なんだが
115(1): 2022/09/18(日)01:28 ID:X0tGJ0Vt(1) AAS
>>103
その[kAdapter]は単なるクラスフィールド宣言
this[kAdapter]はそのフィールドへのアクセス
this.hogeがthis["hoge"]と同じことを思い出そう
そして今回はそのkAdapterをシンボルで与えているだけ
const kAdapter = Symbol('adapter')
116(1): 2022/09/18(日)19:43 ID:fB0C0iJE(1) AAS
>>115
有難き幸せ。
constructor (adapter) {
super(adapter)
this.adapter = adapter;
}
と書くのとの違いは?
117(1): 2022/09/18(日)22:12 ID:VjUDO6tf(1) AAS
モバイルアプリで使うようなウェブサイトから画像持ってくるようなやつってURLとかのほうが表示速いのかね?
完全に趣味だけどウマ娘HPのHTMLに記されたsrcの文字を指定するだけですぐ反映されるんかな?
118(2): 2022/09/19(月)08:55 ID:E2P5O1UU(1) AAS
>>116
違う
this["adapter"] ←これがthis.adapterと同じ
this[adapter] ←今回はこの形
ここで変数adapterが"adapter"なら同じだが
今回は変数adapterがSymbol("adapter")
つまり両者は異なる
>>117
CDNキャッシュの恩恵に預かれるから独自プロトコルで持ってくるとの比較ならば速くなりうる
119: 2022/09/19(月)10:00 ID:Guc0YHbo(1) AAS
>>118
なるほどサンクス
120: 2022/09/19(月)10:19 ID:pZPXfhQS(1) AAS
画像が通信経路で勝手に再圧縮されてハッシュが一致しないエラーなんてのがあったな
121(1): 2022/09/19(月)10:48 ID:9VJdPhWh(1/2) AAS
プロパティにSymbolを使っている理由はプライベートっぽく保護したいからじゃないかな
this.adapterだと外部から自由に読み書きできるけどthis[adapter]だとadapterの値にアクセスできない限り読み書きの手段がかなり限定される
122: 2022/09/19(月)12:02 ID:knJx8Iiy(1/3) AAS
>>118
(あなたがadapter変数としているものは、今回の例では、kAdapter変数ということを
前提として)
kAdapter が変化するならわかるが、今回は
const kAdapter = Symbol('adapter')
と絶対に変化しない定数のようになっているので、結局、何がやりたいのだろうか?
俺はそもそも、Symbol オブジェクト(?)の役割が分かって無い。
123: 2022/09/19(月)12:04 ID:knJx8Iiy(2/3) AAS
>>121
なるほど。
でも、そういうためだけの目的??
124(1): 2022/09/19(月)12:25 ID:9VJdPhWh(2/2) AAS
Symbolはユニークなオブジェクトを作る
Symbol('adapter') != Symbol('adapter')
コンストラクタに渡す文字列はただの説明文
125: 2022/09/19(月)12:30 ID:oXPlRBsf(1) AAS
Symbolの説明はとほほが分かりやすかった
外部リンク[htm]:www.tohoho-web.com
126: 2022/09/19(月)13:30 ID:knJx8Iiy(3/3) AAS
>>124
そもそも new Symbol("xxx") でなくて Symbol("xxx") と書く理由も
俺は分かってない。
上下前次1-新書関写板覧索設栞歴
あと 876 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.026s