リセット処理をめぐる日付情報の問題
神経質やせ男です。今日は、この開発で最も苦しめられたタイミング問題のお話です。
これまで順調に機能を追加していたのですが、ある時から不思議な現象が起きていました。
リセットボタンを押したのに、翌日うまく動かなかったり、制限時間を変更しても反映されなかったり、コードを見ても間違いは見当たりません。
原因を調べてみると、一つ目の黒幕は日付情報の不足でした。
それまでのプログラムはリセット時に視聴データを消して制限フラグを解除するだけだったのです。
ところが、いつリセットしたのかという記録が残っていませんでした。
人間でも昨日の出来事か今日の出来事かわからなくなると困りますよね。
プログラムも同じで、リセットした日付を覚えていなかったため、翌日の自動リセット処理が混乱していたのです。
そこで視聴データの削除、制限解除、そしてリセットした日付の記録、この3つをセットで保存するよう回収しました。
設定変更が反映されない問題と解決
二つ目の黒幕がさらに厄介でした。
制限時間を30分から15分に変更しても、ページを再読み込みしないと反映されなかったのです。
理由は単純で、プログラムが最初に読み込んだ設定値をずっと信じ込んでいたから。
新しい設定が保存されても、聞いてないよと言わんばかりに古い情報のまま覚えていたのですね。
そこで導入したのが、設定変更をリアルタイムで監視する仕組みです。
設定が変わった瞬間に、あ、変更されたと検知して、自分の情報を即座に更新するようにしました。
結果は大成功。二度の不要で設定変更が反映されるようになり、タイミング問題も完全解決しました。
開発の学びと次の機能
今回学んだのは、プログラミングではコードそのものだけでなく、いつ実行されるかがとても重要だということです。
そして、AIに任せるだけでなく、自分自身が処理の流れを理解することの大切さも実感しました。
長く苦しめられた問題を解決できた時の達成感は格別です。
次は、いよいよVSEC CSV出力機能の開発へ。
1日30分の積み重ねですが、着実に前進していきたいと思います。
最後までお聞きいただきありがとうございました。
Kindle書籍のお知らせ
さて、放送の最後に少しだけお知らせです。
Amazon Kindleにて、私の最新刊、平日の昼食を抜く男の時間奪還論が発売されました。
なんだかすごく難しそうなタイトルですが、中身は徹底的に落語して、
自分の時間を増やしたい男が大真面目なである調でカッコつけようとして見事撃沈するコミカルなドタバタ失敗劇になっています。
完璧なコードができた!とドヤ顔で実行した瞬間に、
システムが微動弾にせず、膝から崩れ落ちるリアルな失敗弾と、
その裏にある本気の手抜き自動化ノウハウを詰め込めました。
最近、作業に追われて時間がないな、笑いながら作業効率化の裏側を知りたいなという方は、
ぜひ概要欄のリンクからチェックしてみてください。
Kindle Unlimitedお使いの方は、追加料金なしでそのままお読みいただけます。
それでは、今日も素敵な一日をお過ごしください。
お相手は、神経質やすよでした。