- + JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net
331 :デフォルトの名無しさん[sage]:2016/05/31(火) 10:16:07.42 ID:LdI3VN67 - >>327
> DBに入ってもない無い値を、入っていた事にされるのは許せんだけ。 outer joinやcross joinについてはどう思うのかね
|
- + JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net
333 :デフォルトの名無しさん[sage]:2016/05/31(火) 10:21:15.79 ID:LdI3VN67 - >>311
> ループの内側の数とか言うより、描画用の項目定義は項目定義である。 > 医者が並べて見る時に、項目数が変わったり並び順が変わったら困るから。 > それは医者次第だけど、内部的には > xpathみたいなもので指定する。 なかなか話が通じないが、要は表示項目数×人数のループをしてundefinedかどうかを 判定するということだろ?表示項目数が30で20人分表示なら600回の処理をする。 そうじゃなくて、存在するデータ側を元に表示するか、あるいは全く別のアプローチをすれば いちいちundefinedかどうかなんて判定は不要ではとうこと。
|
- + JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net
335 :デフォルトの名無しさん[sage]:2016/05/31(火) 11:08:00.91 ID:LdI3VN67 - >>334
> ふむ、では、その冴えたアプローチで綺麗にしたデータを、行と列、ないしはグラフにレンダリングする術を > 提示してみてくれよ。 > まさか、最初にレンダリング域全体のメモリを確保して、データ一つ一つに対して、RCや軸をデータから推測してその場所へデータを載せれば良い、最終的に残るのはundefinedだった項目だけ、とか考えてんのかな。 グラフという単語がでてきたので話が根本的にかみ合ってない気もするが、基本的にはそういうことだよ。 テーブルで表示することを考えれば、項目が決まれば行あるいは列が決まり、人が決まれば列あるいは 行が決まる。それをメモリ上のデータ構造として作成して一気にテーブル化するとか、DOMを直接書き 換えるとか、あるいは、テンプレートを使うか、データバインディングしてModelが自動的にViewに反映 されるようにするとか、やりようはいくらでもある。 グラフのメタファーで言えば、定義域:0〜100, 値域:0〜100のグラフがあるとき、(1, 3), (2, 5)という二つの データしか無ければ二回プロットすれば終了ということだよ。
|
- + JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net
338 :デフォルトの名無しさん[sage]:2016/05/31(火) 13:25:23.48 ID:LdI3VN67 - >>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回の実行が必要。 そうじゃなくて、逆からのアプローチはできないのという疑問。 逆というのは、「存在するデータを元にする」やりかた。
|
- + JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net
339 :デフォルトの名無しさん[sage]:2016/05/31(火) 13:26:54.24 ID:LdI3VN67 - 君は君の問題を100%把握してるだろけど、俺(たち)は断片的な君の書き込み内容から
どのような問題なのかを想像することしかできないわけお。 >>336 > 一気にメモリに載せてられるかww とか言われても、困惑するのみ。
|
- + JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net
341 :デフォルトの名無しさん[sage]:2016/05/31(火) 13:54:56.19 ID:LdI3VN67 - >>340
まぁ、ざっと読むと君の環境はこのスレ的には異端みたいだし、フロントエンドエンジニアでもないようだから どうでもいいっちゃいいんだけどね。
|
- オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
66 :デフォルトの名無しさん[sage]:2016/05/31(火) 14:40:48.35 ID:LdI3VN67 - >>62
開放/閉鎖原則 (Open-Closed Principle(OCP))って知ってる? 知らないなら調べて見ると良いよ。 https://ja.wikipedia.org/wiki/%E9%96%8B%E6%94%BE/%E9%96%89%E9%8E%96%E5%8E%9F%E5%89%87 > 開放/閉鎖原則に従ったソフトウェアは、既存のソースコードを変更することなく、振る舞いを > 変更することができる。 > 開放/閉鎖原則に沿ったソフトウェアは、既存のソースコードを変更せずに機能修正や機能追加を > 行うことができる。そのため、品質検査を再実行する必要がない。 つまり、既存のコードに一切影響を与えることなく、新規に機能追加ができる。既存コードには 影響がないので、再テストも不要。 (自動テストがあるなら、実行するのはおおいに結構) 一方、switch-caseで処理を振り分けていたりする場合、新規に追加した機能のcaseが増え、 原理的には、その変更されたswitch-caseを含むメソッド/クラスを再テストする必要がある。
|
- オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
68 :デフォルトの名無しさん[sage]:2016/05/31(火) 14:47:52.46 ID:LdI3VN67 - OCPの例:
http://objectclub.jp/community/memorial/homepage3.nifty.com/masarl/article/dp-ocp-2.html class Note, Quater, Half, Staffがあり、Staff::Play()で演奏するが、ここに8分音符や16分音符 クラスを追加しても、class Staffを含め既存クラスの変更・テストは不要。
|
- 【PHP】下らねぇ質問はここに書き込みやがれ 5 [無断転載禁止]©2ch.net
425 :デフォルトの名無しさん[sage]:2016/05/31(火) 15:28:11.55 ID:LdI3VN67 - >>421
'0777' => 0777
|
- オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
74 :デフォルトの名無しさん[sage]:2016/05/31(火) 15:41:46.58 ID:LdI3VN67 - >>73
その設計書がコードと1:1でないなら、プログラマは普通コードを元にテストを書く。 >>68の例で言えば、8分音符を追加するという変更の時、どのコードがテスト対象になるのかを 知っているのは、実装したプログラマだけ。 設計書がコードと1:1なら設計書からテストを起こせるが、そんな現場はないだろう。
|
- オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
76 :デフォルトの名無しさん[sage]:2016/05/31(火) 15:53:45.05 ID:LdI3VN67 - >>75
> そんなマー見た事いよ。先にテスト書いちゃうじゃん。 > テストに合わせて実装が現場だと普通だよ。 sine
|