Как проектировать базы данных в highload проектах?
Обычно при проектировании БД используется метод нормальных форм (NF), но с ростом проекта и увеличением объема данных он может работать медленно и приводить к проблемам производительности.
Узнайте, что делать в этой ситуации на бесплатном открытом уроке от OTUS. На вебинаре:
- рассмотрим особенности проектирования баз данных в условиях highload-проектов;
- обсудим альтернативный подход к проектированию.
Занятие пройдёт 13 декабря в 20:00 мск в рамках курса «Highload Architect». После урока вы сможете продолжить обучение в рассрочку.
Чтобы задать свои вопросы преподавателю, переходите на наш сайт прямо сейчас, регистрируйтесь и воспользуйтесь функцией напоминание в календаре, чтобы не пропустить прямой эфир: https://otus.pw/OVqn/
Обычно при проектировании БД используется метод нормальных форм (NF), но с ростом проекта и увеличением объема данных он может работать медленно и приводить к проблемам производительности.
Узнайте, что делать в этой ситуации на бесплатном открытом уроке от OTUS. На вебинаре:
- рассмотрим особенности проектирования баз данных в условиях highload-проектов;
- обсудим альтернативный подход к проектированию.
Занятие пройдёт 13 декабря в 20:00 мск в рамках курса «Highload Architect». После урока вы сможете продолжить обучение в рассрочку.
Чтобы задать свои вопросы преподавателю, переходите на наш сайт прямо сейчас, регистрируйтесь и воспользуйтесь функцией напоминание в календаре, чтобы не пропустить прямой эфир: https://otus.pw/OVqn/
👍8❤2
Абстракция в Java
Абстракция — это способность выделять существенные характеристики объекта и упускать несущественные.
Абстракция позволяет сосредоточиться на важных свойствах и поведении объекта, скрыв детали реализации.
В Java абстракция реализуется с помощью абстрактных классов и интерфейсов.
Абстрактный класс содержит абстрактные методы без реализации. Подклассы обязаны реализовать эти методы.
Интерфейс задает «контракт», описывая поведение классов без деталей реализации. Классы реализуют интерфейс.
Реализация абстракции требует тщательного анализа предметной области и выделения общих свойств объектов.
Абстракция — это способность выделять существенные характеристики объекта и упускать несущественные.
Абстракция позволяет сосредоточиться на важных свойствах и поведении объекта, скрыв детали реализации.
В Java абстракция реализуется с помощью абстрактных классов и интерфейсов.
Абстрактный класс содержит абстрактные методы без реализации. Подклассы обязаны реализовать эти методы.
Интерфейс задает «контракт», описывая поведение классов без деталей реализации. Классы реализуют интерфейс.
Реализация абстракции требует тщательного анализа предметной области и выделения общих свойств объектов.
👍19🔥3
В результате урока вы:
✔️ Увидите, как пишется код и создаются программы на Java
✔️ Сможете повторить все шаги и делать подобные открытки на любую тематику
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥3👍2
В данном видео автор рассказывает о Enum в языке программирования Java. Показывает разные варианты применения Enum на примерах.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Java. Enum на примерах.
В данном видео я рассказываю о Enum в языке программирования Java. Показываю разные варианты применения Enum на примерах.
Поддержать канал на Boosty:
https://boosty.to/arhitutorials
Наш чатик в Telegram:
https://news.1rj.ru/str/ArhiTutorials
#arhitutorialsjava #ityoutubersru
Поддержать канал на Boosty:
https://boosty.to/arhitutorials
Наш чатик в Telegram:
https://news.1rj.ru/str/ArhiTutorials
#arhitutorialsjava #ityoutubersru
👍15🔥3
✅ На вебинаре:
— рассмотрим различные типы хранилищ: реляционные базы данных, NoSQL-базы и хранилища файлов;
— узнаем, как выбрать наиболее подходящий тип хранилища для различных сценариев и требований;
— изучим популярные модели CQRS и Event Sourcing.
Занятие пройдёт 20 декабря в 20:00 мск и будет приурочено к старту курса «Software Architect». После урока вы сможете продолжить обучение в рассрочку по специальной цене.
👉 Для бесплатного участия и получения записи пройдите короткое тестирование прямо сейчас 👈
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2❤1
Класс LocalDateTime
Класс LocalDateTime используется для работы с датой и временем без учета часового пояса.
Он появился в Java 8 в пакете java.time и является частью новой date/time API, которая пришла на смену устаревшим классам Date и Calendar.
Основные возможности класса LocalDateTime:
— Хранение даты и времени с точностью до наносекунд.
— Получение различных компонентов даты/времени (год, месяц, день недели и т. д.).
— Выполнение операций сложения и вычитания дат и интервалов.
— Сравнение и сортировка дат по времени.
— Форматирование и парсинг строк по заданному шаблону.
Класс LocalDateTime используется для работы с датой и временем без учета часового пояса.
Он появился в Java 8 в пакете java.time и является частью новой date/time API, которая пришла на смену устаревшим классам Date и Calendar.
Основные возможности класса LocalDateTime:
— Хранение даты и времени с точностью до наносекунд.
— Получение различных компонентов даты/времени (год, месяц, день недели и т. д.).
— Выполнение операций сложения и вычитания дат и интервалов.
— Сравнение и сортировка дат по времени.
— Форматирование и парсинг строк по заданному шаблону.
👍24❤3🔥3
Как пройти интервью на позицию Data Warehouse Analyst?
Узнайте на бесплатном практическом уроке от OTUS, Алексея Железного – Senior Data Engineer в Wildberries и Александры Мерзлой – Team Lead DWH в Tinkoff.
На вебинаре:
- обсудим, как проходить интервью на позицию DWH-аналитика для middle+ специалистов;
- разберём практические кейсы;
- ответим на все вопросы в режиме реального времени.
Занятие пройдёт 20 декабря в 20:00 мск и будет приурочено к старту курса «Data Warehouse Analyst». После урока вы сможете продолжить обучение в рассрочку.
Регистрируйтесь на занятие: https://otus.pw/Ii9m/
Узнайте на бесплатном практическом уроке от OTUS, Алексея Железного – Senior Data Engineer в Wildberries и Александры Мерзлой – Team Lead DWH в Tinkoff.
На вебинаре:
- обсудим, как проходить интервью на позицию DWH-аналитика для middle+ специалистов;
- разберём практические кейсы;
- ответим на все вопросы в режиме реального времени.
Занятие пройдёт 20 декабря в 20:00 мск и будет приурочено к старту курса «Data Warehouse Analyst». После урока вы сможете продолжить обучение в рассрочку.
Регистрируйтесь на занятие: https://otus.pw/Ii9m/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru❤5👍4🔥1
Контейнер Optional
Optional — это контейнер, который может содержать какое-то значение или не содержать ничего.
Он используется для обозначения отсутствия значения вместо null. Это позволяет избежать ошибок NullPointerException.
Optional появился в Java 8. Он представлен классом java.util.Optional.
Чтобы создать экземпляр Optional, используются статические методы:
— empty() для пустого Optional.
— of() для Optional с заданным значением.
Для получения значения из Optional используются методы get(), или orElse() с указанием значения по умолчанию. Также есть методы фильтрации значений, например filter(), map() и flatMap().
Optional — это контейнер, который может содержать какое-то значение или не содержать ничего.
Он используется для обозначения отсутствия значения вместо null. Это позволяет избежать ошибок NullPointerException.
Optional появился в Java 8. Он представлен классом java.util.Optional.
Чтобы создать экземпляр Optional, используются статические методы:
— empty() для пустого Optional.
— of() для Optional с заданным значением.
Для получения значения из Optional используются методы get(), или orElse() с указанием значения по умолчанию. Также есть методы фильтрации значений, например filter(), map() и flatMap().
🔥15👍8
Ответишь — пройдешь на продвинутый курс "Java Developer. Professional" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса курса🎁 .
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3🎉1
Keycloak - популярный SSO-сервис (Single Sign On), предоставляющий единую точку входа для всех ваших приложений, реализующий протоколы OAuth и OIDC. Keycloak может быть использован в связке со Spring Security с минимальным количеством дополнительного кода. В этом ролике автор продемонстрирует настройку ресурс-сервера и логина Spring Security OAuth2 с использованием Keycloak.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Keycloak и Spring Security
Keycloak - популярный SSO-сервис (Single Sign On), предоставляющий единую точку входа для всех ваших приложений, реализующий протоколы OAuth и OIDC. Keycloak может быть использован в связке со Spring Security с минимальным количеством дополнительного кода.…
🔥15👍3
Освойте разработку микросервисной архитектуры всего за 5 месяцев
на курсе «Microservice Architecture» от OTUS с новогодней скидкой
🔥После обучения вы сможете:
- на профессиональном уровне планировать архитектуру и создавать масштабируемые, fault-tolerant приложения;
- решать нетривиальные задачи в рамках распределенных и децентрализованных систем;
- использовать в проектах классические паттерны проектирования (шардирование, репликация, и т.д.).
🗓 Курс стартует 25 декабря.
👩💻 Обучение подходит архитекторам, разработчикам, системным аналитикам, администраторам и DevOps-инженерам.
🌐 Пройдите вступительное тестирование прямо сейчас и забронируйте место в группе по новогодней скидке: https://otus.pw/Vlx7/
Также курс доступен для приобретения в рассрочку.
на курсе «Microservice Architecture» от OTUS с новогодней скидкой
🔥После обучения вы сможете:
- на профессиональном уровне планировать архитектуру и создавать масштабируемые, fault-tolerant приложения;
- решать нетривиальные задачи в рамках распределенных и децентрализованных систем;
- использовать в проектах классические паттерны проектирования (шардирование, репликация, и т.д.).
🗓 Курс стартует 25 декабря.
👩💻 Обучение подходит архитекторам, разработчикам, системным аналитикам, администраторам и DevOps-инженерам.
🌐 Пройдите вступительное тестирование прямо сейчас и забронируйте место в группе по новогодней скидке: https://otus.pw/Vlx7/
Также курс доступен для приобретения в рассрочку.
👍4🔥3❤2😁1
Привет. За 9 минут вы узнаете, как писать unit тесты с помощью библиотек junit и mockito.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
ТЕСТИРОВАНИЕ НА JAVA (JUNIT, MOCKITO)
Привет. За 9 минут вы узнаете, как писать unit тесты с помощью библиотек junit и mockito.
Код из видео:
https://github.com/dispikerton/testirovanie
Код из видео:
https://github.com/dispikerton/testirovanie
👍8🔥8
Gradle
Это инструмент автоматизации сборки, который в основном используется в Android-разработке. Популярная альтернатива Ant и Maven.
Gradle позволяет определять и управлять зависимостями проекта, запускать модульные тесты и упаковывать приложение для развертывания. Gradle также имеет систему плагинов, которая позволяет добавлять функциональные возможности и настраивать процесс сборки.
Это инструмент автоматизации сборки, который в основном используется в Android-разработке. Популярная альтернатива Ant и Maven.
Gradle позволяет определять и управлять зависимостями проекта, запускать модульные тесты и упаковывать приложение для развертывания. Gradle также имеет систему плагинов, которая позволяет добавлять функциональные возможности и настраивать процесс сборки.
👍20🔥5
✔️ Умение эффективно работать в проектах, где есть Spring
✔️ Знание современных возможностей Spring
✔️ Понимание, как создавать Web-приложения на микросервисной архитектуре и решать высокоуровневые задачи по разработке
✔️ Умение быстро проходить путь от идеи до production-grade
✔️ Владение фреймворками Spring и технологиями вспомогательных проектов (Spring MVC, Spring Security, Spring Boot, Spring Reactive Stack, Spring 5)
Пройдите бесплатное вступительное тестирование прямо сейчас и узнайте, готовы ли вы стать студентом!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruPlease open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1
При разработке ПО хорошей практикой является описание некоторого контракта, на который будут опираться все компоненты системы при взаимодействии друг с другом.
Для SOAP у вас есть WSDL, а вот для REST-сервисов такого однозначного способа описания контрактов изначально нет. Какое-то время автор для этого использовал связку из Spring RestDocs и Spring Cloud Contract, но со временем и возросшей популярностью Swagger переключился на описание REST-сервисов в формате OpenAPI.
В этом ролике автор постарается наглядно продемонстрировать способ валидации REST-сервисов на Spring при помощи Swagger во время выполнения интеграционных тестов.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Тестирование и валидация REST-сервисов - Spring и Swagger
При разработке ПО хорошей практикой является описание некоторого контракта, на который будут опираться все компоненты системы при взаимодействии друг с другом.
Для SOAP у вас есть WSDL, а вот для REST-сервисов такого однозначного способа описания контрактов…
Для SOAP у вас есть WSDL, а вот для REST-сервисов такого однозначного способа описания контрактов…
👍14🔥6
Скажите что-то на карьерном
Тинькофф в поиске крутых ИТ-спецов. С компании — профессиональный рост, интересные финтех-задачи, решение бытовых забот и работа там, где вы живете. С вас — выбрать вакансию и откликнуться тут
АО «Тинькофф Банк», ИНН 7710140679
Тинькофф в поиске крутых ИТ-спецов. С компании — профессиональный рост, интересные финтех-задачи, решение бытовых забот и работа там, где вы живете. С вас — выбрать вакансию и откликнуться тут
АО «Тинькофф Банк», ИНН 7710140679
👍6🔥2❤1
CompletableFuture
CompletableFuture — это класс в Java, введенный в Java 8, который представляет собой асинхронную задачу, которая будет выполнена в будущем и возвращает результат. CompletableFuture предоставляет множество методов для работы с асинхронными задачами, комбинирования их и управления их выполнением.
Основные возможности CompletableFuture включают:
— Вы можете запустить задачу асинхронно и продолжить выполнение кода без блокировки.
— CompletableFuture позволяет комбинировать результаты нескольких задач, выполняя определенные действия при завершении каждой задачи.
— Вы можете указать обработчики ошибок для обработки исключений, возникающих во время выполнения задачи.
— Вы можете блокировать выполнение кода и ждать завершения задачи.
CompletableFuture — это класс в Java, введенный в Java 8, который представляет собой асинхронную задачу, которая будет выполнена в будущем и возвращает результат. CompletableFuture предоставляет множество методов для работы с асинхронными задачами, комбинирования их и управления их выполнением.
Основные возможности CompletableFuture включают:
— Вы можете запустить задачу асинхронно и продолжить выполнение кода без блокировки.
— CompletableFuture позволяет комбинировать результаты нескольких задач, выполняя определенные действия при завершении каждой задачи.
— Вы можете указать обработчики ошибок для обработки исключений, возникающих во время выполнения задачи.
— Вы можете блокировать выполнение кода и ждать завершения задачи.
👍20🔥3
Что такое Deadlock или как намеренно создать взаимную блокировку потоков, а затем исправить алгоритм на языке программирования Java.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Как устроить Deadlock, а затем уйти от взаимной блокировки навсегда
00:00 | Вступление
00:30 | Алгоритм возникновения Deadlock
01:50 | Пример в коде
07:26 | Уходим от блокировки
Что такое Deadlock или как намеренно создать взаимную блокировку потоков, а затем исправить алгоритм на языке программирования Java.
00:30 | Алгоритм возникновения Deadlock
01:50 | Пример в коде
07:26 | Уходим от блокировки
Что такое Deadlock или как намеренно создать взаимную блокировку потоков, а затем исправить алгоритм на языке программирования Java.
🔥13👍5
Как вывести скилл программирования на новый уровень?
Расскажем на открытом уроке «Теория графов»
С Евгением Волосатовым — профессиональным программистом, преподавателем языка Java и автором курсов по C#, Java и PHP — обсудим, почему от кандидатов на Middle и Senior-должности в крупных IT-компаниях требуют знания алгоритмов.
А также подробно разберём теорию графов и ее составляющие, сделаем обзор первой половины программы курса «Алгоритмы и структуры данных».
После урока вы сможете продолжить обучение на курсе в рассрочку на специальных условиях.
🔥 Вебинар подойдет бэкенд-разработчикам на любых языках программирования начального и среднего уровня и системным программистам. Доступно обучение в рассрочку.
Занятие пройдёт 26 декабря в 20:00 мск.
Для бесплатного участия и получения записи пройдите короткое тестирование прямо сейчас: https://otus.pw/RduqA/
Расскажем на открытом уроке «Теория графов»
С Евгением Волосатовым — профессиональным программистом, преподавателем языка Java и автором курсов по C#, Java и PHP — обсудим, почему от кандидатов на Middle и Senior-должности в крупных IT-компаниях требуют знания алгоритмов.
А также подробно разберём теорию графов и ее составляющие, сделаем обзор первой половины программы курса «Алгоритмы и структуры данных».
После урока вы сможете продолжить обучение на курсе в рассрочку на специальных условиях.
🔥 Вебинар подойдет бэкенд-разработчикам на любых языках программирования начального и среднего уровня и системным программистам. Доступно обучение в рассрочку.
Занятие пройдёт 26 декабря в 20:00 мск.
Для бесплатного участия и получения записи пройдите короткое тестирование прямо сейчас: https://otus.pw/RduqA/
👍9🔥3