Java
1.63K subscribers
223 photos
5 videos
3 files
901 links
Программирование на Java.

По всем вопросам: @un_ixtime
Download Telegram
Три способа локального запуска Java с помощью HTTPS

Если вы разрабатываете веб-приложение, скорее всего, вы хотите, чтобы среда разработки была как можно ближе к рабочей среде. Одним из часто упускаемых из виду различий между локальными серверами разработки и рабочими серверами является использование безопасности транспортного уровня (TLS) или защищенного протокола передачи гипертекста (HTTPS). В этом посте я расскажу о трех различных вариантах быстрого запуска вашего локального Java-приложения с TLS!


https://developer.okta.com/blog/2022/01/31/local-https-java
Строка в массив в 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
👍1
Потоковая обработка данных с помощью Kafka Streams: архитектура и ключевые концепции.

При реализации потоковой обработки и анализа данных может возникнуть необходимость агрегирования записей для объединения нескольких независимых поток данных или обогащения какой-либо модели данных. Для этой цели может использоваться Kafka Streams, которая позволяет выполнять обработку данных в режиме реального времени. 

В этой статье мы рассмотрим основные компоненты Kafka Streams и теоретические аспекты их использования. Мы будем использовать последние версии технологий, доступных на сегодня: Kafka 3.4.0 и Java 17 в качестве языка программированию. Для снижения входного порога мы будем использовать только нативные возможности Kafka и Kafka Streams, и не будем рассматривать решения с использованием различных фреймворков вроде Spring.

Читать далее https://habr.com/ru/articles/747658/
Прожарка java.lang.String.

Давайте абьюзить баг в java.lang.String, который позволит делать очень странные строки. Мы сделаем "Hello World", который не начинается с "Hello" и покажем, что не все пустые строки равны между собой. Научимся прожаривать строки в чужих классах.

Читать далее. https://habr.com/ru/companies/bar/articles/747528/
Могут ли потоки заменить циклы в Java?

Выпуск Java 8 стал знаменательным событием в истории Java. Были введены потоки и лямбда-выражения, и теперь они широко используются. Если вы не знаете о Streams или никогда о нем не слышали, ничего страшного. В большинстве случаев циклы удовлетворят ваши потребности, и у вас не возникнет проблем без потоков.

Тогда зачем нам Streams? Могут ли они заменить или иметь преимущества перед циклами? В этой статье мы рассмотрим код, сравним производительность и посмотрим, насколько хороши потоки в качестве замены циклов. https://medium.com/better-programming/can-streams-replace-loops-in-java-f56d4461743a
Forwarded from Тестирование
Как эффективно тестировать зависящий от времени код: стратегии Unit и Spring

Изучите стратегии надежного тестирования кода, зависящего от времени, в том числе методы уменьшения ненадежности тестов и обеспечения точного управления временем в наборах тестов.
Этот пост раскрывает основную причину проблемы и, как мы увидим, представляет простое решение, которое в то же время позволяет нам писать более надежные тесты и лучше контролировать аспекты, связанные со временем, в наших приложениях 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
В этой статье мы рассмотрим JeroMQ , чистую реализацию ZeroMQ на Java . Посмотрим, что это такое и что он может сделать для нас в наших приложениях.

ZeroMQ — это инфраструктура обмена сообщениями, которая не требует настройки каких-либо реальных инфраструктурных сервисов.
https://www.baeldung.com/java-jeromq-zeromq
JetBrains запускает платформу качества кода 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
Что нового в IntelliJ IDEA 2023.2

IntelliJ IDEA 2023.2 представляет AI Assistant, чтобы улучшить вашу разработку с набором функций на основе AI. https://www.jetbrains.com/idea/whatsnew/
Работа со Spring boot и Apache Kafka

В современном быстро меняющемся мире компании должны быть гибкими и реагировать на меняющиеся тенденции рынка и требования клиентов. Именно здесь появляются Spring Boot и Apache Kafka, поскольку они обеспечивают мощную комбинацию для создания масштабируемых приложений в реальном времени. https://medium.com/@sergeomoffo1/working-with-spring-boot-and-apache-kafka-430877d4795d
Разница между загрузкой и инициализацией классов в Java на любопытном примере.

Привет, сегодняшняя статья будет о некоторых тонкостях загрузки и инициализации классов и немного о производительности (совсем чуть-чуть и в самом конце).

Поводом для написания статьи стал вопрос на StackOverflow. Откройте, но не торопитесь читать ответ ;)

Читать дальше → https://habr.com/ru/articles/740156
JavaDoc: добро или необходимое зло?.

При создании проекта А мы вложили много сил в JavaDoc. Многим казалось это излишним. Затем проект А заморозили и начали новый – проект Б. При этом переиспользовали много кода из проекта А, вместе с JavaDoc. Рассказ о том, принёс ли JavaDoc пользу (спойлер: да). А также немного слов о том, где усилия по JavaDoc всё-таки были избыточны. 

Читать далее https://habr.com/ru/companies/X5Tech/articles/752338/
Руководство по 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
👍4👎1