学習部分のコードをリファクタリングした