Материалы Spring Academy Pro стали доступны бесплатно
Доступ можно получить по этой ссылке. Материалы разбиты на 3 категории: руководства, курсы и траектория обучения.
https://spring.io/blog/2024/04/10/spring-academy-pro-content-now-free-to-access
Доступ можно получить по этой ссылке. Материалы разбиты на 3 категории: руководства, курсы и траектория обучения.
https://spring.io/blog/2024/04/10/spring-academy-pro-content-now-free-to-access
Spring Academy Pro Content Now Free To Access
Level up your Java code and explore what Spring can do for you.
Spring Boot Starter: практически, принципиально и подробнее. Часть 1
Одно из преимуществ микросервисной архитектуры в модульности ее компонентов. Общее решение, вынесенное за скобки, можно переиспользовать как внутри разрабатываемого проекта, так и в следующих сервисах с аналогичным стеком. А механизмы Spring Boot помогут создать общий компонент, настроить и легко интегрировать его.
А что можно выделить в отдельное решение? Присмотритесь к своему проекту. Наверняка во многих частях задействованы кастомные аннотации и их обработчики, модули безопасности, различные интерцепторы, валидаторы, средства мониторинга и трассировки. Любое решение, используемое в двух и более микросервисах, — отличный кандидат на выделение в самостоятельный компонент.
https://habr.com/ru/companies/ru_mts/articles/811693/
Одно из преимуществ микросервисной архитектуры в модульности ее компонентов. Общее решение, вынесенное за скобки, можно переиспользовать как внутри разрабатываемого проекта, так и в следующих сервисах с аналогичным стеком. А механизмы Spring Boot помогут создать общий компонент, настроить и легко интегрировать его.
А что можно выделить в отдельное решение? Присмотритесь к своему проекту. Наверняка во многих частях задействованы кастомные аннотации и их обработчики, модули безопасности, различные интерцепторы, валидаторы, средства мониторинга и трассировки. Любое решение, используемое в двух и более микросервисах, — отличный кандидат на выделение в самостоятельный компонент.
https://habr.com/ru/companies/ru_mts/articles/811693/
Хабр
Spring Boot Starter: практически, принципиально и подробнее. Часть 1
Всем привет, меня зовут Сергей Соловых, я Java-разработчик в команде МТС Digital. За последние 2 года я написал и выпустил в продакшен более 30 микросервисов. Выдержать столь высокий темп помогло...
Появился новый канал с аудио обзорами различных материалов и событий из мира IT.
Если вам интересен такой формат, то накидайте «огоньков» ))
https://tttttt.me/java_guru_podcast
Если вам интересен такой формат, то накидайте «огоньков» ))
https://tttttt.me/java_guru_podcast
Telegram
Java guru podcast
Аудио обзоры различных материалов и событий из мира IT. Для связи @RodmanDV
Как начать писать на Java в VSCode
Я достаточно давно пользуюсь JetBrains IntelliJ IDEA хотя начинал свой путь в Java на Eclipse IDE. После перехода на JetBrains IntelliJ IDEA об альтернативах я особо не задумывался. IDE достаточно комфортная.
В статье автор делится опытом подготовки среды разработки и изучения вопроса: «А можно ли перейти на VSCode?».
https://habr.com/ru/companies/cdek_blog/articles/811631/
Я достаточно давно пользуюсь JetBrains IntelliJ IDEA хотя начинал свой путь в Java на Eclipse IDE. После перехода на JetBrains IntelliJ IDEA об альтернативах я особо не задумывался. IDE достаточно комфортная.
В статье автор делится опытом подготовки среды разработки и изучения вопроса: «А можно ли перейти на VSCode?».
https://habr.com/ru/companies/cdek_blog/articles/811631/
Хабр
Как начать писать на Java в VSCode
Давайте признаемся: подавляющее большинство пишет Java код, используя JetBrains IntelliJ IDEA Ultimate. Да, это отличная IDE. Для нее есть большое количество расширений, среда очень тесно...
Compiler Explorer — уникальный проект для исследования компилируемого кода
Это просто космический инструмент да еще и open source!!!
В левой панели вы выбираете язык и вставляете кусок кода, а в правой он показывает вам ассемблерный код, генерируемый разными компиляторами под разные архитектуры процессоров. Проект поддерживает 69 языков и Java в том числе.
Этот проект можно также использовать как отличный инструмент для изучения языка ассемблера. Достаточно навести курсор на команду, после чего откроется всплывающее окно с описанием команды. При нажатии правой клавишей мыши на команду открывается меню, в котором можно изучить более подробное описание.
В конце статьи особенно порадовал Movfuscator. Он использует только MOV ))
https://habr.com/ru/companies/ruvds/articles/815675/
Это просто космический инструмент да еще и open source!!!
В левой панели вы выбираете язык и вставляете кусок кода, а в правой он показывает вам ассемблерный код, генерируемый разными компиляторами под разные архитектуры процессоров. Проект поддерживает 69 языков и Java в том числе.
Этот проект можно также использовать как отличный инструмент для изучения языка ассемблера. Достаточно навести курсор на команду, после чего откроется всплывающее окно с описанием команды. При нажатии правой клавишей мыши на команду открывается меню, в котором можно изучить более подробное описание.
В конце статьи особенно порадовал Movfuscator. Он использует только MOV ))
https://habr.com/ru/companies/ruvds/articles/815675/
Хабр
Compiler Explorer — уникальный проект для исследования компилируемого кода
Этот пост посвящён замечательному инструменту, полезному для каждого, кто интересуется компиляторами или архитектурой компьютеров. Это Compiler Explorer , который я в дальнейшем будут называть CE. CE...
Гарвардский курс по основам программирования CS50 (бесплатно)
Отличный курс по основам программирования. Можно быстро освежить базу. Особенно рекомендую новичкам.
https://youtube.com/playlist?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5&si=ET3P_dbNTmHABDPx
Отличный курс по основам программирования. Можно быстро освежить базу. Особенно рекомендую новичкам.
https://youtube.com/playlist?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5&si=ET3P_dbNTmHABDPx
Practice SQL - сайт для практики SQL запросов.
Навык работы с базами данных очень важен для разработчиков. Прелесть данного сайта в том, что вам не нужно самим заниматься разворачиванием тестовой базы. Достаточно открыть браузер. Также, в отличии от тестов, здесь вам нужно будет реально набирать и выполнять SQL, а это лучше запоминается.
https://www.sql-practice.com/
Навык работы с базами данных очень важен для разработчиков. Прелесть данного сайта в том, что вам не нужно самим заниматься разворачиванием тестовой базы. Достаточно открыть браузер. Также, в отличии от тестов, здесь вам нужно будет реально набирать и выполнять SQL, а это лучше запоминается.
https://www.sql-practice.com/
Sql-Practice
Learn SQL - Online SQL Terminal - Practice SQL Querys
Practice SQL querys with an online terminal. Solve SQL query questions using a practice database. Learn and improve your SQL skills.
Coding game
Coding game - сайт для прокачки навыков программирования на 25+ языках. Можно писать и на Java. Вы получаете задачи и решаете их в игровой форме. Оформление впечатляет )
https://www.codingame.com/start/
Coding game - сайт для прокачки навыков программирования на 25+ языках. Можно писать и на Java. Вы получаете задачи и решаете их в игровой форме. Оформление впечатляет )
https://www.codingame.com/start/
CodinGame
Coding Games and Programming Challenges to Code Better
CodinGame is a challenge-based training platform for programmers where you can play with the hottest programming topics. Solve games, code AI bots, learn from your peers, have fun.
Криптография на службе у stateless
Команда Мир Plat.Form под интересным углом посмотрела на архитектуру решения stateless сервиса. Вместо хранения состояния на стороне сервиса они решили передавать его в каждом запросе, а для защиты от подмены использовать контрольные суммы сообщения (HMAC). У решения есть свои плюсы и минусы. Больше деталей в статье.
https://habr.com/ru/companies/nspk/articles/808199/
Команда Мир Plat.Form под интересным углом посмотрела на архитектуру решения stateless сервиса. Вместо хранения состояния на стороне сервиса они решили передавать его в каждом запросе, а для защиты от подмены использовать контрольные суммы сообщения (HMAC). У решения есть свои плюсы и минусы. Больше деталей в статье.
https://habr.com/ru/companies/nspk/articles/808199/
Хабр
Криптография на службе у stateless
Всем привет! Я – Кирилл, и я работаю в команде Мир Plat.Form. В какой-то момент мы столкнулись с ситуацией, где изначально спроектированная система начинает требовать много ресурсов с увеличением...
Генерация OpenAPI из Spring Boot MVC
При работе с OpenAPI есть свои «подводные камни». Некоторые из них описаны в этой статье. В примере используется Spring Boot 3 и OpenAPI 3.
https://habr.com/ru/articles/814061/
При работе с OpenAPI есть свои «подводные камни». Некоторые из них описаны в этой статье. В примере используется Spring Boot 3 и OpenAPI 3.
https://habr.com/ru/articles/814061/
Хабр
Генерация OpenAPI из Spring Boot MVC
Код проекта можно посмотреть здесь . Для генерации будем использовать зависимость springdoc-openapi-starter-webmvc-ui . Библиотека поддерживает: OpenAPI 3 Spring Boot V3 (для V2 используется другая...
Рецепты «приготовления» Hibernate, или решаем 5 проблем работы с фреймворком
Hibernate — очень мощный фреймворк. Однако многие, начиная с ним работать, натыкаются на проблемы производительности или отсутствия нужной функциональности. Многие из этих проблем появляются просто из-за того, что разработчики не умеют его «готовить».
Подборка решений достаточно интересная в статье.
https://habr.com/ru/companies/magnit/articles/814573/
Hibernate — очень мощный фреймворк. Однако многие, начиная с ним работать, натыкаются на проблемы производительности или отсутствия нужной функциональности. Многие из этих проблем появляются просто из-за того, что разработчики не умеют его «готовить».
Подборка решений достаточно интересная в статье.
https://habr.com/ru/companies/magnit/articles/814573/
Хабр
Рецепты «приготовления» Hibernate, или решаем 5 проблем работы с фреймворком
Hibernate — очень мощный и функциональный ORM (Object-Relational Mapping) фреймворк. Он связывает базы данных с помощью объектно-ориентированных языков программирования. Однако многие, начиная с ним...
Гайд по использованию JUnit 5, Mockito и AssertJ для проверки поведения кода
В статье показано как использовать JUnit, Mockito и AssertJ для тестирования кода, а также JaCoCo для оценки покрытия тестами на примере простого мини-сервиса.
https://habr.com/ru/companies/banki/articles/814485/
В статье показано как использовать JUnit, Mockito и AssertJ для тестирования кода, а также JaCoCo для оценки покрытия тестами на примере простого мини-сервиса.
https://habr.com/ru/companies/banki/articles/814485/
Хабр
Гайд по использованию JUnit 5, Mockito и AssertJ для проверки поведения кода
Меня зовут Игорь Симаков, я тимлид Java-разработки в команде Маркетплейс Банки.ру. Сегодня на практическом примере разберу использование UNIT-тестирования. Оно применяется как для тестирования...
Быстрее, выше, сильнее: оптимизируем Spring-контекст для тестов
В статье обсуждаются доступные способы оптимизации Spring-контекста для тестов. Помимо подхода с сегментацией (test slicing) там также есть примеры более тонкой настройки.
В комментариях к статье также порадовал пример с иерархией контекстов.
https://habr.com/ru/companies/tbank/articles/816051/
В статье обсуждаются доступные способы оптимизации Spring-контекста для тестов. Помимо подхода с сегментацией (test slicing) там также есть примеры более тонкой настройки.
В комментариях к статье также порадовал пример с иерархией контекстов.
https://habr.com/ru/companies/tbank/articles/816051/
Хабр
Быстрее, выше, сильнее: оптимизируем Spring-контекст для тестов
Всем привет! Я Юнес, SDET в Тинькофф. Помогаю автоматизаторам создавать более эффективные и надежные тесты, готовить тестовые данные и настраивать CI/CD-пайплайны. Расскажу о доступных способах...
Особое мнение: смотрим на нагрузочные тесты как на функциональные
Многие команды сейчас переходят на Gatling для задач нагрузочного тестирования. В статье приводится пример не просто использования Apache JMeter для нагрузочного тестирования, а построение «непрерывного нагрузочного тестирования» в рамках CI/CD. Стек TestNG / Cucumber / Allure, для задач CI/CD используется Jenkins. В комментариях к статье автору предлагают еще использовать JMeter DSL. Тоже достаточно интересный кейс.
https://habr.com/ru/companies/nspk/articles/709822/
Многие команды сейчас переходят на Gatling для задач нагрузочного тестирования. В статье приводится пример не просто использования Apache JMeter для нагрузочного тестирования, а построение «непрерывного нагрузочного тестирования» в рамках CI/CD. Стек TestNG / Cucumber / Allure, для задач CI/CD используется Jenkins. В комментариях к статье автору предлагают еще использовать JMeter DSL. Тоже достаточно интересный кейс.
https://habr.com/ru/companies/nspk/articles/709822/
Хабр
Особое мнение: смотрим на нагрузочные тесты как на функциональные
Photo by Dominik Van Opdenbosch on Unsplash Всем привет! В команде Мир Plat.Form я занимаюсь системами сертификации эмиссии – наш отдел разрабатывает программные продукты для внутренних и внешних...
Gatling vs JMeter DSL
В продолжение темы из прошлого поста. По ссылке сравнение Gatling и JMeter DSL от автора JMeter DSL. Оно достаточно субъективно, но дает понимание мотивации автора на создание JMeter DSL. По факту у Gatling только в версии 3.7 появился Java friendly API. Остальные минусы указанные в статье думаю Gatling быстро нагонит, но попробовать JMeter DSL стоит особенно если вы раньше много работали с JMeter.
https://abstracta.github.io/jmeter-java-dsl/motivation/#comparison-table
В продолжение темы из прошлого поста. По ссылке сравнение Gatling и JMeter DSL от автора JMeter DSL. Оно достаточно субъективно, но дает понимание мотивации автора на создание JMeter DSL. По факту у Gatling только в версии 3.7 появился Java friendly API. Остальные минусы указанные в статье думаю Gatling быстро нагонит, но попробовать JMeter DSL стоит особенно если вы раньше много работали с JMeter.
https://abstracta.github.io/jmeter-java-dsl/motivation/#comparison-table
abstracta.github.io
Motivation | jmeter-java-dsl
Simple JMeter performance tests API
Как протестировать логику консьюмеров и продюсеров и не сгореть? Spring Boot 3, Spring Kafka
В статье автор перебирает разные подходы к тестированию продюсеров и консьюмеров. В конце довольно интересное решение с использованием
В статье автор перебирает разные подходы к тестированию продюсеров и консьюмеров. В конце довольно интересное решение с использованием
autoStartup на @KafkaListener. Хотя как отмечено в комментариях к статье он мог бы проще добиться цели вынеся логику из консьюмеров и продюсеров в отдельные сервисы )
https://habr.com/ru/companies/alfastrah/articles/816057/
Хабр
Как протестировать логику консьюмеров и продюсеров и не сгореть? Spring Boot 3, Spring Kafka
Всем привет. Решил поделиться опытом тестирования логики консьюмеров и продюсеров в стандартном Spring Boot приложении. Я несколько раз подходил к этой задаче с различными вариантами и находил разные...
Hazelcast: эксперименты с настройкой и долговременным хранением больших объектов in-memory
Статья будет полезна для тех, кто поддерживает приложения на Java, так как большая ее часть посвящена анализу работы G1 GC, знакомству с соответствующими инструментами и особенностями тюнинга GC, в частности для очень больших heap`ов. А также тем, кто пытается разобраться, на что способен Hazelcast, и для чего его можно применить.
https://habr.com/ru/companies/croc/articles/816973/
Статья будет полезна для тех, кто поддерживает приложения на Java, так как большая ее часть посвящена анализу работы G1 GC, знакомству с соответствующими инструментами и особенностями тюнинга GC, в частности для очень больших heap`ов. А также тем, кто пытается разобраться, на что способен Hazelcast, и для чего его можно применить.
https://habr.com/ru/companies/croc/articles/816973/
Хабр
Hazelcast: эксперименты с настройкой и долговременным хранением больших объектов in-memory
Статья будет полезна для тех, кто поддерживает приложения на Java, так как большая ее часть посвящена анализу работы G1 GC, знакомству с соответствующими инструментами и особенностями тюнинга GC, в...
Amplicode: учим IDE говорить на языке фреймворка
Довольно интересная альтернатива IntelliJ IDEA Ultimate. По факту это довольно прокаченный плагин к IntelliJ IDEA Community, который пока доступен бесплатно. Напрягает правда неопределенность с планами по монетизации этого плагина.
https://habr.com/ru/companies/haulmont/articles/814207/
Довольно интересная альтернатива IntelliJ IDEA Ultimate. По факту это довольно прокаченный плагин к IntelliJ IDEA Community, который пока доступен бесплатно. Напрягает правда неопределенность с планами по монетизации этого плагина.
https://habr.com/ru/companies/haulmont/articles/814207/
Хабр
Amplicode: учим IDE говорить на языке фреймворка
Вы когда-нибудь задумывались, как много кода, который мы пишем, предназначено именно для решения поставленных задач? Казалось бы, странный вопрос: зачем писать код, который не нужен? Но давайте...
Azul CEO sees Java’s AI future as bright
Интересное интервью от CEO компании Azul. Я разделю его точку зрения относительно того, что в ближайшее время Java начнет играть более значимую роль на поприще AI. Сейчас при упоминании AI первый язык приходящий в голову - Python, но он по большей части лишь «обертка» над AI логикой в нативных библиотеках. По мере роста потребности бизнеса в интеграции AI в существующие корпоративные приложения и более быстрого развития AI движков будет появляться все больше возможностей в самой Java и ее экосистеме.
https://www.infoworld.com/article/3715467/azul-ceo-sees-javas-ai-future-as-bright.html#tk.rss_java
Интересное интервью от CEO компании Azul. Я разделю его точку зрения относительно того, что в ближайшее время Java начнет играть более значимую роль на поприще AI. Сейчас при упоминании AI первый язык приходящий в голову - Python, но он по большей части лишь «обертка» над AI логикой в нативных библиотеках. По мере роста потребности бизнеса в интеграции AI в существующие корпоративные приложения и более быстрого развития AI движков будет появляться все больше возможностей в самой Java и ее экосистеме.
https://www.infoworld.com/article/3715467/azul-ceo-sees-javas-ai-future-as-bright.html#tk.rss_java
InfoWorld
Azul CEO sees Java’s AI future as bright
Exec Scott Sellers says Java will eventually compete with Python in the AI space, and says removing sun.misc.Unsafe from Java is long overdue.