КС:2015:Проект:MC — различия между версиями
Aparinov (обсуждение | вклад) (Изменено введение) |
Aparinov (обсуждение | вклад) (→Что это за проект) |
||
Строка 1: | Строка 1: | ||
+ | == Метаданные проекта == | ||
+ | ID проекта: mc | ||
+ | Ментор проекта: Паринов А.А. | ||
+ | Аккаунты ментора в git-сервисах: | ||
+ | * [http://GitHub.com GitHub.com]: aparinov | ||
+ | * [http://GitLab.com GitLab.com]: aparinov | ||
+ | * [http://BitBucket.org BitBucket.org]: aparinov | ||
+ | |||
== Что это за проект == | == Что это за проект == | ||
Строка 4: | Строка 12: | ||
Задача файлового менеджера предоставить пользователю удобный интерфейс для работы с файловой системой. | Задача файлового менеджера предоставить пользователю удобный интерфейс для работы с файловой системой. | ||
− | Помимо обязательной части функционала приветствуется авторская реализация | + | Помимо обязательной части функционала, по согласованию с ментором, приветствуется расширенная функциональность и авторская реализация выполнения стандартных операций. |
=== Что требуется === | === Что требуется === | ||
Реализовать файловый менеджер, аналогичный Midnight Commander. | Реализовать файловый менеджер, аналогичный Midnight Commander. | ||
+ | |||
+ | Функциональные требования: | ||
+ | * 1. Отображение двух панелей. Обе панели должны одновременно отображать директории и файлы файловой системы компьютера. | ||
+ | * 2. Поддержка выбора активной панелями с помощью клавиши TAB | ||
+ | * 3. Активная панель должна предоставлять возможность навигации между директориями. | ||
+ | |||
+ | |||
+ | == Критерии оценивания == | ||
+ | |||
+ | === Первая контрольная точка (24 октября 2015 г.) === | ||
+ | Необходимо иметь приватный git-репозиторий на сайте [http://BitBucket.org BitBucket.org] с проектом, в который приглашен ментор [http://bitbucket.org/aparinov aparinov]. В репозитории должно быть: | ||
+ | * Файл README.md, который содержит описание проекта, написанный в расчета на "конечного пользователя". Это описание должно быть написано '''самостоятельно''', а не скопировано из Wiki, и отражать Ваше понимание того, что нужно сделать. | ||
+ | * Реализацию TCP-сервера, который при запуске создает сокет, принимает хотя бы по одному соединению одновременно, и выводит в качестве отладочной информации (на стандартный поток вывода или стандартный поток ошибок) данные, который ему передает клиент (для тестирования можно использовать программу telnet). | ||
+ | * Для тех, кто реализует проект на Си/C++, - проектный файл CMakeLists.txt. | ||
+ | |||
+ | === Итоговая оценка === | ||
+ | * '''4 балла'''. Реализован менеджер, открывающий в консоли два окна и позволяющий навигировать по файловой системе. | ||
+ | * '''+2 балла'''. Поддерживаются операции копирования, перемещения файлов, создания каталогов, удаления. | ||
+ | * '''+2 балла'''. Поддерживается выделение файлов с помощью регулярных выражений и групповые операции с файлами. | ||
+ | * '''+2 балла'''. Поддерживается запуск программ на выполнение, просмотр содержимого файлов (встроенный и с помощью произвольных программ просмотра). | ||
== Чему вы научитесь == | == Чему вы научитесь == |
Версия 21:58, 20 октября 2015
Содержание
Метаданные проекта
ID проекта: mc Ментор проекта: Паринов А.А. Аккаунты ментора в git-сервисах:
- GitHub.com: aparinov
- GitLab.com: aparinov
- BitBucket.org: aparinov
Что это за проект
Введение
Задача файлового менеджера предоставить пользователю удобный интерфейс для работы с файловой системой. Помимо обязательной части функционала, по согласованию с ментором, приветствуется расширенная функциональность и авторская реализация выполнения стандартных операций.
Что требуется
Реализовать файловый менеджер, аналогичный Midnight Commander.
Функциональные требования:
- 1. Отображение двух панелей. Обе панели должны одновременно отображать директории и файлы файловой системы компьютера.
- 2. Поддержка выбора активной панелями с помощью клавиши TAB
- 3. Активная панель должна предоставлять возможность навигации между директориями.
Критерии оценивания
Первая контрольная точка (24 октября 2015 г.)
Необходимо иметь приватный git-репозиторий на сайте BitBucket.org с проектом, в который приглашен ментор aparinov. В репозитории должно быть:
- Файл README.md, который содержит описание проекта, написанный в расчета на "конечного пользователя". Это описание должно быть написано самостоятельно, а не скопировано из Wiki, и отражать Ваше понимание того, что нужно сделать.
- Реализацию TCP-сервера, который при запуске создает сокет, принимает хотя бы по одному соединению одновременно, и выводит в качестве отладочной информации (на стандартный поток вывода или стандартный поток ошибок) данные, который ему передает клиент (для тестирования можно использовать программу telnet).
- Для тех, кто реализует проект на Си/C++, - проектный файл CMakeLists.txt.
Итоговая оценка
- 4 балла. Реализован менеджер, открывающий в консоли два окна и позволяющий навигировать по файловой системе.
- +2 балла. Поддерживаются операции копирования, перемещения файлов, создания каталогов, удаления.
- +2 балла. Поддерживается выделение файлов с помощью регулярных выражений и групповые операции с файлами.
- +2 балла. Поддерживается запуск программ на выполнение, просмотр содержимого файлов (встроенный и с помощью произвольных программ просмотра).
Чему вы научитесь
1. Освоите библиотеку терминального ввода-вывода (ncurses)
2. Освоите работу с файловой системой в Unix
Начальные требования
1. Умение разрабатывать программы на C или C++
Критерии оценивания
Требования на зачет в конце 1-го модуля
Должен быть реализован менеджер, который открывает в консоли два окна и отображает в них содержимое текущего каталога.
Итоговая оценка
- 4 балла. Реализован менеджер, открывающий в консоли два окна и позволяющий навигировать по файловой системе.
- +2 балла. Поддерживаются операции копирования, перемещения файлов, создания каталогов, удаления.
- +2 балла. Поддерживается выделение файлов с помощью регулярных выражений и групповые операции с файлами.
- +2 балла. Поддерживается запуск программ на выполнение, просмотр содержимого файлов (встроенный и с помощью произвольных программ просмотра).