Библиотека Java разработчика
Відкрити в Telegram
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP
Показати більше9 987
Підписники
-324 години
-177 днів
-5930 днів
Архів дописів
В науке управления фокус внимания чаще всего указывает на то, как команде работать «больше». Как мотивировать сотрудников, какие процессы и метрики применять. Это чрезвычайно важный навык руководителя.
Действительно, руководителю необходимо получать результат, используя минимум ресурсов. И здесь есть небольшой подвох, причинно-следственная нестыковка. Разве же работать «больше» и получать результат, нужный нашему заказчику, это одно и то же?
👉На бесплатном вебинаре онлайн-курса «Team Lead разработки» — «Как тимлиду делать меньше, чтобы получать больше» — обсудим вопрос: всегда ли тяжелый труд означает замечательный результат?
Обсудим часто остающийся в тени ресурс повышения результативности путем минимизации выполняемой работы. А также научимся применять этот ресурс.
Вебинар будет полезен IT-специалистам, принимающим решения всех уровней и влияющим на загрузку команд — тимлидам, руководителям проектов, архитекторам, аналитикам.
После вебинара вы увидите и научитесь использовать секретный ресурс увеличения результативности через минимизацию затрат. А что, так можно было?!
🔥Также вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
The elusive and beautiful Java Method Reference
https://medium.com/javarevisited/the-elusive-and-beautiful-java-method-reference-97e566d2088b
👉@BookJava
Project Loom и Spring Boot: тесты производительности
Сегодня я хочу выяснить, готов ли Project Loom заменить Spring WebFlux при создании высоконагруженных приложений с высокой пропускной способностью.
Проблемы реактивного подхода
WebFlux - замечательная технология с фантастической производительностью, однако:
- При использовании реактивного подхода код сложнее писать и сопровождать
- Стектрейсы малополезны при разборе ошибок
- Все связанные клиенты/библиотеки также должны быть написаны в реактивном стиле
Что такое Project Loom
- В статусе превью-фичи с Java 19, разработка стартовала в 2017
- Основное нововведение - виртуальные потоки, призванные значительно снизить трудозатраты на написание и сопровождение приложений
- Предполагается возможность создавать миллионы виртуальных потоков. (Прим. пер. мне кажется, автору стоило явно выделить основную мысль. Поскольку виртуальные потоки дешевы, то запуск блокирующего кода в таком потоке тоже дешевая операция, т.к. реальный системный поток при этом не блокируется и может заняться чем-нибудь полезным )
- Предполагается минимальное вмешательство в существующий код
- Стек виртуальных потоков хранится в хипе JVM
Rus https://habr.com/ru/articles/745748/
Eng https://filia-aleks.medium.com/project-loom-with-spring-boot-performance-tests-c007e0e411c8
👉@BookJava
🦾 Освойте востребованный фреймворк всего за 5 месяцев и создавайте приложения на Java
🔥🔝 Знание Spring Framework – один из самых востребованных скиллов для разработчика, многие крупные проекты ищут именно таких специалистов на самые желанные офферы.
5️⃣ Вместе с OTUS вы можете освоить Spring всего за 5 месяцев в рамках курса «Разработчик на Spring Framework»!
➡️ Пройти тест
❌❌Что даст вам этот курс:
- Умение эффективно работать в проектах, где есть Spring
- Знание современных возможностей Spring
- Понимание, как создавать Web-приложения на микросервисной архитектуре и решать высокоуровневые задачи по разработке
- Умение быстро проходить путь от идеи до production-grade
- Владение фреймворками Spring и технологиями вспомогательных проектов (Spring MVC, Spring Security, Spring Boot, Spring Reactive Stack, Spring 5)
🟠Курс доступен для приобретения в рассрочку!
Пройдите бесплатное вступительное тестирование прямо сейчас и узнайте, готовы ли вы стать студентом!
➡️ Пройти тест
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruВышла Java 21
Вышла общедоступная версия Java 21. В этот релиз попало около 2500 закрытых задач и 15 JEP'ов. Release Notes можно посмотреть здесь. Изменения API – здесь.
Java 21 является LTS-релизом, а значит у него будут выходить обновления как минимум 5 лет с момента выхода.
Скачать JDK 21 можно по этим ссылкам:
Oracle JDK (лицензия NFTC)
OpenJDK (лицензия GPLv2 with Classpath Exception)
https://habr.com/ru/articles/762084/
👉@BookJava
Эволюция Java
Наиболее важные усовершенствования языка, которые были сделаны в Java за последние 20 лет
https://betterprogramming.pub/the-evolution-of-java-37e4dc8e6cc7
👉@BookJava
🧚♀️Задумывались ли вы когда-нибудь, как может выглядеть идеальная библиотека для работы с данными? Наверняка с помощью такой библиотеки можно очень гибко настраивать валидацию данных, трансформировать данные в разные формы, описывать предметную область, находить закономерности в массивах данных, генерировать тестовые данные по образцу, разбирать не структурированные данные на составные части и даже исправлять грамматические ошибки. Вдобавок, она должна быть простой для понимания и производительной. Такая библиотека это не мечта, а вполне себе реальность!
👉На бесплатном вебинаре онлайн-курса «Clojure Developer» — «Malli, программируем на схемах» мы познакомимся с библиотекой Malli, посмотрим на стандартные (и не очень) сценарии её использования: регистрация
Экспертизой поделится руководитель программы и практик Сергей Ткаченко (Clojure Software developer / Team Lead).
🔥После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Java Code Review Solution
https://dzone.com/articles/java-code-review-solution
👉@BookJava
Полное руководство по виртуальным потокам Java
1. Настройка
2. Почему виртуальные потоки?
3. Как создать виртуальный поток
4. Как работают виртуальные потоки
5. Планировщик и совместное планирование
6. Закрепленные виртуальные темы
7. ThreadLocal и пулы потоков
8. Некоторые внутренности виртуальных потоков
9. Выводы
10. Приложение: Конфигурация Maven
https://blog.rockthejvm.com/ultimate-guide-to-java-virtual-threads/
👉@BookJava
Когда команда программистов работает над разными частями проекта, могут возникнуть проблемы при объединении веток кода в одну, или даже их потеря. Для того, чтобы следить за изменениями и избегать ошибок, профессионалы работают с Git — системой контроля версий кода.
На бесплатном курсе «Основы работы с Git» вы узнаете:
— зачем нужны сервисы контроля версий кода и что они умеют;
— основные команды для работы в Git;
— как работать с командным репозиторием через IDE и консоль;
— принципы работы популярных сервисов (GitHub, Terminal, GitBash и пр.);
— основы командной разработки.
Пройдите курс Яндекс Практикума «Основы работы с Git», чтобы сделать процесс написания кода комфортнее и улучшить навыки командного взаимодействия.
→ Пройти бесплатный курс
Полезные и неизвестные библиотеки Java
https://piotrminkowski.com/2023/01/30/useful-unknown-java-libraries/
👉@BookJava
❓Как создать приложение на Java с нуля?
Покажем во время практического бесплатного открытого урока «Простой консольный файловый менеджер на Java», который пройдёт в рамках курса "Java-разработчик" от OTUS.
🔥Урок будет полезен тем, кто хочет:
— Начать изучать Java с нуля.
— Посмотреть, как на практике создаются консольные Java-приложения.
— Разобраться как в Java работать с файловой системой через java.io.
🔥В результате урока вы:
— Увидите, как пишется код и создаются программы на языке Java.
— Узнаете, как работать с пакетом java.io.
Дата: 19 сентября в 20:00 мск.
Это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени!
👉Регистрация
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Делаем свою простейшую систему сборки для Java
Довелось мне обучать одного знакомого, желающего войти в ИТ (привет, Саша!). Человек он упорный, прошел разные курсы, стажировки, упорно продолжает идти вперед и уже вполне тянет на уровень джуна. Но иногда внезапно задает такие вопросы, из которых я понимаю, что у него огромные дыры в базовых знаниях и представлениях. На курсах этому, видимо, не учат.
Один из последних вопросов был про устройство сборки. И он показал явное непонимание того, как исходный код собирается в исполняемый файл и запускается. Начинающим обычно говорят в духе "вот создаешь Gradle-проект, в IDE жмешь кнопочку запуска и все работает". Gradle/Maven при этом представляются таким черным ящиком, в котором есть кнопка сборки и запуска, а внутри - черная магия. И как только возникает необходимость что-то в этом простом процессе изменить или понять - начинаются проблемы.
https://habr.com/ru/articles/752014/
👉@BookJava
Потоковая обработка данных с помощью Kafka Streams: архитектура и ключевые концепции
При реализации потоковой обработки и анализа данных может возникнуть необходимость агрегирования записей для объединения нескольких независимых поток данных или обогащения какой-либо модели данных. Для этой цели может использоваться Kafka Streams, которая позволяет выполнять обработку данных в режиме реального времени.
В этой статье мы рассмотрим основные компоненты Kafka Streams и теоретические аспекты их использования. Мы будем использовать последние версии технологий, доступных на сегодня: Kafka 3.4.0 и Java 17 в качестве языка программированию. Для снижения входного порога мы будем использовать только нативные возможности Kafka и Kafka Streams, и не будем рассматривать решения с использованием различных фрейморков вроде Spring.
https://habr.com/ru/articles/747658/
👉@BookJava
♨️ Тест на знание языка Java
— Ответьте на 21 вопрос и проверьте, насколько хорошо вы знаете язык Java и готовы освоить Spring. Сможете сдать — пройдёте на продвинутый онлайн-курс "Разработчик на Spring" Framework со скидкой!
👉 ПРОЙТИ ТЕСТ ОНЛАЙН-КУРСА "Разработчик на Spring Framework"
Курс доступен в рассрочку.
🎁 Пройдете успешно тест, получите доступ к открытым урокам курса.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruКак уменьшить размер докерного образа JVM не менее чем на 60%
Если вы давно работаете с языками на базе JVM (Java, Kotlin, Scala и др.), то, возможно, заметили, что начиная с Java 11 среда выполнения Java Runtime Environment (JRE) больше не имеет отдельного дистрибутива. В связи с этим решением многие дистрибьюторы докерных образов Java Development Kit (JDK), такие как OpenJDK, Amazon Correto и другие, не предоставляют JRE в виде отдельного докерного образа. Использование этих образов привело к тому, что общий размер образа Docker составил около 360 МБ, а реальный размер jar-приложения - около 26 МБ. На мой взгляд, общий размер Docker-образа слишком велик, и его следует уменьшить, чтобы сэкономить место и пропускную способность сети для всех, кто будет использовать этот Docker-образ. Теперь давайте посмотрим, как радикально уменьшить размер Docker-образа.
https://blog.devops.dev/how-to-reduce-jvm-docker-image-size-by-at-least-60-459ec87b95d8
👉@BookJava
Готовы погрузиться в мир нереляционных DB? Тогда добро пожаловать на онлайн-курс «NoSQL» от OTUS!
📢📢 12 сентября в 20:00 (мск) мы приглашаем вас на бесплатный открытый урок, где автор курса - Евгений Аристов, архитектор высоконагруженных баз данных и инфраструктуры с 25-летним опытом в разработке, - расскажет вам о создании отказоустойчивых кластеров MongoDB.
На открытом уроке мы исследуем:
📌 Цели и задачи MongoDB;
📌 Концепцию кворума;
📌 Основные моменты установки и настройки кластера MongoDB.
Это уникальная возможность не только окунуться в тему MongoDB, но и познакомиться с форматом нашего курса.
👉 Пройдите тестирование для регистрации на открытый урок и проверьте свой уровень компетенций
Продолжить изучение тонкостей NoSQL вы сможете на самом курсе, который стартует уже в сентябре.
Оплата курса возможна в рассрочку.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru