![]()
Разработка баз данных на основе СУБД PostgreSQL
1. Введение в БД: базовые понятия
Понятие базы данных, СУБД, модели данных, классификация моделей данных, иерархическая модель данных, сетевая модель, реляционная модель данных, объектная модель данных. NoSQL-технологии. История развития баз данных и СУБД. Ключи и связи. Первичный ключ. СУБД PostgreSQL. Основы развертывания.
2. Введение в язык SQL. Создание таблиц
Стандарты языка SQL. Зависимость от вендора СУБД. Основы синтаксиса. Правила задания имён. Создание таблиц: основной оператор CREATE TABLE, типы данных, ограничения целостности, значения по умолчанию.
3. Язык SQL оператор выборки SELECT
SELECT: формирование списка полей, фильтры, сортировка, группировка, групповые фильтры, ограничение интервала выбираемых строк, псевдонимы полей и таблиц.
4. Многотабличные выборки
Операции соединения таблиц, запятая, как декартово произведение, внешнее и внутренне соединение, естественное соединение, проблема повторяющихся имён и дублирования строк, соединение таблицы с самой собой.
5. Вложенные запросы
Вложенные запросы в качестве таблиц, условий фильтрации, полей. Рекурсивные запросы (конструкция WITH). Соединение запросов, как множеств (UNION, INTERSECT, EXCEPT).
6. Построение запросов, изменяющих данные в таблицах
Оператор добавления строк: INSERT, оператор удаления строк DELETE, оператор изменения строк UPDATE. Комбинирование изменяющих строки операторов и оператора SELECT.
7. Администрирование баз данных: управление правами доступа в современных реляционных базах данных
Основные виды прав доступа. Табличные права и права уровня базы данных. Суперпользовательские права. Оператор GRANT: синтаксис и примеры использования. Оператор REVOKE: синтаксис и примеры использования.
8. Индексы и оптимизация баз данных
Особенности хранения информации на жестком диске. Индексные структуры. Анализ эффективности запросов.
9. Язык PL/SQL
Введение в язык PL/SQL. Типы данных. Основные конструкции. Курсоры. Процедуры. Функции. Агрегатные функции. Триггеры.
Программирование на языке Ruby
1. Основы языка
Базовый синтаксис. Типы данных и классы. Числа. Длинные числа. Строки. Основные управляющие конструкции.
2. Коллекционные типы данных
Массивы и ассоциативные массивы. Многомерные массивы. Блоки и итераторы.
3. Функции
Создание функций. Аргументы. Аргументы по умолчанию. Передача блока. Полиморфизм. Разница между функцией и методом. Рекурсия.
4. Создание классов
Классы, методы, атрибуты, классовые переменные. Статические (классовые) методы. Конструктор. Сингельтон-класс. Наследование. Переопределение методов. Доступность атрибутов и методов (public, private, protected).
5. Регулярные выражения
Основы работы с регулярными выражениями. Поиск, замена, разделение. Базовые шаблоны. POSIX-шаблоны. Подстановки. Приемы обработки текста на основе регулярных выражений.
6. Ruby в примерах
Решение интересных задач на языке Ruby.
Основы веб-технологий
1. Основы веб-организации
Протоколы передачи данных. HTTP, HTTPS, POST, GET, PATCH, PUT, DELETE. BasicAuth. Веб-серверы.
2. HTML 5
Введение. Стандарты. W3.org. Отличия HTML 5 и HTML 4. Структура простейшей HTML-страницы. DOCTYPE. Теги и их дерево. Мета-теги. Атрибуты и их типы. Глобальные атрибуты. Data-атрибуты. Атрибуты обработки событий.
3. Каскадные таблицы стилей
Основы каскадных таблиц стилей. Селекторы (первый, второй, третий уровни). Box-модель. Адаптивная верстка.
4. JavaScript
Основы синтаксиса. Работа с DOM-объектами. Обработка событий. Объектно-ориентированное программирование на JavaScript.
5. Node.js
Подключение и основы использования. Интересные примеры.
Разработка веб-ориентированных информационных систем на основе фреймворка Ruby on Rails
1. Общая концепция Rails-приложения
MVC-шаблон проектирования. Контроллеры, представления, модели. Ассетсы и route-map. Создание пустого приложения Rails.
2. Основы работы с объектно-реляционным преобразователем ActiveRecord
Миграции. Модели. Валидации. Построение запросов. Проблема 1000 и 1 запроса. Оптимизация.
3. Бэкенд-разработка
Создание собственных контроллеров и моделей. Авторизация и аутентификация. Фильтры, пред и постобработчики. Работы с файлами. Построение API.
4. Фронтенд-разработка
Языки для разметки страниц в Rails-приложениях. Работы с JavaScript в Rails-приложениях. Ajax, Websocket-ы.
Обеспечение информационной безопасности
1. Введение в информационную безопасность
Цели и задачи информационной безопасности. Подходы к обеспечению информационной безопасности.
2. Безопасность компьютерных сетей
Симметричные и асимметричные шифры. Схемы электронной подписи. Инфраструктура открытых ключей. Современные средства защиты информации. Сетевые атаки.
3. Безопасность приложений
Безопасность-веб-приложений. Атаки на приложения. Анализ защищенности и тестирование на проникновение.
4. Безопасность интеллектуальных систем
Конфиденциальное машинное обучение. Доверенный искусственный интеллект.
Практика, подготовка к защите и защита итогового проекта
Практика, подготовка к защите и защита итогового проекта. В рамках модуля обучающиеся проходят практику на базе индустриального партнера, развивая навыки, полученные в предыдущих модулях, готовят и представляют к защите итоговый проект.