Идёт набор группы. Расписание будет опубликовано позже. Следите за изменениями на сайте.
{{course.from_date | date:'dd.MM.yyyy'}} - {{course.to_date | date:'dd.MM.yyyy'}} % скидка действует до {{ course.discount_expire_date }}
{{course.time_start}} - {{course.time_end}}{{course.week_days}}
{{course.week_days}} {{ ( course.price_base_individuals_webinar && ( course.price_base_individuals && !webinarOnly || webinarOnly ) ) ? course.price_base_individuals_webinar : '' }} {{ ( course.price_base_entities_webinar && ( course.price_base_entities && !webinarOnly || webinarOnly ) ) ? course.price_base_entities_webinar : '' }}
Оставить заявку на Очное обучение
Оставить заявку на Вебинар
Записаться на Дистанционное обучение
скидка действует до {{ tables.distant.discount_expire_date }}
Продолжительность обучения: 436 академических часов
Форма обучения: очно, в формате вебинара
Стоимость обучения: 115 000 рублей - для физических лиц
115 000 рублей - для юридических лиц
Формы оплаты:
- единовременный платеж (предоставляется скидка 10%);
- беcпроцентная рассрочка.
Возможность предоставления беспроцентной рассрочки (подробнее об услуге уточняйте у сотрудников Института).
Документ об окончании: диплом о профессиональной переподготовке.
Данные выданного документа вносятся в единый реестр ФИС ФРДО.
О процессе обучения:
Обучение проводится в технически оборудованных аудиториях, каждый слушатель обеспечен индивидуальным компьютером, учебные классы укомплектованы всеми необходимыми методическими материалами.
О курсе:
Программа профессиональной подготовки сфокусирована на освоении высоко востребованного языка Java.
Курс состоит из модулей, которые последовательно обучают новичка решать поставленные задачи от простых к сложным, переходя к практическому применению всей многообразной системы инструментов разработки.
Особое внимание уделяется глубокому пониманию алгоритмизации и объектно-ориентированного программирования, принципы которых мало отличаются в различных языках высокого уровня.
Платформой для изучения языка SQL и разработки реляционных баз данных выбрана свободная система PostgreSQL, стремительно ставшая самой востребованной в корпоративном сегменте.
Слушатели научатся работать с JavaFX для использования любых библиотек и создания интерактивных приложений для различного информационного наполнения, насыщенные векторной графикой, анимацией, аудио и видео.
Освоят наиболее распространенный фреймворк Spring, который чаще всего требуется от начинающих специалистов.
По окончании обучения слушатели:
- Смогут создавать сайты;
- Научаться разрабатывать веб-приложения;
- Будут уметь работать с базами данных;
- Подготовят проект для портфолио;
- Сформируют систему знаний и навыков для проектирования и реализации настольных и веб приложений, а также уверенного старта в мире программирования на должности Junior Developer.
Навыки, приобретаемые по окончании курса:
- Разработка и анализ линейных, ветвящихся и циклических алгоритмов;
- Кодирование на языках высокого уровня;
- Преобразование чисел в различных системах счисления;
- Проектирование простых реляционных баз данных.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Базовые понятия и определения Задача. Решение задачи; Алгоритм. Свойства алгоритмов; Программа. Программное обеспечение; Информатика. Информация. Информационная технология; Данные. Числа в арифметике; Выражения. Операнды. Знаки операций. Идентификаторы. Константы; Алгоритмические структуры; Примеры алгоритмического решения математических задач. |
4 |
2 | Логика. Представление данных Основы алгебры логики; Системы счисления; Связи между системами счисления; Двоичная и шестнадцатеричная системы счисления; Единицы измерения ёмкости запоминающих устройств; Представление целых и вещественных чисел в памяти ЭВМ; Диапазоны представления чисел в двоичной системе счисления; Представление символьной информации. Кодовые таблицы; Понятие типа данных. |
6 |
3 | Структуры данных Базовые структуры данных – массивы и записи; Основные операции над структурами данных; Динамические структуры данных. Списки. Стеки. Деревья; Практическая задача с использованием массивов и записей; Анализ производительности алгоритмов. |
4 |
4 | Методологии и языки программирования Стадии и этапы разработки программ. Проектирование. Реализация. Проблемы программирования; Методологии программирования. Классификация методологий программирования (структурное, объектно-ориентированное, логическое, функциональное, программирование в ограничениях). Структурное программирование. Базовые принципы (пошаговая детализация, модульное структурное программирование); Объектно-ориентированное программирование. Базовые принципы (абстрагирование, инкапсуляция, наследование, полиморфизм); Языки программирования. Классификация. Понятие фреймворка. Применение структурного программирования для решения задач |
6 |
5 | Хранение и передача информации Файловая система с точки зрения программы; Бинарные и текстовые файлы, язык XML. Кэширование данных. Передача информации на внешние устройства: буферизация, коррекция ошибок, контрольные суммы, общие принципы шифрования; Базы данных и информационные системы; Требования пользователей к базам данных; Схемы обмена данными при работе с БД клиент-серверного типа; Инфологический аспект проектирования. Модель «сущность-связь»; Даталогический аспект проектирования; Модели данных (иерархическая, сетевая, реляционная) их достоинства и недостатки; Реляционные базы данных. Нормализация. |
4 |
Итого: | 24 |
Навыки, приобретаемые по окончании курса:
- устанавливать и настраивать систему;
- создавать ветви, производить их слияние и устранять конфликты версий в коде.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Введение в системы контроля версий. —Системы контроля версий, зачем они нужны, их разновидности. Сходство и отличия | 0,5 |
2 | Репозитории, сервисы совместной разработки | 0,5 |
3 | Создание учётной записи на GitHub | 0,5 |
4 | Установка Gitlab | 2 |
5 | Использование клиента системы контроля версий GitHub desktop | 1 |
6 | Использование клиента системы контроля версий в среде разработки на примере PyCharm | 1 |
7 | Создание локального репозитория | 1 |
8 | Создание описания проекта | 0,5 |
9 | Синтаксис markdown | 0,5 |
10 | Первые commit | 1 |
11 | Файл .gitignore | 0,5 |
12 | Правильное описание коммита | 1 |
13 | Что и когда коммтить | 0,5 |
14 | Откат на прошлую версию | 1 |
15 | Отправка локальных коммитов в реестр | 0,5 |
16 | Обновление локального репозитория | 0,5 |
17 | Разрешение конфликтов | 0,5 |
18 | Создание веток, разработка в ветке, слияние веток | 1 |
19 | Форк проекта, доработка проекта, запрос слияния | 1 |
20 | Публикация готового проекта на GitHub | 1 |
Итого: | 16 |
Навыки, приобретаемые по окончании курса:
- Работа с различными типами данных, операторами и функциями Java. Структурное программирование с разбиением на подпрограммы-функции;
- Построение структур данных и решение алгоритмических задач;
- Основы объектно-ориентированного программирования.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Введение Структура программы. Работа с интегрированной средой программирования. Элементы языка. Типы данных. Описание переменных. Операции ввода-вывода. Использование библиотечных функций. Соглашение об именах. |
4 |
2 | Операции Арифметические и логические операции. Операции присваивания и отношения. Приоритеты и ассоциативность операций. Трассировка программы. |
4 |
3 | Операторы Оператор-выражение и составной оператор. Операторы ветвления if-else, switch. Операторы цикла – while, do-while и for. Использование операторов break, continue, и return. Практические задачи на вычисления с использованием циклов и ветвлений. |
8 |
4 | Массивы Одномерные и многомерные массивы. Декларация и размещение в памяти. Индексация. Обращение к элементам массива. Алгоритмы с поэлементным обращением к массиву. Ввод и вывод. |
6 |
5 | Функции Возвращение значения функцией. Аргументы и параметры. Рекурсия. Перегрузка функций. Декомпозиция задачи при помощи функций. |
10 |
6 | Строки Класс String и его свойства. Альтернативы: StringBuilder и StringBuffer. Поиск и преобразование в строках. Понятие регулярного выражения. |
4 |
7 | Алгоритмы работы с массивами Поиск и сортировка в массиве. Анализ вычислительной сложности. Упорядочивание двумерных массивов по заданному шаблону. Задача «8 ферзей». |
12 |
8 | Структуры данных Класс как структура. Размещение в памяти. Перечисления. Применение структур и перечислений в решении задач. |
8 |
9 | Алгоритмы на графах Введение в теорию графов. Способы представления графа. Классические задачи и практическое применение. |
4 |
10 | Основы ООП Инкапсуляция. Управление доступом. Статические и нестатические методы. Конструкторы. Наследование. Полиморфизм. Обобщение как один из базовых принципов проектирования. Лестница абстракции. |
8 |
11 | Знакомство с коллекциями Java Динамические структуры на данных на примере односвязного списка. Другие динамические структуры данных. Интерфейс Collection на практике: работа со списками, множествами, стеками. |
4 |
12 | Исключения Обработка ошибок, классификация исключений Перехват исключений, трассировка стека исключений. |
4 |
13 | Файловые операции Понятие потока. Текстовые и бинарные файлы. Основные способы чтения и записи текстовых файлов. |
4 |
Итого: | 80 |
Навыки, приобретаемые по окончании курса:
- Разработка нормализованной структуры реляционной базы данных Выбор подходящих типов данных при создании таблиц;
- Задание декларативных ограничений целостности данных;
- Выборка и модификация данных в таблицах;
- Разработка и создание представлений, скалярных и табличных функций, триггеров;
- Управление транзакциями.
- Определение стратегии индексирования для повышения производительности.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Введение в реляционные базы данных Клиент-серверная архитектура. Требования к СУБД. Инфологический, даталогический и физический аспекты проектирования БД. Реляционная модель. Нормализация БД. Назначение, состав SQL. |
4 |
2 | Создание таблиц Типы данных для полей таблицы. Декларативные ограничения целостности. Связи между таблицами. Первичные и внешние ключи. Создание таблиц в PostgreSQL посредством среды pgAdmin и DBeaver. Понятие схемы данных, визуальное создание связей между таблицами. Инструкции CREATE TABLE, ALTER TABLE, DROP TABLE. Особенности изменения и пересоздания существующих таблиц. |
8 |
3 | Основы выборки данных Синтаксис команды SELECT. Полные и краткие имена таблиц и полей. Псевдонимы. Арифметических операции, встроенных функции. Агрегирующие функции. Фильтрация. Операции сравнения для числовых и текстовых значений. Логические операции. Сортировка выводимого результата. |
4 |
4 | Соединение таблиц в запросе Декартово произведение. Внутреннее соединение. Внешнее соединение. |
4 |
5 | Расширенные возможности выборки данных Группировка строк по одному или нескольким полям. Агрегирующие функции и фильтрация по группам. Вывод промежуточных итогов. Вложенные запросы SELECT. Объединение, вычитание, пересечение результатов нескольких запросов SELECT. Обобщенные табличные выражения. |
8 |
6 | Представления Понятие представления, преимущества использования. Создание представлений при помощи запросов SELECT. Ограничения на синтаксис запроса. Использование представлений для выборки данных. |
2 |
7 | Манипулирование строками таблиц Инструкция INSERT INTO. Отличия от запроса SELECT… INTO. Модификация данных при помощи инструкции UPDATE. Удаление данных. Инструкции DELETE FROM и TRUNCATE. |
4 |
8 | Функции и язык PL/pgSQL Преимущества функций. Создание функций, реализующих логику добавления и удаления данных. Использование переменных. Перехват и обработка ошибок. Табличные функции. |
8 |
9 | Курсоры Серверные и клиентские курсоры. Задачи, решаемые при помощи простых и вложенных курсоров. Недостатки императивного подхода. |
3 |
10 | Транзакции Назначение и свойства транзакций. Блокировки. Уровни изолированности транзакций. Применение транзакций при создании функций. |
3 |
11 | Триггеры Понятие триггера DML. Типы триггеров в стандарте. Создание триггеров и триггерных функций. Преимущества и недостатки триггеров. Использование триггеров для аудита. |
4 |
12 | Индексы и производительность Алгоритмическая сложность различных запросов. План выполнения запроса. Понятие индекса. Индексы по нескольким полям. Типы данных и индексы. Кластеризованный индекс. Повышение производительности при помощи некластеризованных индексов. |
8 |
Итого: | 60 |
Навыки, приобретаемые по окончании курса:
- Понимание назначения языка UML в современном программировании;
- Понимание способов построения различных видов диаграмм UML;
- Понимание выбора Case-средств при построении диаграмм.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Введение в UML. Виды диаграмм Бизнес-процессы, бизнес-модель и бизнес-аналитика Информационная система и ее компоненты Возможности языка UML: структурные и поведенческие модели Назначение языка, способы использования языка и его структура Краткий обзор Case-средств Пример работы в бесплатных онлайн- и офлайн- редакторах диаграмм. ООП и последовательность построения диаграмм |
4 |
2 | Use-case диаграммы Назначение диаграммы прецедентов Элементы и отношения Пример анализа простой предметной области Практика: анализ функциональных требований и построение диаграммы в реальной задаче |
4 |
3 | Диаграммы взаимодействия Нотация Пример построения диаграммы Выгоды и проблемы при использовании диаграмм взаимодействия |
4 |
4 | Диаграммы классов Классы, объекты, интерфейсы и отношения на диаграмме Пример моделирования структуры программы Автоматическая генерация ООП кода case-средствами Шаблоны программирования (Design patterns) Практика: анализ предметной области при помощи диаграммы классов |
4 |
Итого: | 16 |
Навыки, приобретаемые по окончании курса:
- Java Core;
- Java FX;
- Maven.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Абстракции Повторение основ ООП. Аннотации. Переопределение методов. Абстрактные классы. Интерфейсы. Проверка принадлежности объекта классу или интерфейсу. Анонимные классы и лямбда-выражения. |
8 |
2 | Обобщения Обобщенные методы. Обобщенные классы. Обобщенные интерфейсы. Пример обобщенного контейнера. |
4 |
3 | Коллекции Списки. Ассоциативные массивы. Типичные примеры применения. Реализация в виде хэш-таблицы и дерева поиска. |
8 |
4 | Работа с базами данных Обзор JDBC. Подключение библиотек драйверов. Выполнение запросов. Клиентские курсоры. |
4 |
5 | Автоматизация сборки. Maven Ад зависимостей. Структура проекта Maven. Архетипы. Интеграция со средой разработки. |
4 |
6 | Графический интерфейс на основе JavaFX Простое графическое приложение. Паттерн MVC. Построение и загрузка сцены в окно Контейнеры и контролы JavaFX. Обработчики кнопок и событий. Наблюдаемые значения и метод AddListener. |
10 |
7 | Расширенные возможности JavaFX Динамическое изменение представления. Использование компонента TableView. Форматирование CSS. Меню. |
14 |
8 | Многопоточное программирование Параллельное программирование. Параллельные алгоритмы. Потоки в операционной системе. Потоки Java. Проблемы общего доступа к памяти. Идиома монитора. Методы wait, notify, notifyAll. Обзор java.util.concurrent. |
8 |
Итого: | 60 |
Данный модуль рассматривает технологии, используемые в серьезных проектах, состоящих из большого количества разнородных, слабосвязанных, удаленных компонентов. Знание данных технологий выносит вас из мира проектов «hello world» работающих на одной пользовательской рабочей станции в мир большого продакшена с определенными требованиями к доступности, производительности, отказоустойчивости и безопасности.
Все технологии будут рассмотрены с примерами кода на языке python, все сервисы будут развернуты на клоне самого крупного коммерческого линукс дистрибутива Red Hat Enterprise Linux — RockyLinux.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | In-memory технологии Redis - резидентная система управления базами данных класса NoSQL Tarantool - платформа in-memory вычислений |
8 |
2 | Документно-ориентированная СУБД MongoDB - документно-ориентированная система управления базами данных |
4 |
3 | Колоночная аналитическая СУБД ClickHouse - колоночная аналитическая СУБД |
4 |
4 | Работа с очередями сообщений, распараллеливание выполнения RabbitMQ - программный брокер сообщений на основе стандарта AMQP Apache Kafka - распределённый программный брокер сообщений |
12 |
5 | Работа с REST API Python FastAPI framework Python requests Сurl |
8 |
6 | Кластерные решения, балансировка нагрузки, высокая доступность Обзор решений высокой доступности Обзор решений балансировки Обзор Nginx Настройка Haproxy |
12 |
7 | Логирование работы приложений Понимание логирования Разработка подсистемы логирования для приложения Разбор и фильтрация логов Kibana/osd |
8 |
8 | Docker платформа для разработки, доставки и эксплуатации приложений Обзор решения Запуск контейнеров Интерфейс управления – Portainer Запуск своего приложения в Docker Публикация проекта на Dockerhub |
8 |
Итого: | 60 |
Навыки, приобретаемые по окончании курса:
- Spring.Boot;
- Hybernate;
- Rest API.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Введение в Spring MVC Проекты и модули Spring Аннотации. Простое веб-приложение |
4 |
2 | Разработка на Spring Boot | 8 |
3 | Фронтэнд HTML, CSS, основы JavaScript. Шаблоны |
8 |
4 | Работа с данными Замена JDBC при помощи ORM. Фреймворк Hybernate |
4 |
5 | REST API | 4 |
6 | Аутентификация и авторизация | 4 |
7 | Spring AOP Аспектно-ориентированное программирование JoinPoint. Weaving и Weaver. Advice |
6 |
8 | Интеграция с внешними сервисами | 2 |
Итого: | 40 |
Навыки, приобретаемые по окончании курса:
- Разработка и анализ линейных, ветвящихся и циклических алгоритмов;
- Кодирование на языках высокого уровня;
- Преобразование чисел в различных системах счисления;
- Проектирование простых реляционных баз данных.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Базовые понятия и определения Задача. Решение задачи; Алгоритм. Свойства алгоритмов; Программа. Программное обеспечение; Информатика. Информация. Информационная технология; Данные. Числа в арифметике; Выражения. Операнды. Знаки операций. Идентификаторы. Константы; Алгоритмические структуры; Примеры алгоритмического решения математических задач. |
4 |
2 | Логика. Представление данных Основы алгебры логики; Системы счисления; Связи между системами счисления; Двоичная и шестнадцатеричная системы счисления; Единицы измерения ёмкости запоминающих устройств; Представление целых и вещественных чисел в памяти ЭВМ; Диапазоны представления чисел в двоичной системе счисления; Представление символьной информации. Кодовые таблицы; Понятие типа данных. |
6 |
3 | Структуры данных Базовые структуры данных – массивы и записи; Основные операции над структурами данных; Динамические структуры данных. Списки. Стеки. Деревья; Практическая задача с использованием массивов и записей; Анализ производительности алгоритмов. |
4 |
4 | Методологии и языки программирования Стадии и этапы разработки программ. Проектирование. Реализация. Проблемы программирования; Методологии программирования. Классификация методологий программирования (структурное, объектно-ориентированное, логическое, функциональное, программирование в ограничениях). Структурное программирование. Базовые принципы (пошаговая детализация, модульное структурное программирование); Объектно-ориентированное программирование. Базовые принципы (абстрагирование, инкапсуляция, наследование, полиморфизм); Языки программирования. Классификация. Понятие фреймворка. Применение структурного программирования для решения задач |
6 |
5 | Хранение и передача информации Файловая система с точки зрения программы; Бинарные и текстовые файлы, язык XML. Кэширование данных. Передача информации на внешние устройства: буферизация, коррекция ошибок, контрольные суммы, общие принципы шифрования; Базы данных и информационные системы; Требования пользователей к базам данных; Схемы обмена данными при работе с БД клиент-серверного типа; Инфологический аспект проектирования. Модель «сущность-связь»; Даталогический аспект проектирования; Модели данных (иерархическая, сетевая, реляционная) их достоинства и недостатки; Реляционные базы данных. Нормализация. |
4 |
Итого: | 24 |
Навыки, приобретаемые по окончании курса:
- устанавливать и настраивать систему;
- создавать ветви, производить их слияние и устранять конфликты версий в коде.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Введение в системы контроля версий. —Системы контроля версий, зачем они нужны, их разновидности. Сходство и отличия | 0,5 |
2 | Репозитории, сервисы совместной разработки | 0,5 |
3 | Создание учётной записи на GitHub | 0,5 |
4 | Установка Gitlab | 2 |
5 | Использование клиента системы контроля версий GitHub desktop | 1 |
6 | Использование клиента системы контроля версий в среде разработки на примере PyCharm | 1 |
7 | Создание локального репозитория | 1 |
8 | Создание описания проекта | 0,5 |
9 | Синтаксис markdown | 0,5 |
10 | Первые commit | 1 |
11 | Файл .gitignore | 0,5 |
12 | Правильное описание коммита | 1 |
13 | Что и когда коммтить | 0,5 |
14 | Откат на прошлую версию | 1 |
15 | Отправка локальных коммитов в реестр | 0,5 |
16 | Обновление локального репозитория | 0,5 |
17 | Разрешение конфликтов | 0,5 |
18 | Создание веток, разработка в ветке, слияние веток | 1 |
19 | Форк проекта, доработка проекта, запрос слияния | 1 |
20 | Публикация готового проекта на GitHub | 1 |
Итого: | 16 |
Навыки, приобретаемые по окончании курса:
- Работа с различными типами данных, операторами и функциями Java. Структурное программирование с разбиением на подпрограммы-функции;
- Построение структур данных и решение алгоритмических задач;
- Основы объектно-ориентированного программирования.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Введение Структура программы. Работа с интегрированной средой программирования. Элементы языка. Типы данных. Описание переменных. Операции ввода-вывода. Использование библиотечных функций. Соглашение об именах. |
4 |
2 | Операции Арифметические и логические операции. Операции присваивания и отношения. Приоритеты и ассоциативность операций. Трассировка программы. |
4 |
3 | Операторы Оператор-выражение и составной оператор. Операторы ветвления if-else, switch. Операторы цикла – while, do-while и for. Использование операторов break, continue, и return. Практические задачи на вычисления с использованием циклов и ветвлений. |
8 |
4 | Массивы Одномерные и многомерные массивы. Декларация и размещение в памяти. Индексация. Обращение к элементам массива. Алгоритмы с поэлементным обращением к массиву. Ввод и вывод. |
6 |
5 | Функции Возвращение значения функцией. Аргументы и параметры. Рекурсия. Перегрузка функций. Декомпозиция задачи при помощи функций. |
10 |
6 | Строки Класс String и его свойства. Альтернативы: StringBuilder и StringBuffer. Поиск и преобразование в строках. Понятие регулярного выражения. |
4 |
7 | Алгоритмы работы с массивами Поиск и сортировка в массиве. Анализ вычислительной сложности. Упорядочивание двумерных массивов по заданному шаблону. Задача «8 ферзей». |
12 |
8 | Структуры данных Класс как структура. Размещение в памяти. Перечисления. Применение структур и перечислений в решении задач. |
8 |
9 | Алгоритмы на графах Введение в теорию графов. Способы представления графа. Классические задачи и практическое применение. |
4 |
10 | Основы ООП Инкапсуляция. Управление доступом. Статические и нестатические методы. Конструкторы. Наследование. Полиморфизм. Обобщение как один из базовых принципов проектирования. Лестница абстракции. |
8 |
11 | Знакомство с коллекциями Java Динамические структуры на данных на примере односвязного списка. Другие динамические структуры данных. Интерфейс Collection на практике: работа со списками, множествами, стеками. |
4 |
12 | Исключения Обработка ошибок, классификация исключений Перехват исключений, трассировка стека исключений. |
4 |
13 | Файловые операции Понятие потока. Текстовые и бинарные файлы. Основные способы чтения и записи текстовых файлов. |
4 |
Итого: | 80 |
Навыки, приобретаемые по окончании курса:
- Разработка нормализованной структуры реляционной базы данных Выбор подходящих типов данных при создании таблиц;
- Задание декларативных ограничений целостности данных;
- Выборка и модификация данных в таблицах;
- Разработка и создание представлений, скалярных и табличных функций, триггеров;
- Управление транзакциями.
- Определение стратегии индексирования для повышения производительности.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Введение в реляционные базы данных Клиент-серверная архитектура. Требования к СУБД. Инфологический, даталогический и физический аспекты проектирования БД. Реляционная модель. Нормализация БД. Назначение, состав SQL. |
4 |
2 | Создание таблиц Типы данных для полей таблицы. Декларативные ограничения целостности. Связи между таблицами. Первичные и внешние ключи. Создание таблиц в PostgreSQL посредством среды pgAdmin и DBeaver. Понятие схемы данных, визуальное создание связей между таблицами. Инструкции CREATE TABLE, ALTER TABLE, DROP TABLE. Особенности изменения и пересоздания существующих таблиц. |
8 |
3 | Основы выборки данных Синтаксис команды SELECT. Полные и краткие имена таблиц и полей. Псевдонимы. Арифметических операции, встроенных функции. Агрегирующие функции. Фильтрация. Операции сравнения для числовых и текстовых значений. Логические операции. Сортировка выводимого результата. |
4 |
4 | Соединение таблиц в запросе Декартово произведение. Внутреннее соединение. Внешнее соединение. |
4 |
5 | Расширенные возможности выборки данных Группировка строк по одному или нескольким полям. Агрегирующие функции и фильтрация по группам. Вывод промежуточных итогов. Вложенные запросы SELECT. Объединение, вычитание, пересечение результатов нескольких запросов SELECT. Обобщенные табличные выражения. |
8 |
6 | Представления Понятие представления, преимущества использования. Создание представлений при помощи запросов SELECT. Ограничения на синтаксис запроса. Использование представлений для выборки данных. |
2 |
7 | Манипулирование строками таблиц Инструкция INSERT INTO. Отличия от запроса SELECT… INTO. Модификация данных при помощи инструкции UPDATE. Удаление данных. Инструкции DELETE FROM и TRUNCATE. |
4 |
8 | Функции и язык PL/pgSQL Преимущества функций. Создание функций, реализующих логику добавления и удаления данных. Использование переменных. Перехват и обработка ошибок. Табличные функции. |
8 |
9 | Курсоры Серверные и клиентские курсоры. Задачи, решаемые при помощи простых и вложенных курсоров. Недостатки императивного подхода. |
3 |
10 | Транзакции Назначение и свойства транзакций. Блокировки. Уровни изолированности транзакций. Применение транзакций при создании функций. |
3 |
11 | Триггеры Понятие триггера DML. Типы триггеров в стандарте. Создание триггеров и триггерных функций. Преимущества и недостатки триггеров. Использование триггеров для аудита. |
4 |
12 | Индексы и производительность Алгоритмическая сложность различных запросов. План выполнения запроса. Понятие индекса. Индексы по нескольким полям. Типы данных и индексы. Кластеризованный индекс. Повышение производительности при помощи некластеризованных индексов. |
8 |
Итого: | 60 |
Навыки, приобретаемые по окончании курса:
- Понимание назначения языка UML в современном программировании;
- Понимание способов построения различных видов диаграмм UML;
- Понимание выбора Case-средств при построении диаграмм.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Введение в UML. Виды диаграмм Бизнес-процессы, бизнес-модель и бизнес-аналитика Информационная система и ее компоненты Возможности языка UML: структурные и поведенческие модели Назначение языка, способы использования языка и его структура Краткий обзор Case-средств Пример работы в бесплатных онлайн- и офлайн- редакторах диаграмм. ООП и последовательность построения диаграмм |
4 |
2 | Use-case диаграммы Назначение диаграммы прецедентов Элементы и отношения Пример анализа простой предметной области Практика: анализ функциональных требований и построение диаграммы в реальной задаче |
4 |
3 | Диаграммы взаимодействия Нотация Пример построения диаграммы Выгоды и проблемы при использовании диаграмм взаимодействия |
4 |
4 | Диаграммы классов Классы, объекты, интерфейсы и отношения на диаграмме Пример моделирования структуры программы Автоматическая генерация ООП кода case-средствами Шаблоны программирования (Design patterns) Практика: анализ предметной области при помощи диаграммы классов |
4 |
Итого: | 16 |
Навыки, приобретаемые по окончании курса:
- Java Core;
- Java FX;
- Maven.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Абстракции Повторение основ ООП. Аннотации. Переопределение методов. Абстрактные классы. Интерфейсы. Проверка принадлежности объекта классу или интерфейсу. Анонимные классы и лямбда-выражения. |
8 |
2 | Обобщения Обобщенные методы. Обобщенные классы. Обобщенные интерфейсы. Пример обобщенного контейнера. |
4 |
3 | Коллекции Списки. Ассоциативные массивы. Типичные примеры применения. Реализация в виде хэш-таблицы и дерева поиска. |
8 |
4 | Работа с базами данных Обзор JDBC. Подключение библиотек драйверов. Выполнение запросов. Клиентские курсоры. |
4 |
5 | Автоматизация сборки. Maven Ад зависимостей. Структура проекта Maven. Архетипы. Интеграция со средой разработки. |
4 |
6 | Графический интерфейс на основе JavaFX Простое графическое приложение. Паттерн MVC. Построение и загрузка сцены в окно Контейнеры и контролы JavaFX. Обработчики кнопок и событий. Наблюдаемые значения и метод AddListener. |
10 |
7 | Расширенные возможности JavaFX Динамическое изменение представления. Использование компонента TableView. Форматирование CSS. Меню. |
14 |
8 | Многопоточное программирование Параллельное программирование. Параллельные алгоритмы. Потоки в операционной системе. Потоки Java. Проблемы общего доступа к памяти. Идиома монитора. Методы wait, notify, notifyAll. Обзор java.util.concurrent. |
8 |
Итого: | 60 |
Данный модуль рассматривает технологии, используемые в серьезных проектах, состоящих из большого количества разнородных, слабосвязанных, удаленных компонентов. Знание данных технологий выносит вас из мира проектов «hello world» работающих на одной пользовательской рабочей станции в мир большого продакшена с определенными требованиями к доступности, производительности, отказоустойчивости и безопасности.
Все технологии будут рассмотрены с примерами кода на языке python, все сервисы будут развернуты на клоне самого крупного коммерческого линукс дистрибутива Red Hat Enterprise Linux — RockyLinux.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | In-memory технологии Redis - резидентная система управления базами данных класса NoSQL Tarantool - платформа in-memory вычислений |
8 |
2 | Документно-ориентированная СУБД MongoDB - документно-ориентированная система управления базами данных |
4 |
3 | Колоночная аналитическая СУБД ClickHouse - колоночная аналитическая СУБД |
4 |
4 | Работа с очередями сообщений, распараллеливание выполнения RabbitMQ - программный брокер сообщений на основе стандарта AMQP Apache Kafka - распределённый программный брокер сообщений |
12 |
5 | Работа с REST API Python FastAPI framework Python requests Сurl |
8 |
6 | Кластерные решения, балансировка нагрузки, высокая доступность Обзор решений высокой доступности Обзор решений балансировки Обзор Nginx Настройка Haproxy |
12 |
7 | Логирование работы приложений Понимание логирования Разработка подсистемы логирования для приложения Разбор и фильтрация логов Kibana/osd |
8 |
8 | Docker платформа для разработки, доставки и эксплуатации приложений Обзор решения Запуск контейнеров Интерфейс управления – Portainer Запуск своего приложения в Docker Публикация проекта на Dockerhub |
8 |
Итого: | 60 |
Навыки, приобретаемые по окончании курса:
- Spring.Boot;
- Hybernate;
- Rest API.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Введение в Spring MVC Проекты и модули Spring Аннотации. Простое веб-приложение |
4 |
2 | Разработка на Spring Boot | 8 |
3 | Фронтэнд HTML, CSS, основы JavaScript. Шаблоны |
8 |
4 | Работа с данными Замена JDBC при помощи ORM. Фреймворк Hybernate |
4 |
5 | REST API | 4 |
6 | Аутентификация и авторизация | 4 |
7 | Spring AOP Аспектно-ориентированное программирование JoinPoint. Weaving и Weaver. Advice |
6 |
8 | Интеграция с внешними сервисами | 2 |
Итого: | 40 |
Укажите ваш e-mail, выберите формат обучения и нажмите запросить КП, и мы отправим Вам коммерческое предложение по данному курсу!
Запрос успешно отправлен! Спасибо за обращение!
В ближайшее время мы отправим Вам коммерческое предложение по данному курсу!
Ошибки в следующих полях:
После обучения вы получаете:
Контактная информация: