Pull to refresh
-1
1.9
Send message

Делай это 4 минуты в день и спина болеть не будет! Простой план компенсации сидячего образа жизни

Level of difficultyEasy
Reading time4 min
Views9.6K

В предыдущих материалах мы искали ответ на вопрос: «Достаточно ли двух тренировок в неделю для компенсации сидячего образа жизни?». Сошлись на том, что достаточно. Составляли двухдневный тренировочный план для сбалансированной проработки всех мышц, которого будет достаточно для того, чтобы мышцы росли.

Что делать, если и двух раз тренироваться не получается? Если доступен только один свободный день — есть ли смысл и польза в такой тренировке?

Конечно, есть! Чтобы доказать вам это, обратимся к исследованиям по теме минимального тренировочного объема, которая в последние годы активно изучается.

У нас есть не просто отдельные исследования, а один подробный метаанализ, один нарративный обзор и один обзор исследований:

Читать далее

ПОТРАЧЕНО–3. Как тестировать локализацию переводов, чтобы потом не было стыдно

Level of difficultyMedium
Reading time9 min
Views576

Привет!

Итак, две части про локализацию и её тестирование позади (раз, два), пришло время для третьей.

Читать далее

Стресс и нейропластичность. Как страхи и сомнения убивают память

Level of difficultyEasy
Reading time5 min
Views2.9K

Человек думает о стрессе и тревоге как о неприятном, но естественном элементе своего быта. Вот только популярные элементы образа жизни и «привычные» инструменты подавления стресса еще больше расшатывают работу мозга и убивают наши возможности. Как это происходит и можно ли этому препятствовать? Разберем в материале.

Читать далее

Rafinad: сахар для UI-тестирования iOS-приложений

Level of difficultyMedium
Reading time14 min
Views1.9K

Мы в hh очень любим UI-тесты, ими покрывается практически вся функциональность наших приложений, и даже backend-разработчики прогоняют тесты мобильных платформ перед развертыванием своих фич. Однако наши механизмы UI-тестирования разрабатывались более 8 лет назад и с тех пор почти не изменились.

Кто-то скажет, что старые решения прошли проверку временем и что «работает — не трогай»... Возможно, и так. Но сейчас мы внедряем новую дизайн-систему, а новые компоненты требуют адаптации всех тестов — не лучшее ли время для перемен?

Поэтому мы пересмотрели наши подходы к UI-тестированию и теперь готовы поделиться наработками с сообществом в виде open-source проекта — Rafinad. В этой статье расскажем, что он умеет и как им пользоваться.

Читать далее

Почему мы застреваем в TikTok и Instagram и что с этим делать

Level of difficultyEasy
Reading time5 min
Views1.4K

Ситуация наверное знакома каждому из нас: мы берем телефон, чтобы «просто проверить» Instagram или TikTok, и внезапно обнаруживаем, что пролетел час, а то и два. Вроде бы ничего особенного не произошло, но мы чувствуем себя странно опустошенными и уставшими. Почему так происходит?

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

Читать далее

Убить героя: почему героизм — это выбор легкого пути, который вредит не только вам, но и окружающим

Level of difficultyEasy
Reading time4 min
Views7K

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

Читать далее

Изоляция с помощью глобальных акторов в Swift Concurrency: варианты на примере @MainActor

Reading time7 min
Views844

Привет, Хабр! Меня зовут Алексей Григорьев, я техлид iOS-разработки продукта Membrana в МТС. Это тариф с приложением для управления приватностью в сети и окружением.

Swift Concurrency принесла множество инструментов для управления многопоточностью. Среди них глобальные акторы, которые помогают обеспечивать безопасность данных и контролировать потоки выполнения.

Один из самых распространенных и полезных глобальных акторов — это @MainActor, который гарантирует выполнение операций в главном потоке приложения. В этом посте я на его примере покажу все варианты, как можно реализовать изоляцию и что в итоге выведет код: на каком потоке будут выполнены update, internal update и set в property.

Читать далее

Как быть писателем, когда всем скучно читать книги | Как я делала визуальную новеллу

Level of difficultyEasy
Reading time4 min
Views11K

Что делать писателям в современном жестоком мире, где никто не хочет читать книги?

Рассказываю о том, как я сделала игру на основе своей повести, чтобы её хоть кто-то прочитал.

А как всё было и зачем?

GRASP: почему настоящая архитектура начинается не с SOLID

Level of difficultyMedium
Reading time12 min
Views49K

Хочу начать с личной предыстории. Давным‑давно, как и многие из вас, я читал умные книжки: «Чистый код» и «Чистая архитектура» Роберта Мартина, «Совершенный код» Стива Макконнелла и другие.

Также не обошли меня и классические принципы проектирования — SOLID, KISS, DRY — и, думаю, каждый читатель добавит сюда свои.

Безусловно, это всё важные и фундаментальные вещи.

Но однажды на горизонте появилось DDD — предметно‑ориентированное проектирование в изложении Эрика Эванса. Именно его «синяя книга» стала культовой и задала язык для архитектурного мышления.

Позже я открыл и «красную книгу» Вона Вернона, где DDD уже рассматривался с точки зрения практической имплементации: архитектура, код, реальные подходы в проектах.

Читая Эванса, рассматривая его диаграммы классов и примеры кода, я всё думал: как он это делает?

Самым большим открытием для меня стало то, что книга DDD хоть и показывает стратегические и тактические приёмы — агрегаты, объекты‑значения, спецификации, фабрики и т. д. — но не учит проектировать саму предметную область.

Складывалось ощущение, что мы это уже откуда‑то должны были знать. А откуда — остаётся загадкой.

Читать далее

Как не завязнуть в болоте рутины и оставаться эффективным

Level of difficultyEasy
Reading time5 min
Views5.5K

С того момента, как я начал работать IT менеджером, число связей и объем информации, потребляемой в единицу времени, начали кратно возрастать. В моей оперативной памяти перестали умещаться запланированные дела, в долговременной памяти стала теряться важная информация, да и в принципе вся структура хранения данных в голове стала не оптимальной.

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

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

Читать далее

«Уволиться нельзя остаться»: где поставить запятую?

Level of difficultyEasy
Reading time5 min
Views24K

Кто-то сказал что-то не то, новая политика компании не зашла, проект отдали другому, или просто заманчивое сообщение в LinkedIn пообещало горы золота.
Каждого сотрудника минимум раз в месяц посещают мысли из разряда: «Как мне всё надоело?», «Почему я должен это терпеть/делать?», «Что за цирк и почему я здесь?», «Меня не ценят, почему я должен вкладываться?»... Но стоит ли уходить? Точно проблема в компании?

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

Читать далее

Как разобраться в своей мотивации. Теория Грея, опросник Карвера-Уайта

Reading time7 min
Views16K

Друзья, сегодня говорим о мотивации! Что там в мозге за нее отвечает, что такое нейропсихологическая теория Грея и какая система поведения - активации или торможения характерна для вас.

Мы все разные, и мозг у нас тоже работает по-разному. Внутри вас ждет телеграм-ботик, при прохождении которого, вы можете классифицировать себя по опроснику Карвера-Уайта, используя эту информацию в дальнейшем для достижения целей, ну или, как минимум повеселитесь!

Читать далее

Использование ChatGPT o3-mini и DeepSeek при создании iOS приложения Countries “Страны Мира”

Level of difficultyMedium
Reading time47 min
Views4.1K

Что делает «животворящая» конкуренция?

Появление DeepSeek, позволило бесплатным подписчикам ChatGPT получить доступ к «рассуждающей» ChatGPT o3-mini.

Я предложила этим двум ИИ создать довольно простое на первый взгляд тестовое iOS приложение Countries, которое показывает все страны Мира по регионам (Европа, Азия, Латинская Америка и т. д.) и для каждой страны её название и флаг, a также численность населения population, размер ВВП (валового внутреннего продукта) gdp и расположение страны на карте Мира.

Использовались данные Всемирного банка (World Bank), но мы не сообщали ИИ ни сайты, ни структуры данных, всё это ИИ должен найти сам и использовать их при создании iOS приложения.

Раньше я отдавала предпочтение Clause 3.5 Sonnet при создании iOS приложений, прибегая к ChatGPT 4.o1 для решения отдельных проблем. Но появление «рассуждающих» ChatGPT o3-mini и DeepSeek изменили всё.

iOS разработка поднялась на новый уровень, и пока лидером в этой гонке для меня является ChatGPT o3-mini (даже в бесплатном варианте). Он способен вас приятно удивить.

Читать далее

Обновления в Swift Concurrency: что нас ждёт в Swift 6

Reading time20 min
Views5.2K

Привет, Хабр! Меня зовут Никита, я занимаюсь iOS-разработкой в Яндекс Диске. Как вы знаете, прошлой осенью зарелизился Swift 6, а вместе c ним появились и строгие проверки для защиты от датарейсов, связанные со Swift Concurrency.

В этой статье я постараюсь разобраться с основными изменениями в каждом пропозале и поделюсь своими заметками, тем, что мне показалось самым важным или интересным. В конце статьи бонус — Playground с тестами для каждого пропозала, чтобы можно было поиграть с кодом, детальнее разобраться с изменениями и понять, как они влияют на код, написанный на Swift 5.

Читать далее

Как самостоятельно выявить бессознательные установки, которые мешают вам больше зарабатывать?

Level of difficultyEasy
Reading time4 min
Views23K

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

Читать далее

Как перестать отвлекаться по мелочам, избавиться от прокрастинации и стать продуктивнее как минимум в 2 раза?

Level of difficultyEasy
Reading time4 min
Views89K

Если ты не можешь долго сконцентрироваться на одной задаче и часто отвлекаешься на что-то другое - то эта статья специально для тебя!

Читать далее

90% разработчиков не понимают принцип инверсии зависимостей из SOLID. DIP — это не про абстракции

Reading time4 min
Views62K

Зачастую, когда речь заходит про принцип инверсии зависимостей, можно услышать, что инверсия зависимостей (далее DIP) — это что-то там про зависимость от абстракций, и приводятся примеры, где в качестве «плохого» случая, используются конкретные классы, а в исправленном случае, используются абстрактные классы или интерфейсы. Но такая трактовка принципа в корне неверна.

Почему такая трактовка неверна и в чем же суть принципа — об этом и пойдет речь далее.

Читать далее

Две теории, которые помогут изменить твой подход к работе и усилят карьеру

Level of difficultyEasy
Reading time11 min
Views7.8K

Хабр, привет. На связи Оксана Рубанова, разработчик на платформе Optimacros.

Бывают моменты, когда от тебя ничего не зависит, случается что-то плохое просто потому, что оно иногда случается. А бывают моменты, когда понимаешь, что ты – часть / причина этого плохого, но не понимаешь, как до этого докатился, с чего все началось и главное, как теперь это исправить, учитывая масштаб бедствия (и не важно, личная это сфера или рабочая).

Так что ту часть проблем, на которую я имею влияние, я захотела проанализировать и улучшить.

В статье поговорим про:

1. Теории накопительного эффекта и разрушенных окон и их влияния на нас

2. Проблему внутреннего тестирование на проектах и идею, как его можно усилить

3. Рабочий эксперимент с командой, длинною в месяц

4. Результаты участников по итогам челленджа

5. Мои выводы со стороны организатора

Читать далее

Как заставить крутиться таймер –  инструкция для iOS-разработчиков

Level of difficultyEasy
Reading time10 min
Views1.6K

Привет, Хабр! На связи Андрей –  iOS разработчик из ecom.tech. Моя команда помогает различным маркетплейсам делать крутые вещи для их приложений. 

В этой статье я поделюсь своим опытом работы с обратным отсчётом времени (на примере Мегамаркета) и расскажу, как поставить таймер самостоятельно. 

Кажется, что таймер – простая для реализации вещь. Но если добавить сюда сжатые сроки, код (рефакторинг которого часто откладывается по разным причинам), пласты бизнес-логики и UI-элементы – получим нетривиальную задачу. 

Читать далее

Асинхронность в iOS: как ускорить корпоративные приложения и не сломать мозг разработчика

Level of difficultyEasy
Reading time4 min
Views2K

Когда все процессы в приложении работают как часы, это не магия, а правильно настроенная асинхронность.

Если ваше приложение не отвечает мгновенно на действия пользователя, то в голове у него сразу зажигается красный флаг: «Это медленно. Это неудобно. Может, удалить?». В корпоративных приложениях, где важна каждая секунда, это недопустимо.

В этой статье мы поговорим о том, как организовать асинхронную работу в iOS‑приложениях. Разберём подходы от старой доброй GCD до современной магии Swift Concurrency и покажем, как они помогают ускорить приложение без лишнего хаоса в коде.

Читать далее
1
23 ...

Information

Rating
2,379-th
Registered
Activity