🗓 12 августа в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Android Developer. Professional».
На открытом уроке вы научитесь писать свой собственный оператор Flow с нуля. Мы разберём, как интегрировать оператор в архитектуру приложения, а также научимся строить архитектуру для гибкости и масштабируемости.
Этот урок идеально подойдёт разработчикам уровня junior и выше, стремящимся углубить знания и научиться эффективно использовать Flow в своих проектах.
🔗 Ссылка на регистрацию: https://vk.cc/cOkUkT
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Промежуточные (intermediate) и терминальные (terminal) операции в Sequences
Sequence представляет собой последовательность элементов, которые можно обрабатывать по одному или несколько штук сразу. Обработка элементов Sequence происходит с помощью функций высшего порядка, которые называются операциями.
Операции над Sequence можно разделить на две категории: промежуточные (intermediate) и терминальные (terminal).
Промежуточные операции (intermediate) — это операции, которые возвращают новую Sequence.
Они не выполняются немедленно, а лишь формируют новую последовательность элементов на основе исходной. Промежуточные операции не приводят к запуску вычислений, а готовят данные для последующих операций. Примеры:
filter(predicate: (T) -> Boolean): фильтрует элементы по заданному условию и возвращает новую Sequence
map(transform: (T) -> R): преобразует каждый элемент в новый элемент типа R и возвращает новую Sequence
sortedBy(selector: (T) -> R?): сортирует элементы по заданному ключу и возвращает новую Sequence
Терминальные операции (terminal) — это операции, которые выполняются немедленно и возвращают результат (не Sequence).
Терминальные операции могут быть вызваны только после всех промежуточных операций, так как они завершают последовательность и начинают вычисление результатов на основе всей последовательности, полученной после выполнения всех промежуточных операций. Если же терминальная операция вызывается до выполнения всех промежуточных операций, то она не будет иметь доступа к полной последовательности и вернет неполный результат. Примеры:
toList(): преобразует Sequence в список
toSet(): преобразует Sequence в множество
count(): возвращает количество элементов в Sequence
forEach(action: (T) -> Unit): выполняет действие для каждого элемента Sequence
ВАЖНО: вычисления запускаются только при вызове терминальной функции (до этого момента никаких вычислений не производится).
Sequence представляет собой последовательность элементов, которые можно обрабатывать по одному или несколько штук сразу. Обработка элементов Sequence происходит с помощью функций высшего порядка, которые называются операциями.
Операции над Sequence можно разделить на две категории: промежуточные (intermediate) и терминальные (terminal).
Промежуточные операции (intermediate) — это операции, которые возвращают новую Sequence.
Они не выполняются немедленно, а лишь формируют новую последовательность элементов на основе исходной. Промежуточные операции не приводят к запуску вычислений, а готовят данные для последующих операций. Примеры:
filter(predicate: (T) -> Boolean): фильтрует элементы по заданному условию и возвращает новую Sequence
map(transform: (T) -> R): преобразует каждый элемент в новый элемент типа R и возвращает новую Sequence
sortedBy(selector: (T) -> R?): сортирует элементы по заданному ключу и возвращает новую Sequence
Терминальные операции (terminal) — это операции, которые выполняются немедленно и возвращают результат (не Sequence).
Терминальные операции могут быть вызваны только после всех промежуточных операций, так как они завершают последовательность и начинают вычисление результатов на основе всей последовательности, полученной после выполнения всех промежуточных операций. Если же терминальная операция вызывается до выполнения всех промежуточных операций, то она не будет иметь доступа к полной последовательности и вернет неполный результат. Примеры:
toList(): преобразует Sequence в список
toSet(): преобразует Sequence в множество
count(): возвращает количество элементов в Sequence
forEach(action: (T) -> Unit): выполняет действие для каждого элемента Sequence
ВАЖНО: вычисления запускаются только при вызове терминальной функции (до этого момента никаких вычислений не производится).
1
🚙 Как Flutter работает в автомобильной электронике и IoT-устройствах?
➡️ Присоединяйтесь к открытому вебинару «Flutter в Automotive & Embedded: создаём приложение для автомобиля» 12 августа в 20:00 МСК. На уроке разберем:
— Создание Yocto-сборок с Flutter для embedded Linux и ARM.
— Запуск Flutter без X11, прямо в framebuffer, для минимальных ресурсов.
— Разработку multi-display интерфейсов для автомобилей: кластер, HUD, мультимедиа.
— Интеграцию с CAN-шиной для работы с реальными данными автомобиля.
❗️ Этот урок — отличный тест-драйв курса «Flutter Mobile Developer» от OTUS.
🔴 Записаться на вебинар → https://vk.cc/cOu6GL
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
➡️ Присоединяйтесь к открытому вебинару «Flutter в Automotive & Embedded: создаём приложение для автомобиля» 12 августа в 20:00 МСК. На уроке разберем:
— Создание Yocto-сборок с Flutter для embedded Linux и ARM.
— Запуск Flutter без X11, прямо в framebuffer, для минимальных ресурсов.
— Разработку multi-display интерфейсов для автомобилей: кластер, HUD, мультимедиа.
— Интеграцию с CAN-шиной для работы с реальными данными автомобиля.
❗️ Этот урок — отличный тест-драйв курса «Flutter Mobile Developer» от OTUS.
🔴 Записаться на вебинар → https://vk.cc/cOu6GL
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
1
Она использует
fluent API
, что упрощает построение простых и безопасных тестов с помощью Kotlin-расширений.Arrow, Jackson, MockK и Spring
, что делает её гибким инструментом для тестирования различных типов данных и компонентов@KotlinSenior #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Приглашаем на открытый урок.
🗓 19 августа в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Kotlin Backend Developer. Professional».
На вебинаре мы рассмотрим:
- изменения в enum
- data objects и data class
- JvmDefault
- компилятор K2
- guard conditions
- break and continue в лямбдах
- multi-dollar string interpolation
- context parameters
- context-sensitive resolution
- @ all
🔗 Ссылка на регистрацию: https://vk.cc/cOvCHG
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
1
@KotlinSenior #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🦾 Ответишь — пройдешь на продвинутый курс "Android Developer. Professional " от OTUS.
За 5 месяцев обучения ты освоишь:
👉 ПРОЙТИ ТЕСТ: https://vk.cc/cOzhtp
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
1
@KotlinSenior #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Курс «Kotlin Backend Developer. Professional» — всё, что нужно для создания гибких и производительных приложений.
Что вы освоите:
Почему выбирают нас?
🎫 Курс можно приобрести в рассрочку
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
1
@KotlinSenior #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
1
20 августа(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
1
This media is not supported in your browser
VIEW IN TELEGRAM
@KotlinSenior #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Media is too big
VIEW IN TELEGRAM
Есть вариант на 27 августа — DrinkUp от Авито для backend-разработчиков в Нижнем Новгороде ☄️
Встречаемся в 19:00 в DKRT space, чтобы в формате дискуссий обсудить:
➡️ как правильно структурировать проекты;
➡️ кому и как проще вкатиться в Go и почему он такой странный;
➡️ как LLM помогает разработчикам.
Остальные темы раскрывать не будем — можете посмотреть их по ссылке! Там же, кстати, и регистрация на ивент.
Встречаемся в 19:00 в DKRT space, чтобы в формате дискуссий обсудить:
Остальные темы раскрывать не будем — можете посмотреть их по ссылке! Там же, кстати, и регистрация на ивент.
Please open Telegram to view this post
VIEW IN TELEGRAM
1
@KotlinSenior #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Онлайн-курс «Android Developer. Professional» от OTUS поможет вам освоить самые современные инструменты и фреймворки, такие как Kotlin, Dagger, RxJava и Kotlin coroutines, а также научит проектировать архитектуру приложения и оптимизировать код.
🦾 После обучения вы сможете разбираться в Android SDK, устранять баги, ускорять приложения, проектировать надежную архитектуру и работать с CI/CD.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
1
@KotlinSenior #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🚨 Хотите знать про backend разработку больше, чем ваши коллеги? Глубоко анализировать архитектуру и предвидеть узкие места? Больше не стрессовать на system design собеседованиях?
👨🏻🎓 Меня зовут Андрей Суховицкий. Я разработчик c десятилетним опытом, tech lead, разрабатываю высоконагруженные системы. В 2021 и 2024 годах получил премию, как лучший преподаватель университета ИТМО.
🔥 На своем канале я пишу только о том, что кажется мне интересным, описываю случаи из практики. Темы, которые мне близки: java, kotlin, coroutines, многопоточное программирование, system design, реализация высоконагруженных и надежных систем. Я сам пишу все посты в моем телеграм канале, даже этот не исключение.
🧠 Мои посты затрагивают непростые темы и не всегда написаны простыми словами. Будем говорить с вами, как с профессионалами, тянуть вверх, расширять видение, заставлять задумываться и глубже анализировать пространство решений, делать небольшое усилие над собой, чтобы учиться.
💎 Присоединяйтесь к каналу, если готовы выйти на новый уровень.
👨🏻🎓 Меня зовут Андрей Суховицкий. Я разработчик c десятилетним опытом, tech lead, разрабатываю высоконагруженные системы. В 2021 и 2024 годах получил премию, как лучший преподаватель университета ИТМО.
🔥 На своем канале я пишу только о том, что кажется мне интересным, описываю случаи из практики. Темы, которые мне близки: java, kotlin, coroutines, многопоточное программирование, system design, реализация высоконагруженных и надежных систем. Я сам пишу все посты в моем телеграм канале, даже этот не исключение.
🧠 Мои посты затрагивают непростые темы и не всегда написаны простыми словами. Будем говорить с вами, как с профессионалами, тянуть вверх, расширять видение, заставлять задумываться и глубже анализировать пространство решений, делать небольшое усилие над собой, чтобы учиться.
💎 Присоединяйтесь к каналу, если готовы выйти на новый уровень.
1
Ok
) и ошибку (Err
), избегая исключений и null-значений. Проект имеет zero-overhead реализацию через inline-классы и поддержку корутин. Подходит для проектов, где важна предсказуемость и читаемость кода обработки ошибок.
@KotlinSenior #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
1
«Я опять убил полдня не на код, а на эту возню с Кубом!»
Опять ждёшь DevOps, чтобы поправить одну строчку в манифесте?
Задолбало, что инфраструктура — вечный блокер твоих задач?
Если хочешь сам, без мам, пап и DevOps:
👉 Поднимать локалку для тестов за 5 минут, а не ждать неделю.
👉 Дебажить сервисы прямо в K8s, а не гадать по логам.
👉 Уверенно править манифесты, понимая, что и зачем ты делаешь.
➡️ Тогда тебе на курс «Kubernetes для разработчиков»
Научим всем нужным фишкам, чтобы ты сам рулил деплоямии наконец-то сосредоточился на коде, а не согласовывал каждый «чих» в инфре.
Старт уже 8 сентября.
Записывайся по ссылке — места не бесконечны 😉
#реклама
О рекламодателе
Опять ждёшь DevOps, чтобы поправить одну строчку в манифесте?
Задолбало, что инфраструктура — вечный блокер твоих задач?
Если хочешь сам, без мам, пап и DevOps:
👉 Поднимать локалку для тестов за 5 минут, а не ждать неделю.
👉 Дебажить сервисы прямо в K8s, а не гадать по логам.
👉 Уверенно править манифесты, понимая, что и зачем ты делаешь.
➡️ Тогда тебе на курс «Kubernetes для разработчиков»
Научим всем нужным фишкам, чтобы ты сам рулил деплоямии наконец-то сосредоточился на коде, а не согласовывал каждый «чих» в инфре.
Старт уже 8 сентября.
Записывайся по ссылке — места не бесконечны 😉
#реклама
О рекламодателе
1
@KotlinSenior #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Лучший способ вырасти — это персональный план развития от Senior-инженера из БигТеха.
Вот как все работает:
Мы хотим, чтобы у каждого была возможность проверить в деле наш сервис, а потом уже доверить нам свое развитие.
Мы в ШОРТКАТе провели уже почти 1000 таких мок-интервью и получили оценку 4.9 из 5, поэтому знаем о чем говорим.
Переходи в нашего бота и забирай свой мок за 900 рублей → @shortcut_sh_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
1