#Собес #docker
🤔 Что такое Dockerfile?
Dockerfile - это текстовый файл, содержащий инструкции для создания Docker-образа. Он описывает шаги для установки зависимостей, настройки окружения и выполнения приложений, необходимых для работы контейнера.
👉 Новости 👉 База вопросов
Dockerfile - это текстовый файл, содержащий инструкции для создания Docker-образа. Он описывает шаги для установки зависимостей, настройки окружения и выполнения приложений, необходимых для работы контейнера.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😬 Premo — это библиотека, которая упрощает создание и совместное использование презентационного слоя в приложениях для Android, iOS и веба! Её основная цель — позволить разработчикам сосредоточиться на написании логики, устраняя необходимость решения повторяющихся задач, связанных с пользовательским интерфейсом.
Гитхаб
👉 Новости 👉 База вопросов
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🛞 ZoomImage — это библиотека, разработанная специально для Compose Multiplatform и Android View, обеспечивающая удобное масштабирование и просмотр изображений с использованием жестов!
Она поддерживает такие функции, как масштабирование, панорамирование, позиционирование, вращение и субдискретизацию сверхбольших изображений.
Ссылка клик
👉 Новости 👉 База вопросов
Она поддерживает такие функции, как масштабирование, панорамирование, позиционирование, вращение и субдискретизацию сверхбольших изображений.
Ссылка клик
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
#полезное
👨💻 Маст-хэв кастомные Gradle-плагины
Если вы разрабатываете несколько приложений, то наверняка уже шарите какой-то общий код, вынося его в отдельные библиотеки или модули. Но не только общие модули могут быть полезны — можно ещё переиспользовать утилитарный код с помощью Gradle-плагинов.
Знаю, что многие, мягко говоря, не любят Gradle — и на то есть причины. Однако написание собственного небольшого плагина проще, чем кажется, особенно если делать это неправильно (привет afterEvaluate ).
Вот несколько идей для плагинов, которые могут быть полезны:
1⃣ Version Catalog — очень простой плагин, который помогает удобно переиспользовать версии зависимостей между проектами.
2⃣ Code Style — обёртка над Detekt с настроенными дефолтными и кастомными правилами.
3⃣ Git Hook — запуск тестов и проверки кода при коммите, проверка сообщения коммита и прочее.
4⃣ Vault — плагин для получения секретов из защищённого хранилища при первоначальной настройке проекта.
5⃣ Publish — плагин для упрощения публикации собственных плагинов, каталога версий, Android и KMP-библиотек.
Если тема интересна — ставьте реакции, и я расскажу подробнее, как создавать такие плагины и дам рекомендации как не стоит делать.
👉 Новости 👉 База вопросов
Если вы разрабатываете несколько приложений, то наверняка уже шарите какой-то общий код, вынося его в отдельные библиотеки или модули. Но не только общие модули могут быть полезны — можно ещё переиспользовать утилитарный код с помощью Gradle-плагинов.
Знаю, что многие, мягко говоря, не любят Gradle — и на то есть причины. Однако написание собственного небольшого плагина проще, чем кажется, особенно если делать это неправильно (привет afterEvaluate ).
Вот несколько идей для плагинов, которые могут быть полезны:
Если тема интересна — ставьте реакции, и я расскажу подробнее, как создавать такие плагины и дам рекомендации как не стоит делать.
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #docker
🤔 Как создать Docker контейнер из образа?
Чтобы создать Docker контейнер, необходимо использовать команду
👉 Новости 👉 База вопросов
Чтобы создать Docker контейнер, необходимо использовать команду
docker run, указывая имя образа. Например, docker run myimage: tag создаст и запустит контейнер на основе указанного образа.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 Edge-to-edge в Android: опыт внедрения и рекомендации по тестированию
Ребята из Авито рассказывают про свой опыт внедрения edge-to-edge в мобильное приложение Avito.
Читать
👉 Новости 👉 База вопросов
Ребята из Авито рассказывают про свой опыт внедрения edge-to-edge в мобильное приложение Avito.
Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 Bonsai — это компонент для создания древовидных структур (Tree View) в Jetpack Compose!
Он обладает возможностью отслеживания состояния, что обеспечивает автоматическую перерисовку при изменениях в дереве. Компонент поддерживает неограниченную вложенность узлов, ленивую загрузку данных и включает встроенный DSL для удобного построения деревьев. Дополнительно, Bonsai предоставляет интеграцию с файловой системой и JSON-данными, позволяя создавать динамические и интерактивные интерфейсы.
Гитхаб
👉 Новости 👉 База вопросов
Он обладает возможностью отслеживания состояния, что обеспечивает автоматическую перерисовку при изменениях в дереве. Компонент поддерживает неограниченную вложенность узлов, ленивую загрузку данных и включает встроенный DSL для удобного построения деревьев. Дополнительно, Bonsai предоставляет интеграцию с файловой системой и JSON-данными, позволяя создавать динамические и интерактивные интерфейсы.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
#полезное
👍 FlexibleBottomSheet — мощный и настраиваемый компонент для работы с нижними листами (bottom sheets) в Jetpack Compose, включая мультиплатформенную поддержку!
🟠 Он позволяет использовать сегментированные размеры, настраивать модальные и немодальные типы листов, а также обеспечивает взаимодействие с элементами позади листа, как в Google Maps. Библиотека поддерживает три уровня расширения (полное, промежуточное и слегка открытое состояние), а также гибкие параметры для управления состояниями и анимацией.
Гитхаб
👉 Новости 👉 База вопросов
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
#Собес #docker
🤔 Что такое Docker Hub?
Docker Hub - это облачный сервис для хранения и распространения Docker- образов. Он предоставляет центральный репозиторий, где разработчики могут найти, загружать и делиться образами, включая как публичные, так и приватные образы.
👉 Новости 👉 База вопросов
Docker Hub - это облачный сервис для хранения и распространения Docker- образов. Он предоставляет центральный репозиторий, где разработчики могут найти, загружать и делиться образами, включая как публичные, так и приватные образы.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
📞 Наверное, только ленивый не написал о том, что Compose Multiplatform для iOS стал Stable. Но что это значит? Действительно ли все болячки пофиксили, и можно с лёгкостью портировать любое Android-приложение на iOS?
Действительно, стало гораздо проще адаптировать какой-нибудь простой Jetpack Compose-пример на iOS, буквально перенося файлы из одной папки в другую, но с реальными приложениями всё не так гладко. И вот какие проблемы я вижу на текущий момент:
🟠 Мало библиотек, которые полностью избавляют от написания платформенного кода
Во Flutter, например, есть огромное количество библиотек на любой вкус и цвет, которые покрывают все платформенные API в общем коде: работу с разрешениями, камерой, геолокацией и другими. В CMP же в большинстве случаев придётся реализовывать это нативно, что требует хотя бы минимальных знаний платформы и языка.
🟠 Отсутствуют адаптивные виджеты для платформ
Сейчас «из коробки» доступны только Material-виджеты, и, несмотря на то что у многих приложений своя дизайн-система, всё равно хотелось бы адаптировать часть виджетов под платформу. Например, Android-овский PullToRefresh выглядит максимально инородно на iOS и в целом плохо дружит с физикой скролла на iOS.
🟠 Производительность
В анонсе сказано, что производительность CMP сравнима со SwiftUI и, судя по графикам, даже превосходит его. Но это всего лишь один бенчмарк ленивого списка. Если вы начнёте сравнивать приложение на SwiftUI и CMP на каком-нибудь iPhone 13, то невооружённым глазом увидите разницу не в пользу Compose. Очевидно, что проблема кроется в Skia, от которой Flutter и отказался из-за проблем с производительностью. Будем надеяться, что в будущем команда CMP тоже предпримет какие-то шаги в этом направлении.
🚩 Подводя итог, хочется сказать: круто, что CMP уже стал стабильным и его можно использовать в проде, но это всё ещё не будет лёгкой прогулкой, и технологии есть куда расти.
👉 Новости 👉 База вопросов
Действительно, стало гораздо проще адаптировать какой-нибудь простой Jetpack Compose-пример на iOS, буквально перенося файлы из одной папки в другую, но с реальными приложениями всё не так гладко. И вот какие проблемы я вижу на текущий момент:
Во Flutter, например, есть огромное количество библиотек на любой вкус и цвет, которые покрывают все платформенные API в общем коде: работу с разрешениями, камерой, геолокацией и другими. В CMP же в большинстве случаев придётся реализовывать это нативно, что требует хотя бы минимальных знаний платформы и языка.
Сейчас «из коробки» доступны только Material-виджеты, и, несмотря на то что у многих приложений своя дизайн-система, всё равно хотелось бы адаптировать часть виджетов под платформу. Например, Android-овский PullToRefresh выглядит максимально инородно на iOS и в целом плохо дружит с физикой скролла на iOS.
В анонсе сказано, что производительность CMP сравнима со SwiftUI и, судя по графикам, даже превосходит его. Но это всего лишь один бенчмарк ленивого списка. Если вы начнёте сравнивать приложение на SwiftUI и CMP на каком-нибудь iPhone 13, то невооружённым глазом увидите разницу не в пользу Compose. Очевидно, что проблема кроется в Skia, от которой Flutter и отказался из-за проблем с производительностью. Будем надеяться, что в будущем команда CMP тоже предпримет какие-то шаги в этом направлении.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😇 MinaBox — это библиотека для Jetpack Compose, позволяющая отображать лениво загружаемые элементы в двумерной плоскости!
Она построена на основе LazyLayout и предоставляет методы для регистрации элементов и управления прокруткой. Библиотека поддерживает Android, iOS, Desktop (Windows, macOS, Linux) и WebAssembly (Wasm). Основное применение MinaBox — создание сложных интерфейсов, таких как таблицы с прокруткой в обоих направлениях или сетки с произвольным расположением элементов.
Гитхаб
👉 Новости 👉 База вопросов
Она построена на основе LazyLayout и предоставляет методы для регистрации элементов и управления прокруткой. Библиотека поддерживает Android, iOS, Desktop (Windows, macOS, Linux) и WebAssembly (Wasm). Основное применение MinaBox — создание сложных интерфейсов, таких как таблицы с прокруткой в обоих направлениях или сетки с произвольным расположением элементов.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Dockerify Android: эмулятор Android в Docker
Отличный инструмент для Android-разработчиков, который упрощает создание тестовых сред с помощью контейнеризации. Всё работает прямо в браузере через веб-интерфейс scrcpy-web — больше не нужно устанавливать дополнительное ПО.
Откройте интерфейс scrcpy-web и управляйте Android-эмулятором с любого устройства, где есть браузер. Эмулятор включает:
🟠 Root-доступ по умолчанию
🟠 Предустановленные PICO GAPPS
🟠 Зеркалирование экрана
🟠 Ускоренную производительность благодаря KVM
Мощное решение для тестирования и разработки без лишней возни.
Гитхаб
👉 Новости 👉 База вопросов
Отличный инструмент для Android-разработчиков, который упрощает создание тестовых сред с помощью контейнеризации. Всё работает прямо в браузере через веб-интерфейс scrcpy-web — больше не нужно устанавливать дополнительное ПО.
Откройте интерфейс scrcpy-web и управляйте Android-эмулятором с любого устройства, где есть браузер. Эмулятор включает:
Мощное решение для тестирования и разработки без лишней возни.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from YeaHub
На этой неделе мы побили рекорд по количеству регистраций — и это важный для нас рубеж! 🚀 Мы не останавливаемся на достигнутом и готовим крутые обновления:
- Обновленный лендинг — станет еще информативнее и удобнее;
- Публичные страницы коллекций — делитесь своими подборками с сообществом;
- Избранное для вопросов — сохраняйте самое важное в один клик;
- Горячий режим 🔥 — для дополнительной мотивации;
- Мультипрофили — удобное переключение между аккаунтами;
- Новый сервис "Полезные ресурсы" — всё необходимое для развития в одном месте.
А еще мы будем еженедельно пополнять коллекции актуальными вопросами с собеседований по всем направлениям.
И это только начало! В планах — запуск 20+ новых сервисов для развития, нетворкинга и досуга. Оставайтесь с нами — будет ещё круче! 💪
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #docker
🤔 Что такое Docker image?
Docker image - это исполнимая и легковесная упаковка, которая включает в себя все необходимые компоненты для запуска приложения, включая код, библиотеки и системные зависимости. Docker image используется для создания контейнеров.
👉 Новости 👉 База вопросов
Docker image - это исполнимая и легковесная упаковка, которая включает в себя все необходимые компоненты для запуска приложения, включая код, библиотеки и системные зависимости. Docker image используется для создания контейнеров.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 CatchUp — минималистичный агрегатор контента для Android-разработчиков. Этот необычный проект позволяет быстро просматривать свежие материалы с Hacker News, Reddit, GitHub и других платформ, не углубляясь в каждое приложение отдельно.
Инструмент не пытается заменить оригинальные клиенты, а лишь даёт беглый обзор трендов и умно перенаправляет в нужные приложения для детального изучения. В архитектуре скрывается любопытный эксперимент с Dagger-плагинами, Kotlin Coroutines и целым арсеналом отладочных инструментов.
Гитхаб
👉 Новости 👉 База вопросов
Инструмент не пытается заменить оригинальные клиенты, а лишь даёт беглый обзор трендов и умно перенаправляет в нужные приложения для детального изучения. В архитектуре скрывается любопытный эксперимент с Dagger-плагинами, Kotlin Coroutines и целым арсеналом отладочных инструментов.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
😎 FlexibleBottomSheet — мощный и настраиваемый компонент для работы с нижними листами (bottom sheets) в Jetpack Compose, включая мультиплатформенную поддержку!
Он позволяет использовать сегментированные размеры, настраивать модальные и немодальные типы листов, а также обеспечивает взаимодействие с элементами позади листа, как в Google Maps. Библиотека поддерживает три уровня расширения (полное, промежуточное и слегка открытое состояние), а также гибкие параметры для управления состояниями и анимацией.
Гитхаб
👉 Новости 👉 База вопросов
Он позволяет использовать сегментированные размеры, настраивать модальные и немодальные типы листов, а также обеспечивает взаимодействие с элементами позади листа, как в Google Maps. Библиотека поддерживает три уровня расширения (полное, промежуточное и слегка открытое состояние), а также гибкие параметры для управления состояниями и анимацией.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😵💫 kotlin-math — набор API в Kotlin, предназначенных для упрощения выполнения математических операций, связанных с графикой!
Эти API в основном моделируются по аналогии с GLSL (OpenGL Shading Language), что облегчает перенос кода в шейдеры и обратно. Предоставляемые типы данных предназначены для использования в качестве значимых типов, а большинство API представлены в виде функций верхнего уровня, а не методов.
Гитхаб
👉 Новости 👉 База вопросов
Эти API в основном моделируются по аналогии с GLSL (OpenGL Shading Language), что облегчает перенос кода в шейдеры и обратно. Предоставляемые типы данных предназначены для использования в качестве значимых типов, а большинство API представлены в виде функций верхнего уровня, а не методов.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #docker
🤔 Что такое Docker Engine?
Docker Engine - это клиент-серверная платформа для создания, запуска и управления Docker контейнерами. Он состоит из Docker демона (сервера) и интерфейса командной строки (CLI), которые взаимодействуют для управления жизненным циклом контейнеров.
👉 Новости 👉 База вопросов
Docker Engine - это клиент-серверная платформа для создания, запуска и управления Docker контейнерами. Он состоит из Docker демона (сервера) и интерфейса командной строки (CLI), которые взаимодействуют для управления жизненным циклом контейнеров.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#статьи
🤓 Используем movableContentOf для shared transition анимации в Jetpack Compose
Все достаточно просто. Как и в любой анимации мы определяем ее scope с помощью
👉 Новости 👉 База вопросов
Все достаточно просто. Как и в любой анимации мы определяем ее scope с помощью
LookaheadScope. Накидываем AnimatePlacementNodeElement и определяем список Composable элементов для перемещения через movableContentOf.Please open Telegram to view this post
VIEW IN TELEGRAM
❤1