목록으로

Programming Notes

Spring 입문 3주차, TODO 프로젝트 마무리와 새로운 도전!

스프링 입문 3주차, 드디어 TODO 프로젝트의 STEP3 최종 점검을 마쳤습니다. 지난 2주 동안 쌓아온 지식을 바탕으로 기능 구현에 집중했는데, 생각보다 까다로운 부분들이 많았습니다. 특히, 데이터 처리 과정에서 효율적인 방법을 찾는 데 어려움을 느꼈습니다. 처음에는...

스프링 입문 3주차, 드디어 TODO 프로젝트의 STEP3 최종 점검을 마쳤습니다. 지난 2주 동안 쌓아온 지식을 바탕으로 기능 구현에 집중했는데, 생각보다 까다로운 부분들이 많았습니다. 특히, 데이터 처리 과정에서 효율적인 방법을 찾는 데 어려움을 느꼈습니다. 처음에는 while문을 사용하여 카드 뭉치(배열)를 하나씩 처리했지만, forEach문을 활용하면 훨씬 간결하고 효율적으로 처리할 수 있다는 것을 알게 되었습니다. index를 따로 관리하지 않아도 되니 코드 가독성도 높아졌죠. 배열 자르기(slice())를 이용해서 처리하려 했지만, 오히려 코드가 복잡해지는 것을 발견하고 인덱스 값 두 개를 저장하는 방식으로 변경했습니다. 작은 부분이지만, 개발 과정에서 효율적인 코드 작성 습관의 중요성을 다시 한번 느꼈습니다.

오늘은 STEP3의 모든 요청과 응답에 대한 테스트를 진행하고, 예외 처리 부분까지 꼼꼼하게 점검했습니다. controller, service, dto, entity 간의 관계를 명확히 이해하는 것이 중요하다는 것을 깨닫고, 각 레이어의 역할과 데이터 흐름을 파악하기 위해 시간을 투자했습니다. 이 과정에서 controller가 사용자 요청을 받아 service에 전달하고, service는 dto를 이용하여 entity와 데이터를 주고받는 과정을 확실히 이해하게 되었습니다. 아직 완벽하게 이해했다고 말할 수는 없지만, 앞으로 더 복잡한 프로젝트를 진행할 때 도움이 될 만큼 상당한 발전을 이뤘습니다. 다음 단계로는 각 레이어 간의 관계를 다시 한번 정리하여 더욱 명확하게 이해하기 위해 관계도를 그려볼 계획입니다. 이를 통해 코드의 구조를 더욱 효율적으로 설계하고 유지보수할 수 있도록 노력할 것입니다.

마지막으로, Challenge 반 과제인 OAuth2를 이용한 카카오 로그인 기능에 네이버 로그인 기능을 추가하는 작업을 시작했습니다. 카카오 로그인 구현 과정에서 OAuth2에 대한 이해도가 높아졌지만, 네이버 로그인 추가는 예상보다 까다로웠습니다. 두 플랫폼의 API 구조가 조금씩 다르기 때문에, 각 API의 특징을 파악하고 적절하게 코드를 수정해야 합니다. 현재는 부분적으로만 구현된 상태이지만, 차근차근 기능을 추가하여 완성도 높은 로그인 시스템을 구축할 계획입니다. 이 과정에서 문제 해결 능력과 새로운 기술을 배우는 능력을 더욱 키울 수 있을 것으로 기대하고 있습니다.

결론적으로, 오늘은 TODO 프로젝트의 마무리와 새로운 과제를 시작하는 의미있는 하루였습니다. 문제 해결 과정에서 효율적인 방법을 찾고, 각 레이어의 관계를 명확히 이해하는 등 많은 것을 배울 수 있었습니다. 앞으로도 꾸준히 노력하여 더욱 성장하는 개발자가 되도록 노력하겠습니다.