Хотите достичь своих целей в фитнесе, например, похудеть или нарастить мышечную массу? Все дело в знании того, сколько калорий вы сжигаете в день, что называется вашим общим ежедневным расходом энергии (TDEE).

Думайте о TDEE как о золотом числе, которое определяет ваш выбор продуктов питания и тренировок. Вы должны знать это, чтобы выяснить, сколько нужно есть, если вы хотите сохранить вес, набрать несколько фунтов или похудеть.

Теперь есть множество онлайн-инструментов, которые могут угадать ваш TDEE, но получение данных из вашего собственного тела даст вам реальную сделку.

Я понимаю, вычисление этих чисел может быть утомительным, особенно если математика вам не по душе. Но эй, Google Fitness API поможет вам в этом!

В этом сообщении блога мы покажем вам, как использовать Google Fitness API для расчета вашего TDEE и отслеживания вашего прогресса с течением времени.

Использование Google Fitness API

Изучили основы TDEE? Отлично, давайте углубимся в то, как мы можем получить сенсацию с помощью Google Fitness API. Этот отличный инструмент позволяет программистам получать данные из Google Fit — приложения, которое собирает информацию о здоровье с вашего телефона, умных часов и других приложений.

Чтобы начать работу с Google Fitness API, сначала перейдите в Google Cloud Console и включите Fitness API. Затем нам нужно создать учетные данные для нашего проекта, чтобы мы могли подключиться к API.

После того, как мы все настроим, все дело в использовании API, чтобы получить некоторые сочные данные Google Fit. Мы говорим о весе и статистике еды, что поможет нам точно рассчитать TDEE.

Получение и анализ данных

Теперь, когда у нас настроен и готов к работе наш Google Fitness API, пришло время начать извлекать и анализировать данные, необходимые для расчета нашего TDEE. Первый шаг — сделать запрос к API, запросив данные о весе и питании за последние 30 дней.

Вот пример того, как может выглядеть этот запрос:

Функция google.auth.fromJSON используется для создания объекта аутентификации, который можно использовать для выполнения запросов к Google Fitness API. Затем мы устанавливаем области, для которых мы хотим запросить данные, в данном случае это https://www.googleapis.com/auth/fitness.nutrition.read и https://www.googleapis.com/auth/fitness.body.read. После этого мы устанавливаем дату начала и дату окончания для нашего запроса, то есть 30 дней назад и сегодня соответственно. Наконец, мы вызываем функцию fetchDataForDataSource три раза: один раз для данных о весе, один раз для данных о процентном содержании жира и один раз для данных о питании.

Но что делает функция fetchDataForDataSource? Давайте взглянем:

С помощью фитнес-API от googleapis мы можем делать запросы к Google Fitness API. В этом случае мы используем метод users.dataSources.datasets.get для получения данных для определенного источника данных. Мы передаем userId как me, чтобы получить данные для текущего пользователя, dataSourceId, для которого мы хотим получить данные, и datasetId, которое представляет собой комбинацию времени начала и окончания в наносекундах. Наконец, мы передаем объект аутентификации, который мы создали ранее.

Агрегирование данных

Давайте посмотрим на данные, которые мы получили от Google Fitness API:

Масса

Процент жира

Питание

Как видите, данные представлены в формате, с которым не очень удобно работать. Нам нужно проанализировать эти данные и агрегировать их в пригодный для использования формат.

После использования этих загадочных функций наши данные будут выглядеть так:

Хорошо, теперь давайте напишем функции, которые делают это волшебство, или лучше попросим ChatGPT сделать это за нас.

И для агрегации данных о питании:

Последнее, что нужно сделать, это объединить эти 3 массива в один и отсортировать их по дате.

Хорошо, пора использовать эти данные, чтобы получить представление. На самом деле, нам нужно еще кое-что, прежде чем мы сможем это сделать.

Мышечная масса и жировой состав тела

Прежде чем погрузиться в расчеты, нам нужно понять, как мышцы и жир распределяются в организме.

Я хотел выяснить, сколько калорий содержится в 1 кг мышц и 1 кг жира, поэтому я начал искать книги в Google Книгах, чтобы узнать точный состав мышечной и жировой ткани, и я действительно нашел некоторую информацию о Диетологе. Еда, питание и оптимальное здоровье Роберта Уайлдмана».

Но мне по-прежнему нужно было знать, сколько энергии требуется для наращивания 1 кг мышц и 1 кг жира, поэтому я спросил ChatGPT.

Привет. Каков точный состав в процентах на 1 кг скелетных мышц и 1 кг жировой ткани? Также укажите источник информации. Пожалуйста, дайте мне краткий ответ, спасибо.

Конечно! Вот краткий ответ для общего состава 1 кг скелетных мышц и 1 кг жировой ткани:

Скелетные мышцы (1 кг):

- Вода: ~75%
- Белки: ~20%
- Жиры: ~5%
- Другое (минералы, гликоген и т. д.): следовые количества

Жировая ткань (1 кг):

- Липиды: ~80–90%
- Вода: ~10–20%
- Белки: ~2%
- Другое (минералы и т. д.): следовые количества

Обратите внимание, что эти значения могут варьироваться в зависимости от таких факторов, как возраст, пол, диета и общее состояние здоровья. Информация основана на общенаучном понимании и может быть найдена в различных учебниках по физиологии и анатомии человека, таких как «Анатомия и физиология человека» Элейн Н. Мариеб и Кати Хоэн.

Какова эффективность синтеза в процентах для создания 1 грамма мышечного белка и 1 грамма липидов? Также укажите источник информации. Пожалуйста, дайте мне краткий ответ, спасибо.

Эффективность синтеза мышечного белка и липидов широко варьируется в зависимости от таких факторов, как вид, диета, возраст и состояние здоровья. Однако можно дать общую оценку:

- Для мышечного белка эффективность часто составляет около 20–25%. Это означает, что только около 20–25% потребляемых аминокислот включаются в мышечный белок.
- Для липидов эффективность преобразования пищевых жиров может быть выше, около 90–95%.

Эти цифры являются приблизительными и могут значительно различаться. Информация получена из общих знаний о биохимии питания и может быть найдена в таких учебниках, как «Биохимические, физиологические и молекулярные аспекты питания человека» Марты Х. Стипанюк и Мари А. Кодилл, а также в научных статьях по этому вопросу. Всегда консультируйтесь с конкретными исследователями или профессионалами в этой области для получения более точной информации с учетом конкретной ситуации.

Прохладный. Давайте теперь займемся математикой!

Расчет мышц

Теперь, когда мы знаем, что килограмм мышц состоит из 20% белка и 5% жира. 1 г белка содержит 4 калории, а 1 г жира содержит 9 калорий, это означает, что 1 кг мышц содержит 800 калорий из белка и 450 из жира, всего 1250 калорий.

Расчет жира

Что касается жира, килограмм состоит из 85% липидов и 2% белка. В 1 г липидов содержится 9 калорий, а в 1 г белка — 4 калории, это означает, что 1 кг жира содержит 7650 калорий из липидов и 80 калорий из белков, всего 7730 калорий.

Стоимость синтеза

Когда дело доходит до создания основных компонентов нашего тела, эффективность разных веществ различна.

Для белков эффективность нашего организма составляет около ~ 23%. Это означает, что на каждый 1 г белка, который содержит 4 ккал, нам нужно около 17 ккал. Подумайте об этом так: 4 ккал идут на настоящие аминокислоты в белке, а остальные 13 ккал — это энергия, израсходованная в процессе построения.

Теперь, липиды - другая история. Наше тело здесь немного эффективнее, около 93%. Таким образом, для производства 1 г липидов, который содержит 9 ккал, требуется всего около 10 ккал. Это 9 ккал для аминокислот в липидах и всего 1 ккал для синтеза.

Расчет стоимости энергии

Итак, давайте обдумаем все эти цифры и посмотрим, что они означают для затрат энергии на наращивание мышечной массы и жира.

Для мышц у нас есть 1 кг с 200 г белка и 50 г липидов. Поскольку для производства 1 г белка требуется около 17 ккал, а для производства 1 г липидов требуется около 10 ккал, общие энергетические затраты на 1 кг мышц составляют:

  • Белки: 200 х 17 = 3400 ккал
  • Жир: 50 х 10 = 500 ккал.
  • Итого: 3400 + 500 = 3900 ккал

Теперь, для жира в 1 кг, содержащего 850 г липидов и 20 г белка, общая стоимость энергии составляет:

  • Липиды: 850 х 10 = 8500 ккал.
  • Белки: 20 х 17 = 340 ккал.
  • Итого: 8500 + 340 = 8840 ккал

Так вот! С этими числами я добавлю в свой код следующие consts:

Напоминаем, что все это приблизительные значения, а фактические цифры могут варьироваться в зависимости от состава вашего тела, диеты и других факторов. Кроме того, я не врач и не диетолог, поэтому, пожалуйста, не воспринимайте это как медицинский совет.

Расчет TDEE

Теперь, когда у нас есть проанализированные данные о весе и процентном содержании жира и они объединены в пригодный для использования формат, мы можем начать вычислять наш TDEE.

Чтобы рассчитать TDEE, выполните следующие действия:

1 — Получите общее количество калорий, потребленных за 30-дневный период. 2 — Рассчитайте разницу в весе между началом и концом 30-дневного периода. 3 — Преобразуйте разницу в весе в калории, умножив ее на количество набранных/потерянных мышц/жира. 4 — Вычтите результат шага 3 из общего количества калорий, потребленных за 30-дневный период. 5 — Разделите результат шага 4 на 30, чтобы получить среднесуточное потребление калорий, которое должно быть вашим TDEE.

Вот код для расчета TDEE и многого другого с помощью кода:

Эта функция возвращает строку с подробной информацией за 30-дневный период, включая количество дней, TDEE, среднесуточное потребление калорий, белков, углеводов, жиров и клетчатки, а также вес, содержание жира, нежировых и нежировых продуктов. разница в процентах жира между началом и концом периода.

Что касается недостающих функций accumulateData, calculateWeightDifference и calculateTDEE, то вот они:

Как видите, функция calculateStatistics вызывает функцию accumulateData, чтобы получить общее количество калорий, белков, углеводов, жиров и клетчатки, потребленных в течение 30-дневного периода, а также начальный и конечный вес и процентное содержание жира.

Затем он вызывает функцию calculateWeightDifference для расчета разницы в весе, жире, обезжиренном и процентном содержании жира между началом и концом периода.

Наконец, он вызывает функцию calculateTDEE для вычисления TDEE.

Отправить данные в Telegram

После того, как вы рассчитали свой TDEE, вы можете поделиться этой информацией с другими, например с личным тренером или другом. Один из простых способов сделать это — отправить данные в групповой чат Telegram. Это можно сделать с помощью Telegram Bot API.

Вот пример фрагмента кода, который отправляет результат TDEE в групповой чат Telegram:

https://gist.github.com/blopa/bded053743174eae5d48660c46227b6e

В этом коде мы используем пакет node-fetch для выполнения HTTP-запроса POST к методу sendMessage Telegram Bot API. Мы передаем результат TDEE в виде текстового поля в теле запроса вместе с chat_id группы Telegram, в которую мы хотим отправить сообщение. Мы также устанавливаем для поля parse_mode значение markdown, чтобы включить форматирование в сообщении.

Обратите внимание, что для использования этого кода вам необходимо установить соответствующие значения переменных среды TELEGRAM_BOT_ID и TELEGRAM_GROUP_ID.

Бонус

Вы можете скопировать текст, полученный из этого скрипта, и отправить его в ChatGPT для получения дополнительной информации 👀.

Привет. Что вы думаете об этих данных из моего личного отслеживания здоровья за последние 30 дней или около того? Можете ли вы дать мне краткое и четкое представление о том, что я делаю хорошо, а что мне следует улучшить? Спасибо

‹- Мои текстовые данные -›

Конечно! Вот краткий анализ на основе предоставленных вами данных:

Что вы делаете хорошо: баланс калорий. Среднее потребление калорий очень близко к общему дневному расходу энергии (TDEE), что говорит о том, что вы эффективно поддерживаете свой вес. Потеря веса: вы потеряли 0,80 кг за последний месяц, что является здоровой и устойчивой скоростью потери веса, если это ваша цель. Потребление белка. Среднее потребление белка, по-видимому, находится в хорошем диапазоне, особенно если вы занимаетесь физическими упражнениями, требующими восстановления и роста мышц.

Области, требующие улучшения: Увеличение процентного содержания жира. Увеличение процентного содержания жира и жировой массы может вызвать беспокойство, если вы стремитесь уменьшить жировые отложения. Это может быть связано с типом продуктов, которые вы потребляете, или с балансом макронутриентов. Потребление клетчатки: среднее потребление клетчатки немного ниже нормы. Увеличение потребления клетчатки за счет потребления большего количества цельнозерновых продуктов, фруктов и овощей может помочь пищеварению и контролю веса.

Помните, что эти сведения основаны на предоставленных данных и общих рекомендациях. Индивидуальные потребности могут сильно различаться, поэтому всегда полезно проконсультироваться с поставщиком медицинских услуг или специалистом по питанию для получения индивидуального совета.

Заключение

Вот и все, теперь вы всегда будете точно знать, какой у вас TDEE. Вы можете использовать эту информацию, чтобы скорректировать свою диету и программу упражнений для достижения своих целей в фитнесе. Вы даже можете включить этот скрипт в рабочий процесс GitHub Actions, чтобы запускать его автоматически каждый день и отправлять результаты в групповой чат Telegram.

Если вы хотите увидеть полный код, вы можете найти его здесь.

Я надеюсь, что вы нашли эту статью полезной. Если у вас есть какие-либо вопросы или комментарии, не стесняйтесь обратиться или оставить свой отзыв в разделе комментариев ниже.

Первоначально опубликовано на https://pablo.gg.

На простом английском

Спасибо, что являетесь частью нашего сообщества! Прежде чем уйти: