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

Kotlin *

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

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

Идеи ничего не стоят

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

Команда Spring АйО перевела статью одного из создателей Hibernate, в которой он объясняет, почему ему часто приходится отвергать новые и хорошие идеи, и почему это на самом деле не означает, что он является врагом всего нового.

Читать далее

Концерт для Java с ИИ — разработка готовых к продакшен LLM приложений

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

Команда Spring АйО перевела и адаптировала доклад Томаса Витале “Concerto for Java and AI — Building Production-Ready LLM Applications”, в котором рассказывается по шагам, как усовершенствовать интерфейс приложения с помощью больших языковых моделей (LLM). В качестве примера автор доклада на глазах слушателей разрабатывает приложение-ассистент для композитора, пишущего музыку для фильмов. 

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

Читать далее

Null-safety в Spring приложении с JSpecify и NullAway

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

Новый перевод от команды Spring АйО расскажет о проблемах, вызываемых неожиданным появлением NullPointerException в продакшен, о способах борьбы с этой проблемой, над которыми работает команда Java и о скором выходе новых решений, которые помогут разработчикам навсегда избавиться от этого кошмара.

Читать далее

Сравнение Dagger 2, Dagger Hilt и Koin

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

В этой статье мне хотелось бы разобрать вопрос, которым часто задаются начинающие и молодые разработчики мобильных приложений под Android. Многие мобильные разработчики слышали о таких широко известных инструментах внедрения зависимостей (DI), как Koin и Dagger. Они решают одну задачу — управление зависимостями, но делают это по-разному. Но в чём же их принципиальная разница, в чём их отличия, их плюсы и минусы, и какой из этих инструментов выбрать при разработке нового проекта (и в зависимости от его сложности и требований)? Обо всём об этом постараюсь кратко изложить далее и дам рекомендации по выбору для новых проектов.

Читать далее

Spring AI научился видеть! Показываю, как заставить GPT находить бананы на картинках

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

Новый перевод от команды Spring АйО расскажет вам о работе с мультимодальностью при работе со Spring AI и о различных вариантах работы с графическими изображениями с использованием искусственного интеллекта.

Читать далее

Как мы готовим российскую Java

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

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

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

JDK можно собрать вручную, но делать это в проде — так себе идея. Вот почему:

Читать далее

Немодальное окно коммита в IntelliJ IDEA: шаг вперёд или спорное нововведение?

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

В свежих обновлениях IntelliJ IDEA разработчики JetBrains внедрили немодальное окно коммита, отказавшись от классического модального диалога. Команда Spring АйО не обошла стороной активное обсуждение среди пользователей, которые разделились на два лагеря: одни приветствуют нововведение, другие считают его неудобным. Разберёмся, какие плюсы и минусы выявили пользователи и что по этому поводу думают представители JetBrains.

Читать далее

Вышла IntelliJ IDEA 2025.1 Beta

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

Новый перевод от команды Spring АйО анонсирует выход IntelliJ IDEA 2025.1 Beta и рассказывает о том, какие изменения присутствуют в новой версии IDE.

Читать далее

Шпаргалка: Kotlin suspend функции

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

Suspend-функции — это специальные функции в Kotlin, предназначенные для работы с корутинами. Они позволяют приостанавливать выполнение кода без блокировки потока, что делает их идеальными для асинхронных операций (например, сетевых запросов, работы с базой данных или долгих вычислений). Ключевое слово suspend указывает компилятору, что функция может быть «приостановлена» и позже возобновлена, не занимая поток исполнения.

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

Пока звучит путанно, но на примерах всё встанет на свои места.

Пример объявления:

Читать далее

За кулисами JIT: Секреты HotSpot JVM C2 компилятора (Часть 2)

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

Новый перевод от команды Spring АйО является продолжением разговора о JIT (Just in Time) компиляции, а также дает представление о различных инструментах, позволяющих работать со скомпилированным кодом, визуализировать его и отлаживать в интерактивной форме. Перед прочтением рекомендуем ознакомиться с первой статьей из цикла статей про JIT.

Во второй части мы рассмотрим:

— Инлайнинг GVN (global value numbering) во время синтаксического анализа (parsing).
— Использование IGV (Ideal Graph Visualizer) и rr (отладчик), чтобы посмотреть на IR и его трансформации.
— Простая “идеализация” 101 * a + 202 * a в 303 * a.
— Упражнения для читателя: несколько дополнительных трансформаций, которые читатель сможет проанализировать.

Читать далее

Заезжаем в Kotlin Multiplatform. Но какой ценой?

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

Привет! Меня зовут Денис, я занимаюсь коммерческим программированием уже более 15 лет, управляю командами с 2017 года, работал в Яндексе, TradingView, Skillbox, Arcadia. В статье вы узнаете историю, как написать целый проект на Kotlin Multiplatform, сколько это стоит и сколько обойдется интеграция с точки зрения цифр.

Этот доклад - текстовая версия моего выступления с осеннего Мобиуса 2024 года. Обязательно приложу видео с выступлением после выхода.

Что в статье?

Coil и Yandex MapKit KMP: рисуем аватарки на карте. Часть 3

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

В этой статье я рассказываю, как интегрировать библиотеку Coil для загрузки и отображения изображений на картах, используя Yandex MapKit KMP Compose. Вы узнаете, как настроить API ключ, использовать экспериментальный API imageProvider и разобраться с особенностями работы на Android и iOS.

Читать далее

Delight SQL Viewer: отладка SQLDelight-базы прямо в приложении

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

Привет! Хочу поделиться инструментом, который значительно упростит жизнь тем, кто использует SQLDelight для работы с базами данных в Kotlin Multiplatform-проектах. Этот инструмент называется Delight SQL Viewer.

Читать далее

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

Spring Now 2025 – Главная конференция про Spring на русском языке

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

6 марта 2025 года состоится бесплатная онлайн-конференция Spring Now 2025

В ней примут участие не только эксперты сообщества Spring АйО, но и приглашенные лидеры индустрии.

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

Читать далее

Что на радаре в Java: программа JPoint 2025

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

Конференцию JPoint мы проводим уже 12 лет. За это время немало оперативки утекло, и актуальные для Java-разработчиков темы ощутимо изменились: например, когда мы всё начинали, ещё толком не было Kotlin. Какие-то понятия можно назвать «вечными» (например, о базах данных говорят из года в год), но и там конкретные темы докладов меняются.

А что будет на новом JPoint в апреле? Какие инструменты и подходы актуальны для разработчиков в 2025-м?

Во-первых, представляем вам программу. Можете изучить краткие описания докладов и понять, интересны ли они вам.

А во-вторых, у нас есть просьба. Чтобы делать программу как можно актуальнее, мы затеяли инициативу TechRadar. Если вы Java-разработчик, по возможности пройдите опрос о том, какими технологиями пользуетесь. Так и доклады получатся максимально соответствующими запросам сообщества, и без результатов опроса вас тоже не оставим — сможем позже все их как следует обсудить!

Читать далее

За каким чертом нам SpringExtension?

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

Новый перевод от команды Spring АйО расскажет вам, что такое SpringExtension, как правильно пользоваться этим расширением и когда его надо (или не надо) регистрировать вручную.

Читать далее

Как правильно мигрировать БД в продакшене с использованием Liquibase и Flyway

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

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

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

Читать далее

За кулисами JIT: Секреты HotSpot JVM C2 компилятора (Часть 1)

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

Новый перевод от команды Spring АйО расскажет вам о разных уровнях JIT (Just in Time) компиляции, о преимуществах такого подхода к компиляции Java приложений по сравнению с традиционным способом, а также покажет на примерах, что происходит при компиляции приложения и какой ассемблерный и машинный код будет сгенерирован при использовании разных опций JIT компиляции.

Читать далее

Пишем свой Config Provider для Kafka Connect с поддержкой значений по умолчанию

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

Для инжекции значений из различных источников в конфигурации тасок Kafka Connect используются различные реализации интерфейса org.apache.kafka.common.config.provider.ConfigProvider. Это специализированный интерфейс, реализации которого отвечают за то, чтобы подставить значения используя различные источники.

Читать далее

Model Context Protocol от Spring AI в Java SDK – новый стандарт для интеграции ИИ в экосистеме Java

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

Новый перевод от команды Spring АйО расскажет вам, что такое Model Context Protocol (MCP) и как его внедрение в экосистему Java упрощает жизнь разработчикам систем, в работе которых используется искусственный интеллект и LLM, а также передача большого количества данных между различными компонентами.

Читать далее