Как стать автором
Поиск
Написать публикацию
Обновить
64.11

Kotlin *

Статически типизированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Настройка почтового сервера Yandex spring boot

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.9K

В этой статье я бы хотел рассказать, как настроить отправку почты со своей личной почты, используя яндекс и Spring boot. Видел много статей по настройке smtp сервера на Spring boot, но без связки с яндексом. А это ключевой момент, так как найти бесплатные smtp сервера не так то просто.

Для начала, нам понадобится почта яндекс. После смотрим, какие конфиги нам нужны тут. Яндекс предлагает создать пароль для нашего приложения. Что мы и делаем по ссылке. При создании пароля, копируем его себе, так как виден он только первый раз.

По сути, с яндексом мы закончили.

Переходим в наш проект. Я предполагаю что у вас уже настроен Spring boot. Так что нужно добавить зависимость для почты. Я использую Gradle, так что у меня это выглядит так:

Читать далее

Кастомная тема Jetpack Compose

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.5K

Уверен, что каждый, кто использовал цветовые схемы в Android приложениях для раскраски интерфейса, хоть раз задавался вопросом "А как можно поменять скучные цвета primary, secondary, tertiary и др. на свои?" В этой статье речь пойдет как раз про использование своей цветовой схемы для работы с приложением.

Читать далее

Часть 1. TMA на KMP. Пишем кликер на Kotlin/JS

Время на прочтение6 мин
Количество просмотров4K

В этой статье рассмотрю старт проекта как обычное веб-приложение с минимальным функционалом. Остальные функции будут завязаны на Telegram API и веб-приложение сможет запускаться из Telegram.

Читать далее

Делаем навык для Алисы. Alice-ktx

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров9.8K

Alice-ktx - это библиотека на Kotlin, упрощающая разработку навыков Алисы из Яндекс.Диалогов. В этой статье мы рассмотрим основные возможности библиотеки.

Читать далее

Что нового в Amplicode 2024.2

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.8K

Мы рады сообщить, что второй мажорный релиз Amplicode в 2024 году успешно состоялся. В этот релиз вошло большое количество улучшений, исправлений и новых фич. Вот некоторые из них: 

* Gutter Icons для Spring-объектов

* Улучшенная генерация Spring Web тестов

* Поддержка Extends и Include в Docker Compose

* Генерация отдельных HTTP-методов для REST-контроллеров

* Поддержка Kubernetes и Helm

Подробнее о каждом из нововведений рассказали в статье.

Читать далее

Compose Desktop ShadowJar

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.9K

По состоянию на 12 августа 2024 года нет хорошего туториала/документации по Compose Desktop ShadowJar.

Существующие руководства помогут настроить ComposeMultiplatform для распространения нативных таргетов.

Но что, если вы хотите использовать ShadowJar, чтобы каждый пользователь мог запустить ваше приложение через .jar?

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

Эта статья, вероятно, не предоставит полного охвата вашего частного случая. Более того, не каждый пользователь сможет запустить созданный .jar файл. Например, пользователь с Java 8 не сможет запустить .jar файл, который был построен с использованием более поздней версии Java. Но это не относится напрямую к статье.

Читать далее

Состояние Spring в 2024 году

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров14K

Команда Spring АйО перевела важнейший документ для Spring-разработчиков!

В начале июня компания VMWare, владеющая Spring, опубликовала результаты исследования, в котором приняло учатие более 1,500 разработчиков по всему миру. Отчёт получился действительно интересным и всеобъемлющим. Были рассмотрены как базовые темы, такие как выбор архитектурных подходов и типов API, так и продвинутые, такие как компиляция в Native Image и использование Spring вместе с Kubernetes.

Читать далее

PinLockSreen на основе KeyStore. Kotlin. Jetpack Compose

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров3K

В данной любительской статье разберемся, что такое KeyStore в контексте мобильной разработки, для чего нужен и применим его в крайне легком варианте. Также погрузимся в разработку экрана входа в ваше приложение. Статья будет разделена на 3 так называемых раздела — KeyStore, UI и ViewModel.

Читать далее

Я победил замедление YouTube

Время на прочтение4 мин
Количество просмотров431K

Привет, Хабр! Ухудшение работы YouTube стало поистине трагическим событием, которое прибило почти все загрузчики видео, но я нашел легальный способ улучшить ситуацию! Как починить оборудование Google, не привлекая внимание санитаров.

Читать далее

Как устроены аннотации в Kotlin. Часть 2

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.7K

Привет! Сегодня с вами Максим Кругликов из Surf Android Team, и мы продолжаем статью об аннотациях в Kotlin, в которой рассмотрим кодовую базу Moshi в качестве примера того, как реальная библиотека использует процессинг аннотаций, рефлексию и lint. В первой мы рассказывали об этих трёх механизмах — рекомендуем посмотреть сначала её.

Читать дальше

Declarative Gradle: рывок или прорыв?

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров9.4K

Полгода назад команда Gradle представила новый продукт — Declarative Gradle. Команда Spring АйО, со своей стороны, провела исследование и готова поделиться результатами. 

TL;DR: технология всё ещё активно развивается, но пока что не поддерживается привычными инструментами, такими как IntelliJ IDEA. Несмотря на это, нам удалось запустить Spring Boot приложение!

Читать далее

Обзор GigaIDE от СБЕРа | Российская IntelliJ IDEA | Поддержка Spring вместе с Amplicode

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров58K

Недавно СБЕР выпустил GigaIDE — новую IDE для Java, Kotlin и не только. Это событие вызвало бурные обсуждения среди разработчиков. Чаще всего звучали следующие вопросы:

Чаще всего звучали следующие вопросы:

1. Это просто пересобранная версия IntelliJ IDEA Community Edition?
2. Если нет, что нового предлагает GigaIDE?
3. Поддерживает ли она работу с базами данных и Spring?

Сегодня отвечу на эти и другие вопросы, которые могут возникнуть у тех, кто заинтересовался GigaIDE.

Читать далее

Парсим данные из Google Sheets с помощью Kotlin и Retrofit в Android

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.6K

Как парсить данные Google Sheets с помощью Retrofit и Gson в Kotlin Android или как получить структурированные классы из файлика с расширением json, который падает к программисту из Google Sheets API?

Читать далее

Ближайшие события

Разбираемся с coroutine в Kotlin — 4

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.6K

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

suspend fun func() { }

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

Читать далее

Kotlin Coroutines под капотом

Время на прочтение36 мин
Количество просмотров32K

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

Читать далее

Java Digest #14

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.8K

Всем привет! 👋 👋 👋 👋 Мы — Java-разработчики Т-Банка: Андрей, Арсений, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

В этом выпуске — самые свежие новости из мира Java и сопутствующих технологий. JDK 23 изменяет политику обработки аннотаций, требуя дополнительной опции командной строки. Вышла новая версия Spring Framework 6.2.0-M4 с улучшениями в ядре, тестировании и поддержке Protobuf 4.x. Maven Central вводит ограничения на загрузку для крупных проектов. Новые сборки раннего доступа JDK 24 и Leyden, а также еще много всего интересного. Приятного чтения!

Читать выпуск 14

Как я перестал волноваться и полюбил ошибки в корутинах: поймай меня если сможешь

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров4K

Если опираться на предыдущую статью (ссылка), то по отношению к корутине можно сказать что на андроиде она вызовет краш приложения, если не был переопределен Thread.UncaughtExceptionHandler потока.

Но во всех ли случаях такое будет? Или можно ли не изменяя корутину и не изменяя Thread.UncaughtExceptionHandler потока помешать данной корутине закрыть приложение с крашем?

Читать далее

Markdown в IntelliJ IDEA как отдельный вид искусства. Рисуем диаграммы и вызываем bash команды

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров13K

Spring разработчики часто пишут документацию и README/HELP файлы к своим приложениям. Часто это делается в Markdown файлах. Markdown плагин в IntelliJ IDEA распознает файлы, предоставляет специальный редактор с подсветкой, автокомплитом и форматированием, а также дает визуальное отображение в панели предварительного просмотра в реальном времени. Кроме стандартной функциональности в IntelliJ IDEA есть пару уникальных фич, которые команда Spring АйО хотела бы выделить особенно.

Читать далее

Новый компилятор K2 в Kotlin. Часть 2. Гайд по миграции

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.1K

В этой статье эксперт сообщества Spring АйО – Михаил Поливаха рассмотрит процесс миграции с компилятора Kotlin старой версии на новый компилятор K2. В предыдущей статье Михаил рассмотрел компилятор K2, а здесь сфокусировался только на процедуре миграции.

Читать далее

Kotlin Coroutines. Часть 2

Время на прочтение10 мин
Количество просмотров5.9K

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

Итак, начинаем. Сначала кратко расскажу о материале в этой статье. Для разогрева поговорим о скоупе и о том, для чего он вообще нужен, далее перейдем к контексту, там я попробую объяснить сложное на пальцах, и, наконец, затронем к Continuation.

Читать далее