Skip to content

Iutin12/dp-2024-lab01

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Лабораторная работа №1. Знакомство с Git. Реализация шаблона Singleton.

Цели и задачи

  • Знакомство с системой контроля версий Git, практическое освоение основных команд.
  • Освоение соглашений и практик к оформлению кода и ведению репозитария в Git
  • Практическое закрепление знаний полученных при изучении шаблона Singleton;

Задание и порядок выполнения

  • Изучить основы Git, связанные с понятием фиксации (commit), истории(log) ветки(branch), индексирования (tracking/staging) и т.д. (Главы 1, 2, 3 документации). Ответить на вопросы:
    • Какие состояния могут иметь файлы находящиеся под контролем git? В каких областях (working tree/staged area/git repository) при этом они находятся?
    • Какой командой можно отобразить состояние файлов в репозитории?
    • Какими действиями (командами) можно изменять состояние файлов?
    • Как посмотреть историю изменений в git?
    • Есть ли возможность внести правки в последний commit? Если да, то как?
    • Как отменить изменения определённого commit-а?
    • Как вернуть локальный репозиторий к состоянию, который был после заданного commit-а?
    • Как работать с удалённым репозиторием (получить изменения/применить изменения/отправить изменения)?
    • Что такое ветка в git-е под капотом?
    • Как и где хранятся конфигурации git? Какими командами командной строки их можно отобразить?
    • Как можно настроить git для игнорирования определённых типов файлов или каталогов?
  • В качестве примера, изучить подход к написанию коммитов. Ведение истории коммитов в этой и дальнейших лабораторных работах следует вести исходя из данного соглашения (*).
  • В качестве примера изучить Соглашние по оформлению кода для C# CoreFX C# coding guidelines. Для Python: Google Python Styleguide Оформление кода в этой и дальнейших лабораторных работах следует вести исходя из данного соглашения (*).
  • Разработать библиотеку, способную записывать логи в текстовый файл:
    • Логгер (объект записывающий собщения в файл) должен быть реализован с использованием шаблона Singleton и не должен позволять клиентам создавать более 1 экземпляра объекта.
    • Предполагается, что логгер будет использован в многопоточном приложении.
    • Имя файла с логами должно соответстовать шаблону DP.P1.yyyy-MM-dd.HH-mm-ss.log. Например: DP.P1.2020-11-16.00-05-28.log
    • При инициализации логгер должен создавать новый файл, либо очищать существующий.
    • Формат сообщения, записываемого в лог должен быть следующий yyуy-MM-dd HH:mm:ss [LEVEL] Message, где yyуy-MM-dd HH:mm:ss - время записи сообщения в лог; LEVEL - уровень (важность) сообщения (значение из множества {TRACE, INFO, WARN, ERROR, FATAL}); Message - текст сообщения. Например: 2020-11-16 00:16:58 [INFO] Application started successfully.
    • Приложение должно быть разработано на языке программирования Python 3.11+ или на платформе .NET 7 или выше с использованием языка C#.
    • Для демонстрации работы на Python допустимо использовать Jupyter Notebook
    • Для демонстрации работы на C# допустимо использовать консольное приложение (шаблон Console App (.NET Core) при создании проекта в Visual Studio)

(*) - Нужно понимать, что это всего лишь один из множества различных подходов. При разработке реальных продуктов, команды вольны договариваться о любом подходящем для них соглашении. Строгих отраслевых стандартов в этой области не существует.

About

Лабораторная работа 1. Система контроля версий GIT и паттерн Singleton

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors