Все потоки
Поиск
Написать публикацию
Обновить
53.53

Kotlin *

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

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

Gradle: Исправление зависимостей в один клик

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

Работаете с Gradle? Dependency Analysis Gradle Plugin помогает не только находить лишние зависимости, но и автоматически исправлять проблемы с ними.

Механизм fixDependencies переписывает скрипты сборки, чтобы они соответствовали реальной структуре проекта. Последние обновления сделали процесс анализа ещё точнее, а работу с Kotlin DSL — проще и надёжнее. Читайте про фикс зависимостей в один клик в новом переводе от команды SpringАйО.

Читать далее

Новый HTTP клиент от Amplicode на Kotlin Script для Spring приложений и не только

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

Команда Amplicode решила реализовать свой собственный HTTP-клиент и пару недель назад, в последнем мажорном релизе 2024-го года, мы его выпустили! 

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

Статья также доступна в формате видео на YouTube, VK Видео и RUTUBE, так что можно и смотреть, и читать — как вам удобнее! 

Читать далее

Вся правда о @Subselect: преимущества, недостатки и альтернативы в Hibernate

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

В современных приложениях иногда возникает необходимость получать данные из сложных запросов и аннотация @Subselect в Hibernate может стать отличным решением. 

В новой статье от эксперта сообщества Spring АйО, Михаила Поливахи, вы узнаете как использовать @Subselect, какие существуют альтернативы и в чём заключаются их преимущества и недостатки.

Читать далее

Dagger 2: как сделать свой DI за 10 минут

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

Привет, меня зовут Иван Курак, я Android-разработчик приложения Ozon Job. Если в первой статье мы разбирали фреймворк Koin, то во второй на наш исследовательский стол попадёт Dagger, который мы используем на большинстве проектов Ozon, в том числе на приложении Ozon Курьер Экспресс, за которое отвечает наш отдел.  Это мобильное приложение, которое позволяет курьерам-фрилансерам и водителям службы доставки взять подработку в Ozon и доставлять экспресс-заказы от селлера напрямую клиенту или в ПВЗ Ozon.

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

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

Эта статья будет полезна тем, кто использует Dagger 2 в своих приложениях и иногда/часто попадает в ситуации непонимания, почему Dagger 2 ведёт себя не так, как мы ожидаем. А это может создавать определённые трудности, особенно при отладке сложных проблем или при необходимости настройки более сложных сценариев внедрения зависимостей.

Например, в приложении Ozon Курьер Экспресс ведутся большие работы по переписыванию приложения на новую архитектуру. Поэтому рядом с существующей DI-архитектурой появилась вторая DI-архитектура.  Чтобы их подружить, пришлось покопаться во внутренностях кода, что генерирует Dagger 2.

Дополнительная (но не менее важная) цель статьи — показать, что базовый код, который генерирует Dagger, не такой уж и страшный :).

Читать далее

Создаём CRUD REST API в Spring Boot быстро и просто вместе с Amplicode

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

Не так давно на нашем канале вышло видео, в котором Георгий Власов рассказывал, как с помощью Amplicode можно сгенерировать CRUD Rest Controller сразу со всеми необходимыми методами.  

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

Команда Amplicode это прекрасно понимает и по этой причине в нашем инструменте есть возможность создавать как отдельные CRUD методы для контроллера, так и возможность делегировать методы в контроллер из уже существующих бинов. Благодаря этим фичам разработка API становится одной из простейших и приятнейших  задач.    

Давайте посмотрим как эти фичи выглядят на практике!

Читать далее

Всё, что нужно знать об Android 15: архивирование, защита данных и новые API

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

Android 15 ворвался в наши жизни с новым усилением безопасности и удобством разработки. Сёрфер Полина, Android-разработчик в Surf, всё посмотрела, попробовала, проанализировала и теперь расскажет, что же там такого интересного. 

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

Как мы обновляли продакшн до Spring Boot 3

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

В уже уходящем 2024 году мне удалось побывать на конференции JPoint, которая проходила в апреле. В числе прочего там активно обсуждалась тема обновления проектов на Spring Boot 3. Однако из тех, кого мне удалось послушать, и с кем пообщаться, ни у кого не было реального опыта такого обновления. Опасения в первую очередь были связаны с Hibernate 6, который сильно изменился по сравнению с предыдущей пятой версией.

Как я уже позже выяснил на собственном опыте, опасались не зря. Именно из-за изменений в поведении Hibernate мы получили аварию на проде: наша база начала грузить CPU под 100%. Это была самая серьёзная, но далеко не единственная проблема, с которой пришлось столкнуться. Далее опишу в деталях, что, как делали и какие проблемы поймали.

Читать далее

Открытая IDE для российских разработчиков

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

Компания Haulmont совместно с Группой Астра и Axiom JDK создает некоммерческое партнерство для развития открытой российской среды разработки – OpenIDE.

Все три компании имеют огромный опыт в создании популярных продуктов для разработчиков и мы верим, что сможем сделать качественный продукт. Мы не планируем изобретать велосипед и будем использовать в качестве основы популярную среду с открытым кодом IntelliJ IDEA Community Edition.

Почему это хорошая новость для российских разработчиков? Чем это отличается от самой IntelliJ IDEA CE или уже существующей российской GigaIDE? Какие языки будут поддерживаться? Что со Spring? Когда релиз? Читайте под катом.

Читать далее

Как жить без IntelliJ IDEA? Часть №4. Database Client

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

В новой статье из цикла «Как жить без IntelliJ IDEA» команда Spring АйО изучила альтернативы DB‑клиенту от JetBrains, входящему в состав Ultimate и полюбившемуся многим разработчикам.

Мы также постарались выяснить, насколько альтернативные инструменты удобны и эффективны на практике.

Читать далее

Junior of IntelliJ IDEA

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

IntelliJ IDEA имеет богатый функционал, однако, как и в любом другом программном обеспечении, существуют маленькие хитрости и трюки, которые могут сделать работу с этим инструментом ещё более приятной и эффективной. В этой статье мы рассмотрим несколько таких функций, которые помогут раскрыть весь потенциал IntelliJ IDEA и улучшить свой рабочий процесс.

Читать далее

Отбираем хлеб у нативных разработчиков: миграция с Kotlin/Swift на RN

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

Меня зовут Александр Чернов, я фронтенд-разработчик в KODE и я использую React Native в разработке мобильных приложений уже более семи лет. Сейчас расскажу вам, как мы у нативных разработчиков хлеб отбирали.

Читать, как «перевозили» приложение

Горькая правда о программировании с использованием ИИ

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

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

Такой «парадокс знаний» подчеркивает, что ИИ скорее дополняет скиллы опытных специалистов, чем делает разработку доступной для всех. Новичкам же важно воспринимать ИИ как инструмент обучения, но никак не замену знаниям и опыту. Так ли это? 

Подробности в новом переводе от команды Spring АйО.

Читать далее

Стажировка в банке: идеальный старт для айтишников

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

Почему стажировка в финтехе — это правильный выбор? Давайте говорить откровенно: финтех — это про инновации, масштабные задачи и реальные вызовы. В ОТП Банке мы понимаем, что поколение Z ищет не просто работу, а проекты, где можно прокачивать свои скиллы и ощущать, что твой код реально меняет что-то в этом мире. Наша стажировка — это входной билет в мир, где программирование встречается с бизнес-целями, а технические решения помогают миллионам пользователей. Привет, Хабр! В этой статье расскажу, что мы предлагаем в новом отборе на программу стажировок.

1. Проекты с реальным импактом

Забудь про учебные песочницы. У нас ты будешь участвовать в разработке настоящих продуктов: от улучшения пользовательского интерфейса мобильного приложения до оптимизации backend-систем. Хочешь поработать с big data или заняться автоматизацией процессов? У нас для тебя есть задачи на любой вкус.

Читать далее

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

Расширение Spring Data репозиториев стало ещё проще

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

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

В новом переводе от команды Spring АйО вы узнаете, как разработать расширения, которые подойдут для множества проектов, без привязки к конкретному доменному типу.

Читать далее

Concurrency в Spring Boot приложениях: как сделать правильный выбор

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

Команда Spring АйО перевела и адаптировала доклад «Concurrency in Spring Boot Applications: Making the Right Choice» Андрея Шакирина с последнего Devoxx Belgium. 

В докладе автор рассказал про различные подходы по работе с concurrency в целом, а также именно в Spring Boot приложения.

Читать далее

Mark–Scavenge: ждем, пока мусор выбросит себя сам

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

Исследователи из Oracle и Уппсальского университета представила новый алгоритм сборки мусора — Mark–Scavenge. Он решает проблему избыточной работы, которая возникает при использовании доступности объекта как прокси для оценки его "живучести".

Команда Spring АйО перевела статью, в которой можно подробнее ознакомиться с подробностями работы нового алгоритма.

Читать далее

Что нового в IntelliJ IDEA 2024.3

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

Недавно вышла новая версия IntelliJ IDEA 2024.3, в которой появилось довольно много новых фич. Команда Amplicode подготовила обзор основных возможностей IDE.

Читать далее

Что нового в Amplicode 2024.3

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

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

* Поддержка Spring Data JDBC 

* Рекомендательная система плагинов 

* HTTP Client 

Читать далее

Как жить без IntelliJ IDEA? Часть №3. HTTP Client

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

В предыдущей статье "Как жить без IntelliJ IDEA" мы разбирали, какие есть альтернативы Ultimate в части поддержки Spring.

В этой части команда Spring АйО исследует, чем можно заменить встроенный HTTP-клиент JetBrains, за что его так любят разработчики и какие инструменты могут стать достойной альтернативой.

Читать далее

От Kotlin до машинного кода

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

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

Читать далее