Checkstyle — это инструмент разработки, помогающий программистам писать код Java, соответствующий стандарту кодирования.
https://github.com/checkstyle/checkstyle
https://github.com/checkstyle/checkstyle
GitHub
GitHub - checkstyle/checkstyle: Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard.…
Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly co...
Строка в массив в Java — как преобразовать строки в массивы
Эта статья познакомит вас с различными методами Java для преобразования строк в массивы. При рассмотрении нескольких стратегий мы обсудим их синтаксис, применение, преимущества и недостатки. Знание того, как использовать эти методы, позволит вам выбрать тот, который лучше всего соответствует вашим требованиям к программированию.
https://www.freecodecamp.org/news/string-to-array-in-java-how-to-convert-a-string-to-an-array-in-java/
Эта статья познакомит вас с различными методами Java для преобразования строк в массивы. При рассмотрении нескольких стратегий мы обсудим их синтаксис, применение, преимущества и недостатки. Знание того, как использовать эти методы, позволит вам выбрать тот, который лучше всего соответствует вашим требованиям к программированию.
https://www.freecodecamp.org/news/string-to-array-in-java-how-to-convert-a-string-to-an-array-in-java/
Распараллелить цикл for в Java
Иногда нам может понадобиться обработать большое количество элементов в цикле for . Выполнение этого последовательно может занять много времени и привести к недостаточному использованию системы.
В этом руководстве мы изучим различные способы распараллеливания цикла for в Java для повышения производительности приложения в таких случаях. https://www.baeldung.com/java-for-loop-parallel
Иногда нам может понадобиться обработать большое количество элементов в цикле for . Выполнение этого последовательно может занять много времени и привести к недостаточному использованию системы.
В этом руководстве мы изучим различные способы распараллеливания цикла for в Java для повышения производительности приложения в таких случаях. https://www.baeldung.com/java-for-loop-parallel
Baeldung
Parallelize for Loop in Java | Baeldung
Learn different ways to parallelize a for loop in Java.
👍1
Потоковая обработка данных с помощью Kafka Streams: архитектура и ключевые концепции.
При реализации потоковой обработки и анализа данных может возникнуть необходимость агрегирования записей для объединения нескольких независимых поток данных или обогащения какой-либо модели данных. Для этой цели может использоваться Kafka Streams, которая позволяет выполнять обработку данных в режиме реального времени.
В этой статье мы рассмотрим основные компоненты Kafka Streams и теоретические аспекты их использования. Мы будем использовать последние версии технологий, доступных на сегодня: Kafka 3.4.0 и Java 17 в качестве языка программированию. Для снижения входного порога мы будем использовать только нативные возможности Kafka и Kafka Streams, и не будем рассматривать решения с использованием различных фреймворков вроде Spring.
Читать далее https://habr.com/ru/articles/747658/
При реализации потоковой обработки и анализа данных может возникнуть необходимость агрегирования записей для объединения нескольких независимых поток данных или обогащения какой-либо модели данных. Для этой цели может использоваться Kafka Streams, которая позволяет выполнять обработку данных в режиме реального времени.
В этой статье мы рассмотрим основные компоненты Kafka Streams и теоретические аспекты их использования. Мы будем использовать последние версии технологий, доступных на сегодня: Kafka 3.4.0 и Java 17 в качестве языка программированию. Для снижения входного порога мы будем использовать только нативные возможности Kafka и Kafka Streams, и не будем рассматривать решения с использованием различных фреймворков вроде Spring.
Читать далее https://habr.com/ru/articles/747658/
Хабр
Потоковая обработка данных с помощью Kafka Streams: архитектура и ключевые концепции
При реализации потоковой обработки и анализа данных может возникнуть необходимость агрегирования записей для объединения нескольких независимых поток данных или обогащения какой-либо модели данных....
Прожарка java.lang.String.
Давайте абьюзить баг в java.lang.String, который позволит делать очень странные строки. Мы сделаем "Hello World", который не начинается с "Hello" и покажем, что не все пустые строки равны между собой. Научимся прожаривать строки в чужих классах.
Читать далее. https://habr.com/ru/companies/bar/articles/747528/
Давайте абьюзить баг в java.lang.String, который позволит делать очень странные строки. Мы сделаем "Hello World", который не начинается с "Hello" и покажем, что не все пустые строки равны между собой. Научимся прожаривать строки в чужих классах.
Читать далее. https://habr.com/ru/companies/bar/articles/747528/
Хабр
Прожарка java.lang.String
Давайте абьюзить баг в java.lang.String , который позволит делать очень странные строки. Мы сделаем "Hello World", который не начинается с "Hello" и покажем, что не все пустые строки...
Интерактивное руководство по изучению Java
Пошаговое руководство, как стать Java-разработчиком в 2023 году
https://roadmap.sh/java
Пошаговое руководство, как стать Java-разработчиком в 2023 году
https://roadmap.sh/java
roadmap.sh
Learn to become a modern Java developer
Community driven, articles, resources, guides, interview questions, quizzes for java development. Learn to become a modern Java developer by following the steps, skills, resources and guides listed in this roadmap.
Могут ли потоки заменить циклы в Java?
Выпуск Java 8 стал знаменательным событием в истории Java. Были введены потоки и лямбда-выражения, и теперь они широко используются. Если вы не знаете о Streams или никогда о нем не слышали, ничего страшного. В большинстве случаев циклы удовлетворят ваши потребности, и у вас не возникнет проблем без потоков.
Тогда зачем нам Streams? Могут ли они заменить или иметь преимущества перед циклами? В этой статье мы рассмотрим код, сравним производительность и посмотрим, насколько хороши потоки в качестве замены циклов. https://medium.com/better-programming/can-streams-replace-loops-in-java-f56d4461743a
Выпуск Java 8 стал знаменательным событием в истории Java. Были введены потоки и лямбда-выражения, и теперь они широко используются. Если вы не знаете о Streams или никогда о нем не слышали, ничего страшного. В большинстве случаев циклы удовлетворят ваши потребности, и у вас не возникнет проблем без потоков.
Тогда зачем нам Streams? Могут ли они заменить или иметь преимущества перед циклами? В этой статье мы рассмотрим код, сравним производительность и посмотрим, насколько хороши потоки в качестве замены циклов. https://medium.com/better-programming/can-streams-replace-loops-in-java-f56d4461743a
Medium
Can Streams Replace Loops in Java?
Code readability, performance, and limitations of Streams
Forwarded from Тестирование
Как эффективно тестировать зависящий от времени код: стратегии Unit и Spring
Изучите стратегии надежного тестирования кода, зависящего от времени, в том числе методы уменьшения ненадежности тестов и обеспечения точного управления временем в наборах тестов.
Этот пост раскрывает основную причину проблемы и, как мы увидим, представляет простое решение, которое в то же время позволяет нам писать более надежные тесты и лучше контролировать аспекты, связанные со временем, в наших приложениях Java.
https://jonasg.io/posts/how-to-effectively-test-time-dependent-code/
Изучите стратегии надежного тестирования кода, зависящего от времени, в том числе методы уменьшения ненадежности тестов и обеспечения точного управления временем в наборах тестов.
Этот пост раскрывает основную причину проблемы и, как мы увидим, представляет простое решение, которое в то же время позволяет нам писать более надежные тесты и лучше контролировать аспекты, связанные со временем, в наших приложениях Java.
https://jonasg.io/posts/how-to-effectively-test-time-dependent-code/
Spring WebFlux — одна из самых популярных сред для реактивного программирования на Java. Вот практический обзор использования WebFlux с Reactor.
https://www.infoworld.com/article/3702629/reactive-java-with-spring-webflux-and-reactor.html#tk.rss_java
В этом руководстве мы углубимся в процесс форматирования данных JSON в Java, чтобы улучшить его читабельность.
https://www.baeldung.com/java-json-pretty-print
https://www.infoworld.com/article/3702629/reactive-java-with-spring-webflux-and-reactor.html#tk.rss_java
В этом руководстве мы углубимся в процесс форматирования данных JSON в Java, чтобы улучшить его читабельность.
https://www.baeldung.com/java-json-pretty-print
InfoWorld
Reactive Java with Spring WebFlux and Reactor
Spring WebFlux is one of the most popular frameworks for reactive programming in Java. Here's a hands-on look at using WebFlux with Reactor.
В этой статье мы рассмотрим JeroMQ , чистую реализацию ZeroMQ на Java . Посмотрим, что это такое и что он может сделать для нас в наших приложениях.
ZeroMQ — это инфраструктура обмена сообщениями, которая не требует настройки каких-либо реальных инфраструктурных сервисов.
https://www.baeldung.com/java-jeromq-zeromq
ZeroMQ — это инфраструктура обмена сообщениями, которая не требует настройки каких-либо реальных инфраструктурных сервисов.
https://www.baeldung.com/java-jeromq-zeromq
Baeldung
Introduction to JeroMQ | Baeldung
A quick and practical guide to JeroMQ, a pure Java implementation of ZeroMQ.
JetBrains запускает платформу качества кода Qodana
Qodana — единственная на рынке платформа для обеспечения качества кода, которая использует проверки, встроенные в IDE JetBrains, и распространяет интеллектуальные возможности этих IDE на сервер CI. https://www.developer-tech.com/news/2023/jul/20/jetbrains-launches-code-quality-platform-qodana/
Qodana — единственная на рынке платформа для обеспечения качества кода, которая использует проверки, встроенные в IDE JetBrains, и распространяет интеллектуальные возможности этих IDE на сервер CI. https://www.developer-tech.com/news/2023/jul/20/jetbrains-launches-code-quality-platform-qodana/
Вам действительно нужны классы сущностей?
Сущности скучны, без них иногда можно сэкономить время
https://medium.com/better-programming/do-you-really-need-entity-classes-d9656534ea82
Сущности скучны, без них иногда можно сэкономить время
https://medium.com/better-programming/do-you-really-need-entity-classes-d9656534ea82
Что нового в IntelliJ IDEA 2023.2
IntelliJ IDEA 2023.2 представляет AI Assistant, чтобы улучшить вашу разработку с набором функций на основе AI. https://www.jetbrains.com/idea/whatsnew/
IntelliJ IDEA 2023.2 представляет AI Assistant, чтобы улучшить вашу разработку с набором функций на основе AI. https://www.jetbrains.com/idea/whatsnew/
JetBrains
What's New in IntelliJ IDEA
Explore IntelliJ IDEA's latest features and updates to elevate your professional Java and Kotlin development experience.
Работа со Spring boot и Apache Kafka
В современном быстро меняющемся мире компании должны быть гибкими и реагировать на меняющиеся тенденции рынка и требования клиентов. Именно здесь появляются Spring Boot и Apache Kafka, поскольку они обеспечивают мощную комбинацию для создания масштабируемых приложений в реальном времени. https://medium.com/@sergeomoffo1/working-with-spring-boot-and-apache-kafka-430877d4795d
В современном быстро меняющемся мире компании должны быть гибкими и реагировать на меняющиеся тенденции рынка и требования клиентов. Именно здесь появляются Spring Boot и Apache Kafka, поскольку они обеспечивают мощную комбинацию для создания масштабируемых приложений в реальном времени. https://medium.com/@sergeomoffo1/working-with-spring-boot-and-apache-kafka-430877d4795d
Структуры данных массива (серия из 4 частей)
1) Структура данных массива: с эскизами и примерами
2) Сильные и слабые стороны массива, алгоритмы вставки и удаления с помощью Big-O
3) Как построить структуру данных, подобную массиву?
4) Сравнение динамических массивов и традиционных массивов с иллюстрациями и примерами
1) Структура данных массива: с эскизами и примерами
2) Сильные и слабые стороны массива, алгоритмы вставки и удаления с помощью Big-O
3) Как построить структуру данных, подобную массиву?
4) Сравнение динамических массивов и традиционных массивов с иллюстрациями и примерами
DEV Community
Array Data Structure: With Sketches and Examples
Introduction Arrays are built in most programming languages. They are the most fundamental...
Разница между загрузкой и инициализацией классов в Java на любопытном примере.
Привет, сегодняшняя статья будет о некоторых тонкостях загрузки и инициализации классов и немного о производительности (совсем чуть-чуть и в самом конце).
Поводом для написания статьи стал вопрос на StackOverflow. Откройте, но не торопитесь читать ответ ;)
Читать дальше → https://habr.com/ru/articles/740156
Привет, сегодняшняя статья будет о некоторых тонкостях загрузки и инициализации классов и немного о производительности (совсем чуть-чуть и в самом конце).
Поводом для написания статьи стал вопрос на StackOverflow. Откройте, но не торопитесь читать ответ ;)
Читать дальше → https://habr.com/ru/articles/740156
Хабр
Разница между загрузкой и инициализацией классов в Java на любопытном примере
Привет, сегодняшняя статья будет о некоторых тонкостях загрузки и инициализации классов и немного о производительности (совсем чуть-чуть и в самом конце). Поводом для написания статьи стал вопрос на...
JavaDoc: добро или необходимое зло?.
При создании проекта А мы вложили много сил в JavaDoc. Многим казалось это излишним. Затем проект А заморозили и начали новый – проект Б. При этом переиспользовали много кода из проекта А, вместе с JavaDoc. Рассказ о том, принёс ли JavaDoc пользу (спойлер: да). А также немного слов о том, где усилия по JavaDoc всё-таки были избыточны.
Читать далее https://habr.com/ru/companies/X5Tech/articles/752338/
При создании проекта А мы вложили много сил в JavaDoc. Многим казалось это излишним. Затем проект А заморозили и начали новый – проект Б. При этом переиспользовали много кода из проекта А, вместе с JavaDoc. Рассказ о том, принёс ли JavaDoc пользу (спойлер: да). А также немного слов о том, где усилия по JavaDoc всё-таки были избыточны.
Читать далее https://habr.com/ru/companies/X5Tech/articles/752338/
Хабр
JavaDoc: добро или необходимое зло?
Привет! Меня зовут Андрей Костров, я старший разработчик в X5 Tech. При создании проекта А мы вложили много сил в JavaDoc. Многим казалось это излишним. Затем проект А заморозили и начали новый –...
Руководство по Hibernate 6
Hibernate 6 — это серьезная переработка самого популярного и многофункционального решения ORM в мире. Редизайн коснулся почти каждой подсистемы Hibernate, включая API, аннотации сопоставления и язык запросов. Этот новый Hibernate более мощный, более надежный и более безопасный.
С таким количеством улучшений очень трудно подытожить значение этой работы. Но выделяются следующие общие темы. Спящий режим 6:
наконец, использует достижения в реляционных базах данных за последнее десятилетие, обновляя язык запросов для поддержки множества новых конструкций в современных диалектах SQL,
демонстрирует гораздо более согласованное поведение в разных базах данных, значительно улучшая переносимость и генерируя намного более качественный DDL из диалектно-независимого кода,
улучшает отчеты об ошибках за счет более тщательной проверки запросов перед доступом к базе данных,
улучшает типобезопасность аннотаций сопоставления O/R, уточняет разделение API, SPI и внутренней реализации, а также исправляет некоторые давние архитектурные недостатки,
удаляет или осуждает устаревшие API, закладывая основу для будущей эволюции, и
гораздо лучше использует Javadoc, предоставляя разработчикам гораздо больше информации.
Hibernate 6 и Hibernate Reactive теперь являются основными компонентами Quarkus 3, самой интересной новой среды для облачной разработки на Java, а Hibernate остается предпочтительным решением для сохраняемости почти для каждой крупной платформы или сервера Java.
К сожалению, изменения в Hibernate 6 устарели, большая часть информации о Hibernate, которая доступна в книгах, сообщениях в блогах и на stackoverflow.
С другой стороны, руководство пользователя Hibernate предоставляет множество подробностей о многих аспектах Hibernate, но с таким количеством информации трудно добиться удобочитаемости.
Таким образом, это новое каноническое руководство по Hibernate. Мы не пытаемся охватить здесь все детали Hibernate, поэтому это руководство следует использовать в сочетании с обширным Javadoc , доступным для Hibernate 6. Мы также не обсуждаем язык запросов Hibernate. Таким образом, это введение следует использовать вместе с родственным документом A guide to Hibernate Query Language 6 .
https://docs.jboss.org/hibernate/orm/6.3/introduction/html_single/Hibernate_Introduction.html
Hibernate 6 — это серьезная переработка самого популярного и многофункционального решения ORM в мире. Редизайн коснулся почти каждой подсистемы Hibernate, включая API, аннотации сопоставления и язык запросов. Этот новый Hibernate более мощный, более надежный и более безопасный.
С таким количеством улучшений очень трудно подытожить значение этой работы. Но выделяются следующие общие темы. Спящий режим 6:
наконец, использует достижения в реляционных базах данных за последнее десятилетие, обновляя язык запросов для поддержки множества новых конструкций в современных диалектах SQL,
демонстрирует гораздо более согласованное поведение в разных базах данных, значительно улучшая переносимость и генерируя намного более качественный DDL из диалектно-независимого кода,
улучшает отчеты об ошибках за счет более тщательной проверки запросов перед доступом к базе данных,
улучшает типобезопасность аннотаций сопоставления O/R, уточняет разделение API, SPI и внутренней реализации, а также исправляет некоторые давние архитектурные недостатки,
удаляет или осуждает устаревшие API, закладывая основу для будущей эволюции, и
гораздо лучше использует Javadoc, предоставляя разработчикам гораздо больше информации.
Hibernate 6 и Hibernate Reactive теперь являются основными компонентами Quarkus 3, самой интересной новой среды для облачной разработки на Java, а Hibernate остается предпочтительным решением для сохраняемости почти для каждой крупной платформы или сервера Java.
К сожалению, изменения в Hibernate 6 устарели, большая часть информации о Hibernate, которая доступна в книгах, сообщениях в блогах и на stackoverflow.
С другой стороны, руководство пользователя Hibernate предоставляет множество подробностей о многих аспектах Hibernate, но с таким количеством информации трудно добиться удобочитаемости.
Таким образом, это новое каноническое руководство по Hibernate. Мы не пытаемся охватить здесь все детали Hibernate, поэтому это руководство следует использовать в сочетании с обширным Javadoc , доступным для Hibernate 6. Мы также не обсуждаем язык запросов Hibernate. Таким образом, это введение следует использовать вместе с родственным документом A guide to Hibernate Query Language 6 .
https://docs.jboss.org/hibernate/orm/6.3/introduction/html_single/Hibernate_Introduction.html
👍4👎1
Принципы проектирования SOLID
SOLID: принцип единой ответственности с примерами
https://dev.to/ggorantala/solid-single-responsibility-principle-with-examples-h0f
Что такое принципы проектирования SOLID https://dev.to/ggorantala/what-are-solid-design-principles-1n22
SOLID: принцип единой ответственности с примерами
https://dev.to/ggorantala/solid-single-responsibility-principle-with-examples-h0f
Что такое принципы проектирования SOLID https://dev.to/ggorantala/what-are-solid-design-principles-1n22
👍3