[7팀 신수빈] Chapter 4-2. 코드 관점의 성능 최적화 #37
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
과제 체크포인트
과제 요구사항
배포 후 url 제출
https://ongsim0629.github.io/optimization/
API 호출 최적화(
Promise.all이해)SearchDialog 불필요한 연산 최적화
SearchDialog 불필요한 리렌더링 최적화
시간표 블록 드래그시 렌더링 최적화
시간표 블록 드롭시 렌더링 최적화
과제 셀프회고
기술적 성장
LectureRow,MajorsCheckboxGroup등 리렌더링 비용이 높은 컴포넌트를 식별하고 메모이제이션을 적용하여 성능을 개선했습니다. 특히useCallback을 통해 핸들러 함수의 참조 안정성을 확보하여 불필요한 하위 컴포넌트 렌더링을 막는 패턴을 익혔습니다.schedulesMap)를 노출하는 것에서 벗어나,addSchedule,deleteSchedule등 구체적인 액션 메서드를 제공함으로써 상태 관리 로직을 캡슐화하고 컴포넌트 간 결합도를 낮추는 방법을 적용했습니다.코드 품질
SearchDialog에서LectureRow와MajorsCheckboxGroup을 분리하여 가독성을 높이고 유지보수를 용이하게 만들었습니다.DraggableSchedule컴포넌트에서 매번 새로운 함수를 생성하여 전달하던onDeleteButtonClick을 안정적인 참조로 변경하여 성능 누수를 막았습니다.학습 효과 분석
과제 피드백
리뷰 받고 싶은 내용