Android Mobile | YeaHub
488 subscribers
285 photos
21 videos
471 links
Теория, подготовка к интервью и курсы для Android разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
Исследование рынка вакансий IT 📈

Я проверил рынок на 4 резюме: 1-я неделя открытые резюме, 2-я неделя 100 откликов.

В A/B тестировании я проверял максимальный возраст, университет, опыт работы и пол.

Важные инсайды для резюме:

1️⃣Аутсорсы с высшим IT образованием конвертят в 2 раза больше (8 vs 4 приглашений)
2️⃣Возраст 40+ - все еще в строю, особенно, если сильное резюме на 3 года опыта (7 приглашений)
3️⃣Вышка, продуктовая разработка 4 года и Москва - конверсия 8,6%


Я проведу еще более масштабное исследование, где станет понятно - какой он, идеальный кандидат для любой специальности. Пока новый A/B тест насчитывает 26 резюме 🗿

Нужна твоя помощь. Аккаунт в tg, аккаунт известной площадке по поиску работы.


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

Подпишись, чтобы не пропустить 🚀

IT Crew | Антон Гуляев
👍3🔥32
#Собес #android
🤔 Как работают дженерики в Kotlin «под капотом»?

Kotlin-дженерики реализованы через стирание типов (type erasure) на JVM, аналогично Java: информация о конкретном параметре типа недоступна в рантайме. Компилятор проверяет типы во время компиляции, а затем генерирует код без параметризации. Для сохранения информации о типе используют реифицированные (reified) параметры в inline -функциях.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🥄 Creating an Engaging Progress Button in Jetpack Compose

Гайд по реализации вот такой кнопки с прогрессом на Jetpack Compose.

Исходный код → ProgressButton

Читать

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#Собес #git
🤔 Что такое команды git reset -mixed и git merge - abort?

git reset --mixed : отменяет изменения, которые были добавлены в индекс, но сохраняет изменения в рабочем каталоге.
git merge --abort : отменяет слияние, которое в данный момент находится в процессе, и возвращает репозиторий в состояние до начала слияния.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😬 Шаблон приложения Kotlin Multiplatform

Базовый шаблон приложения Kotlin Multiplatform для Android и iOS. Он включает общую бизнес-логику и обработку данных, а также реализацию общего пользовательского интерфейса с использованием Compose Multiplatform
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#полезное
😎 Koin — это лёгкий и прагматичный фреймворк для внедрения зависимостей (Dependency Injection) на языке Kotlin!

Он поддерживает как Kotlin Multiplatform, так и Android. Koin предоставляет удобный DSL для настройки зависимостей, минимизирует избыточность кода и интегрируется с различными экосистемами, включая Jetpack Compose и Ktor.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
🤓 Currencies — приложение для Android, которое предоставляет простой и удобный конвертер валют. Программа поддерживает несколько провайдеров обменных курсов, таких как Европейский Центральный Банк, OpenExchangeRates и другие, а также предлагает функции калькулятора и исторические курсы

Приложение написано на Kotlin с использованием Material Design и поддерживает светлую и тёмную темы интерфейса
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
#Собес #git
🤔 Как вы находите коммит, который что-то нарушил после операции слияния?

💬 Кратко:
Для поиска коммита, который нарушил код после слияния, можно использовать команду git bisect . Этот инструмент помогает найти коммит, который вызывает проблему, путем бинарного поиска.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
#полезное
🤣 Compose Hot Reload — инструмент от JetBrains для мгновенного обновления UI в Compose Multiplatform без перезапуска приложения.

Позволяет видеть изменения в интерфейсе сразу после правки кода, ускоряя разработку. Работает с Kotlin/JVM и поддерживает автоматическую перезагрузку через Gradle-задачи. Для полного функционала требует JetBrains Runtime.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42
👩‍💻 Middle/Senior Android в компанию Альфа-Банк

Скрининг. ЗП: 250-400k. Опыт: 3 года. Июнь 2024. Собеседование в себя включало постоянное рассуждение, проектирование и построение гипотез для теории и практические вопросы для лайвкодинга.

Вопросы:
- Что такое Structured Concurrency и как его нарушить?
- Чем отличается StateFlow от SharedFlow?
- Как suspendCancellableCoroutine помогает работать с колбэками?
- Как работает return в лямбде внутри inline-функции?

Все вопросы можно посмотреть на нашей платформе

#собес #коллеции
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
#Собес #git
🤔 Что такое команда git cherry-pick?

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

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
#полезное
👋 EitherNet — это библиотека для Kotlin, предназначенная для обработки API-ответов в приложениях!

🟠 Она предоставляет типизированный подход к обработке результатов сетевых запросов, используя sealed-классы для представления успешных и неудачных ответов. Это упрощает работу с ошибками, исключая необходимость использования исключений для обработки ошибок. Например, можно различать типы ошибок, такие как сетевые сбои, HTTP-ошибки или специфические API-ошибки, что делает код более безопасным и понятным.

🟠 Библиотека интегрируется с Retrofit, позволяя разработчикам легко подключить её к существующим API-запросам. Она поддерживает аннотации, такие как @.DecodeErrorBody, для автоматической обработки тела ошибок HTTP-ответов. Это делает работу с API более удобной и предсказуемой, улучшая качество обработки ошибок и делая код проще для чтения и поддержки.
Github

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🤯 telephoto — это инструмент для Android-разработчиков, позволяющий упростить работу с мультимедиа, предоставляя компоненты, такие как масштабируемые изображения с поддержкой жестов панорамирования и масштабирования!

Основные функции включают ZoomableImage — замену стандартного Image() с поддержкой работы с большими изображениями благодаря автоматической субдискретизации, и модификатор Modifier.zoomable(), который можно использовать для создания жестов с другими элементами интерфейса.
Github

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
#полезное
😱 Kotlin Coding Challenges — тренажёр для прокачки алгоритмического мышления

Если вы учите Kotlin и хотите не просто писать код, а развивать алгоритмическое мышление, этот репозиторий — отличная площадка для тренировок. Здесь собраны задачи разного уровня: от простых, вроде реверса строки, до экспертных.

Каждая задача — это готовый модуль с описанием, тестами и шаблоном для решения. Можно сразу запускать проверку в IntelliJ IDEA и сравнивать своё решение с эталонным. При этом авторы приводят несколько вариантов решения с анализом сложности через Big O.
GitHub

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
#Собес #git
🤔 Как вы можете ввести слияние на стадии конфликта?

💬 Кратко:
При возникновении конфликта в Git нужно вручную разрешить расхождения в файлах, а затем завершить слияние с помощью команды git merge -- continue .

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
#полезное
🏕 KorGE — это фреймворк для разработки кроссплатформенных 2D-игр на языке Kotlin!

Он поддерживает работу на платформах JVM, JavaScript, Android и iOS, а также предлагает удобный API для работы с графикой, звуком, анимацией и физикой. KorGE интегрируется с Gradle, что упрощает сборку и развертывание проектов.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
🥄 Libaums — библиотека для работы с USB-накопителями на Android

Это открытая библиотека, которая решает проблему доступа к USB-накопителям на устройствах, где система не поддерживает их автоматическое монтирование. Она даёт доступ к флешкам, внешним дискам и кардридерам через USB Host API. Инструмент поддерживает FAT32 и SCSI-команды, но при этом остаётся легковесной и не требует root-прав.

Интересные моменты:
🟠 Работает как с Java, так и с Kotlin
🟠 Позволяет читать/записывать файлы напрямую, минуя системные ограничения
🟠 Есть модули для интеграции через HTTP-сервер или Storage Access Framework
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31
#полезное
🛞 Inure — необычный файловый менеджер для Android с открытым исходным кодом. Этот проект выделяется полностью кастомным интерфейсом, поддержкой Material You и встроенным терминалом.

Приложение разрабатывается одним человеком, но уже попало в подборки лучших open-source решений для Android. Оно работает как на рутированных устройствах, так и через Shizuku, предлагая продвинутый анализ установленных приложений.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #git
🤔 Как восстановить удалённую ветку?

💬 Кратко:
Если ветка была удалена локально, её можно восстановить, используя команду git reflog . Если ветка была удалена удалённо, можно восстановить еёс помощью git push origin ‹ branch_name›.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#полезное
🤯 AtomicFU — библиотека для работы с атомарными операциями в Kotlin. Этот проект от JetBrains предоставляет удобный и эффективный способ работы с атомарными операциями в Kotlin-проектах. Поддерживает все основные платформы: JVM, Native, JS и Wasm.

Библиотека предлагает идиоматичный Kotlin API для атомарных операций, который затем трансформируется в эффективный код для каждой целевой платформы. Поддерживаются атомарные массивы, пользовательские расширения и даже примитивы синхронизации.
GitHub

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#статьи
👋 Видим невидимое: контроль качества Android-библиотек через объектив AppTracer Lite SDK

Разработчик AppTracer Lite SDK(аналог Firebase Crashlytics) рассказывает про возможности инструмента и подводные камни, с которыми столкнулся при разработке.

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

🟠 Что такое AppTracer SDK
🟠 Как трекать качество библиотеки
🟠 Собираем краши
🟠 Логируем аналитику
🟠 Собираем метрики производительности
🟠 Обфускация
🟠 Crash-free интеграция Tracer
🟠 Поддержка отключения Tracer в библиотеке
🟠 Заключение
Читать

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1