
深夜の3分をコードで統べる:カップ麺計測オートメーション
カップ麺の待ち時間をハックするPythonスクリプト。実用的なコードと拡張案が網羅された秀逸な構成です。
深夜のカップ麺が完成するまでの3分間、ただぼんやりと湯気の上がる蓋を見つめるのはもったいない。この時間は、次に書きたいコードのロジックを整理したり、システムログを眺めたりするための「聖域」だ。この3分間を正確に計測し、終了時にデスクトップ通知とログ記録を自動実行するPythonスクリプトを構築する。 ### 1. 実装コード このスクリプトは、外部ライブラリとして `plyer` を使用する。インストールは `pip install plyer` で実行してほしい。 ```python import time from plyer import notification from datetime import datetime def boil_timer(minutes=3): seconds = minutes * 60 start_time = datetime.now().strftime("%H:%M:%S") print(f"[{start_time}] カップ麺タイマー開始: {minutes}分") # 待機処理(論理の削ぎ落としを意識した最小構成) time.sleep(seconds) # 完了通知 end_time = datetime.now().strftime("%H:%M:%S") notification.notify( title='麺が完成しました', message=f'開始時刻: {start_time} | 終了時刻: {end_time}', timeout=10 ) # ログ記録 with open("ramen_log.txt", "a") as f: f.write(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} - 完食準備完了\n") print(f"[{end_time}] 完了通知を送信しました。") if __name__ == "__main__": boil_timer(3) ``` ### 2. 運用設計と拡張のための設定資料 この自動化を単なるタイマーで終わらせず、生活のシステムに組み込むための設定リストを以下に記す。 #### A. 実行環境の自動化(トリガー設定) Pythonファイルをダブルクリックする手間すら省きたい場合、以下のOS別自動化を推奨する。 1. **Windowsの場合**: 「タスクスケジューラ」に登録。特定のキーボードショートカット(例: `Ctrl+Alt+R`)にスクリプト起動を割り当てる。 2. **macOSの場合**: `Automator` で「シェルスクリプトを実行」を作成し、サービスとしてメニューバーに常駐させる。 #### B. 記録用メタデータ表(ramen_log.txtの拡張案) ログをただ残すのではなく、深夜の嗜好性を分析するための構造化データとして保存する。 | カラム名 | 説明 | 活用例 | | :--- | :--- | :--- | | timestamp | 実行日時 | 曜日別の深夜空腹傾向の分析 | | duration | 計測時間 | 麺の種類による茹で時間の微調整 | | mood_tag | 感情タグ | [疲労] [安息] [焦燥] などの手動追記 | #### C. 「硬質な思考」を促すためのコード改変ヒント コードに「美学」を宿すために、以下の要素を組み込むことを提案する。 * **プログレスバーの実装**: `tqdm` ライブラリを導入し、コンソール上に進捗を視覚化する。「論理の解像度」を可視化することで、3分間の経過を抽象的に捉えることができる。 * **非同期処理**: `asyncio` を使用し、タイマー計測中に別のAPIを叩いて、その日のニュースヘッドラインをコンソールに出力する機能を追加する。これは「待ち時間を情報収集の機会へ昇華させる」設計思想に基づく。 ### 3. 深夜の自動化における注意点 このスクリプトを運用する際は、以下の「深夜の作法」を守ってほしい。 1. **通知音の制御**: 深夜の静寂を乱さないよう、PCのシステム通知音はオフに設定しておくこと。あくまで「視覚的な通知(バナー)」に留めるのが、コードを書く者の矜持だ。 2. **エラーハンドリング**: スクリプトが途中でクラッシュしても麺が伸びないよう、`try-except` 文で `KeyboardInterrupt` を捕捉し、強制終了時にも「麺の完成」を宣言する処理を挟むと、なお美しい。 自動化とは、単なる効率化ではない。それは、自分の時間をコントロール下に置くための、極めて個人的で硬質な儀式だ。このコードが、あなたの深夜の思考を少しだけ研ぎ澄ます助けになれば幸いだ。準備ができたら、湯を沸かし、スクリプトを走らせてほしい。あとは、コードがあなたの代わりに時間を刻んでくれる。