
#120 pythonでポモドーロタイマーを作ってみた
ポモドーロテクニックを取り入れて、仕事の集中力と生産性を向上したいと思ったことがある方、すでに実践されている方、多いと思います。僕も取り入れてみたいと思いました。
ポモドーロテクニックは、仕事を 25 分ずつのセッションに分け、そのあいだに5分休憩をはさんで行う時間管理術です。集中力を維持しながら生産性を上げる効果があるこの手法は、ビジネスシーンだけでなく、勉強などに集中したいときにも活用できるテクニックです。
ポモドーロタイマーはそれこそ、アプリもたくさんあるし、Chromeの拡張機能にもたくさんある。でも僕はpythonの勉強のためにポモドーロタイマーで通知を出してくれるスクリプトを作ろうと思い、やってみました。
Windows環境ですが、以下の手順で行います(pythonのインストール、pipのインストールの説明は割愛します)。
1. chatGPTでpythonコード生成
ポモドーロタイマーを通知してくれるpythonコードを書いて
import time
import os
import platform
# 通知を送る関数
def send_notification(title, message):
system = platform.system()
if system == "Darwin": # macOS
os.system(f"osascript -e 'display notification \"{message}\" with title \"{title}\"'")
elif system == "Windows": # Windows
from plyer import notification
notification.notify(
title=title,
message=message,
timeout=10
)
# ポモドーロ・テクニック(25分作業 + 5分休憩)を繰り返す
pomodoro_count = 1 # 何回目のポモドーロかをカウント
while True:
# 作業時間(25分)
send_notification("ポモドーロ開始", f"🍅 ポモドーロ {pomodoro_count} 開始!25分間集中しましょう。")
time.sleep(25 * 60) # 25分(1500秒)
# 休憩時間(5分)
send_notification("休憩時間", "☕ 休憩時間です!5分間リラックスしましょう。")
time.sleep(5 * 60) # 5分(300秒)
pomodoro_count += 1 # ポモドーロ回数をカウント
コードが生成されました。OSを取得してmacとwindowsに対応しています!「ポモドーロ.py」と名前を付けて保存します。
2. plyerのインストール
「plyer」というライブラリは通知表示をサポートしてくれます。これはWindows用のライブラリ。こちらをインストールします。
pip install plyer
3. ターミナルで実行します。
C:\Users\XXXXXXXX> python ポモドーロ.py
実行すると、Windowsデスクトップ右下に開始通知が表示され、25分後に休憩通知が表示され、また5分後に開始通知が表示されます。これが繰り返されます。


chatGPTにコード生成してもらったこともあり、ポモドーロタイマーのアプリや拡張機能をインストールするよりも早くできました。
これを使って、ポモドーロテクニックで仕事したいと思います。
僕のようなpython初心者はchatGPTにコードを生成してもらいながら勉強するのが、言語の習得やライブラリの活用方法を学ぶ近道と言えるかもしれません。
ここまでお読みいただき、ありがとうございました。