タグ

技術とコンピュータ・サイエに関するmohnoのブックマーク (2)

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

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

    計算複雑性理論を知らないやつが何をやらかすか教えてやろう。 ある業務用..
    mohno
    mohno 2022/11/30
    「計算複雑性理論」←マジレスすると、この言葉は知らんかった(そして忘れそう)。あくまで入力チェックの話で、昨今は計算量/メモリー使用量を気にしないケースも多いみたいだけどね(←あまり好きではない)
  • [追記]プログラマーにコンピュータ・サイエンスは必要なんだろうか

    この疑問はもう俺の中で何十年もくすぶっているんだが、未だにその答えは見つかっていない。 そもそも俺はコンピュータサイエンスというものをよくわかっていないというのもあるんだが、プログラマーをやっていてコンピュータ・サイエンスの素養がなくて困ったことがない。 学生が言うところのコンピュータ・サイエンスが社会に出て何の役に立つんだよっていう話がしたいんじゃない。 ここに吐き出しつつ自分なりに問題を噛み砕いてみたい。 フラフラ思いつくままに書いているから頭悪い文章になることだけは先に宣言しておく。 仕事をしているうえでなんで困らないのかまずコレが最も重要なポイントだと思うんだが、仕事でプログラム書いていて、コンピュータ・サイエンスの素養がなくて困ったことがない、例えばコンピュータ・サイエンスのボキャブラリがないと会話すらままならないなんて言うことは起きたことがない。 更に言うならば要件定義をコード

    [追記]プログラマーにコンピュータ・サイエンスは必要なんだろうか
    mohno
    mohno 2022/11/30
    「多くのプログラマはコンピュータ・サイエンスを勧めてくる」←そうなのか。https://gigazine.net/news/20210831-google-upscaling-low-resolution-images/ ←これを見て“元の画像に戻るわけじゃない”ことが分かる程度ならいいんじゃない?
  • 1