2024/2025


Modern Software Engineering Practices
Type:
Mago-Lego
Delivered by:
Big Data and Information Retrieval School
When:
3, 4 module
Open to:
students of one campus
Instructors:
Evgeny Patochenko
Language:
English
ECTS credits:
3
Course Syllabus
Abstract
В данном курсе изучаются основные инструменты, которые используются в повседневной работе разработчика программного обеспечения. Курс предназначен для освоения операционной системы Linux, развития навыков работы в терминале и освоения синтаксиса BASH. Во второй части курса рассматриваются вопросы систем контроля версий, контейнеризации и создания HTTP API.
Овладение данными навыками позволит сократить время на отладку кода, а также повысит качество разрабатываемых проектов.
Learning Objectives
- Применять Git для совместной работы и управления версиями.
- Разбираться в устройстве репозитория, его организации в GitHub и выполнять операции с файловой системой (поиск, вывод, перемещение и другие действия) через командную строку.
- Осуществлять обмен данными между локальным компьютером и удаленным репозиторием через терминал, редактировать файлы непосредственно из терминала и уметь генерировать и использовать SSH ключи для работы с удаленными репозиториями.
- Понимать скриптовый язык программирования BASH и инфраструктуру вокруг него, в том числе и командные терминалы.
- Корректно настраивать репозиторий для обучения моделей.
- Писать веб-сервисы на FastAPI и конфигурировать их.
Expected Learning Outcomes
- -Студент научится управлять рабочим процессом в Git: получать изменения из удалённого репозитория (pull), создавать ветки для разработки новых функций (branch) и интегрировать изменения в основную ветку, разрешая конфликты слияния (merge conflict).
- -Студент изучит основы bash и сможет использовать изученные команды для навигации по файловой системе.
- студент изучит ключевые команды и утилиты, которые позволяют просматривать, редактировать и искать информацию в текстовых файлах, а также комбинировать команды для создания сложных сценариев обработки данных.
- -Студент научится использовать продвинутые команды Linux и Bash для работы с файлами, управления сессиями и изменением прав доступа.
- -Студент научится безопасно передавать файлы, устанавливать новые пакеты и работать с переменными окружения.
- -На занятии запускаем несколько контейнеров и налаживаем связи между ними. Берем репозиторий с готовыми контейнерами, собираем их в рабочую систему. Настраиваем сеть между контейнерами
- -На занятии знакомимся сосновными концепциями REST API. Реализуем собственный API при помощи фреймворка FastAPI
Course Contents
- Продвинутый функционал GIT
- Основы работы с командной строкой и файлами
- Работа с файлами и текстовыми редакторами
- Удаленная работа
- Docker Compose и сеть
- HTTP API (клиент / сервер)