Разбор тестового задания на позицию Android Developer
Выполнение тестового задание стало обычным делом на любом IT-собеседовании. Поэтому предлагаем разбор одного такого задания - лишним не будет.
По ТЗ необходимо выполнить экран расписания занятий с recyclerview. Разбирается структура будущего решения с использованием корутин, ретрофита, Lifecycle и viewBinding.
Читать
#новость
Выполнение тестового задание стало обычным делом на любом IT-собеседовании. Поэтому предлагаем разбор одного такого задания - лишним не будет.
По ТЗ необходимо выполнить экран расписания занятий с recyclerview. Разбирается структура будущего решения с использованием корутин, ретрофита, Lifecycle и viewBinding.
Читать
#новость
👍3
Гайд по созданию Clean Sslclient Flow.
Применяется Clean Architecture + SSE client + Kotlin Flow.
План такой:
Клиент-сервер: Short Polling, Long Polling, WebSocket или SSE?
Системная архитектура: Clean Architecture и как ее применять?
Потоковая передача данных: Flow или Live Data
Изучить
Применяется Clean Architecture + SSE client + Kotlin Flow.
План такой:
Клиент-сервер: Short Polling, Long Polling, WebSocket или SSE?
Системная архитектура: Clean Architecture и как ее применять?
Потоковая передача данных: Flow или Live Data
Изучить
Coroutine races
Для разбора проблемы, автор использует две распространенные ситуации:
➖ при одновременном запуске нескольких корутин необходимо, чтобы одна из них завершилась до того, как другая сможет быть выполнена;
➖ необходимо использовать одну корутину для настройки слушателя событий, а другую — для отправки события.
Естественно, все дополнено кодом.
Читать статью
#новость
Для разбора проблемы, автор использует две распространенные ситуации:
➖ при одновременном запуске нескольких корутин необходимо, чтобы одна из них завершилась до того, как другая сможет быть выполнена;
➖ необходимо использовать одну корутину для настройки слушателя событий, а другую — для отправки события.
Естественно, все дополнено кодом.
Читать статью
#новость
👍1
Если вы столкнулись с проблемой после обновления targetSdkVersion до 31/32, то решается это так:
🔹 меняем compiledSdkVersion, targetSdkVersion и ndkVersion в android > build.gradle;
🔹 в android > app > build.gradle добавляем для Java: androidx.work:work-runtime:2.7.1, для Kotlin: androidx.work:work-runtime-ktx:2.7.1;
🔹 в android > app > src > main > AndroidManifest.xml добавляем android.exported= “true”
Подробнее читаем тут
#новость
🔹 меняем compiledSdkVersion, targetSdkVersion и ndkVersion в android > build.gradle;
🔹 в android > app > build.gradle добавляем для Java: androidx.work:work-runtime:2.7.1, для Kotlin: androidx.work:work-runtime-ktx:2.7.1;
🔹 в android > app > src > main > AndroidManifest.xml добавляем android.exported= “true”
Подробнее читаем тут
#новость
👍1
Важно: правила площадки❗️
1️⃣ За спам, рекламу, ботоводство, скам — бан и удаление всех комментариев
2️⃣ За оскорбления группы/канала/админа/других участников, политические дебаты — первый раз удаление, второй раз — профилактический бан на неделю, третий раз — бан
3️⃣ За ссылки на нелегальные ресурсы — первый раз удаление, второй раз — бан
Напоминаем, что написать нам можно сюда: @proglibrary_feedback_bot
Пожалуйста, соблюдайте правила — мы со своей стороны тоже будем стараться максимально оперативно модерировать комментарии.
1️⃣ За спам, рекламу, ботоводство, скам — бан и удаление всех комментариев
2️⃣ За оскорбления группы/канала/админа/других участников, политические дебаты — первый раз удаление, второй раз — профилактический бан на неделю, третий раз — бан
3️⃣ За ссылки на нелегальные ресурсы — первый раз удаление, второй раз — бан
Напоминаем, что написать нам можно сюда: @proglibrary_feedback_bot
Пожалуйста, соблюдайте правила — мы со своей стороны тоже будем стараться максимально оперативно модерировать комментарии.
❤1👍1
Представляем на ваш суд 4 опенсорсных проекта на Flutter, из которых можно почерпнуть массу новой информации и многому научиться.
В статье рассматривается:
1. I/O FLIP — карточная AI-игра, созданная на Flutter и Firebase.
2. Fwitter (клон Twitter) — работающий клон Twitter, построенный во Flutter с использованием Firebase auth, realtime, firestore database и хранилки.
3. Very Good Wear OS App — из названия все понятно 😉
4. Dino Run — 2D бесконечный скроллер (а-ля Марио), созданный на Flame engine.
Читать
#новость
В статье рассматривается:
1. I/O FLIP — карточная AI-игра, созданная на Flutter и Firebase.
2. Fwitter (клон Twitter) — работающий клон Twitter, построенный во Flutter с использованием Firebase auth, realtime, firestore database и хранилки.
3. Very Good Wear OS App — из названия все понятно 😉
4. Dino Run — 2D бесконечный скроллер (а-ля Марио), созданный на Flame engine.
Читать
#новость
GitHub
GitHub - flutter/io_flip: Google I/O 2023 FLIP AI-designed card game built with Flutter & Firebase
Google I/O 2023 FLIP AI-designed card game built with Flutter & Firebase - flutter/io_flip
🔥3
И снова немножко пользы вам в обед 🤓
👉 iOS 17 VisualEffect и ScrollTransition API
👉 Создание интерактивного виджета, используя App Intents
👉 Как создавать архитектуру Android-приложений
👉 Broadcasts и Broadcast Receivers
👉 Исследование Animated Loader во Flutter
👉 Профилирование React Native Apps вместе с iOS и Android Tools
#дайджест
👉 iOS 17 VisualEffect и ScrollTransition API
👉 Создание интерактивного виджета, используя App Intents
👉 Как создавать архитектуру Android-приложений
👉 Broadcasts и Broadcast Receivers
👉 Исследование Animated Loader во Flutter
👉 Профилирование React Native Apps вместе с iOS и Android Tools
#дайджест
🔥1
Существует масса библиотек, решающих задачу эффективно организовать работу с состоянием в приложении: MVI, MVVM+, SAM, State Machine. Это дает довольно большую фрагментацию и может усложнять выбор в конкретных командах. Существующие сравнительные обзоры довольно старые и охватывают лишь малую часть библиотек.
В видосе, спикер сделал свой обзор, а также проверил гипотезу о том, есть ли возможность объединить все сильные стороны строгого MVI/Redux подхода с гибкостью, простотой чтения и поддержки MVVM+. Он расскажет об этом на примере Fluxo MVI.
Смотреть
#новость
В видосе, спикер сделал свой обзор, а также проверил гипотезу о том, есть ли возможность объединить все сильные стороны строгого MVI/Redux подхода с гибкостью, простотой чтения и поддержки MVVM+. Он расскажет об этом на примере Fluxo MVI.
Смотреть
#новость
Forwarded from Книги для программистов
Как окупаются инвестиции в счастье сотрудников?
Компании внедряют системы мотивации, долгосрочные программы LTI и проекты для благополучия сотрудников. А еще — создают комфортные условия для работы IT-специалистов.
Смотрим как это работает на примере Авито. HR-директор Ольга Ким рассказала о том, как в компании создают среду для высоких результатов. Полезный разговор по ссылке.
Компании внедряют системы мотивации, долгосрочные программы LTI и проекты для благополучия сотрудников. А еще — создают комфортные условия для работы IT-специалистов.
Смотрим как это работает на примере Авито. HR-директор Ольга Ким рассказала о том, как в компании создают среду для высоких результатов. Полезный разговор по ссылке.
YouTube
Опыт «Авито»: новая программа LTI, well-being и рояль в кустах
В 2022 году «Авито» стал одним из лучших работодателей России, по версии Forbes. Компания получила самую высокую оценку в категориях «Сотрудники и общество» и «Корпоративное управление». Дмитрий Озман поговорил с директором по персоналу «Авито» Ольгой Ким…
SOLID — важная и необходимая штука. Для тех, кто еще не знаком с этим понятием, предлагаем ознакомиться с материалом.
Расшифровывается этот SOLID, так:
➖ Принцип единственной ответственности (Single Responsibility Principle, SRP)
➖ Принцип открытости/закрытости (Open-Closed Principle, OCP)
➖ Принцип подстановки Барбары Лисков (Liskov Substitution Principle, LSP)
➖ Принцип разделения интерфейса (Interface Segregation Principle, ISP)
➖ Принцип инверсии зависимостей (Dependency Inversion Principle, DIP)
А подробнее и с примерами читайте в статье
Расшифровывается этот SOLID, так:
➖ Принцип единственной ответственности (Single Responsibility Principle, SRP)
➖ Принцип открытости/закрытости (Open-Closed Principle, OCP)
➖ Принцип подстановки Барбары Лисков (Liskov Substitution Principle, LSP)
➖ Принцип разделения интерфейса (Interface Segregation Principle, ISP)
➖ Принцип инверсии зависимостей (Dependency Inversion Principle, DIP)
А подробнее и с примерами читайте в статье
👍2
SwiftUI для большого B2C-продукта
Большие продукты очень аккуратно пробуют новые технологии — для старых написаны разные хэлперы, либы, а для SwiftUI такого мало.
Видео поможет вам решить, стоит ли запускать приложение с нуля полностью на относительно новом SwiftUI или подождать, пока технология стабилизируется, узнать, какие боли могут возникнуть при проектировании нетривиального приложения на новом стеке, и как их решать.
Смотреть
Большие продукты очень аккуратно пробуют новые технологии — для старых написаны разные хэлперы, либы, а для SwiftUI такого мало.
Видео поможет вам решить, стоит ли запускать приложение с нуля полностью на относительно новом SwiftUI или подождать, пока технология стабилизируется, узнать, какие боли могут возникнуть при проектировании нетривиального приложения на новом стеке, и как их решать.
Смотреть
👍4
Async / Await в Swift
На WWDC21 Apple представила async/await для Swift 5.5. В статье вы увидите async/await в действии и разберетесь, как его можно использовать для написания удобочитаемого асинхронного кода.
Эта штука доступна только в Swift 5.5 и Xcode 13 — не забудьте загрузить последнюю версию Xcode.
Читать
На WWDC21 Apple представила async/await для Swift 5.5. В статье вы увидите async/await в действии и разберетесь, как его можно использовать для написания удобочитаемого асинхронного кода.
Эта штука доступна только в Swift 5.5 и Xcode 13 — не забудьте загрузить последнюю версию Xcode.
Читать
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Если при использовании Swift UI вам необходимо загружать больше контента в ScrollView, то предлагаем изучить опенсорсную утилитку из этого материала.
Подробнее
Подробнее
👍2
Близится Android-митап от AndroidWorldwide.
25 июля выступят 🧑🎓 10 докладчиков с такими темами:
🔹 Kotlin Multiplatform. Make your Android App Cross-Platform
🔹 Building Managers Over 3rd Party SDKs for Easy Access
🔹 Battle of the Titans: RxJava vs Kotlin Coroutines
🔹 Impact of Framework Choice on your Application: A Reverse Engineering Perspective
🔹 Building Accessible Apps with Jetpack Compose
🔹 Six Things ViewBinding Teaches Us
🔹 JetPack Compose Performance Tips & Tricks
🔹 Unveiling the Unseen Threat: Demystifying Memory Leaks in Android
🔹 Blast Off: Managing Hundreds of UI Updates for Emoji Cannons
🔹 Designing Jetpack Compose architecture for Gradual Migration from Fragments
#новости
25 июля выступят 🧑🎓 10 докладчиков с такими темами:
🔹 Kotlin Multiplatform. Make your Android App Cross-Platform
🔹 Building Managers Over 3rd Party SDKs for Easy Access
🔹 Battle of the Titans: RxJava vs Kotlin Coroutines
🔹 Impact of Framework Choice on your Application: A Reverse Engineering Perspective
🔹 Building Accessible Apps with Jetpack Compose
🔹 Six Things ViewBinding Teaches Us
🔹 JetPack Compose Performance Tips & Tricks
🔹 Unveiling the Unseen Threat: Demystifying Memory Leaks in Android
🔹 Blast Off: Managing Hundreds of UI Updates for Emoji Cannons
🔹 Designing Jetpack Compose architecture for Gradual Migration from Fragments
#новости
Android-Worldwide
Android Worldwide
Android Worldwide is an international collective of developer communities who like to put on a recurring special event for Android Devs, and related engineering specialties.
🔥1
🔥 Новый дайджест по актуальному из мира Android, кроссплатформе и iOS:
🎯 Создание интерактивного виджета с помощью App Intents
🎯 Swift Variadic Parameters
🎯 Настраиваем CI/CD для тестовой инфраструктуры Android
🎯 What's new in Kotlin 1.9.0
🎯 Метод setState() во Flutter может работать не так, как вы это представляете
🎯 Introducing LangChain.dart
#дайджест
🎯 Создание интерактивного виджета с помощью App Intents
🎯 Swift Variadic Parameters
🎯 Настраиваем CI/CD для тестовой инфраструктуры Android
🎯 What's new in Kotlin 1.9.0
🎯 Метод setState() во Flutter может работать не так, как вы это представляете
🎯 Introducing LangChain.dart
#дайджест
👍3
🔥 Хотите скидку в 10% на все наши курсы до конца года📚 ?
Тогда пройдите наш опрос на тему ChatGPT.
Мы собираем информацию о том, как разработчики применяют сей инструмент в своей работе, чтобы продолжать развивать это направление.
Подробности тут
Тогда пройдите наш опрос на тему ChatGPT.
Мы собираем информацию о том, как разработчики применяют сей инструмент в своей работе, чтобы продолжать развивать это направление.
Подробности тут
🚀🚀 Управление состоянием — это основа всех фреймворков для разработки приложений, в том числе и Flutter. Под этим термином понимают то, как приложение может управлять данными, которые оно использует, и обновлять их.
Во Flutter существует несколько техник и инструментов, которые можно использовать для управления состоянием, и выбор часто зависит от сложности и требований приложения.
Подробнее о выборе, об управлении состоянием и прочих нюансах, можете узнать по ссылке ниже.
Читать
Во Flutter существует несколько техник и инструментов, которые можно использовать для управления состоянием, и выбор часто зависит от сложности и требований приложения.
Подробнее о выборе, об управлении состоянием и прочих нюансах, можете узнать по ссылке ниже.
Читать
Как создавать мобильные приложения, производительность которых ориентирована на пользователей?
Необходимо использовать и применять:
✏️ полезные метрики;
✏️ показатели эффективности;
✏️ пороговые значения;
✏️ плавность движения и отзывчивость;
✏️ критические показатели;
✏️ правильный учет всех данных.
Подробности сможете найти в материале
#новость
Необходимо использовать и применять:
✏️ полезные метрики;
✏️ показатели эффективности;
✏️ пороговые значения;
✏️ плавность движения и отзывчивость;
✏️ критические показатели;
✏️ правильный учет всех данных.
Подробности сможете найти в материале
#новость
👍2
Поиск неиспользуемого кода в Swift
В любом коде присутствует много 😱 неиспользуемого кода. Он захламляет весь проект, мешает чтению и дебагу.
Существует инструмент, который ставится через brew и можно пользоваться. Запускается оно так: periphery scan и через некоторое время будет виден результат работы.
Подробнее, читайте тут
В любом коде присутствует много 😱 неиспользуемого кода. Он захламляет весь проект, мешает чтению и дебагу.
Существует инструмент, который ставится через brew и можно пользоваться. Запускается оно так: periphery scan и через некоторое время будет виден результат работы.
Подробнее, читайте тут
👍1