Skip to content

atolmachev/swd-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple Shell

Часть I (08.09.2015)

Разработать простой shell, представляющий собой REPL (read - evaluate - print loop), поддерживающий следующие команды

  • cat [FILE]
  • wc [FILE]
  • pwd
  • exit
  • man [COMMAND]

Примеры

> cat README.md
I dont't know md syntax, so I'll left this file blank

> wc README.md
1 11 54

> man cat
cat - prints file to standard output
cat [FILE]

Интерпретатор должен поддерживать piplines:

> cat README.md | wc

Дизайн программы должен позволять добавление новых команд (например, другими разработчиками). Используем JDK 8. Сделанное задание = репозиторий на github с кодом и файлом проекта (IDEA, Eclipse) с Runtime - конфигурацией для запуска. Программа дожна запусаться на любой машине с установленной JDK.

Часть II (15.09.2015)

Реализовать команду grep на базе следующих библиотек

☝️ Если API соседа не устраивает/содержит баги/... можно и нужно сообщить об этом соседу.

Минимальный синтаксис grep:

> grep "Минимальный" README.md
Минимальный синтаксис grep

> grep "Минимальный$" README.md

> grep "^Минимальный" README.md
Минимальный синтаксис grep

> grep -i "минимальный" README.md
Минимальный синтаксис grep

> grep -w "Минимал" README.md

> grep -A 1 "II" README.md
Часть II (15.09.2015)
---------------------

Сделанное задание = реализации grep на Apache Cli + на JCommander + на библиотеке товарища + короткое резюме по дизайну товарища: "Насколько легко было реализовать Grep на его API? Почему? Какие дизайн-решения кажутся удачными, к какие - нет? Почему?"

Have fun! 💃💃💃

Часть III (21.10.2015): Unit testing

Разработать для классов команд Cat, Wc, Grep unit-тесты.

Часть IV (05.10.2015): Playing with Play!

Используя Play!Framework 1.3, разработать web - интерфейс для вашего Shell'а. Открыв страницу, пользователь видит приглашение командной строки и может исполнять команды, которые выполняются на файловой системе сервера и передают результаты выполнения на страницу. Требования к UI - минимальные, на ваше усмотрение. Цель задания - не в красоте верстки, а в том, чтобы попробовать различные фичи Play! и посмотреть как он решает различные задачи

Пример Play-приложения, разработанного в классе

About

Simple modular CLI supporting cat and wc

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages