タグ

コンピュータとアルゴリズムに関するyfukuda827のブックマーク (1)

  • 計算複雑性理論を知らないやつが何をやらかすか教えてやろう。 ある業務用..

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

    計算複雑性理論を知らないやつが何をやらかすか教えてやろう。 ある業務用..
    yfukuda827
    yfukuda827 2022/12/01
    なるほどわかりやすい。わたしもメモリ管理にうるさい現場で指導を受けたから、入力値にvalidation必須で、取得データ量を見て検索件数設定したりしてたけど、そういうのを授業でやっているよってことね!
  • 1