과제1 - JSON.stringify
1.JSON 구조가 재귀 함수를 사용할 수 있는 구조임을 이해할 수 있다.
2.JSON.stringify 와 JSON.parse 가 serialize, deserialize라는 것을 이해할 수 있다.
3.JSON.stringify 와 JSON.parse 를 사용하여 자바스크립트 값과 JSON을 넘나들 수 있다.
4.JSON에 재귀 호출을 사용할 때, 어디에 사용해야 할지 이해할 수 있다.
과제2 - Tree UI
5.Tree UI가 재귀를 사용할 수 있는 구조임을 이해할 수 있다.
6.재귀를 사용해서 Tree UI를 구현할 수 있다.

1.내부에 객체에 객체에 객체가 마트료시카처럼 있을 수 있기 때문에 재귀를 유용하게 사용할 수 있음을 이해하고 있다.

2.stringify는 serialize(직렬화)로 문자열화 하며 parse는 그 데이터를 다시 객체화 해줘 deserialize라는(역직렬화)라는 사실을 이해하고 있다.

3.이미 네트워크에서 값을 받아올 때 자연스럽게 parse 또는 .json을 사용하였기 때문에 동작 원리를 모르는 상태에서도 메서드 자체의 기능에 대해서 알고 사용할 수 있었다.

4.재귀 호출을 사용할 경우 배열 또는 객체인 경우 내부에 한번 더 실행을 통해 배열 또는 객체를 확인해줄 수 있다.

5.Tree UI는 재귀를 사용할 수 있는 구조정도가 아니라 재귀를 사용하지 않으면 내부가 변할 경우 내부의 내부의 내부 등 얼마나 깊게 데이터가 있는지 알 수 없기 때문에 대처하기가 어렵다. Tree는 너비 우선 탐색 또는 깊이 우선 탐색으로 재귀를 사용하는 것이 일반적이다.

6.재귀를 이용한 Tree 구조를 구현할 수 있으며 UI를 구현할 수도 있다. 추가적으로 CSS를 통해 내부 값들이 보이거나 안보이는등의 변화를 통해 check box로 내부 데이터 조회 여부를 실시간으로 선택하며 볼 수 있으며 이런 기능들을 응용해 페이지 라우팅등에 사용할 수 있을 것 같다.

재귀는 생각처럼 쉽지는 않지만 문제가 해결될 후 다시보면 이해하기 좋은 
정말 코드스트에츠에서 예시를 든 자전거타기와 유사한 것 같다.
처음에는 위태위태하고 쉽지 않지만 한번 적응되고나면 유사한 상황에서는 금방 해결책을 떠올릴 수 있는 것 같다.

+ Recent posts