Мобильный трудоголик
1.37K subscribers
61 photos
9 videos
266 links
👨‍💻 Пишу простым языком об iOS разработке на Swift и мобильной разработке в целом.
🔹 Вошел в IT задолго до того как это стало мейнстримом.
---
‍Обо мне: https://t.me/hardworkerIT/3
Чат: @hardworkerChatIT
Канал про разработку и жизнь в ИТ: @itDenisov
Download Telegram
📱 Microsoft в России все.

Основное российское подразделение корпорации — ООО «Майкрософт Рус» планирует начать процедуру банкротства.

⚠️ Почему так вышло?
🔹 После ухода Microsoft столкнулась с массой судебных исков
🔹 Общая сумма претензий к компании превысила 200 млн рублей

⚠️ Что дальше?
🔹 Процесс ликвидации может затянуться, но ясно одно — эпоха Microsoft в России официально подходит к концу.

Не ясно одно, кто придет на замену.

➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
👀5🗿3🤯1
📱 Как вернуть старый стиль UITabBar в iPadOS 18+ (UIKit).

В iPadOS 18 Apple добавила новый системный таббар в верхней части экрана, что может вызвать конфликты с кастомными таббарами в нижней части.

При желании, можно вернуть прежний стиль TabBar таким образом:
if #available(iOS 18.0, *), UIDevice.current.userInterfaceIdiom == .pad {
tabBarController?.traitOverrides.horizontalSizeClass = .compact
}


‼️ Важные нюансы:
🔸 Работает только на iPad (userInterfaceIdiom == .pad)
🔸 Требует iOS 18+ (проверка через @available)

Альтернатива для SwiftUI:
.toolbar(.hidden, for: .topBar)


➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🫡1
💻 Стало известно название следующей версии macOS.

📱 Следующая версия macOS, которая выйдет в 2025 году, получит имя Tahoe — в честь живописного озера на границе Калифорнии и Невады. Это продолжает традицию Apple называть ОС в честь калифорнийских достопримечательностей (Sequoia, Sonoma, Ventura).

🎨 Визуальные изменения.
По данным Марка Гурмана (Bloomberg), в Tahoe Apple может переработать интерфейс:
🔹 Усиленная прозрачность — элементы станут больше напоминать стекло.
🔹 Новые анимации — плавные переходы между окнами.
🔹 Обновлённые иконки — более трёхмерный и «акварельный» стиль.

💻 Возможные фичи.
🔹 Интеграция ИИ — улучшенный Spotlight с генеративными ответами.
🔹 Режим «Smart Window» — автоматическая группировка окон по задачам
🔹 Поддержка ARM-only — возможный отказ от Rosetta 2.

🗓 Дата выхода.
🔹 Анонс ожидается 10 июня 2025 на WWDC, а финальная версия выйдет осенью.

➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3👀1
🎮 Спиши, но только не точь в точь..

Не успели Fplus презентовать прототип отечественной игровой консоли, как в интернете уже успели найти ее двойника на AliExpress. Устройство российской компании, пока предназначено только для разработчиков и в продажу не поступит.

Зато характеристики двойника нам известны, консоль базируюется на мощном процессоре AMD Ryzen 7840HS, цена около тысячи долларов. Какими параметрами будет обладать оригинальный гаджет от Fplus, компания пока держит в секрете.

➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🗿5🤔31👍1
👨‍💻 Мой топ-5 правил продуктивности.

Работа в IT – это постоянный марафон, который я бегу уже 13 лет. За это время выработал свои правила, как поддерживать общую эффективность. Вот мой топ-5:

1️⃣ Дисциплина: Маленькие Шаги > Большие Скачки.
Если что-то не получается сразу - это нормально. Главный секрет больших задач? Дробить их на множество мелких подзадач. И самое важное – выполнять задуманное изо дня в день. Даже когда внутри кричит "не хочу" и "не буду". Поверьте, рутинные задачки – это не скучно, это фундамент больших побед.

2️⃣ Отдых по часам VS Гибкость распорядка дня.
Мой отдых не всегда вписывается в стандартные рамки. Я спокойно могу выделить 30 минут в рабочее время на книгу, чтобы перезагрузить мозг. Но так же спокойно могу доделывать важную фичу поздно вечером. Для меня приоритет – результат и ощущение завершенности, а не строгое следование часам.

3️⃣ Спорт: обязательный минимум для сидячего образа жизни.
Мое правило – ежедневная зарядка, 30-40 минут. Не нужно марафонов или спортзала каждый день (хотя это круто!). Достаточно базовых упражнений для поддержания организма на жизненно необходимом уровне. Это не прихоть, это обязательство перед собой.

4️⃣ Приложение-планировщик.
Я сам разработал для себя приложение-планировщик. Кому интересно можете скачать в App Store или Google Play (TaskFocus). Туда летит всё: от рабочих дедлайнов до напоминания заняться зарядкой и практики английского. Благодаря четкой системе голова не болит от множества задач.

5️⃣ Сон: Неприкосновенный Must Have.
То, чем многие жертвуют в первую очередь. Сон – это святое время, когда мой мозг и тело перезагружаются не на 100%, а на все 120%! Поэтому 8 часов сна – это база. Неважно, лег я в 10 вечера или в 2 ночи из-за горящего дедлайна – следующие 8 часов принадлежат восстановлению. Это инвестиция в завтрашнюю продуктивность.

➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7👏3🔥1
🔢 Улучшение читаемости кода и сокращение количества строк.

Этот код хорошо работает, но его можно немного упростить.

if userAge >= 18 {
driveCar()
} else {
driveBike()
}


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

userAge >= 18 ? driveCar() : driveBike()


⚠️ Когда применять тернарный оператор?
🔹 Простые условия с одним действием в каждой ветке.
🔹 Присвоение значений.
🔹 Возврат значений в функциях.

⚠️ Когда лучше использовать if/else?
🔹 Сложные условия с несколькими действиями.
🔹 Ветвление с else if.
🔹 Когда нужны дополнительные проверки в теле условия.

➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3🫡2
Планы Apple по обновлению дизайна лицевой стороны iPhone.

Верим? 🤔

➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔6👀2🔥1🗿1
📱 Первые "живые" фото Pixel 10 Pro просочились в сеть.

По инсайдерским данным, Google может анонсировать Pixel 10 уже 13 августа. Утечка, предположительно, касается модели для рынка Японии.

➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👀2🔥1
🎨 Рисование в SwiftUI с помощью Canvas.

Canvas — это мощный инструмент для отрисовки кастомной графики в SwiftUI. Он работает эффективнее, чем комбинация отдельных SwiftUI-фигур, особенно при работе с множеством сложных элементов.

Основные возможности Canvas:
🔹 Оптимизированная производительность - эффективно обрабатывает одновременный рендеринг множества графических объектов.
🔹 Гибкий контроль - предоставляет доступ к объекту GraphicsContext для точного управления процессом рисования.
🔹 Низкоуровневые операции - позволяет выполнять сложные графические преобразования и применять различные стили отрисовки.
🔹 Поддержка трансформаций, масок, blend-режимов.
🔹 Анимация через TimelineView.
🔹 Реакция на жесты и данные.

⚠️ Когда выбирать Canvas вместо стандартных фигур SwiftUI?
🔸 Сложная графика: диаграммы, кастомные иконки.
🔸 Производительность: 100+ элементов на экране.
🔸 Низкоуровневый контроль: точное управление пикселями.

Ограничения:
🔸 Нет встроенной поддержки текста (используйте Text поверх Canvas).
🔸 Сложнее отлаживать, чем стандартные SwiftUI-фигуры.

➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👏3🔥2
🇪🇺 ЕС грозит Apple рекордным штрафом до €500 млн.

Компании дали 30 дней на устранение нарушений в работе App Store в соответствии с антимонопольным законом о цифровых рынках (DMA). В случае невыполнения условий штраф станет неизбежным.

➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
🫡7👍2🔥1👏1
Минцифры и hh.ru запустили платформу для оценки IT-навыков: как это работает и кому пригодится.

📊 Что показывают исследования?
🔸 60% работодателей обращают внимание на указанные в резюме навыки.
🔸 Каждый третий HR реально учитывает подтверждённые компетенции при отборе кандидатов (Остальные, по традиции, полагаются на "ну, выглядит адекватно" и шестое чувство).

⚙️ Как устроена платформа?
🔹 Бесплатно – тесты можно проходить без ограничений.
🔹 Добровольно – только если хотите добавить сертификат в резюме.
🔹 С защитой от накруток – антифрод-система исключает жульничество.
🔹 Анонимность – если результат не понравился, его можно скрыть и пересдать через месяц.

✍️ Что можно проверить?
Сейчас доступно 17 направлений, включая:
🔸 Языки программирования: Java, Python, JavaScript, C++.
🔸 Базы данных: SQL, NoSQL.
🔸 DevOps, тестирование, кибербезопасность.

К концу года обещают расширить до 21 темы.

🤔 Зачем это нужно?
🔹 Новичкам – чтобы подтвердить знания и выделиться среди других джунов.
🔹 Опытным специалистам – для объективной оценки скиллов (и аргумента на переговорах о зарплате).
🔹 Рекрутерам – чтобы быстрее отсеивать неподходящих кандидатов.

➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
🗿7👀3👍1🤔1
⚠️ Для чего используется final?

Ключевое слово final запрещает дальнейшие изменения:
🔸 для классов: запрещено наследовать.
🔸 для метод: запрещено переопределять.
🔸 для переменных: запрещено изменять значения после инициализации.

Важно:
В Swift final работает только для классов и членов классов. Для констант следует использовать ключевое слово let.

➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥7🫡4
📱 Отключаем запрос о соответствии экспортным требованиям в TestFlight.

Загружая новую сборку приложения, всегда приходится заходить в App Store Connect для нажатия на «Нет» в окне «Информация о соответствии экспортным требованиям».

Если Ваше приложение не использует шифрование, то можно очень просто избавиться от ручного подтверждения при каждой загрузке сборки в TestFlight.

Для этого необходимо открыть файл Info.plist и добавить следующие строки:
<key>ITSAppUsesNonExemptEncryption</key>
<false/>


⚠️ Что это даёт?
🔹 Больше не нужно вручную отвечать «Нет» в App Store Connect.
🔹 Сборки сразу становятся доступными для тестирования в TestFlight.

➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
👏6👀4🔥2
👨‍💻 Оборот App Store составил $1.3 трлн, но Apple взяла комиссию только с $131 млрд.

🤔 Как так вышло?
90% оборота — продажи физических товаров, услуг и реклама (не облагаются комиссией Apple).

Например: доставка, реклама ($150 млрд), товары (>$1 трлн).

💵 Реальные доходы Apple.
🔹 В 2024 году сервисы (включая iCloud, Music) заработали $96.2 млрд.
🔹 Доля App Store — $22–39 млрд (17–30% от $131 млрд).

🔒 Что скрывает Apple?
Компания включает в оборот товары, не проходящие через IAP (например, Uber, Amazon). Но напоминает, что поддерживает API (250K+), фреймворки (SwiftUI, Core ML) и образовательные программы.

💡 Вывод:
Цифры впечатляют, но контекст важен — большая часть оборота не приносит прибыль Apple.

➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
👀15🤯7🗿3
🔢 Что такое @State в SwiftUI?

@State — это property wrapper (обертка свойства), которая позволяет хранить и отслеживать изменяемые данные внутри View. Когда значение @State меняется, SwiftUI автоматически перерисовывает представление, чтобы отразить обновленные данные.

✍️ Особенности:
🔸 Для простых значений: используется для примитивов (Int, String, Bool) и структур (Struct).
🔸 Локальное хранение: данные живут только внутри этой View и не предназначены для передачи в другие экраны.
🔸 Автоматическое обновление: при изменении значения SwiftUI пересоздает View (но сохраняет состояние).

♣️ Пример:

struct MyView: View {
@State private var value = 0 // Значение, которое может меняться

var body: some View {
Button("Нажато: \(value)") {
value += 1 // Изменение @State перерисует кнопку
}
}
}


🤔 Когда использовать?
🔹 Для внутреннего состояния View (чекбоксы, текст поля, флаги).
🔹 Если данные не нужно передавать в другие View (иначе используйте @Binding или @ObservedObject).

⚠️ Важно:
🔸 Всегда помечайте @State как private.
🔸 Не используйте для сложных объектов (для этого есть @StateObject).

🚀 @State — это основа реактивности в SwiftUI!

➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1642
Apple Watch могут мешать похудению?

⚠️ Исследование Университета Миссисипи показало:
Часы переоценивают сожжённые калории на 30% — это может сбивать с толку и провоцировать переедание. Пользователи, видя «успешную» тренировку, часто расслабляются и превышают норму калорий, что мешает прогрессу.

Но есть и хорошие новости:
Пульс и шаги считаются точно (погрешность всего 4–8%).

Проблема именно в программном алгоритме подсчёта калорий — возможно, Apple исправит это в обновлениях.

💡 Вывод:
Доверяйте Apple Watch, но с оглядкой — их данные о калориях лучше проверять дополнительно.

➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
👀14👍6🤯3🔥1
📱 Что делает команда git cherry-pick?

Команда git cherry-pick позволяет перенести отдельный коммит из одной ветки в другую, не сливая ветки целиком. Это полезно, когда нужно взять только конкретные изменения из другой ветки.

⚠️ Как это работает?
🔸 Находит коммит (по хешу) в истории Git.
🔸 Применяет его изменения к текущей ветке, создавая новый коммит (с другим хешем).

♣️ Пример использования:

# Переключимся в ветку, куда нужно перенести коммит
git checkout feature

# Перенесем коммит с хешем a1b2c3
git cherry-pick a1b2c3


💡 Вывод:
git cherry-pick – это «точечный» инструмент для переноса отдельных изменений. Используйте его аккуратно, чтобы не запутать историю коммитов.

➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🤝51🫡1
💻 Минцифры и российские ОС: что решили?

🤔 Что случилось?
Алексей Мельников, Fplus, предложил обязательно предустанавливать российские ОС (таких как «Ред ОС» или «Аврора») на ноутбуки, продающиеся в России.

⚠️ Как именно?
🔸 При продаже в Ozon, Wildberries или магазинах (DNS, Mvideo и др.) на ноутбуке должна быть установлена одна из российских ОС.
🔸 Windows не убирают — пользователь при включении сам выберет систему, по аналогии как сейчас с российскими приложениями на смартфонах.

📱 Почему это не коснется смартфонов?
Министр Минцифр Максут Шадаев согласился с идеей для ноутбуков / ПК, но отказался включать смартфоны в правило. Так как если требовать повсеместную установку ОС, могут сократиться поставки, в магазинах начнется дефицит и поднимется цена на технику. Это уже знакомая нам всем история.

По словам депутатов, это шанс показать, что отечественные ОС могут быть реальной альтернативой.

➡️ Подписаться на канал
Мобильный трудоголик
Please open Telegram to view this post
VIEW IN TELEGRAM
👀16🗿6🤯1