Bleeding edge

2022/10/06 - TIL 본문

ConnecTo

2022/10/06 - TIL

codevil 2022. 10. 6. 19:17

페어프로그래밍에서 배운 것

  1. Toggle side navigation 회고 처음에 요구 사항중에서, 검정화면이 아닌 흰화면인 경우, preload를 지우지 않았던 현상을 캐치를 못했습니다. addEventListener와 같은 비동기 매서드 같은 경우 다양한 케이스가 나올 수 있으니 여러 경우를 고려해야한다 라고 생각이 들었습니다 그리고, 브라우저의 시점에 따른 이벤트를 다루면서, 이를 정리해야겠다고 생각이 들었습니다.
  2. Tick Tac Toe 직접 이기는 경우를 계산해서 만들었는데, 요구사항 맞춰서 만드는 방법에 대해서 생각을 해였고, 계산이 필요하지 않다면, 메모리를 사용해서 해결하도록 만드는 코딩을 해야겠다고 생각했습니다. 그리고, some을 이용하여, 모든 조건중 한개가 성립하는 경우, every를 이용하여 모든 조건을 성립하여 해결하였습니다. 다양한 Array의 메서드를 적재 적소에 사용하면 유용하다는 걸 알게되었습니다. 케이스에 맞는 올바른 메서드를 사용하는 것이 중요하다고 느꼈습니다.
  3. Accordion menu 처음에 아코디언의 ul의 높이를 구하기 위해서 computedStyle을 이용하여 높이를 구했었는데, 이 문제 같은경우, 보이지 않느 것을 더한 길이를 리턴해야하기 때문에 scrollHeight를 사용하는 것이 좋았다. 다만, scrollHeight는 including what is not viewable이라는 것이 정말로 필요 없는 것 까지 포함해서 그리기 때문에 이를 생각해서 사용해야겠다.
  4. Drag & Drop drag와 관련된 이벤트를 사용하는 문제였는데 처음 사용하는 이벤트라서 시행착오가 있었습니다. 그리고 드래그의 시점이 많이 나뉘어서 이벤트를 등록을 해야했었는데, 이 시점에 대한 것과 어느 객체에 어떤 이벤트가 적용되는지를 공부할 수 있었습니다.
  5. Analog clock Array.from을 사용할까 말까 에 대해서 토론을 했었습니다 결국에는 Array.from({length:12})보다는 Array(12).fill(0)을 사용하기로 하였는데 이유는 Array.from을 사용하면 길이가 12인 객체를 만들고 이를 배열로 만드는 것 보다는 12칸이 비어있는 빈객체를 만들고 0을 넣는 것이 로직상 맞다는 이야기 나왔습니다. 처음에 시계를 그릴때 0시0분0초로 그려졌던 문제가 있었는데, 이 역시 그려지는 시점의 차이를 고려하지 못해서 생긴일이었습니다. 이 역시 보안해야할 필요가 있다고 느꼈습니다.
  6. Star rating Custom Event를 사용을 해본적이 별로 없어서, 익숙하지 않았는데, 이문제를 통해서 공부해봐서 좋았습니다. 이벤트에 있지 않은 현상을 감지하여 이벤트를 실행해야할 때 이벤트를 정의하여 계속 관찰하는 방법으로, 어떤 모듈이나 컴포넌트의 변화가 이 것을 기준으로 변화를 할때 유용할 것 같습니다.
  7. Calendar & Datepicker 7번과 같은경우에 언제 메서드를 사용하고, 언제 함수를 사용해야하는지 고민할 수 있는 문제였습니다. 객체에 저장되어있는 값을 간단하게 계산하는 경우에는 메서드를 이용하여 get을 사용하면 간결한게 코드를 정리할 수 있어 좋았고, 복잡한 경우네는 함수를 이용하여 코딩하는 것이 좋다라고 생각이 들었습니다.
  8. News Viwer observer intersection에 모습이 계속 보이고 있는경우에는 이벤트가 발생하지 않는 현상을 모르고있었는데 , 다른조에서 지적을 해줘서 알게되었고 이를 해결하기위해, 비동기에 then을 이용해서 언제 어떤 함수를 사용할지 정확하게 지정을 해줘서 해결했습니다. 비동기를 다룰 때는 신경을 더써줘야겠다고 생각이들었고, element에 높이나 위치를 나타내는 메서드가 많은데 이게 사용에 따라 같은 높이 같지만 다른 높이를 나타내내는경우가 있기때문에 어떤 값을 원하는지 정확히 알아야겠다고 생각이 들었다.

'ConnecTo' 카테고리의 다른 글

2022/10/11 - TIL  (0) 2022.10.11
2022/10/07 - TIL  (0) 2022.10.07
2022/10/05 - TIL  (0) 2022.10.05
2022/10/04 - TIL  (0) 2022.10.04
2022/09/30 - TIL  (1) 2022.09.30