1 名前:デフォルトの名無しさん mailto:sage [2016/05/22(日) 19:51:33.37 ID:WwOYSBmy.net] JavaScript を自ら学ぶ人のための質問スレッドです。 >>2-4 のテンプレを読んだ上で質問してください。次スレは>>950 が>>2 のテンプレ案(本スレで改善案があれば考慮)を元に立ててください ■質問を書く上で (1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。 (2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。 (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など) (3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。 (4) 常に自発的に調べる心構えを持ってください。 具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。 わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。 (5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。 (6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。 ※必ず「問題の事象が再現されること」を確認してください。 必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。 (7) サンプルコードに HTML が含まれる場合は validator.w3.org/ で [Check] してみてください。 (8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2 の質問テンプレートを活用してみてください。 (9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
321 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 20:20:03.03 ID:/sRU0ua4.net] >>314 そんな事聞かれるのかよ 知らなかった
322 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 21:22:29.72 ID:PwZzpqig.net] >>315 なんか話題提供してよ。
323 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 21:24:24.86 ID:PwZzpqig.net] >>316 こういったふうに、ただの視力検査でも、人によってやらないものもあるんだよ。
324 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 23:02:14.89 ID:Kp7czbyF.net] >>43 リクエスト無いみたいだし、もう無しで良いってことにさせてもらうぜ。 俺も大量にこのスレに書き込んだ。多分そちらにも多少は有効情報があっただろうし。 このスレは俺よりも20年先を行くスーパーハカーだらけらしいし、とりあえず引退してみよう。 >>312 多態しないのなら if (a.length>0) にしとけ >>311 > 俺はpopしてundefinedじゃなければもう一回pushしておく。 おい! ってかまじめな話、もうちょっと普通のやり方を覚えた方がいいぞ。 undefinedについて気になるのなら、他の知っている奴が回答するか、少し待つんだね。 それで出てこないようなら、俺のスレに聞きに来れば教えてやるよ。 とはいえ君は無駄
325 名前:ノ煽りすぎだ。だから出てこないかもしれない。 しかし、君は自力で辿り着けるレベルだから、ヒントを与えておこう。 君はNaNの仕様を知っている。で、それを便利に使っているわけだが、>>106 あれはそういう仕様が必要だったからなんだよ。 だからNaNの正しい使い方を調べて、そこから推測すれば、 undefined許容/非許容のそれぞれの得失を理解できる。 その上でundefined許容を選択するのなら、それは「設計」なんだよ。やればいい。 ところで、俺および俺が立てたスレがどうにも気に入らない奴がこのスレに複数いるだろ? 君達がやるべき事は、>>297 に答えることだ。 そうしないと、俺のスレが流れ出しちゃうぜ? あとついでだが、やはり君の案件は「正規」ではないよ。運用上「本番系」になっているだけだ。 読み出せないDBなんてあり得ないだろ?最初から何らかのビュワーが付いてる。 JavaScriptで受けるのなら、APIはJSON一択だろ? 今何かしら妙なAPIなのは、元々のビュワー用のAPIだからだよ。 そして何らかの理由で「正規」ビュワーが破棄され、今のビュワーになったんだよ。多分。 [] [ここ壊れてます]
326 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 23:24:12.29 ID:ILfmqIwk.net] 俺の予想ではarraybuffer
327 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 23:41:05.43 ID:Kp7czbyF.net] >>320 APIのことか? ビュワーはexeまたはelf等バイナリで、古い機材では動くが、新端末では動かないから、JS化したと。 あり得るシナリオだね。 だとすればParserでラップして終わりだし、鯖は当然そのまま運用するわな。 今のところの証言と状況証拠とは一致するw
328 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 00:15:08.11 ID:KJUuPgzh.net] >>307 混乱を招く回答が追加されているので伝えるが、undefined を返す設計が妥当だと思う 例えば、Map.prototype.get は存在しないキーを検索したら undefined を返す あなたが>>310 で気が付いたように配列の値に undefined が代入されていれば、値があるのかないのか区別付かない では、なぜ Map.prototype.get が undefined を返す設計になっているのかといえば、未定義のキーを参照したら未定義値を返す暗黙の了解があるからだろう オブジェクトでも存在しないプロパティを参照すれば undefined を返す (少なくとも俺の知る限りでは)プロパティが存在して undefined が代入されている JavaScript の仕様は存在しない よって、あなたが配列のプロパティに undefined を代入しなければ十分に区別できるだろう それから蛇足ではあるが、>>307 のコードでは a === [,,,] な場合に意図せず、undefined を返す(>>307 の設計通りなら null を返すのが正しい) Object.prototype.hasOwnProperty を使うことで期待通りの結果を得ることができるだろう Array.prototype.last = function last () { var i = this.length; while (i && !this.hasOwnProperty(--i)); return this[i]; }; console.log([1,2,,,,].last()); // 2 console.log([,,,,].last()); // undefined console.log([].last()); // undefine
329 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 01:17:08.26 ID:l5PlpRpu.net] >>319 めんどくさいやつだなぁ。 煽りすぎた、って、煽られて沸騰した奴が言ったら二重どころか三重くらいにみっともないぞ。 煽って面白くなるだけ。 ビュワー用のAPIとか、だからさあ。。 電文だ、って言ってんじゃん。 電文、理解できない?知らないの? >>320 のほぼそのまま、今もう一回そこ書くならもうちょい綺麗にパーズするけど、要は[通信開始][要素種][要素長]....[チェックサム][通信終了]みたいなもの。 そのまま、要素種が始まったら要素長取り出して、その中も要素種と要素長で出来てるから、って形。 正規もなんもないよ。妙なAPIって、これハード屋的には何一つ妙じゃないよ。 案件ってか、自社製品だけど、運用 上の本番系、ってどんな寝言だよ。 運用してるなら、それは即ち本番系だろ。 おまえ学生なの?コードとして落とした事無いとか、無意味な理想論語ったりとか、結構痛いよ。
330 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 01:56:46.28 ID:C610iy1k.net] >>323 あんさん2chフィルタ通して見ても尊大やし態度悪すぎやで 学生と比べて技術力高いわけでもなし、人を煽れる立場や無いやろ?
331 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 02:06:15.74 ID:C610iy1k.net] ちな電文はバイナリ転送形式の事やないで JSONだろうと1メッセージ単位なら電文や
332 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 03:10:34.97 ID:24hp8pmx.net] >>323 お前、、、いちいち指摘するのが面倒なくらい色々読み間違ってるぞ、、、、 まあ俺の書き方もまずい点はあったが、、、 一応、俺は聞きに来れば答えるというスタンスだったんだ。 (出てこないってのは「他の知っている奴」のことであって、俺のことではないつもりだった。 ただこの点は俺の書き方が悪かった) とはいえ、面倒だし、今回は他の連中も正解を知っていることが確定しているから、 天秤にかければ誰か答えるかと思ってな。 しかし、まあもう無理だと思うが。俺も面倒になってきたし。 学生の作品と企業製品では、検証レベルが全然違う。 undefined非許容というのは、まともに検証すれば自明なんだよ。だからみんな知っている。 逆にそれを知らないってのは、お前は検証してないって事なんだよ。 しかも医療系だろ?煽り抜きでヤバイと思うぞ。 > 電文 知らんよ。てかこれって一般用語か?ググッた限りはただの「パソコン」と同レベルの集合名詞だと思うが。 俺はWeb系ではないので、Web系のローカル用語は知らんよ。 XHRでArrayBufferなら最初からそう言ってくれたほうが良かった。 とはいえそこは本題ではないが。 >>324 おう、ありがとうよ。 俺は見ての通りこのスタンスだし、これくらいの粘着や煽りはいつも通りだ。 特段怒っているわけではないのだが、そう見えたのなら済まない。 というか、Web系の連中のこの自信はどこから来るのか、本当にかなり疑問だ。 お前ら、プログラミング一般からすると、かなり「ひよこ」だと思うぞ。 大口を叩くのは、10k行のコードを普通に取り扱えるようになってからにした方がいい。 そんな奴はこの界隈にはさらにいるのだから。
333 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 09:05:24.34 ID:l5PlpRpu.net] >>324 わざとこの態度だからなぁ。 逆に、沸点低いやつがよくわかっていいじゃん。 沸点低いやつが何言っても、反射的に言ってるだけなんだし。 >>325 おう。JSONとして流れてきたらそりゃJSONという電文だな。 バイナリパスカル文字列式可変長電文か。 >>326 undefined許容というか、ずっと読み間違えてない? データとしてundefinedを入れるわけではなくて、 解釈した結果そのフィールドには値が入っていない→それをオブジェクトに起こしても、そのプロパティ自体が設定されていない、だよ? 可能な限りの、「データは入ってませんでした」を設定して回るほうが現実的で無いよ。 俺、あとウェブ系じゃないからね。 基本はDB屋だよ。 DBに入ってもない無い値を、入っていた事にされるのは許せんだけ。
334 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 09:19:18.21 ID:KJUuPgzh.net] > DBに入ってもない無い値を、入っていた事にされるのは許せんだけ。 誰もそんなことは言ってなかったと思うが、何が許せないんだろうな このスレだと hasOwnProperty, forEach, keys で判定する処理は見かけたが
335 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 09:20:08.42 ID:EjSYfMvt.net] 自演開始〜
336 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 09:40:27.01 ID:l5PlpRpu.net] >>328 そりゃいいよ。それはそれで。 最初に初期値で初期化しとけば良いとか、そういうアホに対しての反論だから。
337 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 10:1
] [ここ壊れてます]
338 名前:6:07.42 ID:LdI3VN67.net mailto: >>327 > DBに入ってもない無い値を、入っていた事にされるのは許せんだけ。 outer joinやcross joinについてはどう思うのかね [] [ここ壊れてます]
339 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 10:17:56.42 ID:d9LvTqQR.net] https://tpc.googlesyndication.com/simgad/16591006766826217033 これの答えは何なの?
340 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 10:21:15.79 ID:LdI3VN67.net] >>311 > ループの内側の数とか言うより、描画用の項目定義は項目定義である。 > 医者が並べて見る時に、項目数が変わったり並び順が変わったら困るから。 > それは医者次第だけど、内部的には > xpathみたいなもので指定する。 なかなか話が通じないが、要は表示項目数×人数のループをしてundefinedかどうかを 判定するということだろ?表示項目数が30で20人分表示なら600回の処理をする。 そうじゃなくて、存在するデータ側を元に表示するか、あるいは全く別のアプローチをすれば いちいちundefinedかどうかなんて判定は不要ではとうこと。
341 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 10:37:22.17 ID:wxR5ZVVT.net] >>331 無ければ困る事もわかるけど、凄く嫌い。 行列のDBは集合に対しての操作だと意識してないと最悪の結果に陥ると思うわ。 >>333 ふむ、では、その冴えたアプローチで綺麗にしたデータを、行と列、ないしはグラフにレンダリングする術を 提示してみてくれよ。 まさか、最初にレンダリング域全体のメモリを確保して、データ一つ一つに対して、RCや軸をデータから推測してその場所へデータを載せれば良い、最終的に残るのはundefinedだった項目だけ、とか考えてんのかな。
342 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 11:08:00.91 ID:LdI3VN67.net] >>334 > ふむ、では、その冴えたアプローチで綺麗にしたデータを、行と列、ないしはグラフにレンダリングする術を > 提示してみてくれよ。 > まさか、最初にレンダリング域全体のメモリを確保して、データ一つ一つに対して、RCや軸をデータから推測してその場所へデータを載せれば良い、最終的に残るのはundefinedだった項目だけ、とか考えてんのかな。 グラフという単語がでてきたので話が根本的にかみ合ってない気もするが、基本的にはそういうことだよ。 テーブルで表示することを考えれば、項目が決まれば行あるいは列が決まり、人が決まれば列あるいは 行が決まる。それをメモリ上のデータ構造として作成して一気にテーブル化するとか、DOMを直接書き 換えるとか、あるいは、テンプレートを使うか、データバインディングしてModelが自動的にViewに反映 されるようにするとか、やりようはいくらでもある。 グラフのメタファーで言えば、定義域:0〜100, 値域:0〜100のグラフがあるとき、(1, 3), (2, 5)という二つの データしか無ければ二回プロットすれば終了ということだよ。
343 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 12:25:58.83 ID:wxR5ZVVT.net] >>335 やりようはいくらでもある、な。 アホか。 データバインディングするにしても、いや、バインディングするならそれこそ、データは歯抜けでいいだろう。 データバインディングするってことは、ビュー側から、どの要素をとバインドすべきだし。 一気にメモリに載せてられるかww
344 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 12:33:55.20 ID:wxR5ZVVT.net] しかし、何故undefined(というか、値が無いもの)とnullを別物と理解するのがこれほど彼にとって難しいのかわからんな。
345 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 13:25:23.48 ID:LdI3VN67.net] >>336-337 なにか勘違いされてる気もするけど、歯抜けのデータが悪いとは一言も言ってないよ。 >>304 みたいなデータが戻るケースはありがちだし。 で、俺が疑問に思ったのは、undefinedかどうかを判定する必要があるということは、 こんなコード書くの?ってこと。 display_items.each (function(display_item) { data.users.each (function(user) { // block A: ここがループの一番内側 output('<td>' + user.hasOwnProperty(display_item) ? user.item_value : '' + '</td>'); }); }); これだと、いつでもdisplay_items.count * data.users.count回のhasOwnProperty()が呼び出される。 display_items.count * data.users.count = 1,000のとき、表示するデータ数が1個だったときでも 1,000回の実行が必要。 そうじゃなくて、逆からのアプローチはできないのという疑問。 逆というのは、「存在するデータを元にする」やりかた。
346 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 13:26:54.24 ID:LdI3VN67.net] 君は君の問題を100%把握してるだろけど、俺(たち)は断片的な君の書き込み内容から どのような問題なのかを想像することしかできないわけお。 >>336 > 一気にメモリに載せてられるかww とか言われても、困惑するのみ。
347 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 13:49:49.08 ID:wxR5ZVVT.net] >>339 できないなら、自分には理解できない事だと納得して無意味な提案やめて寝ればいいのにり
348 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 13:54:56.19 ID:LdI3VN67.net] >>340 まぁ、ざっと読むと君の環境はこのスレ的には異端みたいだし、フロントエンドエンジニアでもないようだから どうでもいいっちゃいいんだけどね。
349 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 14:14:48.43 ID:WCbBJW5L.net] >>338 想像でしかないんだけど表示項目1に対してデータ項目がn(n>0)って可能性とか たとえば視力検査の欄に表示する際 {"視力左":1.0,"視力右":1.0}の両方があって初めて表示するとか {"視力左":1.0,"視力右":1.0}→「おっけー」って表示 {"視力左":1.0,"視力右":null}→「右目は測りきれない4.0とか超いいかも」って表示 { "視力右":1.0}→「左目測ってない」って表示 {"視力左":1.0 }→「右目測ってない」って表示 { }→「視力検査してないっぽい」って表示
350 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 14:29:29.32 ID:mikttA8+.net] その例はちょっと良くないが、言いたいことはあっている。 undefinedはシステムからの処理上の値が無いですよという知らせ。 nullは誰かが明示的にそれを表明したもの。
351 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 15:57:03.36 ID:wxR5ZVVT.net] >>342 あー、それ一番的を射てる。
352 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 18:51:35.17 ID:znL0FvMW.net] jsやっている人はc、c++などのnullしかない言語ではundefinedが無いのはどうするのですか?困りますよね?
353 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 19:40:15.04 ID:e360ttrJ.net] undefinedを値として使ってるバカなんて知るかよ 大多数の人間はnull返せハゲって思ってるっての
354 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 20:00:07.25 ID:JD+3IcFi.net] >>322 ありがとうございます。 ちょっと本題から逸れるんですが、[,,,] の中身が新鮮ですね。 lengthは3で、キーは何も無いと言う。 一見、{0:undefined, 1:undefined, 2:undefined, length:3} こういう中身になってていいじゃないかと思うんですがそうはしないんですね。 いや、まぁどうでもいいんですが。 あ、次にpush('foo')しときにlength見て{3:'foo', length:4}になるから嬉しいのか。 lengthだけ持ってても十分なのか。なるほどなるほど。
355 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 20:32:52.55 ID:wxR5ZVVT.net] >>345 nullしかない言語は、dbNullを扱えるようになってるような。
356 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 22:33:17.75 ID:C610iy1k.net] >>344 末端に判定ロジック大量に積んでるのか ウンコですね
357 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 22:51:11.93 ID:ZB9BdGtV.net] >>345 そういった言語では例えば存在しないプロパティにアクセスすると例外となるので必要性が薄い。 JSがスクリプト言語だからこそ映える設計。 >>347 ぶっちゃけ歯抜けはよほどの場面じゃないと推奨しない。 言語エンジンの最適化試行ぶち壊しで気持ち悪い。 あと、Array.prototype.lastなんて夢でも死んでも使わないように。 その機能の標準化が一番危うくてデリケートで予測が付かない段階にきてる。 今最もprototype下に自作してはならない機能の1つ。
358 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 23:04:26.90 ID:VEM8svzW.net] >>347 > lengthは3で、キーは何も無いと言う。 [,,,] は Array.prototype 系と for 文で走査プロパティが異なるので注意が必要だ Array.prototype.forEach はプロパティが存在する値のみを走査する為、[,,] では何も走査しない [,,,].forEach(function (value) { console.log(value); }); // コンソールに何も出力しない [undefined,undefined,undefined].forEach(function (value) { console.log(value); }); // undefined を3回出力する 少し、話がそれるが、プロパティの存在する値にだけ処理を行うというのは重要なことだ >>342 の例でいえば、次のように書けるだろう https://jsfiddle.net/b1x6nohm/ 対象プロパティが String 型なので falsy な値として '' を使用している null を使うのなら対象が Object 型である必要がある
359 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 23:13:56.84 ID:C610iy1k.net] これもう議論にならんやろ 本人以外は皆仕様知っててこの態度なんやし
360 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 23:17:06.49 ID:VEM8svzW.net] >>347 >>307 でprototype拡張されていなかったのでいわなくても伝わるだろうと思って伏せていたが、Array.prototype.last はあくまでも便宜上のサンプルねので念のため Array.prototype 拡張は将来的に同名プロパティが定義されたときに互換性が崩れるのでお勧めしない 静的関数や独自オブジェクトによる拡張で代用するのが妥当だろう 何らかの理由でどうしても定義したいのなら一昔前のfor-inによる汚染問題を解消するために Object.defineProperty を使うべきだ Object.defineProperty(Array.prototype, 'last', {writable: true, enumerable: false, configurable: true, function last () {}});
361 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 23:19:21.13 ID:VEM8svzW.net] >>353 は SyntaxError だったので訂正 Object.defineProperty(Array.prototype, 'last', {writable: true, enumerable: false, configurable: true, value: function last () {}});
362 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 23:20:01.54 ID:wxR5ZVVT.net] まぁ、何度、経験ないだろ、なんて煽ってもそこだけ返事がないところみると、 「本人以外は全員わかってる」んだろうけど、笑えるわ。
363 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 23:38:40.59 ID:24hp8pmx.net] >>327 お前はいつか事故るぞ。投薬履歴だって表示が間違っていれば死人が出るんだ。 Web系の「リロードすれば万事おk」のノリでは駄目なんだ。お前はそれですらないが。 ただ、検証を手抜きすれば単価はいくらでも落とせるわけで、このように、 一通りの知識すらない馬鹿を雇って一通りの検証すらせずに出荷する悪徳業者をどうするかは 今後の課題になるのだろうね。 契約上、ソフトウェアのバグについては責任追及できないようになっているのだろうけど、 これまでソフトウェア産業が培ってきた常識すら知らない奴がコーディングし、 まともな検証すらせずに出荷するというのは、業務上過失致死/偽計業務妨害に問われるべきだ。 AS IS WARRANTY を完全に悪用している。 とはいえ、普通に考えればこういう悪徳業者はいつか出てくるわけで、不思議ではない展開だ。 死人が出てこの構造が判明してからでないと、行政は動かない。 願わくば、お前がその最初の犠牲者となり、自業自得を以て業界の浄化に貢献してくれ。 というわけで君には「人殺し君」というあだ名をあげよう。 多分君は既に人を殺しているか、今後人を殺す。 無知も罪なのだよ、業界によっては。 それはさておき、ここに来て気づいたが、 AS IS WARRANTY って性善説ベースだったんだな。 こりゃ性悪説ベースの何かを導入しないと駄目だ。 とはいえ資格なんて糞の役にも立たない業界だし、なかなか難しい。 調べた限りではPL法も適用外だし、悪徳業者はやりたい放題だ。 (ただここまで来るとマ板の話題でスレチだが) 話を聞いている限りこいつは鯖屋で、ソフトウェアの知識は一切無い。 フリーソフト等を組み合わせれば悪徳零細学生レベルでも見目麗しいシステム()を構築でき、 素人を騙せる時代になった。そしてそれがすべて自分の能力で出来たものだと勘違いしている。 (組み合わせる能力はあるが、使われているソフトを記述する能力は無いことに気付いていない) とはいえ、現実問題として、これを顧客に見抜けというのは不可能だろう。 なんだかなあ。
364 名前:NAS6 ◆n3AmnVhjwc [2016/05/31(火) 23:43:38.27 ID:ZnwkUC0d.net] ttp://nas6.main.jp/htm000.htm x3domのサンプル集とライブラリ 完璧な2/3D行列計算ライブラリに仕上がりました x3domは簡単でいいよ ポリゴンテスト&ライブラリヘルプ.htmでも見てください 完璧に計算されています^^
365 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 23:44:24.50 ID:+fB1tt6W.net] > 静的関数や独自オブジェクトによる拡張で代用するのが妥当だろう そうやって作られたのがUnderscore(lodash)というライブラリで わざわざ作らずとも、 _.last([1,2,3]) で取得できるんだよ。
366 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 23:50:20.60 ID:C610iy1k.net] >>355 RASISすら守っとらんみたいやし RDB使ってる現場やけど、そんな場当たり的な実装の経験ないで 普通はリクエスト間違ったら全部エラーやしfail safe前提や あんさんが無知すぎるんやで?
367 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:02:09.20 ID:J/AVgXyA.net] DB屋ならjoinできないようなデータ構造の時点で問題あると気づくやろ なんでそんな無理して知ったかぶるんやろ
368 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:03:48.85 ID:XVpspPb0.net] >>357 行列のライブラリはどれが有名か知らんけど、 このglMatrix.jsはスター多くていいんじゃないかな? https://spphire9.wordpress.com/2011/04/05/javascript%E3%81%AE%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E3%80%81%E8%A1%8C%E5%88%97%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA/ > 前に調べたときは全然見つからなかったけど、WebGL関係で調べていたら結構見つかったのでメモ。 > > glMatrix.js > https://github.com/toji/gl-matrix > glmatrix.net/ > webgl-mjs code.google.com/p/webgl-mjs/ > Sylvester sylvester.jcoglan.com/ > CanvasMatrix.js khronosのWebGLのチュートリアルで使っているがどこでダウンロードできるのか分からなかった > glMatrix.jsがシンプルなのでオススメ。 > > 2014/01/19追記 > glMatrixの公式サイトができてた。
369 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:04:59.00 ID:XVpspPb0.net] >>360 > DB屋ならjoinできないようなデータ構造の時点で問題あると気づくやろ どういうこと? nullがあるとjoin出来ないとかそういう話? なわけないよな。left joinとかあるわけだし。
370 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:11:15.87 ID:XVpspPb0.net] あとすべての項目をjoinに使うわけでもないし。
371 名前:NAS6 ◆n3AmnVhjwc [2016/06/01(水) 00:18:19.22 ID:CPNT1MjH.net] >>361 ライブラリを作る前に探したけど 回転行列←→回転ベクトル、回転行列←→四元数 この相互変換を扱ってるのは見当たらなかったよ
372 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:19:48.60 ID:XVpspPb0.net] >>364 興味ない。
373 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:20:56.87 ID:XVpspPb0.net] >>364 もう少し丁寧に言うね。 githubで公開してもいないようなものを使う気にはならない。
374 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:21:24.97 ID:iqAUu6wp.net] >>360 俺>>342 なんだけど挙げたデータ構造は あくまで俺がてきとーに想像しただけなので それで誤解与えてしまってたらごめん
375 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:42:46.14 ID:JLTaiLCk.net] >>359-360 多分そちらも気づいていると思うけど、人殺し君には「信頼性を上げる」という感覚がないんだ。 だから俺たちが何を問題視しているのか、全く
376 名前:通じていない。 ただ、当たり前のように信頼性を上げようと努力してきた側からすると、 業界全体が悪徳業者に対して全く無防備だったってのが結構ショックなんだよね、、、 というかよくこれまでこれで回ってたなと。 [] [ここ壊れてます]
377 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:43:15.64 ID:r3hfxk1X.net] >>356 必死すぎて笑えるw おつかれさん、底辺学生さん。
378 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:46:19.01 ID:XVpspPb0.net] >>368 そちらってお前誰だよw
379 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 01:00:31.81 ID:+8Has+9Z.net] >>357 あなたは x3dom.js と比較して何がどう「完璧」なのかを説明する必要があると思うのだが ドキュメントも簡易説明文のみで x3dom.org と比べれば雲泥の差があるように思う www.x3dom.org/
380 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 01:02:19.24 ID:J/AVgXyA.net] >>362-363 関連があるのに関連を付けずに 見つからない場合もright joinと同じ事するんやろ? 破綻しとるやん
381 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 01:05:25.70 ID:XVpspPb0.net] >>372 関連つければいいだけだよね? まさか片方にnullが入っていると関連がつけられないとでも? left joinでもright joinでも、別に使うことに問題無いし 問題ないから標準機能なのだし、どこが破綻? DB素人なら、すいません、素人だから 勘違いしてましたって謝れば許してあげるよ?w
382 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 01:10:30.88 ID:+8Has+9Z.net] 言い争っている人、所詮は机上の空論なのでコードを書いて語り合ってくれ 各自にとっては空論ではないのであろうが、持論が相手に正しく伝わっているとは思えん
383 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 01:12:17.78 ID:XVpspPb0.net] >>374 今はRDBMSの超基本レベルことを分かってないやつが相手みたいだから そこまでやる必要ないかなw
384 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 01:22:41.36 ID:JLTaiLCk.net] >>374 いや十分通じてるよ。表面的には。 ただ、根本的な部分で人殺し君は分かってないから、通じない。 とはいえこれは、ここでなんとかなる話ではないよ。これではどうやっても平行線だ。
385 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 01:25:01.12 ID:+8Has+9Z.net] >>375 お互いに相手が低レベルと思っているように読めるんだがな 相互理解が目的なら言葉を選べ 馬鹿にしたいなら他の人の邪魔になるから口を慎め
386 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 01:31:01.82 ID:XVpspPb0.net] >>377 質問に答えられない方はどちらか? それを見ればわかるでしょ。 まだ、レス帰ってきてないよw
387 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 02:20:52.04 ID:r3hfxk1X.net] なんか敵を見間違えてるんじゃねえの? 余裕無い奴は大変だな。 そりゃ、せっかくundefinedなのを無意味にnullで初期化とかドヤ顔で言っちゃうわけだ。
388 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 09:21:35.68 ID:jwFJ9KH2.net] こんなにもめるんならundefinedは廃止してnullのみにすべき。
389 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 09:26:09.02 ID:P2FwW4b5.net] 社会から未定義の連中が未定義値に物申すとか1万年早い
390 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 09:33:08.65 ID:wzx/dknC.net] 嫌なら定義するなよ
391 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 13:31:22.60 ID:KEu/R4xX.net] まぁ、null統一、すべてのプロパティは埋めて、ビューから相当するデータ座標を取らずに、データからビューを定義しよう、そのためには、 ビューの状態全体に対して、必要か不必要かは置いておいてすべてのビューが表示しうる形での裏画面を持っておこう、 って大富豪の主張がありうる、って話だよね。 面白い事に。 XMLDBとか、KVSとか、多次元配列DBに向いてない人なんだろうけど。 そもそもJOIN出来ないからなんたら、なんていう人は、そもそもそういうDBに向いてないけど。
392 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 01:24:38.27 ID:g2tgMhPe.net] >>377 犬の糞と猫の糞。
393 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 02:42:13.57 ID:XqRYmg3l.net] >>373 関連つければいいだけだよね その通り つけてないけど
394 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 02:43:59.04 ID:XqRYmg3l.net] 自分の説明してる仕様で実現できてる事が何かも把握してないみたいやね こりゃ周りの奴らは大変やで
395 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 08:36:48.79 ID:8VCgKElP.net] 前提知識で合意のとれてない議論に意味があるのか 端から見たらどちらも相手を見下す事が主論になってる どちらの方が正しいとか、もうどうでもいいから
396 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 08:39:24.52 ID:I85Xb9LU.net] バカに議論はできない 壁に向かって話してろゴミ
397 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 08:51:25.41 ID:0vkxmVo8.net] 脳味噌がnullってことで解決
398 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 09:15:26.93 ID:oJukbexp.net] nullほど。納得
399 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 13:24:04.29 ID:BtmdPReZ.net] 結局nullは要るとして、undefinedが無ければ代わりにissetみたいなのが要る。 内部を露出して活用を許すのと、メタ的に内部に干渉するの、どちらが良いかという話。
400 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 13:58:00.69 ID:tGqw3Zei.net] >>388 上手いこと云うな オレのコピペにしますん
401 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 15:58:54.65 ID:gjH3g/Dc.net] >>391 その通り。特に動的言語なら。 mallocした結果をどの型として使うか論にも近いけど。
402 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 16:21:31.47 ID:0vkxmVo8.net] nullなことばっかり言ってるんじゃないよ
403 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 16:42:37.48 ID:T7FoO03Y.net] (´∀`) ぬるぽ
404 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 16:44:57.76 ID:tGqw3Zei.net] ガッ
405 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 17:03:14.89 ID:E1oCL6WJ.net] .r'"''、 _,,,.. -ー''''''ー、 ./゙'=@._ ―ー-, /\ /\ ┏┓┏┓ .,iー-、 .゙l l,,_ / _ . l ! .!./ ゝ-、 /:::::::ヽ____/::::::::ヽ、 ┃┃┃┃ .!, .゙'" ヽ. ヽ,,,,.. -''ン゛ .} .| .゛ ,,、 〔゙|.ο ! 丿 ::.__ .::::::::::::: __ ::::ヽ_ ┃┃┃┃ l , r .iヽ l . ,/ .,./ l / _| ‘'ヽ / / /。 ヽ_ヽv /: /。ヽ ::::::ヽ ┃┃┃┃ ./ .l/ / .! .! .... ‐゛ ‘''-, .! .i| ´ |┏━/ / ̄ ̄√___丶  ̄ ̄\ ::::|━━┓┃┃┃┃ .l゙ , .i′亅 ! / .x;;'''''''、 . ! ! │ゝ―i .厂 ┃ | .:::::::::: / / tーーー|ヽ ..::::: ::| ┃┃┃┃┃ │ i゙.l ,ト--″ l .!_ .,,、 ゙'、 | .,! ! .|., ―┘ / ┗━| .:::::. ..: | |ヽ ::|━━┛┃┃┃┃ .! .∨ .,..、 l゙ .| .l. l ∨ ! .| .] i‐ 、 .ヽ、 | ::: | |⊂ニヽ| | :::::| ┗┛┗┛ . l. : ,i┐゙‐'゛ ゙l l. `″ / .! .! ゝ./ . l //| : | | |:::T::::| ! .::| ┏┓┏┓ `''''" ヽ,,,,,,..-'―′ \,,,,,,,,,.. '" ゝ ノゝ、,,,,,./ -.../// \: ト--^^^^^┤ 丿 \ . ┗┛┗┛
406 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 17:41:24.84 ID:tGqw3Zei.net] ∧ < >_∧ = ()二)V;・∀・) \ヽ ノ ) ノ(○´ノ ガッ (_ノ(__)
407 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 19:45:18.42 ID:foj8oVvi.net] __ 、]l./⌒ヽ、 `ヽ、 ,r'7'"´Z__ `ヽ `ヽ、-v‐'`ヾミ| |/三ミヽ `iーr=< ─フ < /´ r'´ ` ` \ `| ノ ∠_ `ヽ、__// / |/| ヽ __\ \ヽ |く ___彡'′ ``ー// |_i,|-‐| l ゙、ヽ `ヽ-、|! | `ヽ=='´ l/| | '| |!|,==| ヽヽr'⌒ヽ|ヽ| | | ┏┓ ┏━━━┓ | || `Y ,r‐、 ヽl,_)ヽ ゙、_ | | |. ┏━┓ ┏┛┗┓┗━━┓┃ ...ヽリ゙! | l::ー':| |:::::::} |. | / l|`! |i |. ┃ ┃ ┗┓┏┛ ┃┃┏━━━━━━━.j | l|.! l::::::ノ , ヽ-' '´ i/| !|/ | |リ ━━━━┓┃ ┃ ┃┃ ┏━┛┃┃ ┌┐ | l| { //` iー‐‐ 'i 〃/ j|| ||. |ノ ┃┃ ┃ ┃┃ ┃┏┓┃┗━━━.んvヘvヘゝ | l| ヽ ヽ / _,.ィ ノ/川l/.━━━━━┛┗━┛ ┃┃ ┏┛┃┃┗┓ i .i ゙i\ゝ`` ‐゙='=''"´|二レ'l/″ ┏━┓ ┗┛ ┗━┛┗━┛ ノ ! --─‐''''"メ」_,、-‐''´ ̄ヽ、 ┗━┛ r|__ ト、,-<"´´ /ト、 | { r'´ `l l /|| ヽ ゙、 } } | _|___,,、-─‐'´ | ゙、 `‐r'.,_,.ノヽ、__ノ/ | | |、__r'`゙′ | |/ i | | | |
408 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 23:25:10.25 ID:3RkkmY6H.net] >>385 > 関連つければいいだけだよね > その通り > つけてないけど ってことは、ORM使ってないのか? ORM使ってプログラム言語でモデルを定義していってその関連もモデルで定義する。 その結果をマイグレーション機能を使ってデータベースに反映、 ついでにER図も生成しちゃうっていうのが今時の開発でしょう? モデルに関連を定義しておかなければ、あるモデルから関連している 別のモデルのデータを取得するのができないわけで開発効率下がりまくりでしょ? (厳密に言えば手動でコードを書けば取得できるがそれだとORMを使う意味がない)
409 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 00:32:44.38 ID:1GfBsi1m.net] 出尽くし感があるので纏めておく。 人殺し君は悪徳業者に勤めており、検証不十分のソフトウェアを出荷している。 そのソフトウェアでは競合系のバグ等は完全に放置されている。 平たく言えば、間違った内容/値が表示される事が偶に発生する。 とはいえ、再現確率は低く(1日〜1週間に1回程度)、再び確認すればほぼ常に正しい値が表示されるため、 「見間違いだった」として処理されているはず。 結果、このバグによって発生した医療ミスは本当は医者のミスではないのだが、 「医者の過労または不注意による見間違い」として処理される。 また医療ミス自体も隠蔽される方向のため、二重に隠蔽されることになる。 医療系は単価が高いため、悪徳業者にとっては甘い汁状態だ。 医療関係者は金を吸い取られた上に、ぬれぎぬを着せられている可能性がある。 もし仮に医療系の人がこれを見ていて、「表示がおかしかった」事に気づいたことがあった、 また「最近『見間違い』事故が多すぎる」というときは、この類の悪徳業者の製品でないか確かめた方がいい。 悪徳業者の技術レベルは信じられないほど低い。普通のIT関係者なら絶句する。 JavaScriptの場合ソースは確認可能な事が多いので、非公式にでも知り合いのIT実務者を頼り、 ソースを確認してもらえば、すぐに判明すると思う。 このスレのこれまでの議論およびここに記載した情報で十分だと思うが、 もしもっと詳細を確認したい医療関係者がいれば、 以下スレで問い合わせてくれれば対応するかも。 > echo.2ch.net/test/read.cgi/tech/1449440793/ 技術的には、 undefinedの何が問題なのか自分で判断できないような馬鹿はundefinedを活用(キリッするなって事だ。 では続きをどうぞ。
410 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 00:47:09.21 ID:ZgLr+wQe.net] JSONってundefinedがないけれど、 じゃあ存在しない値にアクセスした時各言語ではどんな挙動をするのだろう?
411 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 01:00:55.33 ID:4VbjelCP.net] >>402 例外が発生する
412 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 01:57:17.93 ID:qC3of5q8.net] そうじゃない言語もあるんじゃないの?
413 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 08:37:03.10 ID:yTlzgE6f.net] >>404 例えば?
414 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 08:38:53.12 ID:oIsEebnB.net] おまえの頭ん中
415 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 08:41:45.97 ID:WTDDDw9O.net] >>401 検証不十分とか人殺しだとか言ってくれるよなぁ。 試験中ですら、稀にも発生したらハンコリレーで大変な目に遭うよ。 医療ミスがどうとか言ってるけど、隠蔽されるわけないじゃん。 見間違いだった、もあり得ないよ。 お前ら一般側には隠蔽されているように見えるんだろうけど、製造業のラインからの不良品混入程度に、委員会とかで裁かれるよ。 表示内容の確認に対して不足があった、って話になるだろうね。 これ判例もある。医者の判断と機械の値が一致しない場合は、医師の判断が優先され、かつ医師がその間違った値を信じ込んだ場合は「治療行為が行えるのは医師のみ」という原則に則ると、医師が医師である理由を満たせていない、ってやつ。 >>402 undefinedはたくさん存在してるじゃん。 書いてないだけで。 例外が発生するってのは良くない動きだと思うけどな。コスト高い。
416 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 08:55:59.89 ID:e85j2qyA.net] 所詮は命令、人それぞれ 自己満足で解決
417 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 13:00:26.72 ID:D6MzcBW9.net] >>400 このバカはその手動で書くと言うのを良しとしてるんやで そしてあと付けで関連つければいいだけだと抜かしよる 付けとらんから問題なんやろ
418 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 13:11:35.19 ID:WTDDDw9O.net] どういう意味だろ、手動で書くとは。 俺はそれを言った覚えは無いが、言わなくてもデータ:DB:ビュー全体に対するマッパー自体の実装の話だけどね。
419 名前:デフォルトの名無しさん [2016/06/03(金) 13:21:31.04 ID:D6MzcBW9.net] >>410 ORMで関連付けてるならundefined云々での分岐なんて出るわけないやろ その場しのぎで適当言いすぎやろ頭おかしいんちゃうか
420 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 13:35:21.14 ID:WTDDDw9O.net] >>411 当たり前じゃん。多次元DB触った事無いのかな? クラスベースな考え方してるからそういう思考なんじゃない? undefinedで分岐、って考えるから頭追いつかないんじゃないかな。 値は、「定義されていないか、オブジェクトか、値か、値として
421 名前:\すことのできるオブジェクトか、null」。シンプルじゃん。 javascript屋ならもっと理解早いと思うんだけどな。 HTMLのスクレイピングそっくりなんだけど。 [] [ここ壊れてます]