За 6 месяцев обучения:
- Научишься создавать современные java-приложения
- Поймешь основы функционирования JVM (сборка мусора, byteCode)
- Освоишь приемы применения многопоточности
- Напишите выпускной проект на любую тему под наставничеством преподавателя
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2😁1
Догоняя уходящий поезд хайпа по релизу 21 версии платформы Java, автор рассказывает о том, что нового и интересного на его взгляд появилось в языке программирования и на платформе Java.
В этом ролике он не преследует целью рассказать в подробностях вообще обо всех изменениях, остановится только на наиболее значимых и важных для большинства разработчиков с его точки зрения.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Что нового в JDK 21
Догоняя уходящий поезд хайпа по релизу 21 версии платформы Java, рассказываю о том, что нового и интересного на мой взгляд появилось в языке программирования и на платформе Java.
В этом ролике я не преследую целью рассказать в подробностях вообще обо всех…
В этом ролике я не преследую целью рассказать в подробностях вообще обо всех…
👍23❤3🔥3
Что такое «нормализация»?
Нормализация предназначена для приведения структуры базы данных к виду, обеспечивающему минимальную логическую избыточность, и не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение физического объёма базы данных. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в базе данных информации.
Нормализация
- это процесс преобразования отношений базы данных к виду, отвечающему нормальным формам (пошаговый, обратимый процесс замены исходной схемы другой схемой, в которой наборы данных имеют более простую и логичную структуру).Нормализация предназначена для приведения структуры базы данных к виду, обеспечивающему минимальную логическую избыточность, и не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение физического объёма базы данных. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в базе данных информации.
👍18🔥3
🔥В OTUS продолжается набор в группу курса Kotlin Backend Developer Professional. Это отличная возможность расширить свои возможности разработки на Kotlin!
18 октября в 19:00 мск. приглашаем на бесплатный открытый урок «Возможности Kotlin для создания DSL на примере JsonBuilder».
⚡️На занятии:
- рассмотрим общую теорию о DSL: назначение, особенности, практика;
- попрактикуемся в создание DSL на примере JsonBuilder;
- рассмотрим возможности Kotlin, полезные для создания DSL;
- узнаем, как создавать собственные DSL и применять их при написании приложения;
- познакомимся с замыканиями и extension-методами.
Этот вебинар – мастхэв для начинающих и продвинутых Kotlin-разработчиков, которые хотят повысить свою ценность для работодателей.
Отправьте заявку, чтобы записаться на урок.
👉Регистрация
❗️Легендой курса является разработка стартапа. В рамках легенды обсуждается реализация экстремальных проектов, в которых сочетаются высокая неопределенность и жесткие ограничения по времени и ресурсам. При покупке курса возможна рассрочка платежа. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
18 октября в 19:00 мск. приглашаем на бесплатный открытый урок «Возможности Kotlin для создания DSL на примере JsonBuilder».
⚡️На занятии:
- рассмотрим общую теорию о DSL: назначение, особенности, практика;
- попрактикуемся в создание DSL на примере JsonBuilder;
- рассмотрим возможности Kotlin, полезные для создания DSL;
- узнаем, как создавать собственные DSL и применять их при написании приложения;
- познакомимся с замыканиями и extension-методами.
Этот вебинар – мастхэв для начинающих и продвинутых Kotlin-разработчиков, которые хотят повысить свою ценность для работодателей.
Отправьте заявку, чтобы записаться на урок.
👉Регистрация
❗️Легендой курса является разработка стартапа. В рамках легенды обсуждается реализация экстремальных проектов, в которых сочетаются высокая неопределенность и жесткие ограничения по времени и ресурсам. При покупке курса возможна рассрочка платежа. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍10❤2🔥2
Слышали про TDD? Использовали? Вероятно, нет. Но если и пробовали, то вряд ли используете методологию на практике каждый день. Если вы, конечно, не фанат экстремальных практик программирования.
Спикер рассмотрит, как можно использовать TDD простым смертным каждый день и получать от этого пользу и удовольствие, и попробует найти рациональное зерно в этой практике. Не только для фанатов экстремального программирования, а для всех.
В программе:
1. Переход от бизнес-требований к различным видам тестов.
2. TestRestTemplate.
3. Mockito и проблемы тестирования бизнес логики.
4. WebMvcTest, DataJpaTest и тестирование разных слоёв приложения.
5. Проблема «раздутия» тестового контекста.
6. Тестируем Kafka — варианты, подходы. Нужен ли тут TDD или это третья нога?
7. Разделение тестов на слои и их архитектура. Закон Конвея для тестов.
8. TestContextBootstrapper и TypeExcludeFilters.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Кирилл Толкачев — Как познавать Spring Boot с помощью TDD
Подробнее о Java-конференциях:
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
Слышали про TDD? Использовали? Вероятно, нет. Но если и пробовали, то вряд ли используете методологию на практике каждый день. Если вы, конечно…
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
Слышали про TDD? Использовали? Вероятно, нет. Но если и пробовали, то вряд ли используете методологию на практике каждый день. Если вы, конечно…
👍12❤🔥2🔥2☃1❤1
Что такое «денормализация»? Для чего она применяется?
Денормализация базы данных — это процесс осознанного приведения базы данных к виду, в котором она не будет соответствовать правилам нормализации. Обычно это необходимо для повышения производительности и скорости извлечения данных, за счет увеличения избыточности данных.
Денормализация базы данных — это процесс осознанного приведения базы данных к виду, в котором она не будет соответствовать правилам нормализации. Обычно это необходимо для повышения производительности и скорости извлечения данных, за счет увеличения избыточности данных.
👍17🔥2
🚀 Как решать проблемы масштабирования приложений?
⚡️ Обсудим на бесплатном открытом уроке «Проблема вертикального масштабирования и синхронизация», который пройдёт в рамках курса «Архитектура и шаблоны проектирования» от OTUS.
На эфире мы сосредоточимся на следующих аспектах:
- Предпосылки возникновения проблемы масштабирования
- Проблемы многопоточности, нежелательные состояния и синхронизация
- Обзор модели вычислений, обходящей ограничения «традиционной», и вариантов её реализации
- Обзор подходов к архитектуре приложений, преобладавших в разное время, их особенности, плюсы и недостатки
🔥 Это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени. После этого вы сможете приобрести полный курс в рассрочку на комфортных условиях.
Встречаемся 10 октября в 20:00 мск.
👉 Регистрируйтесь бесплатно прямо сейчас и ставьте событие в календарь
⚡️ Обсудим на бесплатном открытом уроке «Проблема вертикального масштабирования и синхронизация», который пройдёт в рамках курса «Архитектура и шаблоны проектирования» от OTUS.
На эфире мы сосредоточимся на следующих аспектах:
- Предпосылки возникновения проблемы масштабирования
- Проблемы многопоточности, нежелательные состояния и синхронизация
- Обзор модели вычислений, обходящей ограничения «традиционной», и вариантов её реализации
- Обзор подходов к архитектуре приложений, преобладавших в разное время, их особенности, плюсы и недостатки
🔥 Это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени. После этого вы сможете приобрести полный курс в рассрочку на комфортных условиях.
Встречаемся 10 октября в 20:00 мск.
👉 Регистрируйтесь бесплатно прямо сейчас и ставьте событие в календарь
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍7❤3🔥2
Какие существуют типы связей в базе данных? Приведите примеры.
• Один к одному - любому значению атрибута
Каждый университет гарантированно имеет 1-го ректора: 1 университет → 1 ректор.
• Один ко многим - любому значению атрибута
В каждом университете есть несколько факультетов: 1 университет → много факультетов.
• Многие ко многим - любому значению атрибута
1 профессор может преподавать на нескольких факультетах, в то же время на 1-ом факультете может преподавать несколько профессоров: Несколько профессоров ↔️ Несколько факультетов.
• Один к одному - любому значению атрибута
А
соответствует только одно значение атрибута В
, и наоборот.Каждый университет гарантированно имеет 1-го ректора: 1 университет → 1 ректор.
• Один ко многим - любому значению атрибута
А
соответствует 0
, 1
или несколько значений атрибута В
.В каждом университете есть несколько факультетов: 1 университет → много факультетов.
• Многие ко многим - любому значению атрибута
А
соответствует 0
, 1
или несколько значений атрибута В
, и любому значению атрибута В
соответствует 0
, 1
или несколько значение атрибута А
.1 профессор может преподавать на нескольких факультетах, в то же время на 1-ом факультете может преподавать несколько профессоров: Несколько профессоров ↔️ Несколько факультетов.
👍31🔥2🎄2
ООП в языке Java. Сборник заданий и тематических примеров (2023) PDF
Сборник заданий предназначен для проработки приемов объектно-ориентированного программирования в языке Java. Издание содержит задачи на обработку массивов, реализацию интерфейсов, наследование, использование коллекций, дженериков и лямбда-выражений. В каждой теме приводятся примеры решения типовых задач и варианты индивидуальные заданий. Издание ориентировано в первую очередь на тех, кто не имеет опыта практического программирования на языке Java и адресуется студентам, а также всем, кто хотел бы научиться приемам программирования стандартных задач.
Сборник заданий предназначен для проработки приемов объектно-ориентированного программирования в языке Java. Издание содержит задачи на обработку массивов, реализацию интерфейсов, наследование, использование коллекций, дженериков и лямбда-выражений. В каждой теме приводятся примеры решения типовых задач и варианты индивидуальные заданий. Издание ориентировано в первую очередь на тех, кто не имеет опыта практического программирования на языке Java и адресуется студентам, а также всем, кто хотел бы научиться приемам программирования стандартных задач.
👍27🔥3
На бесплатном вебинаре мы:
— рассмотрим, с какими задачами сталкиваются разработчики Clojure и какие основные особенности отличают его от других бэкендовых языков.
— обсудим преимущества, которые предлагает Clojure по сравнению с другими языками.
— изучим, какие возможности и перспективы он предлагает для разработчиков.
Экспертизой поделится руководитель программы и практик Сергей Ткаченко (Clojure Software developer / Team Lead).
🔥После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
Проблема квадрата/прямоугольника, объяснение и решение
В ролике о принципе подстановки Барбары Лисков я привёл в качестве примера его нарушения проблему квадрата/прямоугольника, но не предложил способов её решения. В этом ролике я ещё раз рассказываю об этой проблеме и предлагаю решение.
В ролике о принципе подстановки Барбары Лисков я привёл в качестве примера его нарушения проблему квадрата/прямоугольника, но не предложил способов её решения. В этом ролике я ещё раз рассказываю об этой проблеме и предлагаю решение.
YouTube
Проблема квадрата/прямоугольника, объяснение и решение
В ролике о принципе подстановки Барбары Лисков я привёл в качестве примера его нарушения проблему квадрата/прямоугольника, но не предложил способов её решения. В этом ролике я ещё раз рассказываю об этой проблеме и предлагаю решение.
Паблик в VK: https:…
Паблик в VK: https:…
👍9🔥2
Practical Spring Cloud Function: Developing Cloud-Native Functions for Multi-Cloud and Hybrid-Cloud Environments (2022) PDF, ePUB
Unlike other resources that target only programming communities, this book targets both programming and business communities. With programming models shifting more towards no-code and low-code, citizen programmers from the business side will welcome this book as a guide for how to design and optimize their information pipeline while lowering costs for infrastructure. Programmers, on the other hand, will welcome this book's business-centric programming view, which will get them a step closer to fulfilling real business requirements.
Practical Spring Cloud Function touches on the themes of portability, scalability, high performance and high availability. Each theme is explored via a real enterprise use case and code. The use cases target industries including energy (oil pipeline sensors), automotive (event-driven connected vehicles), and retail (conversational AI).
Unlike other resources that target only programming communities, this book targets both programming and business communities. With programming models shifting more towards no-code and low-code, citizen programmers from the business side will welcome this book as a guide for how to design and optimize their information pipeline while lowering costs for infrastructure. Programmers, on the other hand, will welcome this book's business-centric programming view, which will get them a step closer to fulfilling real business requirements.
Practical Spring Cloud Function touches on the themes of portability, scalability, high performance and high availability. Each theme is explored via a real enterprise use case and code. The use cases target industries including energy (oil pipeline sensors), automotive (event-driven connected vehicles), and retail (conversational AI).
👍10🔥3❤1
Назовите основные свойства транзакции.
Атомарность (atomicity)
гарантирует, что никакая транзакция не будет зафиксирована в системе частично. Будут либо выполнены все её подоперации, либо не выполнено ни одной.Согласованность (consistency)
. Транзакция, достигающая своего нормального завершения и, тем самым, фиксирующая свои результаты, сохраняет согласованность базы данных.Изолированность (isolation)
. Во время выполнения транзакции параллельные транзакции не должны оказывать влияние на её результат.Долговечность (durability)
. Независимо от проблем на нижних уровнях (к примеру, обесточивание системы или сбои в оборудовании) изменения, сделанные успешно завершённой транзакцией, должны остаться сохранёнными после возвращения системы в работу.👍25🔥7❤4
Разработку и развёртывание современного серверного программного обеспечения сложно представить себе без использования инструментов контейнеризации, ну, а Docker и вовсе, наверняка, на слуху у подавляющего большинства разработчиков.
Упаковка в контейнеры проектов на платформе Java в целом задача не сложная, но имеет свои нюансы. В этом ролике автор рассмотрит следующие сценарии упаковки приложения на основе Spring Boot в OCI-образ:
- Локальная сборка проекта с последующей упаковкой в Docker-образ
- Полный цикл сборки проекта в Docker с помощью Dockerfile
- Сборка образа при помощи Spring Boot Plugin и Paketo Buildpacks
Все сценарии будут продемонстрированы с использованием Maven и Gradle.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Контейнеризация приложений - Spring Boot
Разработку и развёртывание современного серверного программного обеспечения сложно представить себе без использования инструментов контейнеризации, ну, а Docker и вовсе, наверняка, на слуху у подавляющего большинства разработчиков.
Упаковка в контейнеры проектов…
Упаковка в контейнеры проектов…
👍22❤3
Где получить практические знания по микросервисной архитектуре?
С микросервисной архитектурой можно облегчить масштабирование, ускорить разработку и сократить итеративный цикл создания сервисов. Это скилл, который кратно увеличит ваши карьерные возможности.
Начните изучение с бесплатного открытого урока «Основные паттерны аутентификации и авторизации в микросервисной архитектуре» от OTUS.
На эфире обсудим:
- Введение в микросервисную архитектуру.
- Паттерн аутентификации в микросервисах.
- Паттерн авторизации и управление доступом.
- Безопасность и мониторинг
🔥 Преподаватель Станислав Щетинников – директор по развитию в Сбербанке.
📅 Занятие пройдёт 11 октября в 20:00 мск в рамках курса «Microservice Architecture».
🚩 Зарегистрируйтесь на событие прямо сейчас: https://otus.pw/a8AN/
С микросервисной архитектурой можно облегчить масштабирование, ускорить разработку и сократить итеративный цикл создания сервисов. Это скилл, который кратно увеличит ваши карьерные возможности.
Начните изучение с бесплатного открытого урока «Основные паттерны аутентификации и авторизации в микросервисной архитектуре» от OTUS.
На эфире обсудим:
- Введение в микросервисную архитектуру.
- Паттерн аутентификации в микросервисах.
- Паттерн авторизации и управление доступом.
- Безопасность и мониторинг
🔥 Преподаватель Станислав Щетинников – директор по развитию в Сбербанке.
📅 Занятие пройдёт 11 октября в 20:00 мск в рамках курса «Microservice Architecture».
🚩 Зарегистрируйтесь на событие прямо сейчас: https://otus.pw/a8AN/
👍7❤2🔥2
Какие существуют уровни изолированности транзакций?
В порядке увеличения изолированности транзакций и, соответственно, надёжности работы с данными:
•
•
•
•
В порядке увеличения изолированности транзакций и, соответственно, надёжности работы с данными:
•
Чтение неподтверждённых данных (грязное чтение) (read uncommitted, dirty read)
— чтение незафиксированных изменений как своей транзакции, так и параллельных транзакций. Нет гарантии, что данные, изменённые другими транзакциями, не будут в любой момент изменены в результате их отката, поэтому такое чтение является потенциальным источником ошибок. Невозможны потерянные изменения, возможны неповторяемое чтение и фантомы.•
Чтение подтверждённых данных (read committed)
— чтение всех изменений своей транзакции и зафиксированных изменений параллельных транзакций. Потерянные изменения и грязное чтение не допускается, возможны неповторяемое чтение и фантомы.•
Повторяемость чтения (repeatable read, snapshot)
— чтение всех изменений своей транзакции, любые изменения, внесённые параллельными транзакциями после начала своей, недоступны. Потерянные изменения, грязное и неповторяемое чтение невозможны, возможны фантомы.•
Упорядочиваемость (serializable)
— результат параллельного выполнения сериализуемой транзакции с другими транзакциями должен быть логически эквивалентен результату их какого-либо последовательного выполнения. Проблемы синхронизации не возникают.👍19🔥3
Для чего используют Kafka Streams? Она позволяет быстро и просто писать код Java/Scala на стороне клиента, при этом разворачивать и использовать распределенное приложение на сервере Kafka в соответствии с DevOps-подходом.
Изучите этот инструмент на бесплатном открытом уроке «Kafka Streams» от OTUS.
- как создать граф обработчиков с использованием DSL;
- как читать сообщения из топика;
- как фильтровать и преобразовывать сообщения;
- что происходит при изменении ключа;
- как организовать роутинг сообщений;
- как работать с состоянием, какие при этом возникают нюансы;
- как работает join потоков сообщений.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2
На практике часто бывает ситуация, когда необходимо многократно извлекать одни и те же данные, например из базы данных, либо получать их по http или другим затратным способом. В отдельных случаях такие запросы могут работать медленно (например сторонний сервис долго отвечает) и это становится настоящей проблемой, когда нагрузка на приложение возрастает. Повысить производительность приложения в этом случае можно с помощью кэширования - многократно используемые данные сохраняются в памяти и их извлечение происходит без запросов к базе данных и сторонним сервисам. В этом видео автор расскажет о том, как можно настроить кэширование в вашем приложении на Spring Boot.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Кэширование данных в приложении на Spring Boot
На практике часто бывает ситуация, когда необходимо многократно извлекать одни и те же данные, например из базы данных, либо получать их по http или другим затратным способом. В отдельных случаях такие запросы могут работать медленно (например сторонний сервис…
👍24❤2
Как Greenplum помогает аналитикам и архитекторам?
Эта БД используется для сложной аналитики по большим объёмам данных. Она быстро выполняет сложные аналитические запросы благодаря MPP-архитектуре и сочетает в себе возможность масштабируемости на десятки терабайт, строгую консистентность данных, ANSI SQL и джойны.
Изучите эту технологию на бесплатном открытом уроке «Greenplum в высоконагруженных системах» от OTUS.
На эфире разберем:
- Обзор аналитических возможностей Greenplum
- Настройку Greenplum для высоконагруженных систем
- Пример с использованием Greenplum в реальной системе
🔥Преподаватель Дмитрий Золотов – Flutter+Kotlin Developer в Yandex.
Занятие пройдёт 16 октября в 20:00 мск в рамках курса «Highload Architect».
Зарегистрируйтесь на событие прямо сейчас: https://otus.pw/jW0p/
Эта БД используется для сложной аналитики по большим объёмам данных. Она быстро выполняет сложные аналитические запросы благодаря MPP-архитектуре и сочетает в себе возможность масштабируемости на десятки терабайт, строгую консистентность данных, ANSI SQL и джойны.
Изучите эту технологию на бесплатном открытом уроке «Greenplum в высоконагруженных системах» от OTUS.
На эфире разберем:
- Обзор аналитических возможностей Greenplum
- Настройку Greenplum для высоконагруженных систем
- Пример с использованием Greenplum в реальной системе
🔥Преподаватель Дмитрий Золотов – Flutter+Kotlin Developer в Yandex.
Занятие пройдёт 16 октября в 20:00 мск в рамках курса «Highload Architect».
Зарегистрируйтесь на событие прямо сейчас: https://otus.pw/jW0p/
👍9🔥2
Что такое «SQL»?
SQL
, Structured query language
(«язык структурированных запросов») — формальный непроцедурный язык программирования, применяемый для создания, модификации и управления данными в произвольной реляционной базе данных, управляемой соответствующей системой управления базами данных (СУБД).👍15🔥4❤1