Как собрать и внедрить высоконагруженный модуль [RU]
https://habr.com/ru/companies/zvuk/articles/864166
Опыт внедрения от iOS разработчика
👉 Принятие решения о внедрении такого модуля;
👉 Рефакторинг и требования;
👉 Реализация и используемые инструменты;
👉 Какие могут быть проблемы;
📍 Бу! Испугался? Не стоит бояться многомодульной архитектуры )
Подписаться | Закрытый клуб MD
https://habr.com/ru/companies/zvuk/articles/864166
Опыт внедрения от iOS разработчика
👉 Принятие решения о внедрении такого модуля;
👉 Рефакторинг и требования;
👉 Реализация и используемые инструменты;
👉 Какие могут быть проблемы;
Подписаться | Закрытый клуб MD
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Как собрать и внедрить высоконагруженный модуль. Опыт Звука
Привет, Хабр! На связи Ринат Кутуев , iOS-разработчик в платформенной команде HiFi-стриминга Звук . В iOS-разработке уже 5 лет. Успел заложить архитектуру для 3 высоконагруженных приложений, которые...
#update
Очень много изменений в Media3 1.6.0-alpha01
Всех изменений не перечислить, лучше посмотреть лично каждому, но вот парочка:
🟡 Удален метод Format.toBundle(boolean excludeMetadata) , вместо этого теперь Format.toBundle();
🟡 Добавлены AudioManagerCompat и AudioFocusRequestCompat , чтобы заменить эквивалентные классы в androidx.media;
🟡 Также есть изменения в ExoPlayer, Transformer, Extractors, Audio, Video, Text, Effect, Muxers, Session, UI, HLS Extension, DASH Extension, Decoder Extensions;
♻️ Если используете Media3 - рекомендую посмотреть )
Подписаться | Закрытый клуб MD
Очень много изменений в Media3 1.6.0-alpha01
Всех изменений не перечислить, лучше посмотреть лично каждому, но вот парочка:
🟡 Удален метод Format.toBundle(boolean excludeMetadata) , вместо этого теперь Format.toBundle();
🟡 Добавлены AudioManagerCompat и AudioFocusRequestCompat , чтобы заменить эквивалентные классы в androidx.media;
🟡 Также есть изменения в ExoPlayer, Transformer, Extractors, Audio, Video, Text, Effect, Muxers, Session, UI, HLS Extension, DASH Extension, Decoder Extensions;
♻️ Если используете Media3 - рекомендую посмотреть )
Подписаться | Закрытый клуб MD
Android Developers
Media3 | Jetpack | Android Developers
Dagger 2: как сделать свой DI за 10 минут [RU]
https://habr.com/ru/companies/ozontech/articles/866452
Эта статья будет полезна тем, кто использует Dagger 2 в своих приложениях и иногда/часто попадает в ситуации непонимания, почему Dagger 2 ведёт себя не так, как мы ожидаем.
P.S. Внутри есть похожая статья про Koin.
👉 Кратко о Dagger 2 и Dependency Injection;
👉 Inject в public-поля;
👉 Подмена зависимостей;
👉 Возможность создать синглтон;
👉 и многое другое по Dagger2;
📍 Рекомендовано к ознакомлению, даже двух статей. Закрывайте пробелы в знаниях по Dagger и Koin. Отправь товарищу, чтобы он тоже не был хлебушком)
Подписаться | Закрытый клуб MD
https://habr.com/ru/companies/ozontech/articles/866452
Эта статья будет полезна тем, кто использует Dagger 2 в своих приложениях и иногда/часто попадает в ситуации непонимания, почему Dagger 2 ведёт себя не так, как мы ожидаем.
P.S. Внутри есть похожая статья про Koin.
👉 Кратко о Dagger 2 и Dependency Injection;
👉 Inject в public-поля;
👉 Подмена зависимостей;
👉 Возможность создать синглтон;
👉 и многое другое по Dagger2;
Подписаться | Закрытый клуб MD
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Dagger 2: как сделать свой DI за 10 минут
Вступление Привет, меня зовут Иван Курак, я Android-разработчик приложения Ozon Job. Если в первой статье мы разбирали фреймворк Koin, то во второй на наш исследовательский стол попадёт Dagger,...
#update
Обновился Koin 4.0.1
Изменений и фиксов опять много, поэтому вот некоторые:
🟪 Поддержка бета-версии CodeQL для Kotlin;
🟪 Исправлены ошибки в использовании коллекции;
🟪 Оптимизированно распределение областей видимости в Compose;
🟪 Исправлена ссылка koin-core-viewmodel-navigation ;
♻️ Для всех, кто использует Koin, рекомендую глянуть, т.к. привел не весь список, а в новой версии еще есть изменения. Может быть там есть то, что вы давно ждали)
Подписаться | Закрытый клуб MD
Обновился Koin 4.0.1
Изменений и фиксов опять много, поэтому вот некоторые:
🟪 Поддержка бета-версии CodeQL для Kotlin;
🟪 Исправлены ошибки в использовании коллекции;
🟪 Оптимизированно распределение областей видимости в Compose;
🟪 Исправлена ссылка koin-core-viewmodel-navigation ;
♻️ Для всех, кто использует Koin, рекомендую глянуть, т.к. привел не весь список, а в новой версии еще есть изменения. Может быть там есть то, что вы давно ждали)
Подписаться | Закрытый клуб MD
GitHub
Release 4.0.1 · InsertKoinIO/koin
What's Changed
update KoinExtension.kt by @JunJaBoy in #1913
Fix KoinApplication to create the right Global context by @arnaudgiuliani in #2035
[Documentation] Versions table fix by @Grzegorz...
update KoinExtension.kt by @JunJaBoy in #1913
Fix KoinApplication to create the right Global context by @arnaudgiuliani in #2035
[Documentation] Versions table fix by @Grzegorz...
Собственный Segmented Control на SwiftUI. Часть 1. Смешиваем цвета [RU]
https://habr.com/ru/companies/dododev/articles/867086
Как сделать Segmented Control в приложении на iOS красивым - подробная инструкция от одной из самой интересной компании в плане UI.
👉 Постановка задачи и описание хода действий;
👉 Подробная инструкция с кодом;
📍 Делай свой UI красивым - радуй глаз пользователя)
Подписаться | Закрытый клуб MD
https://habr.com/ru/companies/dododev/articles/867086
Как сделать Segmented Control в приложении на iOS красивым - подробная инструкция от одной из самой интересной компании в плане UI.
👉 Постановка задачи и описание хода действий;
👉 Подробная инструкция с кодом;
Подписаться | Закрытый клуб MD
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Собственный Segmented Control на SwiftUI. Часть 1. Смешиваем цвета
Введение У каждого iOS-разработчика рано или поздно появляется мысль: «А как же SwiftUI? Надо бы уже переходить на него — за ним будущее». Мы в Додо давно приняли эту мысль и постепенно встраиваем...
VK поделилась исходным кодом своих разработок
https://habr.com/ru/news/869238/
На сайте OpenVK сейчас доступны платформа Tarantool для создания высоконагруженных приложений, система визуализации данных для мониторинга StatsHouse, дизайн-система VKUI для создания интерфейсов и другие проекты. Количество проектов будет расширяться
https://habr.com/ru/news/869238/
На сайте OpenVK сейчас доступны платформа Tarantool для создания высоконагруженных приложений, система визуализации данных для мониторинга StatsHouse, дизайн-система VKUI для создания интерфейсов и другие проекты. Количество проектов будет расширяться
Forwarded from Алексей Гладков
Новогодняя предпродажа Modern Android Warrior
После того как я закрыл препродажу курса, очень много людей просили потом открыть ее снова, поэтому я решил, что начиная с сегодня и до вечера 7 января (рождество), я снова открываю предпродажу курса, по цене, ниже итоговой для всех
Сейчас можно оформить предпродажу курса по 60 тысяч рублей
Для участников моего сообщества цена будет 55 тысяч рублей
👉 Что за курс?
Я делаю микс теории и практики по Android для повышения квалификации. Так как первые части уже выложены, то я уже получил фидбэк от людей, что они уже шокируют людей на собеседованиях и резко повышают свой уровень
👉 Зачем мне предпродажа?
Да, в целом, у предпродажи два плюса. Первый - более низкая цена по сравнению с релизной, второй - вы видите материал по мере его выхода и можете влиять на контент
👉 Как узнать более подробно из чего он состоит?
Все есть по ссылке, там максимально подробно описан каждая глава и их внутренние блоки, но вообще это смесь из лекции, практики (livecoding), исходных кодов и тестов, которые направлены на повышение вашей квалификации
Так что, если вы хотели как-то порадовать себя на новый год или рождество, то можете порадовать себя профессиональным ростом и повышением квалификации в следующем году. Так как синьоры - это на данный момент единственные люди, которых не увольняют и которые достаточно легко находят себе работу
Оформить препродажу Modern Android Warrior
P.S. На данный момент полностью выложена первая глава, частично вторая и готова еще одна. Полный финал курса произойдет в конце января - начале февраля
После того как я закрыл препродажу курса, очень много людей просили потом открыть ее снова, поэтому я решил, что начиная с сегодня и до вечера 7 января (рождество), я снова открываю предпродажу курса, по цене, ниже итоговой для всех
Сейчас можно оформить предпродажу курса по 60 тысяч рублей
Для участников моего сообщества цена будет 55 тысяч рублей
👉 Что за курс?
Я делаю микс теории и практики по Android для повышения квалификации. Так как первые части уже выложены, то я уже получил фидбэк от людей, что они уже шокируют людей на собеседованиях и резко повышают свой уровень
👉 Зачем мне предпродажа?
Да, в целом, у предпродажи два плюса. Первый - более низкая цена по сравнению с релизной, второй - вы видите материал по мере его выхода и можете влиять на контент
👉 Как узнать более подробно из чего он состоит?
Все есть по ссылке, там максимально подробно описан каждая глава и их внутренние блоки, но вообще это смесь из лекции, практики (livecoding), исходных кодов и тестов, которые направлены на повышение вашей квалификации
Так что, если вы хотели как-то порадовать себя на новый год или рождество, то можете порадовать себя профессиональным ростом и повышением квалификации в следующем году. Так как синьоры - это на данный момент единственные люди, которых не увольняют и которые достаточно легко находят себе работу
Оформить препродажу Modern Android Warrior
P.S. На данный момент полностью выложена первая глава, частично вторая и готова еще одна. Полный финал курса произойдет в конце января - начале февраля
Новогодний розыгрыш Mobile Developer и издательства «Питер» 🎉
Вместе с издательством «Питер», признанным лидером в области компьютерной литературы, разыгрываем бумажную книгу «System Design: Подготовка к сложному интервью» 📖
System Design интервью часто встречается в вакансиях на синьоров и техлидов. Это проверка системных знаний о работе айти систем, что выходит за область знаний отдельно взятой платформенной разработки. Подготовиться заранее к ней поможет книга Алекса Сюй «System Design»
Для участия нужно:
1️⃣ Подписаться на Грокаем книги или TL;DR — канал издательства «Питер» с новинками литературы для айтишников
2️⃣ Подписаться на Mobile Developer — канал Алексея Гладкова про разработку мобильных приложений
3️⃣ Нажать на кнопку «Участвую»
Итоги розыгрыша подведем 25.01.2025 в 20:00 по Мск
Вместе с издательством «Питер», признанным лидером в области компьютерной литературы, разыгрываем бумажную книгу «System Design: Подготовка к сложному интервью» 📖
System Design интервью часто встречается в вакансиях на синьоров и техлидов. Это проверка системных знаний о работе айти систем, что выходит за область знаний отдельно взятой платформенной разработки. Подготовиться заранее к ней поможет книга Алекса Сюй «System Design»
Для участия нужно:
1️⃣ Подписаться на Грокаем книги или TL;DR — канал издательства «Питер» с новинками литературы для айтишников
2️⃣ Подписаться на Mobile Developer — канал Алексея Гладкова про разработку мобильных приложений
3️⃣ Нажать на кнопку «Участвую»
Итоги розыгрыша подведем 25.01.2025 в 20:00 по Мск
Google Sign in — Kotlin / JS [EN]
https://medium.com/@tomislavmladenov1/google-sign-in-kotlin-js-f87a542e6090
Практический пример как сделать авторизацию через Google в KMP проекте.
👉 Какие есть проблемы;
👉 Решение задачи с приведением кода;
📍 Небольшая статья, но какая важная, ведь почти все приложения начинаются с авторизации)
Подписаться | Закрытый клуб MD
https://medium.com/@tomislavmladenov1/google-sign-in-kotlin-js-f87a542e6090
Практический пример как сделать авторизацию через Google в KMP проекте.
👉 Какие есть проблемы;
👉 Решение задачи с приведением кода;
Подписаться | Закрытый клуб MD
Please open Telegram to view this post
VIEW IN TELEGRAM
Medium
Google Sign in — Kotlin / JS
Google Sign in is reliable, popular, and seemingly everywhere. So, when I had to implement it for a Kotlin Multiplatform (KMP) project…
Как спроектировать мобильное приложение маркетплейса за 7 шагов [RU]
https://habr.com/ru/companies/exolve/articles/867332
В этом материале рассмотренны основные шаги для запуска мобильного приложения своего маркетплейса.
👉 Выбор подхода для разработки;
👉 Выбор технологий;
👉 Моделирование данных;
👉 Панель администратора;
👉 Проектирование пользовательского интерфейса;
👉 Разработка фронтенда;
👉 Тестирование мобильного приложения;
📍 Чтобы знать как сделать свой маркетплейс даже для своего маленького хлебобулочного заводика)
Подписаться | Закрытый клуб MD
https://habr.com/ru/companies/exolve/articles/867332
В этом материале рассмотренны основные шаги для запуска мобильного приложения своего маркетплейса.
👉 Выбор подхода для разработки;
👉 Выбор технологий;
👉 Моделирование данных;
👉 Панель администратора;
👉 Проектирование пользовательского интерфейса;
👉 Разработка фронтенда;
👉 Тестирование мобильного приложения;
Подписаться | Закрытый клуб MD
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Как спроектировать мобильное приложение маркетплейса за 7 шагов
Маркетплейсы занимают ключевую роль в цифровой экономике: на площадках проще покупать и продавать. На Wildberries и Ozon пришлось 78% всех заказов в российской электронной торговле за второе...
Как неизменяемые списки защищают ваше Android приложение от сбоев [EN]
https://shape.dk/news-and-knowledge/immutable-lists
Для тех, кто еще не понял почему очень сильно рекомендуется работать с Immutable Lists или даже Value.
👉 В чем может быть проблема;
👉 Решения этих проблем на примерах;
📍 Скинь другу, который еще пишет не потокобезопасно)
Подписаться | Закрытый клуб MD
https://shape.dk/news-and-knowledge/immutable-lists
Для тех, кто еще не понял почему очень сильно рекомендуется работать с Immutable Lists или даже Value.
👉 В чем может быть проблема;
👉 Решения этих проблем на примерах;
Подписаться | Закрытый клуб MD
Please open Telegram to view this post
VIEW IN TELEGRAM
shape.dk
Immutable lists and how they protect your Android app from crashing
Developing Android apps is a fun and challenging process, however, it can be equally as frustrating when facing obscure bugs crashing your app.
#update
Обвновление Koin 4.1.0-Beta3
Что изменилось:
🟪 Исправлены опечатки и ошибки;
🟪 KoinApplication Multiplatform конфиг — автоматическое внедрение журнала + контекст Android;
♻️ Все же Koin - KMP Ready)
Подписаться | Закрытый клуб MD
Обвновление Koin 4.1.0-Beta3
Что изменилось:
🟪 Исправлены опечатки и ошибки;
🟪 KoinApplication Multiplatform конфиг — автоматическое внедрение журнала + контекст Android;
♻️ Все же Koin - KMP Ready)
Подписаться | Закрытый клуб MD
GitHub
Release 4.1.0-Beta3 · InsertKoinIO/koin
What's Changed
Ktor requestscope function dsl by @arnaudgiuliani in #2075
fix typo by @matsuyoshi30 in #2068
Fix parameters stability inject by @arnaudgiuliani in #2081
Scope declared instance...
Ktor requestscope function dsl by @arnaudgiuliani in #2075
fix typo by @matsuyoshi30 in #2068
Fix parameters stability inject by @arnaudgiuliani in #2081
Scope declared instance...
Создание Custom Layout в Jetpack Compose [RU]
https://habr.com/ru/articles/867822
Как создавать Custom Layout в Jetpack Compose, а также решить одну связанную с данной темой практическую задачку.
👉 Как создать свой собственный Layout;
👉 Решаем интересную задачу, связанную с Custom Layout;
👉 Небольшой секретик;
📍 Повышай свой уровень владения Jetpack Compose - а мы поможем)
Подписаться | Закрытый клуб MD
https://habr.com/ru/articles/867822
Как создавать Custom Layout в Jetpack Compose, а также решить одну связанную с данной темой практическую задачку.
👉 Как создать свой собственный Layout;
👉 Решаем интересную задачу, связанную с Custom Layout;
👉 Небольшой секретик;
Подписаться | Закрытый клуб MD
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Создание Custom Layout в Jetpack Compose
Привет, Хабр! Меня зовут Артем и я автор и ведущий YouTube канала Android Insights Сегодня я расскажу о том, как создавать Custom Layout в Jetpack Compose, а также мы решим одну связанную с...
Huawei и Android - всё ?! 😱
Huawei официально объявила дату полного перехода на HarmonyOS NEXT. Компания больше не будет выпускать устройства на базе Android после 10 февраля. До этого момента возможны релизы на базе Android 12, но затем последуют только продукты на HarmonyOS.
В феврале Huawei планирует представить две новые линейки смартфонов на базе HarmonyOS NEXT: бюджетную серию Huawei Enjoy 80 с чипсетом Kirin 7000 и флагманскую флип-раскладушку Huawei Pocket 3, которая, вероятно, будет оснащена топовым чипсетом Kirin 9020.
Информация от известного блогера по Huawei - myplace_myworld.
Отдельное спасибо нашему участнику сообщества - @PhenHuawei
Подписаться | Закрытый клуб MD
Huawei официально объявила дату полного перехода на HarmonyOS NEXT. Компания больше не будет выпускать устройства на базе Android после 10 февраля. До этого момента возможны релизы на базе Android 12, но затем последуют только продукты на HarmonyOS.
В феврале Huawei планирует представить две новые линейки смартфонов на базе HarmonyOS NEXT: бюджетную серию Huawei Enjoy 80 с чипсетом Kirin 7000 и флагманскую флип-раскладушку Huawei Pocket 3, которая, вероятно, будет оснащена топовым чипсетом Kirin 9020.
Информация от известного блогера по Huawei - myplace_myworld.
Отдельное спасибо нашему участнику сообщества - @PhenHuawei
Подписаться | Закрытый клуб MD
Debugging Kotlin Coroutines [EN]
https://tomsabel.com/debugging-kotlin-coroutines-making-optimised-out-variables-visible-de1cecc0d59e
Разбираемся в одной из распространённых разочарований, с которым сталкиваются разработчики, — это появление пугающего сообщения «optimised out» при проверке переменных во время приостановленной корутины.
👉 Почему переменные “Оптимизируются” в сопрограммах;
👉 Как сделать видимыми “Оптимизированные” переменные;
👉 Как это работает
📍 Помогаем тебе повышать свою экспертизу, а ты помоги товарищу - перекинь ему)
Подписаться | Закрытый клуб MD
https://tomsabel.com/debugging-kotlin-coroutines-making-optimised-out-variables-visible-de1cecc0d59e
Разбираемся в одной из распространённых разочарований, с которым сталкиваются разработчики, — это появление пугающего сообщения «optimised out» при проверке переменных во время приостановленной корутины.
👉 Почему переменные “Оптимизируются” в сопрограммах;
👉 Как сделать видимыми “Оптимизированные” переменные;
👉 Как это работает
Подписаться | Закрытый клуб MD
Please open Telegram to view this post
VIEW IN TELEGRAM
Medium
Debugging Kotlin Coroutines: Making “Optimised Out” Variables Visible
Debugging Kotlin coroutines can sometimes feel like untangling a web of invisible threads — literally. One common frustration developers…
Kotlin Multiplatform GitHub Actions Automated Pull Request Labels [EN]
https://akjaw.com/kotlin-multiplatform-gha-automated-labels
Наличие автоматизированных меток делает процесс проверки кода намного безопаснее, предотвращая слияние неработающих запросов на вытягивание и гарантируя стабильность основной ветки
👉 KMP CI;
👉 КMP Labeler v5;
👉 Как это работает на примере PR;
📍 Сделай разработку на KMP безопасной для проекта )
Подписаться | Закрытый клуб MD
https://akjaw.com/kotlin-multiplatform-gha-automated-labels
Наличие автоматизированных меток делает процесс проверки кода намного безопаснее, предотвращая слияние неработающих запросов на вытягивание и гарантируя стабильность основной ветки
👉 KMP CI;
👉 КMP Labeler v5;
👉 Как это работает на примере PR;
Подписаться | Закрытый клуб MD
Please open Telegram to view this post
VIEW IN TELEGRAM
AKJAW
Kotlin Multiplatform GitHub Actions Automated Pull Request Labels
Having automated labels makes the Code Review process much safer by preventing merges for broken Pull Requests, ensuring that the main branch is stable
Советы: как правильно зарелизиться в сторе [RU]
https://habr.com/ru/articles/870554
С приходом санкций релиз в сторах превратился в творческую работу. Теперь это не просто загрузка кода, а сложный квест, требующий изобретательности, терпения и времени. В этой статье рассказывается, какие шаги помогают обойти ограничения и успешно разместить приложение в Play Market, App Store и других площадках.
👉 Причем тут обфускация;
👉 Выпуск камуфляжных приложений;
👉 Скремблирование;
👉 Шифрование строк;
👉 Сборка приложения;
👉 Изменение структуры проекта;
📍 Под конец года - легкое чтиво. С наступающим Новым годом!🎄 )
Подписаться | Закрытый клуб MD
https://habr.com/ru/articles/870554
С приходом санкций релиз в сторах превратился в творческую работу. Теперь это не просто загрузка кода, а сложный квест, требующий изобретательности, терпения и времени. В этой статье рассказывается, какие шаги помогают обойти ограничения и успешно разместить приложение в Play Market, App Store и других площадках.
👉 Причем тут обфускация;
👉 Выпуск камуфляжных приложений;
👉 Скремблирование;
👉 Шифрование строк;
👉 Сборка приложения;
👉 Изменение структуры проекта;
Подписаться | Закрытый клуб MD
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Полезные советы от Joy Dev: как правильно зарелизиться в сторе
С приходом санкций релиз в сторах превратился в творческую работу. Теперь это не просто загрузка кода, а сложный квест, требующий изобретательности, терпения и времени. В этой статье мы расскажем,...