Тренировка null что такое
В последнее время все говорят о метанавыках. При этом до сих пор не ясно, какое у них определение и в чём польза. Мы поговорили с экспертами и выяснили, что такое метанавыки и на какие стоит обратить внимание. А также узнали чем они отличаются от всего, что мы тренировали раньше.
Что такое метанавыки?
Впервые термин «метанавыки» сформулировала американский психотерапевт, доктор психологии Эми Минделл, обозначив их как «умения духа». Они являются основополагающими. По сути, это то, что раньше люди воспринимали как черты характера и не видели возможности изменить. Сейчас метанавыки стали инструментом для работы с нашим характером и духом. Фактически этот термин помогает логически выстроить иерархию навыков современного специалиста: hard, soft, meta.
Существование метанавыков – спорный момент. Впервые о них заговорили в 70-х годах прошлого века. Но до сих пор нет ни научной теории их формирования, ни чёткой классификации. В моём понимании, метанавык – это то, как мы живём, как взаимодействуем с миром, насколько осознанно принимаем решения и реагируем на внешние раздражители.
Раньше метанавыки относили к врождённым компетенциям. Сейчас всё больше идут разговоры о том, что их можно сформировать в любом возрасте. И взрослый человек способен научиться выстраивать образовательный путь, отслеживать прогресс в обучении, управлять мышлением.
Что входит в метанавыки?
Осознанность: способность осознавать свои действия, мысли, чувства и не жить на автопилоте. Благодаря осознанности человек начинает понимать, что окружающий мир — это результат его действий, что каждую секунду человек выбирает свой путь, совершая те или иные поступки, принимая или не принимая то или иное решение. Овладев этим навыком, нам проще развивать ответственность и другие soft skills.
Планирование не в плане ежедневной рутины, а как способность человека стратегически видеть свою жизнь: составлять глобальный план, правильно рассчитывать ресурсы, анализировать происходящее и корректировать действия.
Личная продуктивность объединяет два предыдущих навыка и позволяет человеку в определённый момент осознанно концентрироваться на приоритизации — решении задачи, выборе лучшего способа и планировании своих действий на перспективу. Это очень важный навык в современном мире. Мы тонем в изобилии информации, задач и дел. А с развитием цивилизации этот поток увеличивается в геометрической прогрессии. И только личная продуктивность позволяет нам не утонуть в нём.
Навыки «4К», которые часто относят к soft skills: креативное и критическое мышление, коммуникация и коллаборация. В их основе лежат именно метанавыки, которые формируют дух и сознание человека. Они позволяют воспринимать всё происходящее сквозь призму этих «4К» — например, не просто создавать новый продукт с применением фреймворков критического мышления, а выстраивать всю свою жизнь в ключе такого мышления.
Постоянное развитие (обучаемость и адаптивность) и проактивность очень важны в контексте постоянной гонки за hard skills, так как позволяют смотреть на мир с позиции первооткрывателя и изобретателя, раздвигая границы уже обретённых навыков. Человек сам выбирает, что произойдёт в его жизни дальше, и у каждого выбора есть свои плюсы и минусы.
Следствием навыков из предыдущего пункта становится отсутствие боязни совершить ошибку. Жизнь — это удивительное приключение, где нет правильных ответов, а есть лишь возможность действовать и делать то, чего никто до тебя не пробовал.
В чём разница между метанавыками и soft skills?
Soft skills — это более узкие и конкретные навыки, которые многократным повторением можно довести до автоматизма и не задумываться при их использовании в дальнейшем. Например, целеполагание, умение презентовать, командная работа — это soft skills. Прокачивать их можно при помощи конкретных фреймворков и инструментов, по которым, как по шаблонам, можно действовать в той или иной ситуации.
А смыслообразующие метанавыки лежат в основе всех наших действий и достижений. Если провести аналогию с деревом, то корни — это метанавыки, ствол — soft skills, а ветви — hard skills. При взгляде на дерево мы прежде всего замечаем ветви: их много и на них много листьев, потому что за свою жизнь мы можем получить бесчисленное количество hard skills в самых разных вариациях. Но ветви растут из ствола — и в освоении hard skills мы опираемся на такие soft skills, как способность учиться, работать в команде, коммуницировать и так далее. Они тоже видны невооружённым взглядом и проявляются в общении и взаимодействии с другими людьми.
Метанавыки лежат намного глубже и не видны сразу, но именно они — ключевые и определяющие. Люди, достигнувшие определённых успехов, покорившие те или иные вершины, обладают сильно развитыми метанавыками в одной или нескольких важных для себя областях.
Чем отличается тренировка метанавыков от тренировки soft skills?
После пандемии поднялась волна хайпа на эту тему. Маркетологи активировались и стали предлагать прокачать силу воли или научить учиться всего за неделю. Но надо понимать, эти предложения — рекламный ход, не более. Первый вопрос, который у вас должен возникнуть: как я пойму, что у меня прокачался метанавык? Есть ли какие-то маркеры, которые позволят оценить уровень его развития.
Soft skills можно прокачать на краткосрочных курсах. И на практике мы видим результат от тренировки, хотя оцифровать его тоже сложно. Развитие метанавыков — постоянная работа. Это то, что нельзя прокачать напрямую, как, например, лидерство или управление временем. Метанавыки развиваются в деятельности, при этом есть ряд нюансов:
- человек постигает новое через призму своего опыта. Он не только может ошибаться, он должен это делать, чтобы было стремление к самосовершенствованию;
- нужна специально созданная среда. Идеально, если она будет незнакома, но интересна человеку;
- всё знать невозможно. Поэтому конечной точки в развитии метанавыков нет. Это процесс, который не предполагает положительной или отрицательной оценки. Его можно сравнить с исследовательской деятельностью.
Отличие в тренировке метанавыков от тренировки soft skills состоит в том, что первые мы применяем на практике буквально каждую минуту в своей повседневной жизни. Чтобы понять в деталях, как с этим работать, стоит сходить на обучение по метанавыкам нужной компетенции. Но чтобы освоить их и развить, нужно всего лишь постоянно обращать внимание на них в повседневных ситуациях. Это 100% lifelong learning. Начинайте с малого, хвалите себя за небольшие шаги к осознанности и не останавливайтесь на достигнутом.
Аэробные и анаэробные нагрузки: что выбрать и как сочетать
Разбираемся вместе с экспертом, чем отличаются анаэробные и аэробные нагрузки, как их сочетать и что предусмотреть.
Что такое аэробные нагрузки
Аэробные нагрузки — это любые физические упражнения низкой интенсивности, в которых кислород — основной источник энергии. Смысл нагрузок в том, чтобы заставить сердце биться чаще и снабжать кислородом кровь с целью улучшения кардиореспираторной выносливости. Техническое определение звучит так: «Любая форма упражнений или деятельности, в которой используется аэробный метаболизм, то есть кислород активно участвует в клеточных реакциях, которые обеспечивают организм энергией», — объясняет Майкл Джонско, физиотерапевт, доцент кафедры внутренней и спортивной медицины Медицинского центра Векснера Университета штата Огайо в Колумбусе [1].
Аэробный порог в тренировке — состояние, при котором в крови растет уровень лактата, молочной кислоты. Чем он выше, тем дольше спортсмен может тренироваться на максимальной частоте сердечных сокращений. У новичков этот момент наступает, когда достигнуты 55–60% от максимальной ЧСС, профессионалы могут заниматься без накопления лактата до 85% от ЧСС. Аэробная выносливость — способность выполнять тренировку как можно дольше; чем выше лактатный порог, тем она лучше. Для ее увеличения нужно делать упор на тренировки низкой интенсивности.
Что такое анаэробные нагрузки
Анаэробные нагрузки — это мощные короткие тренировки, в которых мышцы максимально напряжены. В отличие от аэробных, организм получает мало кислорода и расход энергии увеличивается. Подходы короткие и интенсивные. Провоцируется метаболический всплеск, в результате организм будет расходовать энергию даже после занятий, в состоянии покоя.
Анаэробный порог — максимальный уровень интенсивности, который спортсмен выдерживает без накопления молочной кислоты в крови. Если продолжать заниматься, мышцы будут затвердевать. Как и в случае с аэробными пределами, анаэробный порог можно постепенно увеличивать и переходить к тренировкам высокой интенсивности. Определить пороги возможностей можно двумя способами:
- с помощью теста и анализа крови из пальца, показывающим концентрацию молочной кислоты;
- по вентиляции легких и составу газовой смеси. При увеличении лактата в крови растет и уровень углекислого газа, выделяемого организмом. Для качественного анализа спортсмен тренируется в специальной маске, которая измеряет потребление кислорода.
Разница между аэробными и анаэробными нагрузками
Оба вида нагрузок относятся к разновидностям кардиотренировок. И в том, и в другом случаях ускоряется ЧСС. Но разница в способе образования энергии.
- Аэробные нагрузки: во время тренировки сердечно-сосудистой системы дыхание и ЧСС усиливаются в течение длительного периода времени. Это повышение выносливости, прокачка дыхательной системы. Во время аэробных упражнений человек дышит быстрее и глубже, чем в состоянии покоя. Так максимизируется количество кислорода в крови: сердечный ритм становится выше, ускоряя приток крови к мышцам и обратно в легкие.
- Анаэробные упражнения — всплески энергии с максимальным усилием в течение короткого времени. Происходит усиление силовой выносливости, укрепление мышц. Организм полагается не на кислород, а на запасенные источники энергии.
Михаил Прыгунов, фитнес-тренер, сооснователь платформы FitStars
«Аэробные тренировки человек способен выполнять длительное время без значительного повышения пульса и учащения дыхания, то есть это физические упражнения, которые выполняются в относительно комфортном для человека режиме. Анаэробная тренировка подразумевает высокий уровень интенсивности. Через 5–10 минут после начала анаэробной тренировки дыхание учащается, пульс зашкаливает, мышцы быстро забиваются, может возникнуть чувство жжения. При анаэробных тренировках организму, как правило, не хватает кислорода.
Во время аэробных тренировок, которые могут длиться продолжительное время, начинают расходоваться не только углеводы для получения энергии, но и жиры. Именно поэтому аэробные тренировки отлично подходят для избавления от лишнего веса, подкожных жировых отложений. В свою очередь, анаэробные тренировки помогают для развития выносливости при сохранении высокоинтенсивных нагрузок на длительный период. Анаэробные тренировки мотивируют заниматься на пределе возможностей.
Когда человек занимается в спортзале, он сам рано или поздно приходит к анаэробным тренировкам: пульс увеличивается, дыхание учащается и организм обеспечивается энергией анаэробным путем. Достигнув пика, спортсмен прекращает тренировку и отдыхает, возвращаясь в аэробику. Таким образом, большинство людей выполняет смешанный тип тренировок, получая и аэробную, и анаэробную нагрузку.
Если говорить о функциональных тренировках в стиле кросс-фита, то это занятия высокой интенсивности, которые не подразумевают отдыха между подходами. Во время таких тренировок человек долгое время занимается с высокой интенсивностью. Подобные нагрузки можно сочетать друг с другом, исходя из целей: сброс веса — аэробика, развитие выносливости и способностей — анаэробика».
Аэробные тренировки
Аэробные тренировки позволяют:
- снизить риск сердечного приступа, диабета 2 типа или инсульта;
- нормализовать вес;
- увеличить выносливость;
- снизить и контролировать артериальное давление;
- усилить иммунитет, снижая вероятность простуды или гриппа;
- укрепить сердечно-сосудистую систему;
- улучшить настроение.
К аэробным тренировкам относятся:
- фитнес и аэробика;
- бег на длинные дистанции и быстрая ходьба;
- плавание;
- упражнения со скакалкой;
- танцы, спортивные игры;
- подъем по лестнице;
- катание на скейтборде и коньках.
Михаил Прыгунов: «Аэробный бег очень медленный. Существует простой тест, чтобы понять, каким типом бега вы занимаетесь. Если во время пробежки вы можете долго разговаривать, это аэробный тип, при нем не должно быть проблем с дыханием.
Аэробикой можно заниматься в любое время дня: утром, днем, вечером. Анаэробные упражнения рекомендуется делать с утра. Если выполнять интенсивные тренировки вечером, могут возникнуть проблемы с засыпанием. Аэробикой можно заниматься ежедневно, так как это низкоинтенсивная нагрузка. Анаэробные упражнения можно делать через день или чередовать два дня через один или три через два. Нужно давать организму отдохнуть».
Хорошая разминка
Перед началом тренировки важно разогреть связки и суставы, усилить кровообращение и подготовить организм к упражнениям. Это позволит снизить риск травм и растяжений. Универсальной программы для разминки нет, все упражнения нужно подбирать индивидуально. Уделите особое внимание мышцам и частям тела, которые будут задействованы в тренировке. Так, если вы планируете попрыгать со скакалкой или выйти на пробежку, обязательно сделайте несколько легких разогревающих движений в области бедер, ног и голеностопа.
Время тренировки
У начинающих спортсменов может возникнуть желание сделать максимум при первой тренировке. Это чревато длительным восстановлением организма. Гораздо важнее регулярность занятий, нежели их интенсивность, а время выполнения упражнений можно увеличивать с каждой следующей тренировкой. Постепенно возрастающую нагрузку легче преодолевать, к тому же адаптация — основа прогресса.
Расчет возможностей
Важно следить за ЧСС и контролировать ее увеличение. Аэробная тренировка задействует 55–65% от максимальной частоты пульса. Анаэробная тренировка подразумевает значение в пределах 75–85% от максимального пульса. Он рассчитывается по формуле: 220 минус возраст тренирующегося.
«При чередовании типов упражнений во время тренировки можно уйти и в анаэробную нагрузку, потом снова вернуться в аэробику. Таким образом тип нагрузки будет меняться при смене интенсивности и тяжести упражнений», — говорит Михаил Прыгунов.
Оптимальное время аэробной тренировки при оптимальном уровне ЧСС — полчаса/час.
Анаэробные тренировки
Особенность анаэробных тренировок в том, что повышается мышечная сила. Эти упражнения помогают:
- улучшить выносливость;
- укрепить мышцы и добиться красивого рельефа;
- поддержать опорно-двигательный аппарат;
- прокачать мышечный корсет, улучшить осанку;
- повысить иммунитет;
- уменьшить риск заболеваний эндокринной системы.
К анаэробным тренировкам относятся:
- интенсивный спринтерский бег;
- занятия на тренажерах;
- пауэрлифтинг и бодибилдинг;
- силовые тренировки;
- упражнения с отягощением, например с гирями и гантелями;
- тяжелая атлетика;
- скоростная езда на велосипеде.
Рекомендации к анаэробным тренировкам схожи с подготовкой к аэробным занятиям:
- делайте разминку перед началом упражнений;
- контролируйте показатели пульса;
- увеличивайте количество подходов постепенно.
После анаэробной тренировки нужно сделать небольшую растяжку частей тела, которые интенсивно работали. Это позволит улучшить эластичность мышц, избежать их укорочения, повысить гибкость и подготовиться к увеличению нагрузок в последующих тренировках.
Как совместить аэробные и анаэробные нагрузки
Аэробные и анаэробные занятия можно проводить отдельно друг от друга, если выделить время и равномерно распределить их в течение недели и месяца. Есть несколько сочетаний, которые тренеры советуют использовать в рамках одной тренировки.
- Аэробная тренировка 30–60 минут, а после нее — силовая нагрузка до получаса.
- Аэробная нагрузка умеренной интенсивности, в заключение которой две-три минуты активных прыжков или бега.
- Силовая тренировка с динамическими упражнениями по два-три подхода, в завершение — статодинамические по одному подходу.
- Если аэробная нагрузка была преимущественно на одну часть тела (например, ноги во время медленного бега), после нее можно делать силовые упражнения на руки без ограничений.
Существует несколько противопоказаний к сочетанию упражнений.
- В течение дня не стоит совмещать два вида тренировок в большом объеме.
- Если утром была длительная силовая работа, вечером лучше провести только короткую восстановительную аэробную тренировку.
- Аэробная тренировка с короткими мощными ускорениями не сочетается с большим количеством прыжков и статодинамики.
Если сочетать тренировки, которые совмещать не рекомендуется, можно добиться эффекта перетренированности. В результате следующие занятия будут даваться тяжело, восстановление организма затянется и общая эффективность процесса снизится.
Михаил Прыгунов: «Если человек занимается аэробикой, скорее всего, его цель — похудение, и тогда ему следует также сократить количество потребляемых углеводов. Это нужно делать постепенно, а не одним днем. Схема суточного рациона следующая: 35% — углеводы, 30% — белки, 35% — жиры».
Что такое приложение Null, как его настроить и стоит ли удалять
Если разобраться, то iOS понимает, что имеет дело с каким-то приложением. Поэтому приложение может использовать микрофон, камеру, системные файлы и др. Но телефон не определяет , какое именно это приложение, поэтому присваивает ему метку «Null».
Такие приложения работают, не нанося вред а телефону, а лишь озадачивают вл а дельцев устройств. Приложение Null может появит ь ся в айфоне несколькими способами.
Как появляется приложение Null на iPhone
Приложение устанавливается в обход App Store. На iPhone можно устанавливать приложения из сторонних магазинов. Делается это через «доверенные сертификаты». Случается такое, что «сертификат» перестает быть действительным, тогда установленная программа превращается в «приложение Null».
Из-за обновлений операционной системы. i OS постоянно обновляется, поэтому бывает такое , что очередное обновление «как-то не так» воздействует на установленное приложение, поэтому оно превращается в «приложение Null». Либо пользователи телефона намеренно не обновляют ОС , и наступает такой момент, когда «старая» ОС не определяет «новые» приложения.
Из-за обновлений приложения. Бывает такое, что сама программа обновляется, но при обновлении что-то идет не так , и операционная система перестает его определять. Либо наоборот, приложение вообще не обновляется, а «новые» версии операционных систем перестают его определять.
Можно ли исправить приложение Null
Простой способ — перезагрузите устройство. Возможно , обновление ОС или приложения вышло «только вчера» , и поэтому появились системные сбои. В некоторых случаях перезагрузка помогает ; если не помогла, тогда пробуйте другие способы.
Практичный способ — обновитесь. Попробуйте обновить приложение. Если оно недавно еще работало, но после обновления операционной системы перестало , тогда , скорее всего , возникла несовместимость. Обновите приложение — вполне вероятно , что его разработчик уже решил проблему несовместимости.
Способ посложнее — сделайте восстановление операционной системы. Создайте резервную копию системы и восстановите ее , используя iTunes. Такая процедура займет много времени, но иногда это «вылечивает» приложение Null.
Кардинальный способ — удаление. Удалите приложение Null , и оно вас не будет раздражать. У такого способа есть минус — удаляется вся информация, связанная с эти м приложением. Если вас не страшит такая ситуация, тогда действуйте.
Лояльный способ — игнорирова ние . Если вас не смущает, что в вашем телефоне располагается приложение Null, тем более вы его знаете и пользуетесь им, тогда оставьте все как есть и продолжайте пользоваться своим устройством как н и в чем не бывал о .
Заключение
Приложение Null — не приговор для вашего устройства ; если вы сами не устанавливали ничего подозрительного, тогда вам боятся нечего. Возникает оно по причине несовместимости операционной системы и приложения. Причин несовместимости может быть несколько, но не все вы можете исправить. Устранить приложение Null можно либо обновлением ОС или приложения, либо его деинсталляцией. Если не получается исправить ни одним из способов, но приложение вам важно , тогда остается немного подождать. Есть вероятность , что разработчик приложения в скором времени исправит ситуацию.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Умные тренажеры, цифровые тренировки, геймификация — ключевые технотренды в фитнес-индустрии в 2023 году
Собрали для вас самое интересное с международных выставок в Кёльне, Тегеране и Сингапуре.
Меня зовут Анастасия Гулянина, я директор по развитию «ФитБейс» — экосистемы цифровых сервисов для фитнес-индустрии. Недавно наша команда приняла участие в трех международных выставках: FIBO 2023 в Кёльне, INOTEX 2023 в Тегеране, World Health, Fitness & Wellness Festival 2023 в Сингапуре.
Мы планируем международное масштабирование. Поэтому нашей задачей было оценить, как развивается фитнес-индустрия в мире и какие рынки могут быть перспективными для нас. Посмотрели на конкурентов — их продукты и бизнес-модели. А заодно протестировали на себе наиболее любопытные экспонаты. Расскажу и покажу самое интересное из мира фитнеса.
Итак, технологические новинки можно разделить на пять больших групп — это и есть векторы развития фитнес-индустрии на ближайшие годы.
Тренд не новый, но он набирает обороты. Искусственный интеллект не только помогает контролировать тренировочный процесс, но и выступает в качестве тренера. Например, силовой тренажер тестирует уровень физической подготовки клиента и сам подбирает оптимальный вес, количество повторов и подходов.
Другой агрегат — 3D-капсула, которая выполняет антропометрию (измеряет телосложение и физические пропорции). Кроме всех параметров тела, клиент получает программу тренировок и питания для коррекции фигуры. А самое любопытное, что 3D-модель клиента показывает в приложении, как выполнять рекомендованные упражнения. Повторять за оцифрованным собой намного легче! Система интегрируется с носимыми устройствами и агрегирует данные о физических нагрузках, питании и др. С помощью такого сканирования можно следить за своим прогрессом.
Развитие умных тренажеров привело к появлению краткосрочного тренда на специальные залы для новичков. Фитнес-клубы оборудовали их тренажерами с искусственным интеллектом, которые составляли программу тренировок, регулярно диагностировали и подбирали нагрузку. Довольно быстро такие залы стали общими — новички, набираясь опыта, оставались в привычном месте и не спешили переходить в зал для продвинутых пользователей. А умные тренажеры стали популярны среди всех категорий клиентов.
В России оборудование с искусственным интеллектом мало распространено. Сейчас затруднены поставки из Европы и США — регионов, где преимущественно они производятся. Но дело не только в логистических проблемах. В западных странах маржинальность бизнеса в фитнес-индустрии намного выше, потому что абонементы стоят существенно дороже. Кроме этого, участники рынка спокойно инвестируют в технологии со сроком окупаемости до 10 лет. Наши клубы, закупая тренажеры по той же цене, зарабатывают намного меньше, так как вынуждены держать низкие по мировым стандартам цены. Российский бизнес не готов вкладываться в оборудование со сроком окупаемости более 3-5 лет.
Оцифровка физической активности начиналась с фитнес-браслетов и умных часов: они фиксируют параметры нагрузки, передавая данные в мобильное приложение, а пользователь заносит туда же информацию о виде и длительности тренировки. Но не только тренировки играют роль в построении вашего прогресса, сейчас учитывается и время сна, и время отдыха, и частота дыхания, и наличие времени на расслабление — за всем этим теперь призваны следить многочисленные гаджеты, многие из которых агрегируют данные сразу на единой площадке. Большое количество различных приложений выстраивают питание уже с учетом индивидуальных требований и запросов. Вы можете поставить условие, например, подготовки к марафону и одновременно наличие каких-либо аллергических реакций, а также определить количество калорий, которое вы хотите потреблять. В итоге складывается общая картина не только активности человека, но и того плана тренировок, питания и отдыха, которого ему необходимо придерживаться, чтобы достичь целей.
Теперь информацию о нагрузке умеют передавать тренажеры: датчики считают повторы, запоминают вес и другие показатели, отправляют информацию в мобильное приложение. Изменились также возможности интеграций различных приложений и систем. Сейчас можно не только получать данные о своих тренировках, но видеть как скорректировалась тренировочная программа благодаря вашим усилиям или отдыху, а некоторые продукты способны обновлять и систему питания.
В кардиотренажерах элементы геймификации появились больше 10 лет назад. Но сейчас популярность технологий, позволяющих превратить тренировку в развлечение, достигла своего пика. Например, садясь на велотренажер, можно посоревноваться со всеми, кто когда-либо на нем занимался. А можно ориентироваться на собственные предыдущие достижения.
В Кёльне я протестировала силовой тренажер с игрой в Пак-ман: траектория персонажа зависит от правильной и ритмичной амплитуды движения пользователя. Для успешного прохождения игры нужно вовремя выполнять повторы.
Геймификация в качестве элемента системы лояльности пришла в фитнес-индустрию из ритейла и банкинга, которые достаточно давно предлагают клиентам «плюшки» за целевые действия. Такую систему разработали и мы: клиенты клубов зарабатывают баллы за тренировки и покупки. Обеспечив себе место в определенной группе (у нас — лиге), клиент может получить соответствующий набор привилегий.
На выставке в Сингапуре отдельный стенд был посвящен тренажерам Кегеля. Я спросила у владельцев стенда, почему они приняли решение участвовать в фитнес-выставке со своими продуктами — мне показалось это не совсем очевидным. Ответ был таким: «Эта выставка про благополучие и здоровье, а наши продукты как раз отвечают за здоровье!». И с этим не поспоришь.
Во всем мире развивается связка фитнес — спа — медицина. Технологии из одной сферы используются в других. Так, в клубах появляется оборудование для отдыха и восстановления, красоты и оздоровления.
Например, криокамеры и криомаски. Считается, что воздействие экстремально низких температур благотворно влияют на состояние кожи, помогает улучшить обмен веществ, избежать мышечной боли после тренировок.
Есть портативные камеры для лежания на песке, восстановительные капсулы для расслабления в воде т.д. Оборудование с вау-эффектом, но с отсутствием перспектив для российского рынка — их могут позволить себе единицы заведений vip-уровня.
Клубы по всему миру активно используют технологии, которые помогают улучшить бизнес-процессы. Различные ИТ-решения помогают управлять клубом, активизировать продажи, лучше взаимодействовать с клиентами и работать на их удержание.
Самый актуальный запрос рынка, пожалуй, связан с предиктивной аналитикой. Таких решений еще очень мало, потому что на разработку систем с искусственным интеллектом требуется много ресурсов. Но рынок однозначно движется в эту сторону.
Среди решений для управляющих стоит отметить датчики контроля за состоянием тренажеров. Они помогают оценить интенсивность эксплуатации оборудования и его техническое состояние. Таким образом управляющие клуба могут вовремя организовать техобслуживание тренажеров, не допуская их поломки. А еще — производить ротацию оборудования между разными клубами: в одном зале тренажер может быть не востребован, зато в другом — пользоваться повышенным спросом. Более того, анализ востребованности позволяет более точно формировать программу инвестиций в оборудование.
На рынке есть различные ИТ-решения для фитнес-индустрии — для маркетинга, удержания клиентов, расчета KPI и т.д. Однако особенность глобального рынка в том, что, как правило, один продукт закрывает только одну функцию. Например, в системе для лидогенерации есть шаблоны лендингов и сайтов, рассылок, автоматических ответов — всех инструментов, которые нужны для привлечения потенциальных клиентов. Но это решение не способно закрыть другие потребности фитнес-клуба: команды сосредоточены на развитии своего узкого продукта. Часто такие сервисы интегрируются в основную систему управления клубом, и каждое заведение использует несколько различных ИТ-продуктов.
Это отличает западный рынок от нашего: у нас разработчик стремится закрыть как можно больше задач клиента своим решением. Так мы в «ФитБейс» в дополнение к CRM-системе запустили систему учета, виджет онлайн-записи для сайта и соцсетей, мобильное приложение для клиентов и тренеров, геймификацию, систему лояльности и постепенно добавляем функции предиктивной аналитики и поддержки принятия решений на основе искусственного интеллекта. Мы не увидели на мировом рынке такого многофункционального продукта, который закрывал бы большинство потребностей управляющих в управлении клубом.
Из любопытного: я, проработав длительное время в фитнес-индустрии, была удивлена стоимостью ИТ-решений для бизнеса в западных странах. Там пользование каким-либо сервисом может стоить $3 тыс. в месяц. Непостижимые цифры для нашего рынка.
Другая особенность: клубы из других стран сосредоточены на фитнесе, им в голову не приходит разрабатывать какие-то решения самостоятельно. Если им что-то нужно, они ищут поставщиков ИТ-продуктов и выбирают наиболее подходящий. У нас же некоторые крупные игроки пытаются разрабатывать сами, чаще всего — безуспешно.
NULL поля в MySQL
Часто на форумах и даже в учебниках пишут о том, что лучше не использовать NULL поля в MySQL. В этих утверждениях смущает тот факт, что никто не удосуживается объяснить, почему NULL – это зло. Эта заметка призвана разобраться, что такое NULL в MySQL и так ли страшен чёрт, как его малюют.
Что такое NULL?
Наряду с множеством типов данных в БД, NULL стоит особняком. NULL означает отсутствие значения.
Зачем использовать особый тип данных для того, чтоб указать отсутствие значения, когда можно просто вставить пустую строку, например? Этот вопрос мне всегда казался глупым, и я удивляюсь тому, как в книгах и статьях уделяют ему достаточное количество внимания.
Один пример. Таблица сайты содержит поле PR INT UNSIGNED NULL . PR – целочисленное значение, которое может быть равно нулю. Какое значение вставить в случае, когда PR ещё не рассчитан и, соответственно, неизвестен? NULL.
Чем опасен NULL?
Сравнение NULL с любым другим значением, даже с родственным (в большинстве языков программирования, в частности, в PHP null, 0, false это одно и то же, если не применять строгого сравнения, которое включает сравнение типов) ему FALSE вернёт NULL. Отсюда следует первая ловушка.
Допустим, у нас есть таблица:
Добавим в неё 2 записи:
INSERT INTO users (name, family) VALUES(‘Андрей’, ‘Романов’), (‘Иван’, NULL);
В случае, если вы захотите объединить имя и фамилию, получив ФИО одним полем, например, таким запросом:
SELECT CONCAT(name, ‘ ‘, family) FROM `users`
MySQL не оправдает ваших ожиданий. Вы получите NULL вместо Ивана.
Немного неожиданно, правда?
На деле же ничего неожиданного нет, если вы помните, что любая операция с NULL вернёт NULL, кроме специальных операций, предназначенных для работы с NULL: IS NULL, IS NOT NULL, IFNULL()
Сортировка по NULL
Всего лишь хочу опровергнуть некоторые фразы из русского мануала MySQL о том, что при сортировке по столбцу, содержащим NULL значения, эти самые NULL значиния всега оказываются наверху. Это не так.
SELECT name, family FROM `users` ORDER BY family ASC
SELECT name, family FROM `users` ORDER BY family DESC
Как видим, NULL считается наименьшим значением, и порядок сортировки на него действует.
Группировки и NULL
Все просто.
MySQL группирует по NULL так же как и по любому другому полю.
Добавим нашей таблице users столбец score INT UNSIGNED NULL;
Подсчитаем сколько всего пользователей набрали то или иное количество очков, т.е. сгруппируем выборку по полю score
SELECT COUNT(*), score FROM `users` GROUP BY score
Как видно, MySQL сгруппировала 2 строки с score = NULL
Индексы и NULL
Откуда-то ходит заблуждение о том, что MySQL не использует индексы, если столбец может принимать значения NULL.
Это не так!
Проведём несколько экспериментов.
Выберем все записи, где score = NULL. Не забываем, что мы для этого должны использовать конструкцию IS NULL
EXPLAIN SELECT * FROM `users` WHERE score IS NULL
Индекс используется.
Выберем все записи, где количество очков больше, например, пяти.
EXPLAIN SELECT * FROM `users` WHERE `score` > 5
Индекс используется.
Найдем пользователя, у которого ровно 7 очков
EXPLAIN SELECT * FROM `users` WHERE `score` = 7
Индекс используется.
Можно сделать вывод: заблуждение действительно таковым и оказалось.
Можно смело использовать NULL-поля при создании индекса и индекс будет работать.
Отдельно стоит отметить индекс типа UNIQUE .
Мы рассмотрели выше, что MySQL группирует по NULL как по обычному значению и все строки с score = NULL были сгруппированы в один кортеж. Из этого может последовать ложный вывод о том, что не получится использовать UNIQUE индекс вместе с NULL полем. Однако это не так. Для UNIQUE индекса NULL является вполне себе уникальным значением, и MySQL без каких-либо препятствий позволит вставить несколько строк с NULL значениями поля, представляющего UNIQUE индекс.
Когда следует использовать NULL?
Ранее я привел пример таблицы сайтов, которая содержит поле PR.
PR – это целочисленное значение, которое может принимать значение 0, к тому же оно может быть в состоянии «не посчитано». Как реализовать хранение такого свойства в таблице?
Те, кто боится использовать NULL, и создают pr как INT UNSIGNED NOT NULL DEFAULT 0; вынуждены добавлять ещё одно поле в таблицу, например, pr_calculated TINYINT(1) DEFAULT 0 . По нему они проверяют, посчитан ли PR или нет. Соответственно, если pr = 0 и pr_calculated = 0 , значит, что pr не действительно равен нулю, а всего лишь не посчитан. Не слишком ли много условий?
Зачем отказываться от того, что язык предлагает тебе «из коробки»?
Значение NULL для такого поля подходит идеально. NULL – означает «нет значения», т.е. оно ещё не посчитано. Если значение равно нулю, значит оно действительно равно нулю. Все просто.
Второй пример подходящего случая для использования NULL – это поле-потомок.
Поле-потомок указывает на id записи из другой (или же этой же таблицы). Примером такого поля может быть parent_id.
Те, кто боится использовать NULL, создают столбец parent_id INT UNSIGNED NOT NULL DEFAULT 0 . Если parent_id никуда не указывает – оно содержит значение, равное нулю. При этом, архитектор предполагает, что в таблице не будет записей с значением Соглашусь с тем, что MySQL по-умолчанию, начинает инкремент с единицы, но это не означает, что в таблице не может появиться записи с Запись появиться может, потому что БД этого не запрещает.
Когда мы создаем поле parent_id как INT UNSIGNED NULL , то мы сводим вероятность того, что строка в результате каких-то действий будет указывать через parent_id на реально существующую строку, к нулю! В MySQL нет возможности создать запись с id = NULL , когда id является автоинкрементальным полем.
Выводы
Нет причин бояться создания NULL полей. Надо хорошо понимать, что NULL в MySQL это не ноль и не false – это отсутствие значения. Надо знать, как MySQL работает с NULL: нюансы есть, но их не много. У MySQL нет проблем с индексацией NULL полей.
Тренировка null что такое
Кроме стандартных значений типа чисел, строк, язык C# имеет специальное значение — null , которое фактически указывает на отсутствие значения как такового, отсутствие данных. До сих пор значение null выступает как значение по умолчанию для ссылочных типов.
До версии C# 8.0 всем ссылочным типам спокойно можно было присваивать значение null :
Но начиная с версии C# 8.0 в язык была введена концепция ссылочных nullable-типов (nullable reference types) и nullable aware context — nullable-контекст, в котором можно использовать ссылочные nullable-типы.
Чтобы определить переменную/параметр ссылочного типа, как переменную/параметр, которым можно присваивать значение null , после названия типа указывается знак вопроса ?
К примеру встроенный метод Console.ReadLine() . который считывает с консоли строку, возвращает именно значение string? , а не просто string :
Зачем нужно это значение null? В различных ситуациях бывает удобно, чтобы объекты могли принимать значение null, то есть были бы не определены. Стандартный пример — работа с базой данных, которая может содержать значения null. И мы можем заранее не знать, что мы получим из базы данных — какое-то определенное значение или же null.
При этом подобные ссылочные типы, которые допускают присвоение значения null , доступно только в nullable-контексте. Для nullable-контекста характерны следующие особенности:
Переменную ссылочного типа следует инициализировать конкретным значением, ей не следует присваивать значение null
Переменной ссылочного nullable-типа можно присвоить значение null , но перед использование необходимо проверять ее на значение null .
Начиная с .NET 6 и C# 10 nullable-контекст по умолчанию распространяется на все файлы кода в проекта. Например, если мы наберем в Visual Studio 2022 для проекта .NET 6 предыдущий пример, то мы столкнемся с предупреждением:
Хотя nullable-контекст — это опция, которой мы можем управлять. Так, откроем файл проекта. Для этого либо двойным кликом левой кнопкой мыши нажмем на проект, либо нажмем на проект правой кнопкой мыши и в появившемся меню выберем пункт Edit Project File
После этого Visual Studio откроет нам файл проекта, который будет выглядеть примерно следующим образом:
точнее элемент <Nullable> со значением enable указывает, что эта nullable-контекст будет распространяться на весь проект.
Чем так плох null ? Дело в том, что это значение означает, отсутствие данных. Но, допустим, у нас есть ситуация, когда мы получаем извне некоторую строку и пытаемся обратиться к ее функциональности. Например, в примере ниже у строки вызывается метод ToUpper() , который переводит все символы строки в верхний регистр:
Здесь при выполнении вызова PrintUpper(name) мы столкнемся с исключением NullReferenceException , и программа аварийно завершит свою работу. Кто-то может сказать, что ситуация искуственная — мы же явно знаем, что в функцию передается null. Однако в реальности данные могут приходить извне, например, из базы данных, откуда-то из сети и т.д. И мы можем явно не знать, есть ли в реальности данные или нет. И использование ссылочных nullable-типов позволяет частично решить эту ситуацию. Частично — поскольку предупреждения все равно не мешают нам скомпилировать и запустить программу выше. Однако nullable-контекст позволяет воспользоваться возможностями статического анализа, благодаря которому можно увидеть потентиально опасные куски кода, где мы можем столкнуться с NullReferenceException.
Кроме того, есть вероятность, что Microsoft изменит отношение в отношении null и NullReferenceException, и подобные предупреждения превратятся в будущих версиях в ошибки, поэтому лучше уже сейчас быть к этому готовым
Например, изменим предыдущий пример следующим образом:
Здесь статический анализ подскажет, что в методе PrintUpper потенциально опасная ситуация, поскольку параметр text может быть равен null .
Отключение nullable-контекста
Для отключения nullable-контекста в файле конфигурации проекта достаточно изменить значение опции Nullable , например, на «disable»:
Отключив nullable-контекст, мы больше не сможем использовать в файлах кода в проекте ссылочные nullable-типы и соответственно воспользоваться встроенным статическим анализом потенциально опасных ситуаций, где можно столкнуться с NullReferenceException.
nullable-контекст на уровне участка кода
Мы также можем включить nullable-контекст на урове отдельных участков кода с помощью директивы #nullable enable . Допустим, глобально у нас отключен nullable-контекст:
Определим в файле Program.cs следующий код:
Первая строка позволяет включить на уровне всего файла nullable-контекст.
Оператор ! (null-forgiving operator)
Оператор ! (null-forgiving operator) позволяет указать, что переменная ссылочного типа не равна null :
Здесь если бы мы не использовали оператор !, а написали бы PrintUpper(name) , то компилятор высветил бы нам предупреждение. Но в самом методе мы итак проверяем на null, поэтому даже если в метод передается null, то мы не столкнемся ни с какими проблемами. И чтобы убрать ненужное предупреждение, применяется данный оператор. То есть данный оператор не оказывает никакого влияния во время выполнения кода и предназначен только для статического анализа компилятора. Во время выполнения выражение name! будет аналогично значению name
Исключение кода из nullable-контекста
С помощью специальной директивы #nullable disable можно исключить какой-то определенный кусок кода из nullable-контекста. Например:
Любой код между директивами #nullable disable и #nullable restore будет исключен из nullable-контекста и тем самым не будет подлежать статическому анализу.