bookjava | Unsorted

Telegram-канал bookjava - Библиотека Java разработчика

11248

Библиотека Java разработчика. Java, Spring, Maven, Hibernate По всем вопросам @evgenycarter № 4880864218

Subscribe to a channel

Библиотека Java разработчика

IntelliJ IDEA EAP обеспечивает навигацию по журналам именно в том месте, где было зарегистрировано сообщение!

https://blog.jetbrains.com/idea/2024/02/intellij-idea-2024-1-eap-6/

👉 @BookJava

Читать полностью…

Библиотека Java разработчика

Хотите понять, как решаются одни и те же задачи с помощью кода на разных языках? Записывайтесь на бесплатный мини-курс по основам Java-разработки. На нём вы не только изучите основы и инструменты Java, но и сравните возможности Java и Python, разберёте, чем полезен каждый язык. Опыт и знания в IT не нужны для участия.

Подробнее: 👉 https://epic.st/LVs5Ep

— Формат мини-курса отлично подойдёт для обучения из любой точки мира. Смотрите видео в удобное время, а после выполняйте практические задания. В конце вас ждёт прямой эфир с экспертом, где он поделится профессиональными секретами, разберёт работы участников и ответит на вопросы.

Что будем делать на мини-курсе:

🔹 Обсудим, почему Java — один из самых востребованных языков
🔹 Познакомимся с кодом Java и рассмотрим ключевые элементы приложений на этом языке
🔹 Определим навыки для трудоустройства
🔹 Сравним Java и Python
🔹 Сделаем 3 Java-приложения по инструкции

Успейте записаться бесплатно!

Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880

Читать полностью…

Библиотека Java разработчика

Привет! Это Podlodka Crew, мы организовываем IT-конференции онлайн по разным технологиям.

Уже 11 марта у нас стартует новый сезон по Java с актуальной темой «Интеграции между сервисами».

С интеграциями мы сталкиваемся каждый день и вынуждены разбираться, какие выбирать и как их правильно реализовать.
В этом сезоне обсудим best practices, научимся их применять в реальной жизни, развенчаем популярные мифы:
🌟Звёздная рулетка кейсов с Филлипом Дельгядо, Гришей Кошелевым, Владимиром Картяевым и Кириллом Ветчинкиным. Выясним, когда использовать синхронное, а когда асинхронное взаимодействие. Всё это — на примере задач из опыта спикеров.
🌟 Рассмотрим современный клиент NoSQL баз данных вместе с Артёмом Дубининым из VK и Tarantool. Подружим Java с NoSQL базами данных, поймём, какой API использовать, подберём интерфейсы к серверу и кластеру. Изучим опыт внедрения Spring Data API.
🌟Обсудим легенды и мифы REST API: существует ли он и как его разрабатывать. А ещё окунёмся в best-practices разработки JSON HTTP API и затронем вопросы синергии REST с современными микросервисными архитектурами.
Это не все доклады нового сезона! Приходи на сайт смотреть подробное расписание и забирай свой билет: https://podlodka.io/javacrew

Реклама. ИП Толстая Елена Петровна ИНН:507503278104, erid:2SDnjbwP94c

Читать полностью…

Библиотека Java разработчика

👁‍🗨 Как делать профилирование с помощью VisualVM в Java?

Расскажет Александр Царев — Tech Lead в Сбере и кандидат технических наук.
Встречаемся на бесплатном практическом уроке от OTUS, где вы вместе с опытным экспертом:

- вспомните, что такое дамп потоков и как его получить;
- узнаете разницу между профилированием и семплированием и как их проводить с помощью инструмента VisualVM;
- разберете результаты семплирования, чтобы понять, как по ним находить узкие места в производительности.

📢📢 Занятие пройдёт 6 марта в 20:00 мск и будет приурочено к старту курса «Java Developer. Advanced».
Доступна рассрочка на обучение!

➡️ Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://vk.cc/cv2RGK

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека Java разработчика

Пишем минимальный ActivityPub-сервер с нуля

Mastodon — это децентрализованная социальная сеть, работающая по модели федерации, как email. Протокол федерации называется ActivityPub и является стандартом W3C, а Mastodon — далеко не единственная его реализация, но самая популярная. Различные реализации протокола, как правило, совместимы друг с другом, настолько, насколько им позволяют их совпадения в функциональности. У меня есть и мой собственный проект ActivityPub-сервера — Smithereen, такой зелёный децентрализованный ВК, где я когда-нибудь таки верну стену.

В этой статье мы рассмотрим основы протокола ActivityPub и напишем минимально возможную реализацию сервера, позволяющую отправлять посты в сеть («fediverse»), подписываться на других пользователей и получать от них обновления.

https://habr.com/ru/articles/702724/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Совет по Spring Boot 💡

Вы думаете о замене 🍃`RestTemplate` на новый Spring `RestClient`? Конфигурация SSL очень проста благодаря поддержке 🔐`SslBundles` через интерфейс `RestClientSsl` 👆

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Совет по Spring Boot💡

Ошибка конфигурации сервера Spring Boot ⬇

https://gist.github.com/aoudiamoncef/bba3f7c79f1056a22a3a82b3a171b5b3

👉@BookJava

Читать полностью…

Библиотека Java разработчика

👩‍💻 Java Developer. Professional — новая расширенная программа для нереального повышения квалификации

Освойте самые востребованные практики под руководством топовых экспертов из ведущих компаний на онлайн-курсе от OTUS.

Обновленная программа идеально подойдет для опытных разработчиков на Java и других языках ООП, которые уперлись в карьерный и финансовый потолок.

На курсе вас ждут:

- живые вебинары с разбором самых важных тем;
- еще больше практики и сильные проекты для портфолио;
- поддержка профессионального комьюнити;
- рассрочка на выгодных условиях.

Набор всего 2 раза в год, не упустите свой шанс!

➡️ Пройдите бесплатный тест прямо сейчас и узнайте, готовы ли вы стать более востребованным специалистом: https://vk.cc/cuYCXH

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека Java разработчика

Что находится внутри класса Math?

👉@BookJava

Читать полностью…

Библиотека Java разработчика

💪 Как Java-разработчику повысить квалификацию и увеличить доход в 2024?

Освоить JVM с профилированием и оптимизацией приложений в облаках на онлайн-курсе «Java Developer. Advanced» от OTUS.

Программа идеально подойдет для Java-разработчиков с опытом от 2-х лет, желающих углубить знания в устройстве JVM, принципах профилирования и оптимизации приложений в облачной инфраструктуре.

На курсе вас ждут:

▫️ живые вебинары с возможностью задать вопросы экспертам;
▫️много практики и сильные проекты для портфолио;
▫️поддержка профессионального комьюнити;
▫️ рассрочка на комфортных условиях.

🤝 Проверьте свои навыки пройдя тест и получите специальную цену: https://vk.cc/cuSK78

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека Java разработчика

Чем отличается CountDownLatch от CyclicBarrier?

CountDownLatch, дословно «Запор с обратным отсчетом», – примитив синхронизации из стандартной библиотеки Java. Он останавливает пришедшие потоки, пока внутренний счетчик не достигнет нуля. Чтобы поставить поток на ожидание, нужно вызвать из него метод await().

Начальное значение счетчика задается параметром конструктора, затем уменьшается на 1 методом countDown(). Узнать текущее значение можно с помощью getCount(). Изменение значения счетчика никак не связано с потоками, его можно вызывать откуда и когда угодно.

CyclicBarrier – барьер для потоков, который ломается при достижении критической массы ожидающих. Это тоже класс из Java Concurrency Framework. Поток также встает на ожидание методом await(). Ожидающие потоки называются parties, их лимит также устанавливается в конструкторе.

Технически, parties барьера и count латча – одно и то же, await барьера – это await+countDown латча. В барьере тоже доступна информация о текущем состоянии барьера (методы isBroken, getParties и getNumberWaiting).

Помимо этого, CyclicBarrier дает две дополнительных возможности. Во-первых, в конструктор кроме parties можно передать коллбэк с действием, которое выполнится в момент прорыва барьера. Во-вторых, этот примитив переиспользуется: метод reset() насильно прорывает текущий барьер и устанавливает новый.

Оба этих примитива помогают решить задачу о гарантированных дедлоках. Противоположность латча и барьера – семафор. В нём потоки блокируются при достижении счетчиком нуля.

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Совет по Spring Boot💡

Spring Boot Custom Bean Validations с Jakarta Constraint Validator, группировка ограничений проверки, последовательность групп и i18n

https://gist.github.com/aoudiamoncef/9eeece142d1ef0faa4d06216a41282a2

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Как углубить свои знания об архитектуре ПО всего за пару часов?

Прийти на бесплатный практический урок «Тактики работы с обнаруживаемостью в архитектуре программного обеспечения» от OTUS. На вебинаре разберём:

- что такое observability и почему это важно для бизнеса;
- как использовать инструменты мониторинга и алертинга для повышения обнаруживаемости;
- принципы и практические примеры использования USE и RED;
- четыре золотых сигнала, которые помогут оптимизировать работу с обнаруживаемостью.

Встречаемся 6 марта в 20:00 мск в рамках курса «Software Architect». Доступна рассрочка на обучение!

Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://vk.cc/cuOaDC

Читать полностью…

Библиотека Java разработчика

Совет💡

Если вам не нравится, что стандартный метод подстроки Java выбрасывает исключение, если строка короче, чем ожидалось, вы можете использовать Apache Commons StringUtils, который не выбрасывает исключение в этом случае и с радостью возвращает все, что может.

https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html#substring-java.lang.String-int-int-

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Совет💡

Будьте осторожны при использовании @AllArgsConstructor от Lombok. Для генерации конструктора он использует порядок полей в классе. Если поля имеют одинаковый тип и вы переставите их местами, то начнете писать в разные поля, и компилятор не сможет помочь.

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Что если бы Java-разработчики могли создавать веб-приложения, не прибегая к помощи JavaScript? 🤔

👉 @BookJava

Читать полностью…

Библиотека Java разработчика

Глубокое погружение в Java Memory Model

В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.

👉 @BookJava

Читать полностью…

Библиотека Java разработчика

Test Driven Development (TDD) in Java

Creating a Queue Abstract Data Type class
Introduction to Test Doubles Dummies and Stubs
Introduction to Test Doubles Spies
Introduction to Test Doubles Mocks
Introduction to Test Doubles - Fakes

источник

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Все, что вам нужно знать о Java21

Как опытные Java-разработчики, так и новички найдут этот пост информативным и познавательным.

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

https://www.unlogged.io/post/all-you-need-to-know-about-java21

👉@BookJava

Читать полностью…

Библиотека Java разработчика

🤝 Нам кажется, что вы не готовы к нашему курсу Разработчик на Spring Framework

На курсе все максимально строго:

- Курс рассчитан на профессионалов с практическим опытом работы на Java.
- Мы будем 5 месяцев погружать вас в теорию и практику Spring Framework.
- Дадим 18 практических работ. ❗️Процесс review сдаваемой работы максимально приближен к тому, каким он мог быть на реальном проекте.
- Помимо этого, мы попросим вас сдать дипломную работу. Хотите узнать какие требования к ней (p.s. и чем она будет вам полезна)?

🤝 Готовы рассказать на бесплатном демо-уроке "Как будем выбирать проект?"

➡️ Чтобы записаться на демо-урок вам нужно еще и тест пройти.
Кстати, это отличный шанс проверить свои знания!

Пройти тест

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Библиотека Java разработчика

Бесплатный практический вебинар — Java: с чего начать карьеру в программировании?

⏰ Когда: 29 февраля в 19:00 по мск.

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

На практике познакомимся с синтаксисом языка и напишем программу, которую часто дают новичкам на техническом интервью.

🎁 Всем, кто зарегистрировался — Гайд «Как заговорить на сленге IT-специалистов», а каждому участнику — Карта компетенций Java-разработчика. 

Погрузитесь в основы Java и задайте вопросы опытному разработчику!

Читать полностью…

Библиотека Java разработчика

Slim Docker Images для Java

Из этой статьи вы узнаете, как создавать слим Docker-образы для ваших Java-приложений с помощью Alpine Linux и Jlink.

https://piotrminkowski.com/2023/11/07/slim-docker-images-for-java/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Совет по SpringFramework 💡

При использовании @SpringSecurity вы можете получить доступ к текущим данным аутентификации, добавив объект Authentication в качестве параметра метода в вашем @RestController class.

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Подборка Telegram каналов для программистов

Системное администрирование 📌
/channel/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
/channel/sysadminof Книги для админов, полезные материалы
/channel/i_odmin Все для системного администратора
/channel/i_odmin_book Библиотека Системного Администратора
/channel/i_odmin_chat Чат системных администраторов
/channel/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
/channel/sysadminoff Новости Линукс Linux


/channel/tikon_1 Новости высоких технологий, науки и техники💡
/channel/mir_teh Мир технологий (Technology World)

/channel/rust_lib Полезный контент по программированию на Rust
/channel/golang_lib Библиотека Go (Golang) разработчика

/channel/itmozg Программисты, дизайнеры, новости из мира IT.
/channel/phis_mat Обучающие видео, книги по Физике и Математике

/channel/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
/channel/nodejs_lib Подборки по Node js и все что с ним связано
/channel/ruby_lib Библиотека Ruby программиста

1C разработка 📌
/channel/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
/channel/cpp_lib Библиотека C/C++ разработчика
/channel/cpp_knigi Книги для программистов C/C++
/channel/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
/channel/pythonofff Python академия. Учи Python быстро и легко🐍
/channel/BookPython Библиотека Python разработчика
/channel/python_real Python подборки на русском и английском
/channel/python_360 Книги по Python Rus

Java разработка 📌
/channel/BookJava Библиотека Java разработчика
/channel/java_360 Книги по Java Rus
/channel/java_geek Учим Java на примерах

GitHub Сообщество 📌
/channel/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
/channel/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
/channel/developer_mobila Мобильная разработка
/channel/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
/channel/frontend_1 Подборки для frontend разработчиков
/channel/frontend_sovet Frontend советы, примеры и практика!
/channel/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
/channel/game_devv Все о разработке игр

Вакансии 📌
/channel/sysadmin_rabota Системный Администратор
/channel/progjob Вакансии в IT

Чат программистов📌
/channel/developers_ru

Библиотеки 📌
/channel/book_for_dev Книги для программистов Rus
/channel/programmist_of Книги по программированию
/channel/proglb Библиотека программиста
/channel/bfbook Книги для программистов
/channel/books_reserv Книги для программистов

БигДата, машинное обучение 📌
/channel/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
/channel/bookflow Лекции, видеоуроки, доклады с IT конференций
/channel/coddy_academy Полезные советы по программированию

QA, тестирование 📌
/channel/testlab_qa Библиотека тестировщика

Шутки программистов 📌
/channel/itumor Шутки программистов

Защита, взлом, безопасность 📌
/channel/thehaking Канал о кибербезопасности
/channel/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
/channel/ux_web Статьи, книги для дизайнеров

Английский 📌
/channel/UchuEnglish Английский с нуля

Математика 📌
/channel/Pomatematike Канал по математике

Excel лайфхак📌
/channel/Excel_lifehack

Читать полностью…

Библиотека Java разработчика

Разница между Component, Service, Controller и Repository в Spring Framework

Сегодня я расскажу об одном из самых популярных и фундаментальных - разнице между аннотациями @Component, @Service, @Controller и @Repository.

https://levelup.gitconnected.com/difference-between-component-service-controller-and-repository-in-spring-framework-b2ce8e5128ca

👉@BookJava

Читать полностью…

Библиотека Java разработчика

⁉️ Как стать разработчиком на Spring в 2024?

Узнайте на бесплатном практическом уроке от OTUS, где опытный эксперт приоткроет закулисье нашего курса и расскажет:

✔️ как грамотно выбрать итоговый проект, чтобы использовать его для портфолио и получить максимум практических навыков;
✔️ какие требования мы предъявляем к проектам студентов;
✔️ как проходит реализация проектов.

📢📢 Занятие пройдёт 28 февраля в 20:00 мск и будет приурочено к старту курса «Разработчик на Spring Framework».
Доступна рассрочка на обучение!

➡️ Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://vk.cc/cuQHmW

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Библиотека Java разработчика

Микросервисы на Java, Spring Boot и Cloud

В этом руководстве показано, как построить архитектуру микросервисов с помощью Spring Boot и Spring Cloud.

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

https://auth0.com/blog/java-spring-boot-microservices/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Какая разница между @⁠ElementCollection, @⁠OneToMany и @⁠ManyToMany?

Все эти аннотации – часть Java Persistence API. С их использованием мы регулярно сталкиваемся в реализациях JPA, таких как Hibernate.

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

@⁠OneToMany и @⁠ManyToMany хранят вложенные объекты как отдельные полноценные сущности – для них действуют всё те же требования, которые JPA выдвигает для всех @Entity классов. Каждая из аннотаций отвечает за свое отношение.

@⁠ElementCollection создает коллекцию встраиваемых классов. Применять её можно только на коллекции, тип элементов которых помечен @Embeddable, или входит в список стандартных встраиваемых классов (обертки примитивов, строки, даты, и т.д.).

На уровне хранения в реляционной базе, для @ElementCollection будет также создана отдельная таблица. Технически она будет находиться в отношении one-to-many.

Но из Java кода коллекция будет выглядеть встроенной: её элементом не нужно иметь собственные id, ими нельзя манипулировать отдельно от основной сущности. Единственное, чем такая коллекция отличается от встроенного поля-примитива – её можно загружать лениво (включено по умолчанию).

👉@BookJava

Читать полностью…

Библиотека Java разработчика

👩‍💻 Пройди тест по Java и проверь свои знания.

Ответишь
— пройдешь на продвинутый курс "Java Developer. Professional" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса курса

🔝 Обновленная, расширенная программа

Группа стартует 29 февраля - успей присоединится на выгодных условиях.

👉 ПРОЙТИ ТЕСТ: https://vk.cc/cuMEoA

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека Java разработчика

Как ведут себя конфликтующие импорты?

import ru.bookjava.A;
import static ru.bookjava.Letters.A;

class Test {
void test () {
// Никаких ошибок!
A letterAVariable = new A() ;
var enumElement = A;
}
}


• Классы текущего пакета доступны без импорта. Если импортируется другой класс, совпадающий с классом-соседом по пакету – сосед перекрывается. Будет использован импортированный класс, без ошибки.

• Если в class-файле существует несколько разных классов с одинаковыми именами, объявленных здесь же или импортированных – это приводит к ошибке компиляции.

• Импортировать один и тот же класс несколько раз допускается. Будет всего лишь warning о неиспользуемом импорте.

• Для статических импортов констант действуют те же правила. Обычные и статические импорты не конфликтуют друг с другом – для выбора достаточно контекста использования.

• Чтобы применять несколько классов/констант с одинаковыми именами в одном файле, придется обойтись без импортов. Нужно будет обращаться по их полным именам, с указанием пакета.

👉@BookJava

Читать полностью…
Subscribe to a channel