КС:2015:Проект:Shell: различия между версиями
Cher (обсуждение | вклад) Новая страница: «== Что это за проект == === Введение === [https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D1%80%D0%B5%D1%82%D0%B0%D1%82…» |
Aparinov (обсуждение | вклад) shell. update second control point |
||
| (не показано 10 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
== Метаданные проекта == | |||
ID проекта: shell | |||
Ментор проекта: Паринов А.А. | |||
Аккаунты ментора в git-сервисах: | |||
* [http://GitHub.com GitHub.com]: aparinov | |||
* [http://GitLab.com GitLab.com]: aparinov | |||
* [http://BitBucket.org BitBucket.org]: aparinov | |||
* [http://goo.gl/forms/jSmn2B2NT0 Опрос] | |||
== Что это за проект == | == Что это за проект == | ||
| Строка 4: | Строка 12: | ||
[https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D1%80%D0%B5%D1%82%D0%B0%D1%82%D0%BE%D1%80_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%BE%D0%B9_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8 Интерпретатор командной строки] - программа, одна из основных частей операционной системы, обеспечивающая базовые возможности управления компьютером посредством интерактивного ввода команд через интерфейс командной строки. | [https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D1%80%D0%B5%D1%82%D0%B0%D1%82%D0%BE%D1%80_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%BE%D0%B9_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8 Интерпретатор командной строки] - программа, одна из основных частей операционной системы, обеспечивающая базовые возможности управления компьютером посредством интерактивного ввода команд через интерфейс командной строки. | ||
Помимо обязательной части функционала, по согласованию с ментором, приветствуется расширенная функциональность и авторская реализация выполнения стандартных операций. | |||
=== Что требуется === | === Что требуется === | ||
| Строка 21: | Строка 30: | ||
== Критерии оценивания == | == Критерии оценивания == | ||
=== | === Первая контрольная точка (24 октября 2015 г.) === | ||
Необходимо иметь приватный git-репозиторий на сайте [http://BitBucket.org BitBucket.org] с проектом, в который приглашен ментор [http://bitbucket.org/aparinov aparinov]. В репозитории должно быть: | |||
* Файл README.md, который содержит описание проекта, написанный в расчета на "конечного пользователя". Это описание должно быть написано '''самостоятельно''', а не скопировано из Wiki, и отражать Ваше понимание того, что нужно сделать. | |||
* Для тех, кто реализует проект на Си/C++, - проектный файл CMakeLists.txt. | |||
* Отображение двух панелей. | |||
* Должен быть реализован интерпретатор командной строки, который поддерживает разбиение аргументов по пробельным символам, запуск в основном режиме. | |||
* В левая панель должна поддерживать набор команд разделенных пробелами. Правая панель должна отображать в столбик отображать введенные команды. | |||
=== Вторая контрольная точка (22 ноября 2015 г.) === | |||
* Реализован интерпретатор, который поддерживает разбиение аргументов по пробельным символам, перенаправления и конвейеры. | |||
=== Итоговая оценка === | === Итоговая оценка === | ||
* '''4 балла'''. Реализован интерпретатор, который поддерживает разбиение аргументов по пробельным символам | * '''4 балла'''. Реализован интерпретатор, который поддерживает разбиение аргументов по пробельным символам и исполнение команд из директории /, навигация по файловой системе. | ||
* '''+2 балла'''. | * '''+2 балла'''. Реализована поддержка одиночных и двойных кавычек в аргументах, символ /usr/bin/, перенаправления и конвейеры. | ||
* '''+2 балла'''. Реализовано редактирование вводимой командной строки | * '''+2 балла'''. Реализовано редактирование вводимой командной строки и дополнение команды cd с помощью клавиши TAB | ||
* '''+2 балла'''. Реализованы | * '''+2 балла'''. Реализованы запуск исполнение в параллельном процессе. | ||
Текущая версия от 10:04, 12 декабря 2015
Метаданные проекта
ID проекта: shell Ментор проекта: Паринов А.А. Аккаунты ментора в git-сервисах:
- GitHub.com: aparinov
- GitLab.com: aparinov
- BitBucket.org: aparinov
- Опрос
Что это за проект
Введение
Интерпретатор командной строки - программа, одна из основных частей операционной системы, обеспечивающая базовые возможности управления компьютером посредством интерактивного ввода команд через интерфейс командной строки. Помимо обязательной части функционала, по согласованию с ментором, приветствуется расширенная функциональность и авторская реализация выполнения стандартных операций.
Что требуется
Реализовать интерпретатор командной строки, который будет поддерживать обработку команд в стиле bash.
Чему вы научитесь
1. Освоите библиотеку терминального ввода-вывода (ncurses)
2. Освоите управление заданиями POSIX
Начальные требования
1. Умение разрабатывать программы на C или C++
Критерии оценивания
Первая контрольная точка (24 октября 2015 г.)
Необходимо иметь приватный git-репозиторий на сайте BitBucket.org с проектом, в который приглашен ментор aparinov. В репозитории должно быть:
- Файл README.md, который содержит описание проекта, написанный в расчета на "конечного пользователя". Это описание должно быть написано самостоятельно, а не скопировано из Wiki, и отражать Ваше понимание того, что нужно сделать.
- Для тех, кто реализует проект на Си/C++, - проектный файл CMakeLists.txt.
- Отображение двух панелей.
- Должен быть реализован интерпретатор командной строки, который поддерживает разбиение аргументов по пробельным символам, запуск в основном режиме.
- В левая панель должна поддерживать набор команд разделенных пробелами. Правая панель должна отображать в столбик отображать введенные команды.
Вторая контрольная точка (22 ноября 2015 г.)
- Реализован интерпретатор, который поддерживает разбиение аргументов по пробельным символам, перенаправления и конвейеры.
Итоговая оценка
- 4 балла. Реализован интерпретатор, который поддерживает разбиение аргументов по пробельным символам и исполнение команд из директории /, навигация по файловой системе.
- +2 балла. Реализована поддержка одиночных и двойных кавычек в аргументах, символ /usr/bin/, перенаправления и конвейеры.
- +2 балла. Реализовано редактирование вводимой командной строки и дополнение команды cd с помощью клавиши TAB
- +2 балла. Реализованы запуск исполнение в параллельном процессе.