Основы IT технологий
2 семестр:
Введение: unix-подобные операционные системы, отличия от Windows. Базовые команды linux. Атрибуты файлов и файловых дескрипторов. Работа с регулярными выражениями. Базовые инструменты разработки в UNIX. Языки shell, AWK, sed. Системы контроля версий: git, первый коммит, управление ветвями, push/pull/rebase. mmap . Запуск и завершение работы процессов. Запуск программ через fork-exec. Лимиты ресурсов, управляющие группы и изоляция процессов. Копии файловых дескрипторов и неименованные каналы
3 семестр:
Сигналы, сокеты. Линковка: статическая и динамическая, dlopen/dlsym. Системы сборки, make, cmake: подключение библиотек, сборка. Стадия сборки проектов. Тестирование, пирамида тестирования. TDD, примеры unit-тестов и mock-объектов. CI/CD. Основы контейнеризации, Docker-контейнеры, сборка образов, запуск контейнеров. Volumes в Docker. docker-compose. Платформы виртуализации. Работа с VirtualBox, Vagrant.