Алгоритмы (2023) PDF
В этом руководстве содержатся основные сведения об алгоритмах: анализируются различные типы алгоритмов, рассматриваются мето-ды их построения (рекурсия, динамическое программирование и др.), приводятся практические примеры. В конце каждой главы приводятся упражнения, направленные на закрепление пройденного.Для изучения материала требуется знание основ дискретной математики и методов доказательств, а также представление об основных вычислительных задачах и алгоритмах. Желателен практический опыт работы с языком программирования, поддерживающим косвенную адресацию и рекурсию.Издание адресовано студентам и преподавателям технических вузов, а также тем, кто хочет изучить основы алгоритмизации.
В этом руководстве содержатся основные сведения об алгоритмах: анализируются различные типы алгоритмов, рассматриваются мето-ды их построения (рекурсия, динамическое программирование и др.), приводятся практические примеры. В конце каждой главы приводятся упражнения, направленные на закрепление пройденного.Для изучения материала требуется знание основ дискретной математики и методов доказательств, а также представление об основных вычислительных задачах и алгоритмах. Желателен практический опыт работы с языком программирования, поддерживающим косвенную адресацию и рекурсию.Издание адресовано студентам и преподавателям технических вузов, а также тем, кто хочет изучить основы алгоритмизации.
👍18🔥6❤2
Что такое cookies?
• аутентификации пользователя;
• хранения персональных предпочтений и настроек пользователя;
• отслеживания состояния сеанса доступа пользователя;
• ведения разнообразной статистики.
Сookies («куки») — небольшой фрагмент данных, отправленный web-сервером и хранимый на устройстве пользователя. Всякий раз при попытке открыть страницу сайта, web-клиент пересылает соответствующие этому сайту cookies web-серверу в составе HTTP-запроса. Применяется для сохранения данных на стороне пользователя и на практике обычно используется для:• аутентификации пользователя;
• хранения персональных предпочтений и настроек пользователя;
• отслеживания состояния сеанса доступа пользователя;
• ведения разнообразной статистики.
👍47🔥4❤2
Проверка кода – важная часть функционала разработчика, этот процесс помогает выявить ошибки, пропуски, уязвимости и стилистические недочеты.
Хотите научиться правильно проводить ревью, чтобы повысить качество своих конечных результатов?
Приходите на бесплатный открытый урок «Code-review онлайн» от OTUS.
✅ Преподаватель курса «С# Developer Professional» Антон Герасименко, .net developer + lead с опытом в разработке более 10 лет:
— проведет code-review нескольких учебных проектов;
— расскажет о сode-review в целом: стоит ли его проводить, кому и когда он полезен.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3❤1☃1
Что такое «сессия»?
Сессия - это сеанс связи между клиентом и сервером, устанавливаемый на определенное время. Сеанс устанавливается непосредственно между клиентом и веб-сервером в момент получения первого запроса к веб-приложению. Каждый клиент устанавливает с сервером свой собственный сеанс, который сохраняется до окончания работы с приложением.👍25🔥4☃2
Принцип подстановки Барбары Лисков - SOLID в деталях
Третий ролик серии «SOLID в деталях» посвящён принципу подстановки Барбары Лисков (Liskov Substitution Principle; LSP).
В серии роликов «SOLID в деталях» автор постарается подробно рассказать о принципах SOLID, а так же продемонстрировать их практическое применение.
Третий ролик серии «SOLID в деталях» посвящён принципу подстановки Барбары Лисков (Liskov Substitution Principle; LSP).
В серии роликов «SOLID в деталях» автор постарается подробно рассказать о принципах SOLID, а так же продемонстрировать их практическое применение.
YouTube
Принцип подстановки Барбары Лисков - SOLID в деталях
Третий ролик серии «SOLID в деталях» посвящён принципу подстановки Барбары Лисков (Liskov Substitution Principle; LSP).
В серии роликов «SOLID в деталях» я постараюсь подробно рассказать о принципах SOLID, а так же продемонстрировать их практическое применение.…
В серии роликов «SOLID в деталях» я постараюсь подробно рассказать о принципах SOLID, а так же продемонстрировать их практическое применение.…
👍14🔥3
Дайте определение терминам «простой», «составной» (composite), «потенциальный» (candidate) и «альтернативный» (alternate) ключ.
Из множества всех потенциальных ключей набора данных выбирают первичный ключ, все остальные ключи называют
Простой ключ состоит из одного атрибута (поля). Составной - из двух и более.Потенциальный ключ - простой или составной ключ, который уникально идентифицирует каждую запись набора данных. При этом потенциальный ключ должен обладать критерием неизбыточности: при удалении любого из полей набор полей перестает уникально идентифицировать запись.Из множества всех потенциальных ключей набора данных выбирают первичный ключ, все остальные ключи называют
альтернативными.👍14🔥2❤1
За 6 месяцев обучения:
- Научишься создавать современные java-приложения
- Поймешь основы функционирования JVM (сборка мусора, byteCode)
- Освоишь приемы применения многопоточности
- Напишите выпускной проект на любую тему под наставничеством преподавателя
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruPlease 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