😺
Nuxt.jsでWebアプリケーション開発メモ26
概要
「最新のトレーニング」ダッシュボードガジェットの機能実装。
プロンプト26
# 命令26
- `最新のトレーニング`ダッシュボードの機能実装
# 命令26-1
- `pages/top.vue`の`最新のトレーニング`ダッシュボードは現状モックですが、バックエンドからデータを取得して表示するようにしてください。
- バックエンドのREST APIは実装済みのはずです。
- `training/records/`REST APIを`latest=true`パラメータを指定して呼び出せば行けるはずです。(`date_from`と`date_to`パラメータは指定なし。)
不具合
- 筋トレーの消費カロリー計算が明らかにおかしい。「インクラインベンチプレス 100回 (90.00kg)」で2Kcalとなっている。
- 消費カロリー計算を設計させたChatGPTに確認したところ、
代謝補正係数
が計算に加味されていなとのことで、カロリー計算のドキュメントを再作成させた。 - このドキュメントを改めてClaudeCodeに読み込ませた。
- 消費カロリー計算を設計させたChatGPTに確認したところ、
追加命令
-
api_trainingexercise
(トレーニング種別マスタ)に代謝補正係数
列を追加してください。 - 追加した
代謝補正係数
に筋トレメニューごとの値をfixtureを作成して投入してください。 - カロリー計算を新しい設計書通り、
代謝補正係数
を加味した計算にしてください。
カロリー計算ドキュメント(ChatGPT作成)
calorie_counting.md
筋トレにおける消費カロリー計算の概要
1. 計算式
1レップあたりの消費エネルギー(kcal)は以下で近似できる:
[
E_{rep} = \frac{m \times g \times h}{4184} \times c
]
- (m):扱う重量(kg)
- (g):重力加速度(9.8 m/s²)
- (h):バーベルやダンベルの移動距離(m)
- 4184:1 kcal = 4184 J
- (c):代謝補正係数(3〜10程度、種目によって異なる)
総仕事量はレップ数・セット数を掛けて求める:
[
E_{total} = E_{rep} \times \text{reps} \times \text{sets}
]
2. 代謝補正係数(c)について
定義
- 力学的な仕事(mgh)と実際の代謝消費の差を補正するための係数。
なぜ必要か
- 筋肉の収縮効率は20〜25%程度しかない
- エキセントリック動作(下ろす動作)でもATPを消費
- バランス保持や体幹の安定化による余分な消費
- 熱として失われる分もある
種目ごとの目安
種目分類 | 主な種目例 | c の目安 |
---|---|---|
アイソレーション(マシン系) | レッグエクステンション、チェストフライ、プリーチャーカールなど | 3〜5 |
フリーウエイトのプレス・ロウ | ベンチプレス、ショルダープレス、バーベルロウなど | 5〜7 |
下半身コンパウンド | スクワット、ランジ、ブルガリアンスクワットなど | 6〜8 |
全身爆発系 | デッドリフト、クリーン、スナッチ、ジャークなど | 8〜10+ |
3. 種目ごとの 1レップ有効移動距離(h の目安)
プレス系
- ベンチプレス(フラット) … 0.35〜0.50 m
- インクラインベンチプレス … 0.30〜0.45 m
- デクラインベンチプレス … 0.30〜0.40 m
- ダンベルベンチプレス … 0.35〜0.50 m
- オーバーヘッドプレス(バーベル) … 0.40〜0.60 m
- ダンベルショルダープレス … 0.45〜0.65 m
プル系(背中)
- バーベルローイング … 0.25〜0.40 m
- ダンベルローイング(片手) … 0.30〜0.45 m
- 懸垂(チンアップ/プルアップ) … 0.35〜0.60 m
- ラットプルダウン … 0.35〜0.60 m
- シーテッドロー(ケーブル) … 0.25〜0.40 m
スクワット・下半身
- バーベルスクワット(フル) … 0.70〜1.00 m
- バーベルスクワット(パラレル) … 0.50〜0.70 m
- フロントスクワット … 0.60〜0.90 m
- ブルガリアンスクワット … 0.50〜0.80 m
- ランジ(前進) … 0.50〜0.80 m
- レッグプレス … 0.40〜0.70 m
- カーフレイズ(立ち) … 0.15〜0.25 m
- カーフレイズ(座り) … 0.10〜0.20 m
デッドリフト系
- コンベンショナルデッドリフト … 0.45〜0.60 m
- スモウデッドリフト … 0.35〜0.50 m
- ルーマニアンデッドリフト … 0.40〜0.60 m
- ハーフデッドリフト(ラックプル) … 0.20〜0.35 m
アーム系
- バーベルカール … 0.25〜0.35 m
- ダンベルカール(交互) … 0.25〜0.40 m
- ハンマーカール … 0.25〜0.35 m
- ケーブルプレスダウン(トライセプス) … 0.25〜0.35 m
- フレンチプレス(EZバー) … 0.30〜0.45 m
- ダンベルキックバック … 0.20〜0.30 m
胸・肩補助種目
- ダンベルフライ(フラット) … 0.40〜0.55 m
- インクラインダンベルフライ … 0.35〜0.50 m
- ケーブルクロスオーバー … 0.40〜0.55 m
- サイドレイズ(ダンベル) … 0.20〜0.30 m
- フロントレイズ … 0.20〜0.30 m
- リアレイズ … 0.20〜0.30 m
画面
ソース差分
バックエンド
フロントエンド
Discussion