2016年8月15日月曜日

筋トレ管理をコンピュータシステム化

減量第2期目を始めたのが2015 年10月4日
あれから増えたり減ったりを繰り返し、なかなか進まない減量。
色々試し、考え、工夫し、そしてなんとか50kg台への道のりが見えてきました。

筋トレ

減量第1期目から引き続きおこなっているのが筋トレ。
低炭水化物ダイエットで欠かすことが出来ない要素の1つという考え方は変わっていません。

必ず定期的におこなっている筋トレには全部で6種類あります。

  • 1日目:腹筋・背筋・ヒップリフト
  • 2日目:腕のゴムトレ・カーフレイズ・ハンドグリップ
元々は1日目にすべてこなし、2日目は休息を繰り返すメニューでした。
それが次第に回数・セット数が増えていくにつれ時間がかかるようになります。
筋トレ日と休息日の時間の波が大きくなったため、それらを分散して平均化。
部位ごとのメニューなので、それぞれに48時間の休息日を与えつつ連日行えるように自分なりに考えた筋トレメニューです。

筋トレ管理の難しさ

筋トレ実施の基本は連日なのですが、その日のコンディションや気分、また別の予定が入ってで行えない日というのがどうしても出てきます。
また逆に、時間があったり気分が良かったり、体調が良い時には普段よりも多めの筋トレをします。
そうした融通を利かせることが長続きする秘訣です。

そんな変則的な実施に付き物なのが、いつ分の何をいつやったかをどうやって管理するか。
当初は頭で記憶してやっていましたが、同じことを毎日何度も繰り返していくうちに忘れてしまう事がでてきました。
多い分には鍛えられるのだから良いと思われがちですが、筋トレは数多くやれば良いというわけではありません。
無理してやると必ずその後に疲労や筋肉痛などの怪我を負ってしまい、のちの筋トレに悪い影響を与えます。
そのために、いつ分の何をいつやったかの管理が必ず必要になってくるのです。

紙のカレンダーを使った管理

最初に思いついた方法は、紙のカレンダーに印を付けて管理する方法でした。
筋トレメニューは2日1セットなので1日目に印を付けます。これがいつ分の何をにあたる部分です。
そして、1日分をやったら別の印を付けていきます。これがいつやったかになります。

しばらくコレで管理して上手くいってました。
ただ、この方法だと筋トレ6種の個別単位での管理が出来ません
6種類全部書くのは面倒だし、頭で覚えていても同じ事の繰り返しは時々忘れてしまうし。

コンピュータ管理しようとしたら難しい事に気がつく

面倒くさいならコンピュータでやってしまえ!

そう思って色々考えたら、思ったより難しい事がわかってきました。

最初に思いついたのは、カレンダー形式の予定管理アプリ。
GoogleカレンダーYahooカレンダーみたいなアプリです。
これらアプリで管理できるのはいつ分の何をという部分だけです。
やったやらないかは関係なく、やることを事前にお知らせしてくれる機能なのです。
だからいつやったかの部分が管理できません。

また、今回の筋トレのように頻繁に繰り返す定形作業の管理には不向きな部分もあります
すべてのカレンダーアプリというわけではないのですが「何日おきに繰り返す」という設定が可能なモノもあります。
ただ、それもいつ分の何をの部分だけ。
予定設定上は1つなのでいつやったかの記録が難しいです。
毎日実施の都度予定として追記していくのが非常に面倒で、それなら紙のカレンダーにペンで書き込んだほうが早いです。

設計と作成

いつ分の何をいつやったか
これをコンピュータシステム管理する場合、どのように実装すれば良いのか考えてみました。

  • 次回予定の「予定日・内容」を記録
  • 実施したら「実施日」を記録
  • 実施後に予定日を元に次回予定を記録

これを形にしたのがコレ。
  • とりあえず筋トレ6種に合わせ6項目固定で書き出し
  • 筋トレした日に記録する予定なので実施日に当日を初期設定(変更も可)
  • 実施記録後に次回予定を2日後にして記録
  • 初回のみ予定記録が無いため予定日実施として当日を初期設定
  • 2回目以降は未実施記録の予定日を表示し、当日はチェックのみで記録できる

次はいつまでに何をするかを確認するモノを作ります。
  • 未実施記録の予定日を表示
  • 最新実施日(前回実施日)を表示

筋トレ予定実績をカレンダー表示
筋トレ予定実施をカレンダー表示したら見やすいのではないか?
そんな思いつきで作ってみました。

まずカレンダー。実際に作ってみると色々厄介でした。

  • 1日が何曜日か求めて位置決め
  • それ以前を空白表示
  • 日付の後のその日の任意情報を表示
  • 土曜日の日付を表示したら改行し日曜へ
  • 月末が何日か求めてそこで日付カウント表示を止める
  • それ以後を空白表示

カレンダーが完成したら、日付の任意情報として先ほどの筋トレ予定と実績をアイコン表示するために表示月分の情報を作って引き渡し。
予定日実施日です。

応用範囲が広そうな今回のシステム
今回のように予定と実施状況を確認する表現手法としてガントチャートというのがあります。
1作業1行にして横棒で予定と実績を表現するものです。
今回作ったシステムを元にこのガントチャートを作成する事も可能です。
表計算ソフトのような汎用ツールで管理されているのが一般的ですが、スマートフォンやタブレットが流行ってる昨今。
操作を簡略化して効率化する流れの中で、このような汎用ツールを使うのは非効率で流れに逆行していると思います。

また、副産物として作ったカレンダーもライブラリ化しました。
専用紙のオマケに付いてくるようなカレンダー製作はもちろん、今回のような予定実績の表示に使えるかな?と思いました。

日常の欲しいなをシステム化してみたのですが、必要は開発の母なり。
出来る事はわかってても普段なかなか作ろうとしないので、こういう機会ってとても大切だと思いました。