다음처럼 동작하는 프로그래밍을 만든다. 할일을 관리하는 프로그램이며, 다음의 기능을 완성해야한다.
- 이 자바스크립트 애플리케이션은, nodeJS기반으로 콘솔로 결과를 볼 수 있어야 한다. (브라우저에 동작하는 프로그램이 아님)
- 개발도구는 무엇이든 상관없다.
- 할일을 추가할 수 있다.
- 할일이 추가되면 id 값을 생성하고 결과를 알려준다.
- 상태는 3가지로 관리된다. todo, doing, done.
- 각 일(task)는 상태값을 가지고 있고, 그 상태값을 변경할 수 있다.
- 각 상태에 있는 task는 show함수를 통해서 볼 수 있다.
- show명령에서 done상태를 노출할때는 소요시간도 출력한다.
- update명령의 결과값은 3초 지연 후에 노출된다.
- 명령어 입력시 '$'를 구분자로 사용해서 넣어야 한다.
- 객체리터럴을 사용해서 모든 코드가 구현돼야 한다. (this 사용)
- 함수의 크기가 적당해야하고, 함수를 잘 분리해야 한다.
- 클린코드를 지향한다.
- 시간이 부족하면 되는데 까지 구현하고 제출한다.
- 동작결과가 크게 다르지 않다면, 결과 화면의 문구나 결과 표현방법은 약간 다른 부분이 발생해도 상관없다.
- 요구사항이 잘못되었다고 판단되거나 이해가 안가는 부분은 스스로 판단해서 진행한다. (설명이 필요하면 주석으로 남긴다)
> "add$자바스크립트 공부하기"
> id: 5, "자바스크립트 공부하기" 항목이 새로 추가됐습니다. //추가된 결과 메시지를 이렇게 출력
> 현재상태 : todo:1개, doing:2개, done:2개
> "show$doing"
> "1, 그래픽스공부", "4, 블로그쓰기" //id값과 함께 task제목이 출력된다.
> "show$done"
> 'iOS공부하기, 3시간', '자바스크립트공부하기, 9시간', '미팅 1시간'. //이렇게 완료할때까지의 누적 시간을 표현한다.
> "update$3$done"
> 현재상태 : todo:1개, doing:1개, done:3개 //변경된 모든 상태가 노출되지만 3초뒤에 결과가 나와야 한다.