Идёт набор группы. Расписание будет опубликовано позже. Следите за изменениями на сайте.
{{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 }}
Продолжительность обучения: 412 академических часов
Форма обучения: очно, в формате вебинара
Стоимость обучения: 115 000 рублей - для физических лиц
125 000 рублей - для юридических лиц
Формы оплаты:
- единовременный платеж (предоставляется скидка 10%);
- беcпроцентная рассрочка.
Возможность предоставления беспроцентной рассрочки (подробнее об услуге уточняйте у сотрудников Института).
Документ об окончании: диплом о профессиональной переподготовке.
Данные выданного документа вносятся в единый реестр ФИС ФРДО.
О процессе обучения:
Обучение проводится в технически оборудованных аудиториях, каждый слушатель обеспечен индивидуальным компьютером, учебные классы укомплектованы всеми необходимыми методическими материалами.
О курсе:
Новый курс профессиональной переподготовки для начинающих Python-разработчиков рассчитан на получение фундаментальных знаний и практических навыков разработки. Подойдет тем, у кого совсем нет опыта в программировании или знания не систематизированы.
Опытные преподаватели помогут пройти путь от основ программирования и базовых принципов, инструментов командной работы, основ изучения языка запросов SQL к освоению синтаксиса языка Python и стандартов написания кода, работе с базами данных, чтению чужого кода и совместной разработке.
На курсе вы научитесь:
- Разрабатывать веб-приложения и оптимизировать их;
- Работать с базами данных и GIT;
- Разворачивать приложения в Docker-контейнерах;
- Освоите linux для разработчиков;
- Получите навык работы с фреймворками Django и SQLAlchemy;
- По окончании обучения подготовите проект для портфолио и сможете рассматривать вакансии junior разработчика.
Программа курса включает в себя следующие модули обучения:
№ | Название программы обучения | Количество учебных часов |
---|---|---|
1 | Основы программирования | 24 |
2 | Система контроля версий GIT | 24 |
3 | Программирование на языке Python. Базовый уровень | 40 |
4 | Linux для разработчиков | 40 |
5 | Разработка реляционных баз данных в PostgreSQL. Язык запросов SQL и PL/pgSQL | 60 |
6 | Python ORM | 24 |
7 | Инфраструктурные решения для программиста | 60 |
8 | Программирование на языке Python. Продвинутый уровень | 60 |
9 | Анализ рынка труда. Подготовка к собеседованиям | 4 |
Дипломная работа | 72 | |
Квалификационный экзамен (защита диплома) | 4 | |
Итого: | 412 акад. часов |
Курс предназначен для ознакомления с фундаментальными принципами и методологиями программирования, алгоритмическими языками, а также способами проектирования, реализации и управления БД.
Навыки, приобретаемые по окончании курса:
- Разработка и анализ линейных, ветвящихся и циклических алгоритмов;
- Кодирование на языках высокого уровня;
- Преобразование чисел в различных системах счисления;
- Проектирование простых реляционных баз данных.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Базовые понятия и определения Задача. Решение задачи; Алгоритм. Свойства алгоритмов; Программа. Программное обеспечение; Информатика. Информация. Информационная технология; Данные. Числа в арифметике; Выражения. Операнды. Знаки операций. Идентификаторы. Константы; Алгоритмические структуры; Примеры алгоритмического решения математических задач. |
4 |
2 | Логика. Представление данных Основы алгебры логики; Системы счисления; Связи между системами счисления; Двоичная и шестнадцатеричная системы счисления; Единицы измерения ёмкости запоминающих устройств; Представление целых и вещественных чисел в памяти ЭВМ; Диапазоны представления чисел в двоичной системе счисления; Представление символьной информации. Кодовые таблицы; Понятие типа данных. |
6 |
3 | Структуры данных Базовые структуры данных – массивы и записи; Основные операции над структурами данных; Динамические структуры данных. Списки. Стеки. Деревья; Практическая задача с использованием массивов и записей; Анализ производительности алгоритмов. |
4 |
4 | Методологии и языки программирования Стадии и этапы разработки программ. Проектирование. Реализация. Проблемы программирования; Методологии программирования. Классификация методологий программирования (структурное, объектно-ориентированное, логическое, функциональное, программирование в ограничениях). Структурное программирование. Базовые принципы (пошаговая детализация, модульное структурное программирование); Объектно-ориентированное программирование. Базовые принципы (абстрагирование, инкапсуляция, наследование, полиморфизм); Языки программирования. Классификация. Понятие фреймворка. Применение структурного программирования для решения задач |
6 |
5 | Хранение и передача информации Файловая система с точки зрения программы; Бинарные и текстовые файлы, язык XML. Кэширование данных. Передача информации на внешние устройства: буферизация, коррекция ошибок, контрольные суммы, общие принципы шифрования; Базы данных и информационные системы; Требования пользователей к базам данных; Схемы обмена данными при работе с БД клиент-серверного типа; Инфологический аспект проектирования. Модель «сущность-связь»; Даталогический аспект проектирования; Модели данных (иерархическая, сетевая, реляционная) их достоинства и недостатки; Реляционные базы данных. Нормализация. |
4 |
Итого: | 24 |
Git - распределенная система управления версиями (VCS). Это универсальный, свободный и удобный инструмент для командной работы программистов над проектами любого уровня. Git - это система, которая позволяет сразу нескольким разработчикам сохранять и отслеживать изменения в файлах вашего проекта. Курс будет полезен не только начинающим, но и опытным разработчикам, желающим ликвидировать пробелы в навыках использования Git.
Навыки, приобретаемые по окончании курса:
- устанавливать и настраивать систему;
- создавать ветви, производить их слияние и устранять конфликты версий в коде.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Введение в системы контроля версий. —Системы контроля версий, зачем они нужны, их разновидности. Сходство и отличия | 1 |
2 | Репозитории, сервисы совместной разработки | 1 |
3 | Создание учётной записи на GitHub | 1 |
4 | Установка Gitlab | 2 |
5 | Использование клиента системы контроля версий GitHub desktop | 1 |
6 | Использование клиента системы контроля версий в среде разработки на примере PyCharm | 1 |
7 | Создание локального репозитория | 1 |
8 | Создание описания проекта | 1 |
9 | Синтаксис markdown | 1 |
10 | Первые commit | 2 |
11 | Файл .gitignore | 2 |
12 | Правильное описание коммита | 1 |
13 | Что и когда коммтить | 1 |
14 | Откат на прошлую версию | 1 |
15 | Отправка локальных коммитов в реестр | 1 |
16 | Обновление локального репозитория | 1 |
17 | Разрешение конфликтов | 1 |
18 | Создание веток, разработка в ветке, слияние веток | 1 |
19 | Форк проекта, доработка проекта, запрос слияния | 2 |
20 | Публикация готового проекта на GitHub | 1 |
Итого: | 24 |
Python – высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис языка прост и минималистичен, что хорошо подойдет для начинающих программистов. В то же время библиотека языка весьма широка, а сам Python поддерживает несколько парадигм программирования (структурное, объектно-ориентированное, функциональное и тд.), что подойдет для опытных разработчиков.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Введение Основные среды и интерпреторы Python; Обзор интерпретартора; Основные понятия. |
2 |
2 | Стандарт написания кода на Python PEP8; Линтеры; Средства среды разработки; Магические клавиши Pycharm. |
4 |
3 | Начинаем работать с Git Создаем репозиторий на Guthub; Подключаем репозиторий к среде разработки; Коммиты; Пишем README. |
4 |
4 | Типы данных и конструкции языка Типизация в Python; Условия; Циклы; Ввод и вывод. |
4 |
5 | Функции Создание функций; Фактические и формальные параметры; Вызов функций. |
2 |
6 | Коллекции Списки; Словарь; Кортеж; Последовательность; Что и для чего использовать. |
4 |
7 | Модули Собственный модуль; Пакеты; Обзор дополнительных модулей Python; Установка стороннего модуля. |
2 |
8 | Файловая система Создание и редактирование файлов; Создание каталогов; Чтение из файла; Запись в файл. |
4 |
9 | Исключения Общие понятия; Обработка исключений; Выброс исключений; Исключения из сторонних библиотек; Место обработки; Стандартные исключения Python. |
6 |
10 | Синтаксический сахар Регулярные выражения; Лямбда функция; Декораторы. |
4 |
11 | Регулярные выражения Синтаксис регулярных выражений; Применение регулярных выражений. |
4 |
Итого: | 40 |
Архитектура современных бизнес систем строится на базе unix подобных решений, которые отвечают высоким требованиям безопасности и надежности. Поэтому разрабатывая ПО для них, необходимо понимать, как работает ОС Linux, и быстро локализовывать пробелы, возникающие в ходе работы. Для быстрой и качественной поставки ПО во многих проектах используется docker.
Навыки, приобретаемые по окончании курса:
- Установка ОС Linux;
- Базово настраивать сервер рабочей станции;
- Понимать принципы работы очередей сообщений, серверов баз данных и механизмов кэширования данных в оперативной памяти;
- Использовать систему docker для организации и поставки ПО.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Обзор и установка ОС Linux Red Hat подобные дистрибутивы; Debian подобные дистрибутивы; Обновление системы; Подготовка к работе. |
4 |
2 | Методы установки ПО Рабочая станция разработчика: - Установка среды разработки; - Установка дополнительных библиотек; - Установка вспомогательного ПО. Настройка сети. Работа с сетью; Поиск и устранение ошибок и неисправностей. |
8 |
3 | Сервер для запуска ПО Базовая настройка сервера. Задачи по расписанию; Сервер баз данных; Сервер очередей сообщений; Сервер Radius. |
16 |
4 | Новый подход к поставке ПО ТУстановка docker и зависимостей; Запуск и поставка собственного приложения в контейнер docker. |
12 |
Итого: | 40 |
На курсе слушатели изучат логический дизайн таблиц, индексирование и планы запросов. Научатся создавать объекты баз данных, включая представления, функции, триггеры. Вы узнаете и о других аспектах работы с данными, а именно – о транзакциях, параллелизме, курсорах, обработке ошибок. Курс рассчитан на неподготовленного пользователя и начинается с основ изучения языка запросов SQL.
Навыки, приобретаемые по окончании курса:
- Разработка нормализованной структуры реляционной базы данных;
- Выбор подходящих типов данных при создании таблиц;
- Задание декларативных ограничений целостности данных;
- Выборка и модификация данных в таблицах;
- Разработка и создание представлений, скалярных и табличных функций, триггеров;
- Управление транзакциями.
- Определение стратегии индексирования для повышения производительности.
Программа курса
№ | Тема | Часы |
---|---|---|
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 |
На курсе слушатели научатся создавать и оптимизировать веб-приложения, а также получат навык работы с фреймворком SQLAlchemy для работы с реляционными базами данных.
Навыки, приобретаемые по окончании курса:
- Строить запросы;
- Анализировать эффективность использования ORM;
- Работать с SQLAlchemy.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Настройка Django ORM | 3 |
2 | Основные концепции ORM | 3 |
3 | Обзор Django ORM | 2 |
4 | Запрос данных из базы | 2 |
5 | Связи | 3 |
6 | Аннотирование и агрегация | 2 |
7 | Транзакции | 3 |
8 | Эффективное использование ORM | 3 |
9 | Работа с SQLAlchemy | 3 |
Итого: | 24 |
Данный модуль рассматривает технологии, используемые в серьезных проектах, состоящих из большого количества разнородных, слабосвязанных, удаленных компонентов. Знание данных технологий выносит вас из мира проектов «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 |
Python – высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис языка прост и минималистичен, что хорошо подойдет для начинающих программистов. В то же время библиотека языка весьма широка, а сам Python поддерживает несколько парадигм программирования (структурное, объектно-ориентированное, функциональное и тд.), что подойдет для опытных разработчиков.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Работа с базами данных Обзор БД; Серверные БД; Установка движка БД; Баз серверные БД; Хранение данных приложения в БД; Mysql, pgsql, reddis. |
6 |
2 | Работа с API внешних сервисов Библиотека requests; Формат данных JSON; headers, payload; Работа с API web сервиса получения погоды. |
4 |
3 | Работаем с API Telegram Создание бота; Создание канала; Отправка сообщений в канал; Отправка документов в канал; Получение данных из канала; Создание канала с информацией о погоде(курсе валют, последних новостях...). |
4 |
4 | Работаем с API VK Бот для автоматической публикации постов; Работа с командной строкой, написание планировщика. |
4 |
5 | Код ревью Проведение ревью кода; Написание замечаний; Исправление замечаний(правильные коммиты) |
4 |
6 | Чтение чужого кода Изучение чужого кода; Написание README по чужому коду; Ревью и оптимизация. |
2 |
7 | Совместная разработка Создание ТЗ; Распределение задач; Создание веток на Github; Реализация проекта; Понятие чистых функций; Слияние веток. |
4 |
8 | Совместная разработка веб сервиса на Python Запуск простого веб сервиса; Прием отправка данных; Работа с Jinja; Чтение данных из xls файла. |
4 |
9 | Совместная разработка веб сервиса на Python (Django) Установка Django; Основы Django; Основы верстки; Основы CSS; Создание шаблонов; Вызов внешних скриптов. |
6 |
10 | Рекомендации по оформлению портфолио на Github Создание базового портфолио; Ревью портфолио слушателей. |
2 |
Итого: | 40 |
По окончании очной программы обучения HR консультант поможет составить эффективное резюме, сопроводительное письмо и подскажет как оформить портфолио.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Анализ рынка труда IT-специалистов Актуальные требования предъявляемые к IT-специалистам; Как изменились обязанности специалистов в условиях санкций и перехода на российское ПО Как меняется зарплата специалиста в зависимости от навыков. |
2 |
2 | Работа над резюме. Подготовка к собеседованию На что обратить внимание при составлении резюме (в т.ч алгоритм создания резюме, на чём акцентировать внимание работодателя, сопроводительное письмо и допускаемых ошибках); Как подготовиться к собеседованию, какие вопросы задаст будущий руководитель и что важно отметить о работодателе. |
2 |
Итого: | 4 |
Курс предназначен для ознакомления с фундаментальными принципами и методологиями программирования, алгоритмическими языками, а также способами проектирования, реализации и управления БД.
Навыки, приобретаемые по окончании курса:
- Разработка и анализ линейных, ветвящихся и циклических алгоритмов;
- Кодирование на языках высокого уровня;
- Преобразование чисел в различных системах счисления;
- Проектирование простых реляционных баз данных.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Базовые понятия и определения Задача. Решение задачи; Алгоритм. Свойства алгоритмов; Программа. Программное обеспечение; Информатика. Информация. Информационная технология; Данные. Числа в арифметике; Выражения. Операнды. Знаки операций. Идентификаторы. Константы; Алгоритмические структуры; Примеры алгоритмического решения математических задач. |
4 |
2 | Логика. Представление данных Основы алгебры логики; Системы счисления; Связи между системами счисления; Двоичная и шестнадцатеричная системы счисления; Единицы измерения ёмкости запоминающих устройств; Представление целых и вещественных чисел в памяти ЭВМ; Диапазоны представления чисел в двоичной системе счисления; Представление символьной информации. Кодовые таблицы; Понятие типа данных. |
6 |
3 | Структуры данных Базовые структуры данных – массивы и записи; Основные операции над структурами данных; Динамические структуры данных. Списки. Стеки. Деревья; Практическая задача с использованием массивов и записей; Анализ производительности алгоритмов. |
4 |
4 | Методологии и языки программирования Стадии и этапы разработки программ. Проектирование. Реализация. Проблемы программирования; Методологии программирования. Классификация методологий программирования (структурное, объектно-ориентированное, логическое, функциональное, программирование в ограничениях). Структурное программирование. Базовые принципы (пошаговая детализация, модульное структурное программирование); Объектно-ориентированное программирование. Базовые принципы (абстрагирование, инкапсуляция, наследование, полиморфизм); Языки программирования. Классификация. Понятие фреймворка. Применение структурного программирования для решения задач |
6 |
5 | Хранение и передача информации Файловая система с точки зрения программы; Бинарные и текстовые файлы, язык XML. Кэширование данных. Передача информации на внешние устройства: буферизация, коррекция ошибок, контрольные суммы, общие принципы шифрования; Базы данных и информационные системы; Требования пользователей к базам данных; Схемы обмена данными при работе с БД клиент-серверного типа; Инфологический аспект проектирования. Модель «сущность-связь»; Даталогический аспект проектирования; Модели данных (иерархическая, сетевая, реляционная) их достоинства и недостатки; Реляционные базы данных. Нормализация. |
4 |
Итого: | 24 |
Git - распределенная система управления версиями (VCS). Это универсальный, свободный и удобный инструмент для командной работы программистов над проектами любого уровня. Git - это система, которая позволяет сразу нескольким разработчикам сохранять и отслеживать изменения в файлах вашего проекта. Курс будет полезен не только начинающим, но и опытным разработчикам, желающим ликвидировать пробелы в навыках использования Git.
Навыки, приобретаемые по окончании курса:
- устанавливать и настраивать систему;
- создавать ветви, производить их слияние и устранять конфликты версий в коде.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Введение в системы контроля версий. —Системы контроля версий, зачем они нужны, их разновидности. Сходство и отличия | 1 |
2 | Репозитории, сервисы совместной разработки | 1 |
3 | Создание учётной записи на GitHub | 1 |
4 | Установка Gitlab | 2 |
5 | Использование клиента системы контроля версий GitHub desktop | 1 |
6 | Использование клиента системы контроля версий в среде разработки на примере PyCharm | 1 |
7 | Создание локального репозитория | 1 |
8 | Создание описания проекта | 1 |
9 | Синтаксис markdown | 1 |
10 | Первые commit | 2 |
11 | Файл .gitignore | 2 |
12 | Правильное описание коммита | 1 |
13 | Что и когда коммтить | 1 |
14 | Откат на прошлую версию | 1 |
15 | Отправка локальных коммитов в реестр | 1 |
16 | Обновление локального репозитория | 1 |
17 | Разрешение конфликтов | 1 |
18 | Создание веток, разработка в ветке, слияние веток | 1 |
19 | Форк проекта, доработка проекта, запрос слияния | 2 |
20 | Публикация готового проекта на GitHub | 1 |
Итого: | 24 |
Python – высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис языка прост и минималистичен, что хорошо подойдет для начинающих программистов. В то же время библиотека языка весьма широка, а сам Python поддерживает несколько парадигм программирования (структурное, объектно-ориентированное, функциональное и тд.), что подойдет для опытных разработчиков.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Введение Основные среды и интерпреторы Python; Обзор интерпретартора; Основные понятия. |
2 |
2 | Стандарт написания кода на Python PEP8; Линтеры; Средства среды разработки; Магические клавиши Pycharm. |
4 |
3 | Начинаем работать с Git Создаем репозиторий на Guthub; Подключаем репозиторий к среде разработки; Коммиты; Пишем README. |
4 |
4 | Типы данных и конструкции языка Типизация в Python; Условия; Циклы; Ввод и вывод. |
4 |
5 | Функции Создание функций; Фактические и формальные параметры; Вызов функций. |
2 |
6 | Коллекции Списки; Словарь; Кортеж; Последовательность; Что и для чего использовать. |
4 |
7 | Модули Собственный модуль; Пакеты; Обзор дополнительных модулей Python; Установка стороннего модуля. |
2 |
8 | Файловая система Создание и редактирование файлов; Создание каталогов; Чтение из файла; Запись в файл. |
4 |
9 | Исключения Общие понятия; Обработка исключений; Выброс исключений; Исключения из сторонних библиотек; Место обработки; Стандартные исключения Python. |
6 |
10 | Синтаксический сахар Регулярные выражения; Лямбда функция; Декораторы. |
4 |
11 | Регулярные выражения Синтаксис регулярных выражений; Применение регулярных выражений. |
4 |
Итого: | 40 |
Архитектура современных бизнес систем строится на базе unix подобных решений, которые отвечают высоким требованиям безопасности и надежности. Поэтому разрабатывая ПО для них, необходимо понимать, как работает ОС Linux, и быстро локализовывать пробелы, возникающие в ходе работы. Для быстрой и качественной поставки ПО во многих проектах используется docker.
Навыки, приобретаемые по окончании курса:
- Установка ОС Linux;
- Базово настраивать сервер рабочей станции;
- Понимать принципы работы очередей сообщений, серверов баз данных и механизмов кэширования данных в оперативной памяти;
- Использовать систему docker для организации и поставки ПО.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Обзор и установка ОС Linux Red Hat подобные дистрибутивы; Debian подобные дистрибутивы; Обновление системы; Подготовка к работе. |
4 |
2 | Методы установки ПО Рабочая станция разработчика: - Установка среды разработки; - Установка дополнительных библиотек; - Установка вспомогательного ПО. Настройка сети. Работа с сетью; Поиск и устранение ошибок и неисправностей. |
8 |
3 | Сервер для запуска ПО Базовая настройка сервера. Задачи по расписанию; Сервер баз данных; Сервер очередей сообщений; Сервер Radius. |
16 |
4 | Новый подход к поставке ПО ТУстановка docker и зависимостей; Запуск и поставка собственного приложения в контейнер docker. |
12 |
Итого: | 40 |
На курсе слушатели изучат логический дизайн таблиц, индексирование и планы запросов. Научатся создавать объекты баз данных, включая представления, функции, триггеры. Вы узнаете и о других аспектах работы с данными, а именно – о транзакциях, параллелизме, курсорах, обработке ошибок. Курс рассчитан на неподготовленного пользователя и начинается с основ изучения языка запросов SQL.
Навыки, приобретаемые по окончании курса:
- Разработка нормализованной структуры реляционной базы данных;
- Выбор подходящих типов данных при создании таблиц;
- Задание декларативных ограничений целостности данных;
- Выборка и модификация данных в таблицах;
- Разработка и создание представлений, скалярных и табличных функций, триггеров;
- Управление транзакциями.
- Определение стратегии индексирования для повышения производительности.
Программа курса
№ | Тема | Часы |
---|---|---|
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 |
На курсе слушатели научатся создавать и оптимизировать веб-приложения, а также получат навык работы с фреймворком SQLAlchemy для работы с реляционными базами данных.
Навыки, приобретаемые по окончании курса:
- Строить запросы;
- Анализировать эффективность использования ORM;
- Работать с SQLAlchemy.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Настройка Django ORM | 3 |
2 | Основные концепции ORM | 3 |
3 | Обзор Django ORM | 2 |
4 | Запрос данных из базы | 2 |
5 | Связи | 3 |
6 | Аннотирование и агрегация | 2 |
7 | Транзакции | 3 |
8 | Эффективное использование ORM | 3 |
9 | Работа с SQLAlchemy | 3 |
Итого: | 24 |
Данный модуль рассматривает технологии, используемые в серьезных проектах, состоящих из большого количества разнородных, слабосвязанных, удаленных компонентов. Знание данных технологий выносит вас из мира проектов «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 |
Python – высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис языка прост и минималистичен, что хорошо подойдет для начинающих программистов. В то же время библиотека языка весьма широка, а сам Python поддерживает несколько парадигм программирования (структурное, объектно-ориентированное, функциональное и тд.), что подойдет для опытных разработчиков.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Работа с базами данных Обзор БД; Серверные БД; Установка движка БД; Баз серверные БД; Хранение данных приложения в БД; Mysql, pgsql, reddis. |
6 |
2 | Работа с API внешних сервисов Библиотека requests; Формат данных JSON; headers, payload; Работа с API web сервиса получения погоды. |
4 |
3 | Работаем с API Telegram Создание бота; Создание канала; Отправка сообщений в канал; Отправка документов в канал; Получение данных из канала; Создание канала с информацией о погоде(курсе валют, последних новостях...). |
4 |
4 | Работаем с API VK Бот для автоматической публикации постов; Работа с командной строкой, написание планировщика. |
4 |
5 | Код ревью Проведение ревью кода; Написание замечаний; Исправление замечаний(правильные коммиты) |
4 |
6 | Чтение чужого кода Изучение чужого кода; Написание README по чужому коду; Ревью и оптимизация. |
2 |
7 | Совместная разработка Создание ТЗ; Распределение задач; Создание веток на Github; Реализация проекта; Понятие чистых функций; Слияние веток. |
4 |
8 | Совместная разработка веб сервиса на Python Запуск простого веб сервиса; Прием отправка данных; Работа с Jinja; Чтение данных из xls файла. |
4 |
9 | Совместная разработка веб сервиса на Python (Django) Установка Django; Основы Django; Основы верстки; Основы CSS; Создание шаблонов; Вызов внешних скриптов. |
6 |
10 | Рекомендации по оформлению портфолио на Github Создание базового портфолио; Ревью портфолио слушателей. |
2 |
Итого: | 40 |
По окончании очной программы обучения HR консультант поможет составить эффективное резюме, сопроводительное письмо и подскажет как оформить портфолио.
Программа курса
№ | Тема | Часы |
---|---|---|
1 | Анализ рынка труда IT-специалистов Актуальные требования предъявляемые к IT-специалистам; Как изменились обязанности специалистов в условиях санкций и перехода на российское ПО Как меняется зарплата специалиста в зависимости от навыков. |
2 |
2 | Работа над резюме. Подготовка к собеседованию На что обратить внимание при составлении резюме (в т.ч алгоритм создания резюме, на чём акцентировать внимание работодателя, сопроводительное письмо и допускаемых ошибках); Как подготовиться к собеседованию, какие вопросы задаст будущий руководитель и что важно отметить о работодателе. |
2 |
Итого: | 4 |
Укажите ваш e-mail, выберите формат обучения и нажмите запросить КП, и мы отправим Вам коммерческое предложение по данному курсу!
Запрос успешно отправлен! Спасибо за обращение!
В ближайшее время мы отправим Вам коммерческое предложение по данному курсу!
Ошибки в следующих полях:
После обучения вы получаете:
Контактная информация: