2022年11月30日のブックマーク (2件)

  • 『計算複雑性理論を知らないやつが何をやらかすか教えてやろう。 ある業務用..』へのコメント

    "O(1)でDBレコード全件持ってきても" というのが何を言ってるのか分からない。レコード全件引っ張ってきたらレコード数nに対してO(n)では……? レコード全件と比較したら表示数は誤差になるかもしれんが

    『計算複雑性理論を知らないやつが何をやらかすか教えてやろう。 ある業務用..』へのコメント
    kazatsuyu
    kazatsuyu 2022/11/30
    あー、なるほど。「(メモリ使用量が)O(1)で(仮に)DBレコード全件持ってきても」ということか。DBレコード全件を取得するのがO(1)という意味かと誤読してた
  • 計算複雑性理論を知らないやつが何をやらかすか教えてやろう。 ある業務用..

    計算複雑性理論を知らないやつが何をやらかすか教えてやろう。 ある業務用Webシステムは検索結果の表示件数を5/10/20件から選べるようになっててて,URLのパラメーターで「?n=20」とかやって送ってた。メニューからは三つの値しか選べないが手で書き換えれば100とか200とか選べる穴が空いてた。 で,よりによってメモリ使用量がO(n^2)になるコードを書いていやがった。n=500でOutOfMemoryError。リモートから面白いようにサービスを落とせた。 CSを知ってるやつなら,コードを書いた瞬間から「これnの上限チェック入れないとまずいな」とわかるんだよ。というか,普通にこのコードはまずいと考えてアルゴリズムをなおして,O(1)でDBレコード全件持ってきても落ちないコードにできてたはず。

    計算複雑性理論を知らないやつが何をやらかすか教えてやろう。 ある業務用..
    kazatsuyu
    kazatsuyu 2022/11/30
    "O(1)でDBレコード全件持ってきても" というのが何を言ってるのか分からない。レコード全件引っ張ってきたらレコード数nに対してO(n)では……? レコード全件と比較したら表示数は誤差になるかもしれんが