Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Объектно-ориентированное программирование на Java
Принципы объектно-ориентированного программирования
Описание класса и создание объектов в Java
Ключевое слово this в Java
Модификаторы классов, полей и методов в Java
Конструкторы в языке Java
Геттеры и сеттеры. Удаление объектов в Java
Объекты как параметры методов в Java
Переопределение методов класса Object
Пример решения задачи на создание класса в Java
Статические члены класса в Java
источник
👉@BookJava
Принципы объектно-ориентированного программирования
Описание класса и создание объектов в Java
Ключевое слово this в Java
Модификаторы классов, полей и методов в Java
Конструкторы в языке Java
Геттеры и сеттеры. Удаление объектов в Java
Объекты как параметры методов в Java
Переопределение методов класса Object
Пример решения задачи на создание класса в Java
Статические члены класса в Java
источник
👉@BookJava
👍3😁2
Media is too big
VIEW IN TELEGRAM
Прекрасный и ужасный ООП в Java
Денис Родин (Сбер)
Спикер рассмотрит:
1. Некоторые противоречия догм в ООП.
2. Отличия ООП Джеймса Гослинга (James Gosling) в Java от ООП Алана Кея (Alan Kay).
3. Рассуждения о «серебряной пуле».
источник
👉@BookJava
Денис Родин (Сбер)
Спикер рассмотрит:
1. Некоторые противоречия догм в ООП.
2. Отличия ООП Джеймса Гослинга (James Gosling) в Java от ООП Алана Кея (Alan Kay).
3. Рассуждения о «серебряной пуле».
источник
👉@BookJava
👍4🔥2
Media is too big
VIEW IN TELEGRAM
Spring Boot Tutorial | Полный курс
В этом учебном пособии по Spring Boot рассказывается о том, как начать работу с Spring Boot и Java.
00:00 Intro
01:00 Quick Word
02:12 Spring Boot Overview
03:44 Project Overview
04:28 Spring Initializr
08:05 IntelliJ
10:29 Starting The Server
14:03 Simple API with Spring Boot
18:06 Student Class
23:19 API Layer
26:38 Business Layer
29:08 Dependency Injection
32:47 Properties file
36:15 Creating and Connecting to Database
39:48 JPA and @ Entity
42:35 JPA in Action
45:52 Amigoscode Database Courses
47:35 JPA Repository
52:20 Saving Students
58:49 @ Transient
01:03:01 Post Mapping
01:08:00 Writing Business Logic
01:12:43 Testing Post Request
01:15:35 Deleting Students
01:21:33 Exercise
01:22:53 Solution
01:26:54 Testing
01:29:41 Packaging and Running Application
01:34:52 Next steps
источник
👉@BookJava
В этом учебном пособии по Spring Boot рассказывается о том, как начать работу с Spring Boot и Java.
00:00 Intro
01:00 Quick Word
02:12 Spring Boot Overview
03:44 Project Overview
04:28 Spring Initializr
08:05 IntelliJ
10:29 Starting The Server
14:03 Simple API with Spring Boot
18:06 Student Class
23:19 API Layer
26:38 Business Layer
29:08 Dependency Injection
32:47 Properties file
36:15 Creating and Connecting to Database
39:48 JPA and @ Entity
42:35 JPA in Action
45:52 Amigoscode Database Courses
47:35 JPA Repository
52:20 Saving Students
58:49 @ Transient
01:03:01 Post Mapping
01:08:00 Writing Business Logic
01:12:43 Testing Post Request
01:15:35 Deleting Students
01:21:33 Exercise
01:22:53 Solution
01:26:54 Testing
01:29:41 Packaging and Running Application
01:34:52 Next steps
источник
👉@BookJava
👍4🔥1
Совет💡
Будьте осторожны при использовании
👉@BookJava
Будьте осторожны при использовании
@AllArgsConstructor
от Lombok. Для генерации конструктора он использует порядок полей в классе. Если поля имеют одинаковый тип и вы переставите их местами, то начнете писать в разные поля, и компилятор не сможет помочь.👉@BookJava
👍14
Советы по Spring 💡
Создайте отказоустойчивый микросервис с помощью паттерна
https://resilience4j.readme.io/
👉@BookJava
Создайте отказоустойчивый микросервис с помощью паттерна
Circuit Breake
r, используя Resilience4j. 🔥https://resilience4j.readme.io/
👉@BookJava
👍6
Совет по Java 💡
Чтобы сделать большие и сложные цепочки компараторов более читаемыми, мне нравится присваивать компараторы переменным, имена которых начинаются с "by". Таким образом, вызов
👉@BookJava
Чтобы сделать большие и сложные цепочки компараторов более читаемыми, мне нравится присваивать компараторы переменным, имена которых начинаются с "by". Таким образом, вызов
sorted()
становится меньше и читается почти как естественный язык. Кроме того, вы можете использовать статический импорт.👉@BookJava
👍17🔥2
Советы по Spring🚀
Ведение журнала HTTP-запросов с помощью фильтра
Включите ведение журнала запросов с помощью фильтра
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/filter/CommonsRequestLoggingFilter.html
#SpringTip #Java
👉@BookJava
Ведение журнала HTTP-запросов с помощью фильтра
CommonsRequestLoggingFilter
.Включите ведение журнала запросов с помощью фильтра
CommonsRequestLoggingFilter
для получения подробной информации о входящих запросах. https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/filter/CommonsRequestLoggingFilter.html
#SpringTip #Java
👉@BookJava
docs.spring.io
CommonsRequestLoggingFilter (Spring Framework 6.2.3 API)
declaration: package: org.springframework.web.filter, class: CommonsRequestLoggingFilter
👍6🎉3
Spring WebFlux с Server-Sent Events 🚀
Улучшите свои real-time приложения с помощью #SpringWebFlux и Server-Sent Events! 🔥
#Java #SpringFramework
👉@BookJava
Улучшите свои real-time приложения с помощью #SpringWebFlux и Server-Sent Events! 🔥
#Java #SpringFramework
👉@BookJava
🔥5👍2
Совет по Java 💡
При создании стандартных HTTP-заголовков для ответов Spring MVC, вместо того чтобы предоставлять их в виде строк, можно воспользоваться специальными билдерами. Они позволяют создавать заголовки более типобезопасным способом. Ознакомьтесь с методами `
#Java #SpringFramework
👉@BookJava
При создании стандартных HTTP-заголовков для ответов Spring MVC, вместо того чтобы предоставлять их в виде строк, можно воспользоваться специальными билдерами. Они позволяют создавать заголовки более типобезопасным способом. Ознакомьтесь с методами `
set()
` класса `HttpHeaders
`, которые можно настроить таким образом.#Java #SpringFramework
👉@BookJava
👍6❤1
Это очень подробный пост о проблеме, которую мы наблюдали в Virtual Threads с " pinning" в Netflix.
https://netflixtechblog.com/java-21-virtual-threads-dude-wheres-my-lock-3052540e231d
#Java #VirtualThreads
👉@BookJava
https://netflixtechblog.com/java-21-virtual-threads-dude-wheres-my-lock-3052540e231d
#Java #VirtualThreads
👉@BookJava
👍3
Совет по JPA 🚀
Упростите свои #Java модели данных, встраивая сложные типы непосредственно в ваши сущности с помощью аннотации
#Hibernate #SpringBoot #JavaDevelopment #ORM
👉@BookJava
Упростите свои #Java модели данных, встраивая сложные типы непосредственно в ваши сущности с помощью аннотации
@Embedded
в @JPA
! Это идеально подходит для многократно используемых компонентов, таких как адреса. 🔥#Hibernate #SpringBoot #JavaDevelopment #ORM
👉@BookJava
👍7
Совет по
Если вы используете параметр
#Java
👉@BookJava
@SpringData
Если вы используете параметр
hibernate.use_sql_comments
, чтобы показать, какой запрос JPQL вызвал какой SQL запрос, вы можете дополнительно использовать аннотацию (@)Meta
из Spring Data JPA, чтобы задать пользовательский комментарий для вашего JPQL запроса.#Java
👉@BookJava
👍3🔥2🥰1
Адаптер (Adapter) — объект, обеспечивающий взаимодействие двух других объектов, один из которых использует, а другой предоставляет несовместимый с первым интерфейс.
Мост (Bridge) — структура, позволяющая изменять интерфейс обращения и интерфейс реализации класса независимо.
Компоновщик (Composite) — объект, который объединяет в себе объекты, подобные ему самому.
Декоратор (Decorator) — класс, расширяющий функциональность другого класса без использования наследования.
Фасад (Facade) — объект, который абстрагирует работу с несколькими классами, объединяя их в единое целое.
Приспособленец (Flyweight) — это объект, представляющий себя как уникальный экземпляр в разных местах программы, но по факту не являющийся таковым.
Заместитель (Proxy) — объект, который является посредником между двумя другими объектами, и который реализует/ограничивает доступ к объекту, к которому обращаются через него.
👉@BookJava
Мост (Bridge) — структура, позволяющая изменять интерфейс обращения и интерфейс реализации класса независимо.
Компоновщик (Composite) — объект, который объединяет в себе объекты, подобные ему самому.
Декоратор (Decorator) — класс, расширяющий функциональность другого класса без использования наследования.
Фасад (Facade) — объект, который абстрагирует работу с несколькими классами, объединяя их в единое целое.
Приспособленец (Flyweight) — это объект, представляющий себя как уникальный экземпляр в разных местах программы, но по факту не являющийся таковым.
Заместитель (Proxy) — объект, который является посредником между двумя другими объектами, и который реализует/ограничивает доступ к объекту, к которому обращаются через него.
👉@BookJava
👍15
🚀 Совет по Java API 🚀
java.nio.file.WatchService - мониторинг событий файловой системы в реальном времени. Обнаружение изменений файлов и директорий независимо от платформы. 🔥
https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/nio/file/WatchService.html
#Java #JavaAPI
👉@BookJava
java.nio.file.WatchService - мониторинг событий файловой системы в реальном времени. Обнаружение изменений файлов и директорий независимо от платформы. 🔥
https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/nio/file/WatchService.html
#Java #JavaAPI
👉@BookJava
Oracle
WatchService (Java SE 22 & JDK 22)
declaration: module: java.base, package: java.nio.file, interface: WatchService
👍5🥱2
Советы по Spring Boot💡
Улучшите сборку образа контейнера
https://paketo.io/docs/howto/java/#install-a-minimal-jre-with-jlink
#SpringBoot #Java
👉@BookJava
Улучшите сборку образа контейнера
@springboot
с помощью #Jlink! https://paketo.io/docs/howto/java/#install-a-minimal-jre-with-jlink
#SpringBoot #Java
👉@BookJava
👍5
Media is too big
VIEW IN TELEGRAM
Структурированная конкуренция
Структурированная конкуренция рассматривает группы связанных задач, выполняющихся в разных потоках, как единое целое. Она упрощает обработку ошибок и отмену задач, повышает надежность, улучшает наблюдаемость и отлично сочетается с виртуальными потоками. В этом сеансе мы познакомим вас с этой концепцией и с API, который в настоящее время находится в предварительном просмотре и поддерживает эту функцию.
источник
👉@BookJava
Структурированная конкуренция рассматривает группы связанных задач, выполняющихся в разных потоках, как единое целое. Она упрощает обработку ошибок и отмену задач, повышает надежность, улучшает наблюдаемость и отлично сочетается с виртуальными потоками. В этом сеансе мы познакомим вас с этой концепцией и с API, который в настоящее время находится в предварительном просмотре и поддерживает эту функцию.
источник
👉@BookJava
👍6
Media is too big
VIEW IN TELEGRAM
Spring Data JDBC. Проблемы известные, проблемы неизвестные
Михаил Поливаха
Spring Data JDBC — относительно новый модуль Spring Data. У него своя концепция, свои фичи, свои баги и проблемы. Часть этих проблем известна аудитории и описана в документации. Однако иногда документация врет или недоговаривает. К тому же есть некоторые неочевидные детали реализации, которые могут смутить пользователей библиотеки. Это касается многих аспектов — от генерации SQL до маппинга сущностей.
Во время доклада мы посмотрели на ряд подобных сюрпризов, обсудим, баг это или фича и что разработчики планируют с этим делать. Также рассмотрели текущее состояние проекта Spring Data JDBC — над чем идет работа, что исправляется, а что пока нет.
источник
👉@BookJava
Михаил Поливаха
Spring Data JDBC — относительно новый модуль Spring Data. У него своя концепция, свои фичи, свои баги и проблемы. Часть этих проблем известна аудитории и описана в документации. Однако иногда документация врет или недоговаривает. К тому же есть некоторые неочевидные детали реализации, которые могут смутить пользователей библиотеки. Это касается многих аспектов — от генерации SQL до маппинга сущностей.
Во время доклада мы посмотрели на ряд подобных сюрпризов, обсудим, баг это или фича и что разработчики планируют с этим делать. Также рассмотрели текущее состояние проекта Spring Data JDBC — над чем идет работа, что исправляется, а что пока нет.
источник
👉@BookJava
👍11❤1
В чём разница между jar и war?
jar и war – расширения платформо-независимых файлов-архивов Java-приложения. Кроме них есть еще третий формат, ear. Все эти форматы – на самом деле просто zip-архивы с классами и другими частями приложения. Вы можете переименовать такой файл в .zip, разархивировать, и посмотреть, что внутри.
JAR – Java Archive. Содержит файлы классов, ресурсы, зависимые библиотеки, и другие необходимые для приложения файлы. Может содержать точку входа, и использоваться как цель для исполнения команды java.
WAR – Web Archive. Технически имеет ту же структуру, но другую роль – архив JavaEE web-компонента. Обычно содержит jar-ы с реализацией, JSP, статические файлы фронт-энда, и мета-информацию для сервлет-контейнера (web.xml). В основном используется как деплоймент web-приложения в сервлет-контейнер. С приходом Servlet API 3.0 и embedded-контейнеров, всё больше становится принято запаковывать и web-компоненты в самодостаточные jar (Лозунг Spring Boot: Make jar, not war).
EAR – Enterprise Archive. Для разработчиков, начавших карьеру уже во времена Spring Framework, может показаться совсем экзотичным. Это собранное воедино монолитное JavaEE приложение. Содержит дескрипторы деплоймента и JavaEE модули (веб-модули, EJB, клиентские модули, адаптеры ресурсов). Деплоится в JavaEE Application Server.
Все три типа файлов собираются утилитой jar из JDK.
👉@BookJava
jar и war – расширения платформо-независимых файлов-архивов Java-приложения. Кроме них есть еще третий формат, ear. Все эти форматы – на самом деле просто zip-архивы с классами и другими частями приложения. Вы можете переименовать такой файл в .zip, разархивировать, и посмотреть, что внутри.
JAR – Java Archive. Содержит файлы классов, ресурсы, зависимые библиотеки, и другие необходимые для приложения файлы. Может содержать точку входа, и использоваться как цель для исполнения команды java.
WAR – Web Archive. Технически имеет ту же структуру, но другую роль – архив JavaEE web-компонента. Обычно содержит jar-ы с реализацией, JSP, статические файлы фронт-энда, и мета-информацию для сервлет-контейнера (web.xml). В основном используется как деплоймент web-приложения в сервлет-контейнер. С приходом Servlet API 3.0 и embedded-контейнеров, всё больше становится принято запаковывать и web-компоненты в самодостаточные jar (Лозунг Spring Boot: Make jar, not war).
EAR – Enterprise Archive. Для разработчиков, начавших карьеру уже во времена Spring Framework, может показаться совсем экзотичным. Это собранное воедино монолитное JavaEE приложение. Содержит дескрипторы деплоймента и JavaEE модули (веб-модули, EJB, клиентские модули, адаптеры ресурсов). Деплоится в JavaEE Application Server.
Все три типа файлов собираются утилитой jar из JDK.
👉@BookJava
👍7🔥3
Совет по Spring MongoDB 💡
Определение выражений сортировки с использованием type-safe API 🔥
👉@BookJava
Определение выражений сортировки с использованием type-safe API 🔥
👉@BookJava
❤4👍1