Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Что выведет код?
Anonymous Quiz
16%
Function finished, Completion called, DataProcessor deinitialized
21%
Completion called, Function finished, DataProcessor deinitialized
10%
Function finished, DataProcessor deinitialized, Completion called
54%
Утечка памяти (DataProcessor никогда не освободится)
❤3
iOS разработчик — удалёнка
Senior Android Developer — от 270 000 ₽, удалёнка
Middle/Middle+ iOS Developer — 160 000 — 250 000 ₽, удалёнка
Flutter-разработчик (Умные бьюти-решения) — от 250 000 ₽, гибрид (Москва)
iOS-разработчик — от 250 000 ₽, удалёнка
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Реализация биометрии в мобильных приложениях
Традиционные методы аутентификации уступают биометрии по:
• Удобству (не нужно запоминать пароли)
• Безопасности (уникальные биометрические данные)
• Скорости входа в приложение
🔐 Android Implementation (Biometric API)
1. Добавьте зависимость:
2. Проверка доступности:
3. Запуск аутентификации:
👨💻 iOS Implementation (LocalAuthentication)
1. Проверка доступности:
2. Запрос аутентификации:
🛡 Безопасность и лучшие практики
1. Fallback механизмы:
• Предусмотрите резервный PIN-код
• Не храните биометрические данные
2. UX рекомендации:
• Четко объясняйте зачем нужна биометрия
• Предлагайте альтернативные методы входа
3. Обработка ошибок:
• Многочисленные неудачные попытки
• Изменение биометрических данных
Как вы реализуете биометрию? Делитесь кейсами в комментариях💬
🐸 Библиотека мобильного разработчика
#буст
Традиционные методы аутентификации уступают биометрии по:
• Удобству (не нужно запоминать пароли)
• Безопасности (уникальные биометрические данные)
• Скорости входа в приложение
1. Добавьте зависимость:
implementation 'androidx.biometric:biometric:1.1.0'
2. Проверка доступности:
val biometricManager = BiometricManager.from(context)
when (biometricManager.canAuthenticate()) {
BiometricManager.BIOMETRIC_SUCCESS -> // Доступно
BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE -> // Нет сканера
BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE -> // Сканер занят
}
3. Запуск аутентификации:
val promptInfo = BiometricPrompt.PromptInfo.Builder()
.setTitle("Вход в приложение")
.setSubtitle("Приложите палец к сканеру")
.setNegativeButtonText("Отмена")
.build()
val biometricPrompt = BiometricPrompt(activity, executor, object : BiometricPrompt.AuthenticationCallback() {
override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
// Успешная аутентификация
}
})
biometricPrompt.authenticate(promptInfo)
1. Проверка доступности:
let context = LAContext()
var error: NSError?
if context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) {
// Биометрия доступна
}
2. Запрос аутентификации:
context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics,
localizedReason: "Для входа в приложение") { success, error in
DispatchQueue.main.async {
if success {
// Успешная аутентификация
}
}
}
1. Fallback механизмы:
• Предусмотрите резервный PIN-код
• Не храните биометрические данные
2. UX рекомендации:
• Четко объясняйте зачем нужна биометрия
• Предлагайте альтернативные методы входа
3. Обработка ошибок:
• Многочисленные неудачные попытки
• Изменение биометрических данных
Как вы реализуете биометрию? Делитесь кейсами в комментариях
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2😁2
В карточках разберемся, что такое вайб-кодинг на самом деле, в чем его плюсы и минусы, и почему вокруг него сейчас столько разговоров.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱4❤3👍1
Open SwiftUI Animations — библиотека готовых эффектов и анимаций для SwiftUI. Этот репозиторий вдохновит вас на добавление полезных и выразительных анимаций SwiftU в ваг проект.
В нем есть анимации загрузки/прогресса, циклические, анимации включения/выключения, входа/выхода, затухания, вращения и фоновые анимации, а кроме того потрясающие пружинные анимации.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🔥 Успей поднять квалификацию по выгодной цене!
Только до 17 августа у вас есть последняя возможность купить наши курсы по старым ценам.
🔹 Математика для Data Science:
— Базовый: (сейчас)
— Ультра:
— VIP:
🔹 Программирование на Python:
🔹 Алгоритмы и структуры данных:
🔹 Архитектуры и шаблоны проектирования:
🔹 AI-агенты для DS специалистов:
🔹 Основы IT для непрограммистов:
🔹 Базовые модели ML:
❗ Важно: Курсы из линейки Frontend Basic полностью снимаются с продажи. 17 августа — буквально последний день, когда их можно будет приобрести.
Успей купить до повышения — осталось 4 дня!
👉 Зафиксировать цену и начать учиться
Только до 17 августа у вас есть последняя возможность купить наши курсы по старым ценам.
🔹 Математика для Data Science:
— Базовый: (сейчас)
26 399₽
→ (будет) 33 900₽
— Ультра:
35 199₽
→ 44 900₽
— VIP:
59 829₽
→ 75 900₽
(выгода больше 16 000₽!)🔹 Программирование на Python:
24 990₽
→ 32 900₽
🔹 Алгоритмы и структуры данных:
31 669₽
→ 39 900₽
🔹 Архитектуры и шаблоны проектирования:
24 890₽
→ 32 900₽
🔹 AI-агенты для DS специалистов:
54 000₽
→ 59 000₽
🔹 Основы IT для непрограммистов:
14 994₽
→ 19 900₽
🔹 Базовые модели ML:
6 990₽
→ 9 900₽
❗ Важно: Курсы из линейки Frontend Basic полностью снимаются с продажи. 17 августа — буквально последний день, когда их можно будет приобрести.
Успей купить до повышения — осталось 4 дня!
👉 Зафиксировать цену и начать учиться
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3👍1
Собрали лучшее о мобильной разработке. Включаем и смотрим по пути на работу.
секреты производительности на iOS
HotSpot VM
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
На Хабре уже опубликовано немало статей о переходе на Swift Package Manager — как успешных, так и не очень. В случае автора миграция прошла удачно, однако на каждом этапе возникали проблемы, которые было сложно нагуглить или вообще найти решения.
Именно поэтому автор решил собрать все накопленные знания и поделиться ими в этой статье, чтобы помочь другим разработчикам сэкономить время.
👉 Читать статью
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🚀 Главная ошибка новичка в ML — строить звездолёт вместо велосипеда
Многие сразу хотят свою Midjourney, но в итоге получают только выгорание.
Успех начинается с «велосипеда»: научитесь предсказывать цены или классифицировать отзывы. Освойте базу, а уже потом стройте «звездолёты».
Наш курс «ML для старта в Data Science» — это и есть тот самый правильный старт от простого к сложному.
👉 Начните правильно
Берёте курс «ML для старта» до конца недели — Python в подарок.
❗А 21 августа пройдет бесплатный вебинар с Марией Жаровой: узнаете, какие проекты качают скилл, а какие качают ваши нервы.
А какой самый сложный проект вы брались делать в самом начале? 🫢
Многие сразу хотят свою Midjourney, но в итоге получают только выгорание.
Успех начинается с «велосипеда»: научитесь предсказывать цены или классифицировать отзывы. Освойте базу, а уже потом стройте «звездолёты».
Наш курс «ML для старта в Data Science» — это и есть тот самый правильный старт от простого к сложному.
👉 Начните правильно
Берёте курс «ML для старта» до конца недели — Python в подарок.
❗А 21 августа пройдет бесплатный вебинар с Марией Жаровой: узнаете, какие проекты качают скилл, а какие качают ваши нервы.
А какой самый сложный проект вы брались делать в самом начале? 🫢
git rebase -i
– мощный инструмент для «переписывания» истории коммитовПозволяет интерактивно редактировать цепочку коммитов перед их применением. Это как «машина времени» для вашего кода.
git rebase -i HEAD~5 # Редактируем последние 5 коммитов
Откроется редактор с меню, где можно:
•
pick
– оставить коммит как есть•
reword
– изменить сообщение коммита•
squash
– объединить с предыдущим коммитом•
edit
– внести изменения в код коммита•
drop
– удалить коммит1. Объединение коммитов (чтобы избежать "WIP" в истории):
pick a1b2c3 Важная фича
squash d4e5f6 Правки по код-ревью
squash g7h8i9 Фикс опечатки
2. Разделение коммита (через edit):
После отметки коммита как edit:
git reset HEAD~1 # откатываем изменения
git add -p # добавляем изменения частями
git commit -m "Новое сообщение"
git rebase --continue
3. Удаление секретного ключа из истории (через drop).
• Не используйте на публичных ветках (если коммиты уже отправлены в удаленный репозиторий).
• Резервная копия – перед операцией сделайте
git backup-branch
.• Конфликты – будьте готовы их разрешать (как при обычном rebase).
Когда вы последний раз использовали
rebase -i
? Делитесь кейсами в комментах #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👏2
🧠 Выбор первого ML-проекта: чеклист против выгорания
Классика плохих решений в ML — выбрать слишком сложный проект: неделя ковыряния в коде, десятки крашей и никакого результата. Хотите дойти до финиша — начните с простого проекта, который реально можно довести до конца.
Мини-чеклист первого проекта:
1. Понятные данные — без «я нашёл датасет в даркнете, но он на суахили».
2. Измеримая метрика — «точность 92%», а не «ну вроде работает».
3. Объяснимый результат — чтобы не-техлид понял, почему модель ругается на спам.
Наш курс «ML для старта в Data Science» — старт от простого к сложному: теория → практика → проверка → проект в портфолио.
👉 Начать свой путь в Data Science
Оплатите курс по ML до 17 августа — курс по Python в подарок.
📅 Бесплатный вебинар с Марией Жаровой — 21 августа: как выбирать проекты, которые доводят до оффера, а не до психотерапевта.
💾 Сохрани, чтобы не потерять, когда будешь готов(а) начать
Классика плохих решений в ML — выбрать слишком сложный проект: неделя ковыряния в коде, десятки крашей и никакого результата. Хотите дойти до финиша — начните с простого проекта, который реально можно довести до конца.
Мини-чеклист первого проекта:
1. Понятные данные — без «я нашёл датасет в даркнете, но он на суахили».
2. Измеримая метрика — «точность 92%», а не «ну вроде работает».
3. Объяснимый результат — чтобы не-техлид понял, почему модель ругается на спам.
Наш курс «ML для старта в Data Science» — старт от простого к сложному: теория → практика → проверка → проект в портфолио.
👉 Начать свой путь в Data Science
Оплатите курс по ML до 17 августа — курс по Python в подарок.
📅 Бесплатный вебинар с Марией Жаровой — 21 августа: как выбирать проекты, которые доводят до оффера, а не до психотерапевта.
💾 Сохрани, чтобы не потерять, когда будешь готов(а) начать
В карточках рассмотрим несколько способов, как определить свою стоимость на рынке труда.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2😁1