セルフチェックで間違い探し
設定変更を間違いなくやったつもりで、チェックをしたら間違いに気がつけました。
photo credit: ottonassar via photopin cc
お客さんからシステムの設定変更の連絡がありました。
変更内容はデータベースから読み込んで表示している項目なので、データベースに設定済の内容を変更します。
設定変更作業
データベースはPostgreSQLを使っていて、ちょっとだけ複雑な内容があったので、設定してある値をテキストエディタにコピーして編集することにしました。PostgreSQLはコピーしてテキストエディタに貼り付けると、値がダブルクオーテーション(")で囲まれます。
そのままPostgreSQLに貼り付けて値を更新すると、ダブルクオーテーションまで含まれてしまいます。
編集後に貼り付けることを考えて、ダブルクオーテーションを一括置換して削除しました。
メールの内容が正しくない
値を編集して、PostgreSQLに貼り付けて値を更新し、画面表示をチェックすると正しく表示されました。これで設定変更作業を正しく終えたと思いましたが、設定変更はメールを送信する機能にも影響がある内容だったのを思い出しました。
画面表示が正しいのだから大丈夫だと思いましたが、念のためメールを送信して内容を確認すると、意図と異なる部分がありました。
一括置換で失敗
データベースの値にはHTMLタグが含まれていて、画面表示ではそのまま使いますが、メール送信ではHTMLタグを削除して送信しています。メールに一部のHTMLタグが残っていました。
以前は正しく削除されていたのでなぜだろうと考えたら、
<span class="test1">値1</span>
としなければならないところを
<span class=test1>値1</span>
としていました。
ダブルクオーテーションの一括置換で、必要なダブルクオーテーションまで消していました。
ダブルクオーテーションを正しくつけたところ、意図通りのメールが届くようになりました。
変更したところは正しいと思い込まず、確認が必要ですね。
チェックは重要。大丈夫だろうという思い込みを、大丈夫という確信に変えてくれる。
— AJYA (@ajyaa) 2014, 9月 29