20210408(목)

2021-04-08

1. 학습 날짜

  • 2021-04-08

2. 학습 시간

  • 10:00 ~ 20:00

3. 학습 범위 및 주제

  • 바닐라 자바스크립트로 MVC 패턴으로 todo 앱 만들기

4. 학습 목표

  • localStorage 사용법 익히기

  • 뼈대 잡기

5. 학습 정리

  • x

6. 상세 학습 내용

  • 새로운 아이템이 추가될 때 문자열 로 넣는게 아닌 DOM 요소를 만들고 appendChild 하는 방식으로 수정했다.

    • 이렇게 수정한 이유는.... 이렇게 만드는게 더 효율이 좋을거란 생각때문이었는데, 막상 바꾸고 나서 지금 생각해보니 성능이 좋아지키는 커녕 성능이 더 나빠져버렸다....

    • 왜냐하면 이전에는 그냥 문자열을 추가하는 연산만 있었는데 이제는 DOM 요소를 create 하고 세팅하고.. 넣어주는 과정이 추가되었기 때문이다.

    • 이후에 이 부분은 이전처럼 돌려야겠다.

  • 아이템 삭제를 완전 삭제가 논리삭제 를 하도록 수정했다. 수정한 이유로는 두 가지가 있다. 1. 완전삭제를 하면 지금 코드에 구현되어있는 count 를 제대로 사용할 수가 없었다. 왜냐하면 count 는 마지막에 추가된 값을 기준으로 + 1 해나가면서 세팅하는데, 지금 10개를 만들어놓고 새로고침을 하면 todo 리스트에는 10개가 남아있는데 count 가 다시 0으로 세팅되어 버린다. 2. 서비스를 운영하는 측면에서는 이 또한 데이터가 될 수 있다는 관점이 있었기 때문이다. 이전에 프로젝트를 진행했을 때에도 왠만한 데이터를 삭제할 때도 완전삭제가 아닌 논리삭제로 했었다.

  • 필터링하기

    • 필터링은 display 속성을 사용했다. display 속성을 사용하면 렌더링트리에서 성능 측면에서 이슈가 생긴다는 단점이 있는데 지금 프로젝트는 그런 성능상의 이슈를 생각할 필요가 없는 과제라는 생각에 간단하게 display 로 코드를 구현했다.

7. 오늘 학습 내용에 대한 개인적인 총평

  • 여러 사람들이랑 이야기를 하다보니 코드를 많이 작성하지 못했다... 역시 집이 최고다.

8. 다음 학습 계획

  • TODO 앱 더블클릭 이벤트

  • count 수정

  • 리팩토링

Last updated