
簡単なおさらい:堅牢にする
この章の目的を思い出してみましょう。
Web
アプリケーションのコードをさらに堅牢にする
ために、起こりそうな
4
つの問題に関する疑問に答える必要がありました。それぞれの疑問をお
さらいし、どのように対応したかを示しましょう。
長い時間がかかったら?
この
11
章の冒頭
416
ページのエクササイズの中でも、「長い時間がかかったら?」という疑問
がありました。そのときは
log_request
関数と
view_the_log
関数で発生した
cursor.
execute
呼び出しの検査が原因でした。上の疑問
1
から
4
でも
log_request
と
cursor.
execute
は登場しています。まだ解決されたわけではないのです。
log_request
と
view_the_log
はどちらも、
UseDatabase
コンテキストマネージャを
使って
SQL
クエリを実行します。
log_request
関数は送信された検索の詳細をデータベース
に書き込むのに対し、
view_the_log
関数はデータベースから読み込みます。
問題は、「この書き込みや読み込みに長い時間がかかった場合にどうするか」です。
答えはプログラミング世界の多くのことと同様、その状況次第です。
1
データベース接続に失敗したら?
バックエンドデータベースが見つからないときに起こる新たな例外
ConnectionError
を作成
しました。そして、
try/except
を使って
ConnectionError
に対応します。
2
Web
アプリケーションは攻撃から守られている? ...