Java News – Telegram
Java News
4.31K subscribers
247 photos
5 videos
1 file
1.48K links
Все новости связанные с Java!

По всем вопросам: @NadikaKir

Мы на бирже: https://telega.in/c/java_newss
Download Telegram
gRPC — безопасность или жесть?

Встроенные в gRPC способы проверки прав справляются со своими задачами, но накладывают ряд ограничений и не дают возможность писать сложные варианты проверок без «оригинальных» инженерных решений. А тот, кто хоть раз грешил обходом ограничений, знает, чем это чревато.

В одном из проектов мы решили попробовать упростить процесс валидации данных при внешней интеграции, соблюдая все правила безопасности. Шалость удалась:)

Наш backend-разработчик — Александр — нашел-таки то самое «оригинальное» инженерное решение. Решили поделиться с вами, чтобы и вам страдать не приходилось.

Читать статью
👍5
Сегодня паттерн Посетитель в Java уже не нужен – лучше использовать переключатели паттернов

В современном языке Java паттерн Посетитель (Visitor) уже не нужен. Он отлично компенсируется использованием запечатанных типов и переключателей, использующих сопоставление с шаблоном – в таком случае те же цели достигаются проще и меньшим объемом кода.

Всякий раз, оказываясь в ситуации, где мог бы применяться паттерн Посетитель, подумайте, не воспользоваться ли вместо него более современными возможностями языка Java. Разумеется, эти возможности могут использоваться и в других обстоятельствах, но в этой статье мы обсудим сравнительно узкую тему: чем заменить паттерн Посетитель. Для этого я начну с максимально краткого введения и приведу пример, а затем объясню, как достичь тех же целей более простым (и кратким) кодом.

Читать статью
👍4
JEP 428: Structured Concurrency to Simplify Java Multithreaded Programming

JEP 428, Structured Concurrency (Incubator), has been promoted from Proposed to Target to Targeted status for JDK 19. Under the umbrella of Project Loom, this JEP proposes simplifying multithreaded programming by introducing a library to treat multiple tasks running on different threads as an atomic operation. As a result, it will streamline error handling and cancellation, improve reliability, and enhance observability. This is still an incubating API.

Читать статью
👍6
Обзор с примерами ожидаемых фич в Java 19

Хотя выпуск Java 19 выйдет 20 сентября 2022 г, мы уже знаем, какие фичи он будет в себя включать!

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

Читать статью
👍7🔥4
Apache Kafka для магазинов

Всем привет! Меня зовут Игорь, я работаю системным архитектором в CSI. Хочу поделиться историей появления в нашем стеке технологий надежного и универсального брокера сообщений. Расскажу, как и для чего мы его используем, поделюсь полезными нюансами и примером с сетью Fix Price. Статей про Apache Kafka уже более, чем достаточно, но наш кейс немного отличается от стандартного использования. Надеюсь, опыт пригодится кому-то ещё.

Читать статью
👍2🔥2
🎉 Среди студентов МГУ прошло голосование на 4 лучших телеграм-канала по программированию. Поздравляем победителей:

Зерокодинг– здесь вас научат создавать приложения, сайты и мобильные игры без навыков программирования. За вас всё сделает компуктер.

Python и 1000 программ – канал для всех, кто хочет освоить самый перспективный язык 2022 года. Гайды для новичков, фишки, программы и многое другое.

Этичный хакер – настоящая кость в горле интернет-мошенников. Читайте бесплатные статьи по кибербезу, защите персональных данных и борьбе с вирусами.

IT-сенсэй – идеальный канал, если вы пока не знаете, чем хотите заниматься в айти и не определились с языком. Фишки, шпаргалки, программы для новичков.
👍4
Результаты опроса о технологии доступа к БД Java

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

Читать статью
👍7
Spring for GraphQL Version 1.0 Released

Less than two years after its inception, Spring for GraphQL 1.0 has been released.
The project integrates Spring and GraphQL Java and was developed in collaboration between both teams.

GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data. It was developed by Facebook and publicly released in 2015.

Читать статью
👍5🔥2
Баг с псионическими сигнатурами в Java

В классическом научно-фантастическом сериале BBC Доктор Кто часто используется следующий сюжетный приём: Доктору удаётся избежать неприятностей, показав удостоверение личности, которое на самом деле совершенно пустое. Разумеется, удостоверение сделано из специальной «психобумаги», заставляющей смотрящего на неё человека видеть то, что удобно для Доктора: пропуск, ордер или что-то ещё.

Читать статью
🔥4👍2
Сколько нужно времени, чтобы освоить востребованную профессию Java-программиста? Всего 10 месяцев! И начать можно бесплатно - https://clck.ru/qLRBk

Научим:
=> Писать код на Java, использовать фреймворки Javalin, Spring
=> Применять принципы ООП, работать с базами данным, SQL
=> Настраивать окружение: IDEA, Gradle/Maven, JDK
=> Пользоваться командной строкой и Git

Поможем:
=> Наработать практику — вы сделаете 5 проектов на GitHub
=> Грамотно оформить резюме
=> Подготовиться к собеседованиям

А еще порекомендуем в хорошие компании и познакомим с сообществом из 28 тысяч айтишников. Присоединяйтесь!
👍6
Как сделать ссылки на методы дружелюбными для отладки

В Java 8 появилось два вида функциональных выражений — лямбда-выражения вида s -> System.out.println(s) и ссылки на методы вида System.out::println. Поначалу ссылки на методы вызывали больше энтузиазма: они часто компактнее, вам не требуется придумывать имя для переменной, а ещё старожилы говорят, что они несколько оптимальнее, чем лямбда-выражения. Однако со временем энтузиазм ослаб. Одна из проблем со ссылками на методы — затруднённая отладка ошибок.

Читать статью
👍4
Начните изучать Java бесплатно с нашим курсом «Основы языка Java».

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

Всего 29 уроков, 105 проверочных тестов и 34 упражнения в тренажере.

Переходите прямо сейчас: https://clck.ru/rFPyL
👍6
Spring Boot 2.7.0 Released with Support for GraphQL, Podman and Cache2k

VMware has released Spring Boot 2.7.0, the latest and final branch of the 2.x series. Spring Boot 3.0, planned for November 2022, will be the next version.

This latest version of Spring Boot includes support for Spring for GraphQL 1.0; support for the Podman container engine as an alternative to Docker Engine when building images using Cloud Native Buildpacks; dependency management and auto-configuration for Cache2k; and new test annotations for ElasticSearch and CouchBase.

Читать статью
👍5
Релиз интегрированной среды разработки NetBeans 14

Организации Apache Software Foundation выпустила новую версию интегрированной среды разработки Apache NetBeans 14, которая предоставляет поддержку языков программирования Java SE, Java EE, PHP, C/C++, JavaScript и Groovy.

Изменения 14-ой версии, полезные для Java:
- доступна сборка с использованием JDK17 и улучшена поддержка новых выпусков Java;
- улучшенная поддержка системы сборки Gradle и Maven;

Читать статью
👍3🔥2😁2
Java News Roundup: NetBeans 14, End-of-Life for Spring Tool Suite 3, Hibernate 6.1, TornadoVM

This week's Java roundup for June 13th, 2022 features news from JDK 19, JDK 20, Spring Framework 5.3.21, Spring CVE-2022-22979 report, Spring Cloud 2022.0.0-M3, Spring Tools 4.15, end-of-life for Spring Tool Suite 3, Hibernate 6.1.0-Final, Apache NetBeans 14, Apache Tomcat 8.5.81, Piranha 22.6.0, TornadoVM 0.14, JDKMon updates, JobRunr 5.1.4, JReleaser early-access.

Читать статью
👍6
Создание пользовательских аннотаций в Java

В предыдущей статье мы говорили о том, что такое аннотации и как пользоваться готовыми аннотациями в Java. Но Java также дает возможность создавать собственные аннотации для улучшения кода. Чтобы сгенерировать любую пользовательскую аннотацию, необходимо использовать мета-аннотации. В этой статье объясняется, как создавать мета- и пользовательские аннотации и украшать ими объекты.

Читать статью
👍3🔥2
Программирование, ориентированное на данные (Data Oriented Programming)

В последние годы проект Amber привнес в Java ряд новых функций: local variable type inference, text blocks, records, sealed classes, pattern matching и многое другое. Хотя каждая из этих функций является автономной, они также предназначены для совместной работы. В частности, records, sealed classes и pattern matching работают вместе, чтобы облегчить программирование, ориентированное на данные.

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

Читать статью
👍5
История одного OOM

В далекой-далекой галактике были времена стабильности и процветания. Сервис с шестнадцатью инстансами работал на благо человечества. Через Hibernate он ходил в PostgreSQL-базу, доставал необходимые данные и отдавал другим по REST-интерфейсу. Однако спокойные времена прошли. Внезапно один из инстансов упал с OutOfMemoryError. Лучшие программисты hh.ru пустились в погоню за heapdump-ом в поисках ценнейшей информации.

Привет, меня зовут Артем, я — бэкенд-разработчик в
hh.ru. В этой статье расскажу о том, как мы чинили одну из ошибок OutOfMemoryError, которая возникла при работе сервиса с базой данных. Сегодня говорим только на бэкендерском!

Читать статью
👍5🔥3
​​Топ 7 фич в новом релизе Jakarta EE 10

Jakarta EE — неотъемлемая часть экосистемы Java. 25-35% приложений Java выполняются на серверах приложений JakartaEE. WildFly, JBoss EAP, Payara, WebSphere/Liberty, WebLogic и т. д.

70-80% приложений Java так или иначе используют API-интерфейсы Jakarta EE, такие как Tomcat, Hibernate, ActiveMQ, Jetty, CXF, Jersey, RESTEasy, Quarkus, Microprofile и Spring.

Среди множества функций, появившихся в Jakarta EE 10, в статье рассматриваются 7 наиболее лучших.

Читать статью
👍8
​​Java News Roundup: Classfile API Draft, Spring Boot, GlassFish, Project Reactor, Micronaut

This week's Java roundup for June 20th, 2022, features news from OpenJDK, JDK 19, JDK 20, Spring point releases, GlassFish 7.0.0-M6, GraalVM Native Build Tools 0.9.12, Micronaut 3.5.2, Quarkus 2.10.0, Project Reactor 2022.0.0-M3, Apache Camel Quarkus 2.10.0, and Apache Tika versions 2.4.1 and 1.28.4.

Читать статью
👍6
Хочешь освоить азы главного языка «энтерпрайза», Java, всего за 14 дней?

Школа программирования Хекслет объявляет набор на подготовительный курс: https://clck.ru/retz9

Даём только мясную и прикладную информацию. По окончанию курса ты уже владеешь базовым знанием языка и даже напишешь собственную программу!

Прямо сейчас переходите по ссылке ниже и бронируйте место, стартуем 5 июля!
👍4