ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

セルフチェックで間違い探し

設定変更を間違いなくやったつもりで、チェックをしたら間違いに気がつけました。
f:id:AJYA:20140930054623j:plain
photo credit: ottonassar via photopin cc

お客さんからシステムの設定変更の連絡がありました。
変更内容はデータベースから読み込んで表示している項目なので、データベースに設定済の内容を変更します。

設定変更作業

データベースはPostgreSQLを使っていて、ちょっとだけ複雑な内容があったので、設定してある値をテキストエディタにコピーして編集することにしました。
PostgreSQLはコピーしてテキストエディタに貼り付けると、値がダブルクオーテーション(")で囲まれます。
そのままPostgreSQLに貼り付けて値を更新すると、ダブルクオーテーションまで含まれてしまいます。
編集後に貼り付けることを考えて、ダブルクオーテーションを一括置換して削除しました。

メールの内容が正しくない

値を編集して、PostgreSQLに貼り付けて値を更新し、画面表示をチェックすると正しく表示されました。
これで設定変更作業を正しく終えたと思いましたが、設定変更はメールを送信する機能にも影響がある内容だったのを思い出しました。
画面表示が正しいのだから大丈夫だと思いましたが、念のためメールを送信して内容を確認すると、意図と異なる部分がありました。

一括置換で失敗

データベースの値にはHTMLタグが含まれていて、画面表示ではそのまま使いますが、メール送信ではHTMLタグを削除して送信しています。
メールに一部のHTMLタグが残っていました。
以前は正しく削除されていたのでなぜだろうと考えたら、

<span class="test1">値1</span>

としなければならないところを

<span class=test1>値1</span>

としていました。
ダブルクオーテーションの一括置換で、必要なダブルクオーテーションまで消していました。
ダブルクオーテーションを正しくつけたところ、意図通りのメールが届くようになりました。

変更したところは正しいと思い込まず、確認が必要ですね。