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

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

まずは体調をよくすることを優先します

今週のお題ゴールデンウィーク2017」で、休みがカレンダー通りなのであまりゴールデンウィークという気がしませんが、3日から7日まで5連休です。

昨年は一泊二日の旅行に行きました。
ajya.hatenablog.jp
ajya.hatenablog.jp

今年も3月に旅行に行こうかどうしよう、宿はここがいいかな?とか検討をしていましたが、結局宿を予約せず、旅行には行かないことになりました。
まあ、旅行を予定していた日の天気予報も微妙なので、予約しなくてよかったかなという気がします。

f:id:AJYA:20170502230033j:plain
photo credit: Novafly DreamWalker via photopin (license)

家族そろって体調が完全ではない

最初に子どもが体調を崩しました。
先週は保育園を3日間休ませました。

次に妻が体調を崩しました。
子どもからうつされたようです。

そして僕も体調を崩しそうですが、そこまではいたらず、なんとか持ちこたえようとしている状況です。
早目に手をうつために、受診して薬をもらってきました。

この状況なので、まずは体調を整えないと、なにもできません。
幸い僕以外は、前から通院しているおかげか随分治ってきています。

やりたいことはいろいろありますが、体調良くないとやる気にならないので、早く体調を元に戻したいです。

少しでも片づけを進めたい

体調を崩すと、いつも以上に無気力になって、なにもしたくなくなります。
書類の片づけが進んでいないので、少しだけでもいいので、不要な物を捨てたいです。

複数ファイルのアップロード機能の動作確認

以下の2つの記事で、複数ファイルのアップロードについて書きました。
ajya.hatenablog.jp
ajya.hatenablog.jp

複数ファイルのアップロード機能を実装したら、今度は予定通りファイルの登録ができるか、ファイルを更新できるか、ファイルを削除できるかを確認していきます。
ファイル自体の確認や、データベースの確認、複数ファイルに対応しているので、最後以外のファイルを更新や削除した場合の表示がどうなるかも確認します。

f:id:AJYA:20170501233655j:plain
photo credit: Akuserarēta Lumia 20141114-215425 via photopin (license)

複数ファイルのアップロードなので、同時に複数のファイルをアップロードして登録できるか、同時に複数のファイルを更新できるか、同時に複数のファイルを削除できるかは、当然確認します。
他にもファイルを削除をして、続けてファイルを登録して正しく処理ができるのかなどを確認します。


こうして動作確認をすることで、やっと正しく動作することを確認できて、実装に対して自信を持つことができます。
こういった確認作業が行われていることは、依頼される側は想像しにくいでしょうね。

アップロードしたファイルの更新処理と削除処理の考え方

複数ファイルのアップロードのコードを以前書きました。
ajya.hatenablog.jp

ファイルの登録が必須であれば、ファイルが選択されているのか、すなわちサーバーにアップロードされてきているか判定すればわかります。
ファイルの登録が任意の場合はどうすればいいのでしょう。

ファイルを新規に登録する場合

ファイルのアップロードがされていれば、アップロードされていた処理、ファイルのアップロードがされていなければ、そのままなにもしないで処理を終わらせれば済みます。
データベースへは新規登録になるので、インサートを行います。

登録済のファイルを別のファイルに更新する場合

ファイルを新規に登録する場合とほぼ同じですが、以前のファイルの情報をデータベースから取得しておいて、更新の対象になったら、以前のファイル自体は、新たな拡張子(.backnなど)を追加して、念のため保存しておきます。
データベースにある情報は、新しいファイルの情報にアップデートします。

登録したファイルを削除する場合

以前のファイルの情報をデータベースから取得しておいて、削除の対象になったら、保持用の変数から削除対象の保持用の変数に、ファイルの情報をコピーします。
確定する時点で、削除対象の保持用の変数の情報を使って、削除対象のファイル自体は、新たな拡張子(.delなど)を追加して、念のために保存しておきます。
データベースにある情報は、保持用の変数の情報でアップデートして、削除対象となったファイルの情報を消してしまいます。
登録されたファイルの情報を保存するテーブルとは別の、削除されたファイル用のテーブルに、念のため削除対象となったファイルの情報は保存します。

f:id:AJYA:20170430232308j:plain
photo credit: mkorsakov THINK via photopin (license)

随分シンプルになりましたが、それまではいろいろと複雑に考えすぎて、あるケースでは辻褄が合わないとわかり、どんどんシンプルにしていきました。