Kotlin Developer @kotlinsenior Channel on Telegram

Kotlin Developer

@kotlinsenior


Самый топовый канал по Kotlin

По вопросам сотрудничества и рекламы: @NadikaKir

Мы на бирже: https://telega.in/c/KotlinSenior

Kotlin Developer (Russian)

Добро пожаловать на канал "Kotlin Developer"! Если вы увлечены языком программирования Kotlin или хотите узнать больше о нем, то вы попали по адресу. Наш канал @kotlinsenior - самый топовый канал по Kotlin, где вы найдете много полезной информации, советов и новостей из мира разработки на Kotlin

Мы постоянно обновляем контент и делимся самыми актуальными материалами, чтобы помочь вам стать опытным Kotlin разработчиком. Наша цель - создать сообщество профессионалов, которые разделяют свои знания и опыт, чтобы сделать мир программирования на Kotlin более доступным и интересным

Для вопросов о сотрудничестве и рекламе, обращайтесь к @NadikaKir. Мы также присутствуем на бирже, где вы можете найти нас по ссылке: [https://telega.in/c/KotlinSenior](https://telega.in/c/KotlinSenior)nnПрисоединяйтесь к нам прямо сейчас, чтобы быть в курсе всех новостей и событий в мире Kotlin разработки!

Kotlin Developer

22 Jan, 08:05


⁉️ Знаешь, куда движется мир бэкенда?

В 2024-м экосистема Kotlin взлетела на новый уровень. Что дальше? Какие тренды взорвут 2025? Какие технологии войдут в топ, а какие окажутся в аутсайдерах?

⚡️ Узнай всё на открытом вебинаре «Тенденции бэкенд-разработки в экосистеме Kotlin». Мы подведем итоги прошлого года, разберем ключевые тренды и поможем тебе подготовиться к новым вызовам.

🎙 Спикер Сергей Окатов — кандидат физико-математических наук и архитектор в Solar Security.

🗓 Регистрируйся на вебинар 30 января в 19:00 мск.
Участники получат скидку на большое обучение «Kotlin Backend Developer. Professional».

➡️Регистрация открыта: https://vk.cc/cHu0Er

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Kotlin Developer

21 Jan, 16:25


Kotlin Multiplatform в ОС Аврора

В данной статье описана работа ОС Аврора с технологией Kotlin Multiplatform. Рассматривается метод подключения модуля Kotlin Multiplatform к приложению на Qt/QML. Для демонстрации было портировано уже существующие демо приложение "KMM RSS Reader". Проведены тесты производительности.

Читать статью

Kotlin Developer

21 Jan, 12:06


👩‍💻 Хотите научиться создавать Android-приложения с нуля? Начните с простой и полезной задачи — приложения для заметок!

На открытом уроке 27 января 2025 в 20:00 вы освоите:

— Создание списков через RecyclerView.
— Работу с базой данных Room.
— Использование Flow для обновления данных.

Это отличный шанс погрузиться в мир Android и сделать первый шаг к карьере разработчика. К тому же, все участники вебинара получат скидку на обучение на курсе «Android Developer»!

➡️ Регистрируйтесь прямо сейчас и начните свой путь в Android-разработке: https://vk.cc/cHuMZK

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Kotlin Developer

20 Jan, 08:17


Kotlin: взгляд изнутри — преимущества, недостатки и особенности

Всем привет! На связи Сергей Керенцев, Android-разработчик Студии Олега Чулакова на проектах Сбера.

В данной статье мы углубимся в мир Kotlin, рассмотрим его основные преимущества, недостатки и особенности. Мы обойдем такие важные аспекты, как безопасность работы с null-значениями, гибкость типизации с помощью Generics, возможности расширения функциональности с помощью extension-функций, inline-функции, а также многое другое.

Давайте начнем наше увлекательное путешествие в мир Kotlin и раскроем его потенциал!

Читать статью

Kotlin Developer

17 Jan, 10:03


🔥 Kotlin: ключ к современным backend-решениям!

Курс «Kotlin Backend Developer. Professional» — всё, что нужно для создания гибких и производительных приложений.

Что вы освоите:

✔️ Работу с Kotlin Multiplatform для JS, JVM, Android, iOS.
✔️ Spring, Ktor, RabbitMQ, Kafka, Postgres.
✔️ Создание архитектуры: монолиты, микросервисы и бессерверные решения.
✔️ Реальные кейсы: разработка стартапа с нуля.

Почему выбирают нас?

✔️ Живые лекции от экспертов топовых компаний.
✔️ Диплом OTUS, который признают крупные работодатели.
✔️ Практика, которая готовит к сложным проектам.

Не упустите шанс!

➡️ Пройдите тестирование и получите скидку: https://vk.cc/cHnNvk

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Kotlin Developer

17 Jan, 06:03


Промежуточные (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

ВАЖНО: вычисления запускаются только при вызове терминальной функции (до этого момента никаких вычислений не производится).

Kotlin Developer

14 Jan, 10:04


👩‍💻 Хотите освоить одну из самых популярных профессий в IT? Android-разработка ждёт вас!

На открытом уроке «Основные компоненты приложения Android» вы:

💛 Узнаете, как приложения взаимодействуют с системой и друг с другом.
💛Разберётесь в основных компонентах Android-приложений.
💛 Погрузитесь в архитектуру Android, чтобы закладывать прочный фундамент знаний.

Мечтаете создавать востребованные приложения? Начните путь Android-разработчика с нами — структурировано, понятно и с поддержкой экспертов.

Регистрируйтесь на бесплатный вебинар 15 января в 20:00 мск: https://vk.cc/cHh7lS
После урока вы сможете записаться на курс «Android Developer» со скидкой.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Kotlin Developer

14 Jan, 08:20


Все, что вам нужно знать о Kotlin Multiplatform

Kotlin Multiplatform — это набор для разработки программного обеспечения, который значительно лучше других вариантов разработки кроссплатформенных приложений. В этом руководстве по Kotlin multiplatform вы подробно узнаете все об этом наборе.

Читать статью

Kotlin Developer

14 Jan, 06:32


🔥Что делать, если система не справляется с нагрузкой? Узнайте, как эффективно справляться с нагрузками и обеспечивать бесперебойную работу ваших приложений!

🔥23 января в 20.00 мск. приглашаем на открытый вебинар в OTUS, где мы  обсудим подходы для решения проблем, связанных с производительностью системы.

Вопросы вебинара:

- Как правильно реализовать один сервис?
- Что такое нагрузочное тестирование, и как его проводить?
- Как оптимизировать код и улучшить производительность?
- Зачем нужны OpenTelemetry и платформа наблюдаемости?
- Как провести трассировку запроса и оптимизацию запросов к БД?
- Что такое репликация и шардирование в MSA?

Убедитесь, что ваша система готова к любым нагрузкам!

👉Регистрация https://otus.pw/0vs4/?erid=2W5zFGuo5f6

#реклама
О рекламодателе

Kotlin Developer

26 Dec, 07:06


Какие коллекции есть в Kotlin?

Коллекция
— это объект, содержащий в себе набор значений одного или различных типов, а также позволяющий к этим значениям обращаться и извлекать. Другими словами — это контейнер, в который вы можете помещать то, что вам нужно, а затем каким-либо образом с ним взаимодействовать. В Kotlin есть три типа коллекций:

List (список). Упорядоченная коллекция, в которой к элементам можно обращаться по их индексам. Идентичные элементы (дубликаты) могут встречаться в списке более одного раза. Примером списка является предложение: это группа слов, их порядок важен, и они могут повторяться.

Set (множество/набор). Неупорядоченная коллекция без повторяющихся значений. Примером множества является алфавит.

Map (словарь/ассоциативный список). Набор из пар "ключ-значение". Ключи уникальны и каждый из них соответствует ровно одному значению. В коллекции могут присутствовать повторяющиеся значения, но не повторяющиеся ключи. Пример — ID сотрудников и их должностей. Map не является наследником интерфейса Collection.

Два типа интерфейсов, на основе которых создаются коллекции:

1. Неизменяемый (read-only) — дают доступ только для чтения (Set, List, Map, Collection).

2. Изменяемый (mutable) — расширяет предыдущий интерфейс и дополнительно даёт доступ к операциям добавления, удаления и обновления элементов коллекции (
MutableSet, MutableList, MutableMap, MutableCollection).

Kotlin Developer

25 Dec, 08:01


Облако — это конструктор!

The Art of Programming — подкаст об ​​инструментах, технике и разработке ПО. По следам конференции HighLoad 2024 записали новый выпуск, в котором обсуждаем индустрию публичных облаков.

Вместе с Данилой Дюгуровым, CTO MTC Web Services, говорим о новостях индустрии, создании новых облачных платформ, потенциале рынка и принципах формирования топовых команд разработки.

🎧Слушайте The Art of Programming на всех популярных подкаст-площадках

Kotlin Developer

25 Dec, 07:04


Во что компилируется typealias?

Typealias не создает новый тип данных, а только создает псевдоним для существующего типа. При компиляции кода, все typealias заменяются на соответствующий тип, поэтому typealias не приводит к увеличению размера кода.

Например, typealias IntPredicate = (Int) -> Boolean при компиляции будет заменено на (Int) -> Boolean, то есть функцию, принимающую значение типа Int и возвращающую значение типа Boolean.

Можно ли использовать typealias для функциональных типов?

Да, можно использовать typealias для функциональных типов в Kotlin. Например, вы можете создать псевдоним для типа функции, которая принимает два параметра типа Int и возвращает значение типа String, следующим образом:

typealias IntToString = (Int, Int) -> String


Это позволит вам использовать созданный псевдоним вместо полного объявления типа, то есть вместо:

fun processValues(f: (Int, Int) -> String) {
// ...
}


можно использовать:

fun processValues(f: IntToString) {
// ...
}


Как и в случае с другими typealias, компилятор Kotlin просто заменяет псевдоним на соответствующий тип при компиляции кода.

Kotlin Developer

24 Dec, 10:40


👍Хотите научиться создавать идеальные уведомления в Android?

Теперь они не останутся незамеченными!

На открытом вебинаре мы разберём все виды уведомлений в Android, покажем их особенности и научим запускать в проекте. Простой и понятный разбор для новичков!

После урока вы сможете создавать рабочие уведомления и прокачаете базу для дальнейшего роста. Плюс получите скидку на участие в курсе «Android Developer»!

Встречаемся 26 декабря в 20:00 мск. Начните свой путь в Android-разработке с нами: https://vk.cc/cGnVWF

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Kotlin Developer

20 Dec, 13:05


Context receivers — новые extension functions

Поговорим сегодня про context receivers — фиче Kotlin, про которую я узнал давно, но смог найти применение лишь пару месяцев назад. Расскажу о том, что такое context receivers, где их можно использовать, и, конечно же, про «успешный успех» — минус 60% самописного DI в OzonID SDK. Но обо всём по порядку.

Читать статью

Kotlin Developer

20 Dec, 06:48


Как адаптировать Android-приложение под Huawei

Всем привет! Меня зовут Миша Вассер, я Head of Android в AGIMA. Мы занимаемся разработкой Digital-продуктов для больших и маленьких компаний, в том числе пилим мобильные приложения.

Не так давно — по сравнению со всей историей Android — Huawei выкатил собственную операционную систему и сказал: «Ребята, вот вам новая система, кайфуйте». Многие отнеслись к новой ОС скептически. Остальным пришлось адаптировать под нее свои Android-приложения.

Мы оказались во второй группе. К нам время от времени обращаются с просьбой помочь с адаптацией под Huawei. И мы неплохо в этом вопросе прокачались. Поэтому сейчас расскажу, что надо сделать, чтобы стало хорошо. А покажу всё это на примере крупного ретейлера, с которым мы работаем.

Читать статью

Kotlin Developer

19 Dec, 09:01


🚨 Хотите знать про backend разработку больше, чем ваши коллеги? Глубоко анализировать архитектуру и предвидеть узкие места? Больше не стрессовать на system design собеседованиях?

👨🏻‍🎓 Меня зовут Андрей Суховицкий. Я разработчик c десятилетним опытом, tech lead, разрабатываю высоконагруженные системы. В 2021 и 2024 годах получил премию, как лучший преподаватель университета ИТМО.

🔥 На своем канале я пишу только о том, что кажется мне интересным, описываю случаи из практики. Темы, которые мне близки: java, kotlin, coroutines, многопоточное программирование, system design, реализация высоконагруженных и надежных систем. Я сам пишу все посты в моем телеграм канале, даже этот не исключение.

🧠 Мои посты затрагивают непростые темы и не всегда написаны простыми словами. Будем говорить с вами, как с профессионалами, тянуть вверх, расширять видение, заставлять задумываться и глубже анализировать пространство решений, делать небольшое усилие над собой, чтобы учиться.

💎 Присоединяйтесь к каналу, если готовы выйти на новый уровень.

Kotlin Developer

19 Dec, 07:02


Строим мосты: подключение зависимостей с Cocoapods в Kotlin Multiplatform Mobile

При создании КММ проекта Android Studio предоставляет разработчику выбор между использованием Regular Framework и Cocoapods Dependency Manager для добавления iOS-специфических библиотек, который может быть крайне неочевидным на первый взгляд, ведь использование Regular Framework кажется затруднительным и не пользуется популярностью в отличие от удобного Cocoapods. В данной статье мы рассмотрим, как интегрировать Cocoapods в разработку, создав небольшое Android приложение.

Читать статью

Kotlin Developer

18 Dec, 08:26


Что такое мульти-декларации (destructuring declarations)?

Мульти-декларации (destructuring declarations или деструктуризирующее присваивание) — это способ извлечения значений из объекта и присвоения их сразу нескольким переменным. В Kotlin этот механизм поддерживается с помощью оператора распаковки (destructuring operator) — componentN(), где N — номер компонента.

При создании data класса Kotlin автоматически создает функции componentN() для каждого свойства класса, где N — номер позиции переменной в конструкторе. Функции componentN() возвращают значения свойств в порядке их объявления в конструкторе. Это позволяет использовать мульти-декларации для распаковки значений свойств и присваивания их отдельным переменным.

Например, если у нас есть data класс Person с двумя свойствами name и age, мы можем использовать мульти-декларации, чтобы извлечь эти свойства и присвоить их двум переменным:

data class Person(val name: String, val age: Int)

val person = Person("Alice", 29)
val (name, age) = person

println(name) // Alice
println(age) // 29

Также можно использовать мульти-декларации в циклах, чтобы итерироваться по спискам объектов и распаковывать значения свойств:


val people = listOf(Person("Alice", 30), Person("Bob", 40))
for ((name, age) in people) {
println("$name is $age years old")
}

// Alice is 30 years old
// Bob is 40 years old


Мульти-декларации также могут быть использованы с массивами и другими коллекциями:

val list = listOf("apple", "banana", "orange")
val (first, second, third) = list

println(first) // apple
println(second) // banana
println(third) // orange

Kotlin Developer

17 Dec, 14:01


IT здорового человека.

Илья Мирин, инженер, CEO, CTO, DS и цифровой художник с 19 летним опытом работы в индустрии IT помогает *прокачать soft skills*

В том числе ты узнаешь:
- Как получить *job offer выше рынка?
- Как рассказать про свой опыт работы, чтобы *люди на собесе не уснули?
- Почему продуктовые *задачи всегда приносят в последний момент?
- Как быть, если *коллеги тебя не слушают?
- Как работая на удалёнке *быть в курсе всех важных событий и быть в "тусовке"
- Есть ли благодетели айтишника кроме *"удачи", "трудолюбия" и "нужных контактов"*, чтобы целенаправленно двигаться к цели

Илья знает про жизнь внутри IT все, он сам не сошел от этого с ума, и тебе поможет.

Подписывайся на https://t.me/healthyit

Kotlin Developer

17 Dec, 08:04


Kotlin вместо bash. Прокачиваем автоматизацию на сервере

Для решения задач автоматизации рутинных процессов для системных администраторов и DevOps чаще всего используются или bash-сценарии или python. Первое решение косвенно используется и в описании Dockerfile, поскольку сценарий исполняемых команд принципиально ничем не отличается от запуска скрипта в какой-либо shell, второй подход чаще ассоциируется с автоматизацией, связанных с взаимодействием с хранилищами данных. Но несправедливо было бы обойти стороной возможность создания исполняемых сценариев на языке Kotlin, которые могут стать полноценной заменой bash-сценариям.

В этой статье мы рассмотрим несколько примеров использования Kotlin Scripting (KTS) для автоматизации в распределенной системе, будем использовать долгоживущие скрипты с ожиданием заданий через RabbitMQ, а также поработаем с файловой системой, внешними сервисами, а также попробуем использовать KTS для сборки Docker-контейнеров
.

Читать статью

Kotlin Developer

12 Dec, 14:28


Недавно в Кубере? Сложновато?

Ребята из Рег.ру составили пошаговый гайд для начинающих DevOPS и просто любопытных. Изучаем!

Kotlin Developer

12 Dec, 08:12


Пару слов о полях и свойствах в Kotlin

Терминология свойств и полей в Kotlin может немного сбивать с толку, потому что технически в Kotlin нет полей. Вы не можете объявить поле. Все — свойства! Однако, во избежании путаницы, я предпочитаю разделять определения полей и свойств на следующей основе — полями являются приватные переменные-члены класса. Это то, для чего выделена память. Свойствами являются публичные или защищенные (protected) функциями геттеры и сеттеры, которые позволяют вам получить доступ к приватным полям.

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

Читать статью

Kotlin Developer

11 Dec, 14:00


👍Научитесь писать проверки для своего проекта, правильно подсвечивать в IDE и репортить найденные инциденты!

На бесплатном уроке онлайн-курса «Android Developer. Professional» — «Android Lint»: регистрация

Что будет на вебинаре?
- Подробно рассмотрим API Android Lint и PSI/UAST деревья
- Научимся реализовывать свои Detector'ы
- Научимся тестировать реализованные Detector'ы

Каким слушателям вебинар будет полезен?
- Инженерам, которые интересуются статическим анализом, хотят автоматизировать поиск codesmell'ов, проверку кодстайла, проверку принятых в проекте регламентов.

🔥После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.

erid: LjN8JwuvB

Kotlin Developer

11 Dec, 11:30


Осознанная оптимизация Compose 2: В борьбе с композицией

Jetpack Compose постоянно развивается, открывая перед разработчиками новые горизонты для оптимизации. С момента нашего последнего обзора, мы добились значительного прогресса, сократив задержки при скролле с 5-7% до нуля. В этом материале мы поделимся свежими находками и передовыми практиками в оптимизации Compose. Чтобы максимально углубиться в тему, рекомендуем ознакомиться с первой частью.

Читать статью

Kotlin Developer

11 Dec, 07:01


Начинать путь в мобильной разработке непросто даже тем, кто уже работает в IT.

В своём канале Илья, android-разработчик с 10-летним стажем, даёт ценные советы о том, какой минимальный набор знаний библиотек и подходов нужен, чтобы устроиться на работу.

Важные плюсы android-разработки на Kotlin в том, что тут всегда много вакансий, а язык можно освоить за месяц, и пригодится он в том числе и в backend.

Подписывайтесь на канал Ильи и получите пошаговый план развития с нуля до Junior.
Также в канале вас ждут лучшие практики, лайфхаки и советы по рефакторингу.

Kotlin Developer

10 Dec, 10:40


Интегрируем Kotlin сервис с AI чат-ботом с помощью Spring AI за 5 минут

Чат-боты с генеративным искусственным интеллектом получили широкую известность после релиза ChatGPT в ноябре 2022 года. Сейчас вряд ли найдётся человек, который не слышал про данный инструмент от OpenAI. Именно он вызвал настоящий бум в данной сфере, вынудив конкурентов разрабатывать свои аналоги, чтобы побороться за место на рынке. Таким образом созданная лавина изменений затронула многие языки программирования. Не обошли они и Java-сообщество. Spring Framework, один из наиболее популярных Java фреймворков обзавёлся модулем Spring AI, который обещает упростить разработку приложений с функциями ИИ.

Давайте вместе взглянем на него в деле и опробуем на демо проекте. В данном гайде мы создадим и подключим Kotlin сервис к чат-боту всего за пять минут, используя Spring AI!


Читать статью

Kotlin Developer

02 Dec, 11:02


Приглашаем на ЮMoneyDay — бесплатную онлайн-конференцию про IT в финтехе 🔥

Проведём два дня с разработчиками, аналитиками, тестировщиками, продактами и другими специалистами ЮMoney. Они поделятся опытом работы над финансовыми продуктами для миллионов пользователей.

В программе 13 направлений:


🟣 Бэкенд
🟣 Фронтенд
🟣 Тестирование
🟣 Процессинг
🟣 SQL
🟣 Python
🟣 Менеджмент проектов
🟣 Системный анализ
🟣 Архитектура
🟣 Инфраструктура
🟣 Менеджмент продуктов
🟣 UX
🟣 О компании

Встречаемся онлайн 6 и 7 декабря в 11:00 по Москве. Приглашайте друзей и коллег

Зарегистрироваться и узнать подробности можно здесь

Kotlin Developer

26 Nov, 06:50


👍Стройте эффективную многопоточную/асинхронную инфраструктуру приложений!

Узнайте как на бесплатном уроке онлайн-курса «Android Developer. Professional» — «Kotlin Coroutine в Android-разработке»: регистрация

Что будет на вебинаре?

- Теоретически и практические основы корутины: structured concurrency, builders, suspend функции, coroutine context, обработка exceptions.

- Каналы: producer channel/ Consumer channel; типы каналов по размеру буффера; rendevouz Channel и другие.

- Flow: builders; операторы; обработка исключений во Flow; миграция на Flow.

Результаты вебинара:

- Узнаете, как правильно использовать корутины и suspend функции, глубоко разобравшись в их устройстве и best practices

- Научитесь реализовывать операторы и писать правильные цепочки, используя Flow

- Сможете использовать знания для построения эффективной инфраструктуры приложений.

🔥После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Kotlin Developer

25 Nov, 07:13


Настраиваем кросс-обновления Android-приложений между сторами

Меня зовут Тимофей, я Android-разработчик в Сравни. Давайте поговорим о кросс-обновлении Android-приложений без привязки к конкретному стору – так, чтобы пользователи могли устанавливать из одного источника, а обновлять – из другого, без необходимости удалять и ставить заново.

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

Но первые реальные практические шаги в этом направлении мы сделали в формате
“А что, так можно было?”: пошли выкладывать приложение в RuStore и попутно обнаружили возможности использовать аналогичные механизмы для настройки кросс-обновления.


Читать статью

Kotlin Developer

22 Nov, 09:31


❗️Cтаньте экспертом в backend-разработке на Kotlin!


Курс Kotlin Backend Developer. Professional даст вам навыки для создания высоконагруженных серверных приложений, которые можно масштабировать и развивать.

📚Мы охватим всё: от мультиплатформенных приложений на Kotlin до микросервисов и интеграции с RabbitMQ и Kafka. Это курс для тех, кто хочет создавать надежные решения для реальных задач!

👨‍🏫Преподаватели-практики помогут вам освоить синтаксис Kotlin, познакомят со Spring, Ktor и новейшими практиками модульной разработки, BI и многопоточности. Мы покажем, как с нуля создать проект маркетплейса — от постановки задачи до ее реализации.

➡️Пройдите вступительный тест и получите персональную консультацию от нашего менеджера, специальную цену на курс и доступ к открытым урокам: https://vk.cc/cF7csz

Пусть подарком на Новый Год станет инвестиция в ваше будущее!

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Kotlin Developer

21 Nov, 09:53


Detekt: как статический анализ помогает улучшить код автотестов

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

И у каждой ошибки есть своя цена. Было бы здорово, если бы о них можно было узнать как можно быстрее и без привлечения лишних ресурсов.

Это может касаться как простых ошибок, на которые не хочется тратить время специалистов, так и неочевидных ошибок, у которых иногда непросто определить причину.

Меня зовут Николай, и я инженер в мобильной платформенной команде Яндекс Еды. В этой статье я расскажу, как мы повышаем качество кода автотестов Android-приложения. И в этом нам помогает статический анализ.


Читать статью

Kotlin Developer

15 Nov, 11:31


Как попасть в ИТ-команду, где не боятся ошибаться?

23 и 24 ноября в Т-Банке пройдет Java Weekend Offer для разработчиков уровня middle и senior. Можете пройти собеседование за выходные и, если всем все понравится, получить оффер.

В компании используют новые версии языка и сохраняют баланс между самописными и опенсорсными инструментами. Здесь выстроенный процесс разработки и свобода для экспериментов. Можно пробовать новые технологии, расти в сильной команде и обмениваться опытом на конференциях и митапах.

Узнайте больше и успейте оставить заявку до 20 ноября

Kotlin Developer

15 Nov, 10:11


Android Lint: оптимизируем проверку мердж-реквестов

Привет, это Android-разработчик из «МТС Диджитал» Никита Пятаков. Когда я только начал работать над приложением «Мой МТС», мне нужно было время, чтобы адаптироваться и ознакомиться с проектом. На первых МР-ах коллеги подсвечивали готовые решения, которые можно переиспользовать. Когда к нам стали приходить новые разработчики, такие комментарии оставлял уже я. Это натолкнуло меня на мысль, что использование синтаксического анализатора оптимизирует процесс проверки. К тому моменту мы уже использовали Android Lint, так что выбирать не пришлось.

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


Читать статью

Kotlin Developer

14 Nov, 10:01


Стать сотрудником Яндекса быстрее и проще, чем кажется. Участвуйте в днях быстрого найма: решите тестовое, пройдите несколько секций собеседования и получите офер за несколько дней.

Ближайшее мероприятие:

• 30 ноября – 1 декабря — для Android- и iOS-разработчиков, офер за 2 дня в команды Карт и Рекламы.

Зарегистрироваться

Kotlin Developer

12 Nov, 11:41


Использование resilience4j со Spring Boot

resilience4j библиотека, предоставляющая набор инструментов для повышения надежности и отказоустойчивости java приложений прежде всего в микросервисной архитектуре

Рассмотрим какие в ней есть инструменты, как их использовать в Spring Boot приложении с помощью аннотаций, как настраивать и есть ли в них подводные камни


Читать статью

Kotlin Developer

11 Nov, 11:00


⚡️Пишем веб-сервис на Java, а затем преобразуем его в Kotlin!

📅Дата: 12 ноября в 19:00 МСК
🔗Записаться на урок: https://vk.cc/cEuP3U


Будет интересно: Java-разработчикам и бэкенд-разработчикам на Kotlin.

В первой части занятия познакомимся с основными концепциями:
null-безопасность
сокращение шаблонного кода
лямбда-выражения

Во второй части – напишем веб-сервис с CRUD-операциями на Java, а затем преобразуем его в Kotlin. Так вы увидете, как синтаксис Kotlin упрощает код.

👨‍🏫Вебинар проведёт Сергей Прощаев, ведущий инженер и Java-разработчик в крупной компании.

После вебинара вы сможете приобрести курс «Kotlin Backend Developer. Professional» по специальной цене и даже в рассрочку!

Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: 👉https://vk.cc/cEuP3U

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Kotlin Developer

11 Nov, 06:20


Решение проблемы N+1 при работе с Kotlin Exposed

К написанию этой статьи я подошёл после продолжительного использования Kotlin Exposed в рабочих, а также персональных проектах, когда я начал анализировать генерируемые SQL запросы. В тот момент я познакомился с проблемой N+1)

Читать статью

Kotlin Developer

08 Nov, 15:30


Новые возможности монетизации приложений на React Native

Недавно Яндекс выкатил плагин для подключения приложений на этом фреймворке к своей рекламной сети. РСЯ помогает рекламодателям привлекать новых клиентов, а разработчикам — повысить доход от приложения.

Ранее монетизация была доступна только на iOS, Android, Flutter и Unity. Вот какие плюсы у этой рекламной сети:

Обширная база рекламодателей
Более 300 тысяч прямых рекламодателей из 30 индустрий, а также 60 сторонних источников рекламы (DSP).

Релевантная реклама
Реклама подбирается на основе более 1000 факторов, что делает её привлекательной для пользователя.

Платформа медиации
Позволяет подключить до 15 дополнительных рекламных сетей и подбирает среди них самые выгодные предложения.

И это не считая базы: простой интеграции SDK, круглосуточной техподдержки и стабильных выплат. К РСЯ уже подключены более 15000 приложений.

Узнать больше о рекламной сети и подключить свое приложение можно по ссылке.

Kotlin Developer

04 Nov, 08:17


Deep dive into delegated properties: разбираемся с делегатами в котлин

Не так давно решил поглубже изучить официальную документацию котлина, как человек изучивший его, как и многое другое через видосики и практику, решил почитать ее с первой до последней строчки.

Остановил свое внимание на делегатах, так как нашел несколько особенностей применения, которые почти ни где не упоминаются, а что то и вовсе забыли описать в оф. документации.


Читать статью

Kotlin Developer

29 Oct, 10:01


⚡️Как создавать собственные DSL и применять их при разработке приложений?

Узнайте на открытом уроке «Возможности Kotlin для создания DSL на примере JsonBuilder»!

📅Дата и время: 31 октября, 19:00 МСК
🔗Записаться на событие: https://vk.cc/cDx8xF

🔍Что вас ждет:
- Погружение в назначение, особенности и практическое применение DSL.
- Практика создания DSL на примере JsonBuilder.
- Обзор возможностей Kotlin, полезных для создания DSL.

👨‍🏫Урок проведёт Евгений Непомнящий, преподаватель OTUS и опытный старший разработчик с многолетним стажем.

📚Это занятие будет полезно всем, кто использует Kotlin или хочет изучать этот язык.

🎓Урок приурочен к старту курса «Kotlin Backend Developer. Professional». После занятия вы сможете продолжить обучение по специальной цене и даже в рассрочку!

➡️ Регистрируйтесь прямо сейчас, чтобы не пропустить это интересное мероприятие: https://vk.cc/cDx8xF

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Kotlin Developer

28 Oct, 08:02


Делаю навигацию в приложении на Compose

В статье затрагивается тема межмодульной навигации в приложении написанном с применением Jetpack Compose, Compose Navigation и самописного модуля навигации. Задачи, которые преследуются — это сделать максимально независимые между собой модули фичей, которые могут смело переиспользоваться на разных проектах без постоянных доработок по навигации внутри фичей.

Статья является продолжением серии статей про то, как я писал приложение полностью на Compose и применял различные практики, чтобы сделать его максимально похожим на конструктор, части которого можно легко использовать для сборки других приложений.


Читать статью

Kotlin Developer

23 Oct, 12:00


Поговорим про деньги в IT?

Приглашаем опытных IT-специалистов пройти небольшой опрос про зарплаты и бенефиты в технологических компаниях. Это займёт не более 7 минут — а ваше мнение поможет одному крупному российскому работодателю делать актуальные оферы.

Пройти опрос можно здесь

Kotlin Developer

23 Oct, 09:39


Какой толк от inline-функций, как компилируется сама функция и места её использования?

Каждая лямбда это анонимный класс с реализацией единственного метода. Если часто вызывать эти лямбды, будет создано много очень классов, а они вообще то занимают память.

Когда функция объявляется с модификатором inline, её тело становится встраиваемым, т.е. оно подставляется вместо обычного вызова функции.

Если отметить функцию модификатором inline, компилятор не будет генерировать вызов функции в месте её использования, а просто вставит код её реализации.

Kotlin Developer

22 Oct, 10:02


Научитесь использовать ключевую особенность Clojure на открытом уроке для опытных разработчиков.

Запускайте программу всего один раз и работайте с ней в реальном времени весь процесс разработки.

Приходите на вебинар «Интерактивная разработка на языке Clojure»! Записаться на событие: https://vk.cc/cD2FHG

Вы узнаете:
- Как добавлять новые функции и изменять состояние программы
- Как «прощупывать» любые данные и пошагово отлаживать код.
- Как запускать тесты и подключаться к внешним системам.

Занятие пройдёт 24 октября в 19:00 МСК и приурочено к старту курса «Clojure Developer». После урока вы сможете продолжить обучение по специальной цене и даже в рассрочку!
Для бесплатного участия и получения записи регистрируйтесь прямо сейчас: https://vk.cc/cD2FHG

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Kotlin Developer

22 Oct, 07:42


Что такое функции высшего порядка (higher-order functions), лямбда-выражения (lambda-expressions), анонимные функции (anonymous functions), указатели на методы (method references, bound callable references)?

Функции высшего порядка - это функции, которые принимают функцию в качестве аргумента и/или возвращает функцию в качестве результата

Лямбда выражения - не объявленная функция, которая немедленно используется в качестве выражения

Анонимные функции - альтернативный синтаксис лямбда выражения с иными правилами для выражения return(можно использовать для создания блока кода с несколькими точками выхода )

Указатели на методы - упрощенный синтаксис создания значения функции, вызывающего ровно один метод или обращающегося к свойству.
{p:Person --> p.age} ==Person::age

Kotlin Developer

21 Oct, 10:01


Приглашаем на Java Jam — бесплатный митап ЮMoney для Java-разработчиков 📹

Спикеры из ЮMoney расскажут о своём опыте разработки, а вы сможете задать им все интересующие вопросы.

Темы докладов 👇

🟣Web Push: как достучаться до пользователей без нативных приложений.
🟣 SonarQube в действии: плагины как ключевой элемент контроля качества в отделе.
🟣 Рефакторинг фискализации: как мы выносили чеки в отдельный сервис.

24 октября, в четверг, в 19:00 (мск) приходите на митап в Санкт-Петербурге или подключайтесь онлайн.

Зарегистрируйтесь, чтобы принять участие. Все подробности и регистрация — на сайте митапа Java Jam

Kotlin Developer

21 Oct, 08:30


👩‍💻 Inspektify — написанная на Kotlin библиотека для Android и iOS. Она позволяет вам наблюдать за сетью вашего приложения в режиме реального времени прямо на вашем мобильном устройстве

❗️ Эту библиотеку можно использовать только в проектах, использующих Ktor для сетевой коммуникации

🔐 Лицензия: MIT

🖥 Github

@KotlinSenior #kotlin

Kotlin Developer

17 Oct, 11:01


Успейте занять свое место на CrossConf – главной конференции года по кроcсплатформенной разработке и трендам IT.

Она пройдет 8 ноября в Москве. В программе – большая секция по Kotlin с экспертами из Яндекса, Сбера и других компаний.

Что вас ждет
▪️ 50 докладов и 60 спикеров, среди которых Александр Нозик (МФТИ), Алексей Гладков (Mobile Developer), Андрей Кулешов (Positive Technologies). Узнайте, как строить архитектуру проектов с использованием Firebase и KMP, сериализовать сложные структуры данных и реализовать свой собственный кроссплатформенный UI.
▪️Нетворкинг, заряд энергии, новые знакомства и идеи.
▪️Afterparty и неформальное общение, вручение премии CrossConf Awards.

Успейте зарегистрироваться до 1 ноября и получите 10% скидку на любое количество билетов. Промокод — LASTCALL.

📲Познакомиться с программой и приобрести билеты можно по ссылке.

Kotlin Developer

11 Oct, 09:40


#вакансия #удалённо #parttime #Kotlin #преподаватель

🦉 OTUS ищет преподавателей на онлайн-курс Kotlin Backend Developer. Professional

Мы расширяем команду экспертов (уже более 600 человек) и ищем опытных бэкенд-разработчиков на Kotlin. Преподавательский опыт не обязателен — мы научим вас всему, что нужно!

Обязанности:
- подготовиться к занятиям (темы на выбор, материалы предоставляются);
- преподавать онлайн, уделяя большое внимание практике. Здесь вы сможете развивать навыки публичных выступлений, работы с аудиторией и подачи обратной связи.

Условия:
гибкий график, легко совмещать с основной работой, занятия в вечернее время;
оплата от 4000 до 6000 руб. за 1,5 часа занятия;
бонусы: доступ к нашим курсам, нетворкинг, развитие личного бренда, возможность приглашать лучших выпускников в свою команду, бесплатные воркшопы и конференции для наших преподавателей.

Обсудить подробнее: @yu_grin

Kotlin Developer

11 Oct, 08:29


AndroidFoodRecipesGuideTutorial

В данной статье мы создадим простое приложение для отображения списков блюд на платформе Android с использованием языка программирования Kotlin.

Мы погрузимся в увлекательный мир мобильной разработки и научимся использовать различные технологии, включая RecyclerView для отображения списков, фрагменты для организации интерфейса, и многое другое. Наше приложение будет не только функциональным, но и простым в создании благодаря мощным инструментам, которые предоставляет нам Kotlin и Android SDK.

Давайте вместе разберемся, как создать этот простой, но полезный инструмент, который может быть использован в различных контекстах, будь то кулинарное приложение, список покупок или что-то еще. Погнали!


Читать статью

Kotlin Developer

10 Oct, 10:30


🔥 Weekend Offer Backend в Яндекс 26–27 октября

Устройтесь backend-разработчиком в Яндекс онлайн за одни выходные.

↔️ К участию приглашаем разработчиков на C++, Python, Go, Java или Kotlin, с опытом коммерческой разработки от трёх лет, которые готовы работать в офисном или гибридном режиме на территории России или Республики Беларусь.

🛐План простой: зарегистрируйтесь и до 23 октября решите пару задачек в Контесте, 26 октября пройдите два технических собеседования, а 27 октября получите офер.

🔛В Weekend Offer Backend участвуют разные сервисы: Финтех, HR-Tech, Образование, МВА, Биллинг, Геосервисы, Реклама, Поисковые сценарии. Чтобы заранее подумать, с кем вам хочется пообщаться 17 октября мы проведем онлайн-встречу в зуме, где команды расскажут о себе и задачах.

🆖 Узнать подробности и принять участие можно здесь.

Kotlin Developer

27 Sep, 06:45


Управление контейнерами из Kotlin-тестов

Нередко для выполнения тестов требуется запуск вспомогательных сервисов (баз данных, брокеров очередей и др.) и стандартной практикой в подходах DevOps является запуск тестов внутри управляемого окружения, где сначала создается контейнер с JVM, после чего внутри конвейера CI/CD запускаются вспомогательные контейнеры и сборка Kotlin-приложения с точкой входа для запуска тестов. Однако есть и альтернативное решение - запускать вспомогательные тестовые контейнеры непосредственно внутри JUnit-теста. В этой статье мы обсудим несколько различных подходов к управлению контейнерами из тестов для Kotlin-приложений.

Читать статью

Kotlin Developer

26 Sep, 09:01


Автоматизированные инструментальные Espresso-тесты в реальных приложениях

Ждем вас на открытом вебинаре 26 сентября в 20:00 мск, где мы разберем:
- как использовать расширения Espresso для сложных сценариев;
- как тестировать интенты, WebView и механизмы синхронизации;
- основы работы с Espresso-селекторами и списками;
- как тестировать промежуточные состояния и анимации.

Спикер Дмитрий Золотов — Flutter+Kotlin Developer в Yandex, опытный разработчик, DevOps, руководитель и преподаватель. 

Встречаемся в преддверии старта курса «Kotlin QA Engineer». 

Регистрируйтесь, чтобы не пропустить мероприятие.

#реклама
О рекламодателе

Kotlin Developer

19 Sep, 14:18


Kotlin Object Multiplatform Mapper: сопоставляем коллекции правильно

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

Читать статью

Kotlin Developer

19 Sep, 08:55


Kotlin Object Multiplatform Mapper

Складывается такое впечатление, что дописать свою приложение для Android мне суждено не скоро. Каждый раз начиная писать новую версию (так как старая была написана не до конца, использовалась только мной, а через пару-тройку лет простоя - проще написать заново) своего приложения задуманного еще в 2012 году, я сталкиваюсь с ситуацией, что мне не хватает какого-то функционала и начинаю писать свои библиотеки для этого. В первую попытку это был свой ORM (UcaOrm 1, 2, 3). Во вторую KCron - KMP библиотека, реализующая Cron. И вот, начав следующую итерацию, я вновь в таком же положении. Но обо всем по порядку!

Читать статью

Kotlin Developer

15 Sep, 11:01


Как сделать Android-приложение быстрее и эффективнее? 

Узнайте на открытом вебинаре 18 сентября в 20:00 мск, где мы разберем:

- как ProGuard/R8 минимизируют, оптимизируют и убирают неиспользуемый код;
- сравнение эффективности ProGuard и R8;
- как внедрять ProGuard/R8 в существующий проект.
Урок особенно полезен для Android-разработчиков с опытом работы от 1 года.

Встречаемся в преддверии старта курса «Специализация Android Developer».
Все участники вебинара получат специальную цену на обучение! 

Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие.

Kotlin Developer

15 Sep, 08:03


Рыночные данные в кармане: как получать их быстро и просто с помощью Java/Kotlin и Spring Boot + TinkoffApi

Если вы хотите написать проект, связанный с рыночными данными или торговлей на бирже, и вы знакомы с Java или Kotlin и слышали про Spring Boot, то эта статья для вас

Читать статью

Kotlin Developer

12 Sep, 07:02


Ни одно задание не будет провалено: Spring Boot и Quartz в режиме cluster

Туториал по настройке библиотеки Quartz в режиме кластера в Spring Boot приложении с возможностью отслеживания и управления жизненным циклом задания, в том числе переносом задания в случае необходимости.

Читать статью

Kotlin Developer

11 Sep, 12:02


Задумывались ли, как автоматизация android-разработки может поднять вашу продуктивность?

Подключайтесь к онлайн-конференции Podlodka Android Crew с 16 по 20 сентября! 🛠

🤖 Анна Жаркова из Usetech расскажет, как AI может автоматизировать создание UI в Android и KMP.
🎯 Григорий Шимичев из Dodo Engineering расскажет о продвинутых возможностях detekt и необходимости статического анализа кода.
🚄 Дмитрий Кудренко из Яндекс 360 расскажет, как релизный поезд помогает автоматизировать релизы и улучшить их стабильность.
💬 Круглый стол с экспертами из Авито, Wheely и PlataCard - обсудим лучшие практики организации CI/CD в мобильных командах.

Каждая сессия — это максимум прикладной пользы! Присоединяйтесь и не пропустите возможность узнать больше! https://podlodka.io/droidcrew 🎟

Kotlin Developer

11 Sep, 08:09


💻 Anvil — плагин для компилятора Kotlin, облегчающий внедрение зависимостей с помощью Dagger 2

Anvil упрощает внедрение зависимостей в Dagger за счет автоматического объединения модулей Dagger и интерфейсов компонентов. В общем, вместо того чтобы вручную добавлять модули в компонент Dagger и заставлять компонент Dagger расширять все интерфейсы компонента, эти модули и интерфейсы могут быть включены в компонент автоматически, типо того:

@Module
@ContributesTo(AppScope::class)
class DaggerModule { .. }

@ContributesTo(AppScope::class)
interface ComponentInterface {
fun getSomething(): Something
fun injectActivity(activity: MyActivity)
}

// The real Dagger component.
@MergeComponent(AppScope::class)
interface AppComponent


🖥 GitHub

@KotlinSenior #kotlin

Kotlin Developer

02 Sep, 05:37


💻 Vico — создание диаграмм и графиков на Kotlin

dependencies {
implementation(libs.vico.compose)
implementation(libs.vico.compose.m2)
implementation(libs.vico.compose.m3)
implementation(libs.vico.core)
implementation(libs.vico.views)
}


Vico — это легкая расширяемая библиотека Kotlin для создания диаграмм.
Библиотека совместима как с Jetpack Compose, так и с системой представлений, при этом 2 её основных модуля — compose и views, — являются независимыми.

🖥 GitHub
🟡 Wiki

@KotlinSenior #kotlin

Kotlin Developer

28 Aug, 13:51


💻 KVision — ООП веб-фреймворк для Kotlin

KVision позволяет создавать современные веб-приложения на Kotlin без использования HTML, CSS и JavaScript. KVision предоставляет большую коллекцию готовых к использованию компонентов GUI, которые можно использовать в качестве блоков для построения пользовательского интерфейса приложения.

KVision полностью поддерживает как реактивные, так и императивные стили программирования. KVision содержит инновационный интерфейс для подключения фреймворков Ktor, Jooby, Spring Boot, Javalin, Vert.x и Micronaut на стороне сервера, что позволяет создавать fullstack-приложения с общим кодом для модели данных и бизнес-логики. KVision активно развивается.

🖥 GitHub
🟡 Доки

@KotlinSenior #kotlin