본문 바로가기
  • Let's study
회고/프로그래머스 데브코스

백엔드 데브코스 12기 65일차

by 코딩고수이고파 2026. 10. 16.

이 날은 전날에 이어 Java 기반 Spring Boot 프로젝트를 Kotlin으로 전환했다. DTO와 요청 처리 클래스에서 시작했던 작업을 보안 설정, 인증 필터, 예외 처리 등으로 확장하면서 프로젝트 전반에서 공통으로 사용하는 코드의 역할을 살펴봤다.

먼저 Spring Security 설정과 사용자 인증 정보를 담는 클래스를 Kotlin으로 바꿨다. 보안 설정에서는 Kotlin DSL로 URL별 접근 권한을 표현했고, 인증 필터에서는 헤더와 쿠키에서 인증 정보를 가져와 사용자를 확인하는 흐름을 살펴봤다. 코드를 옮기는 과정에서 API 키와 액세스 토큰이 어떻게 사용되고, 인증된 사용자 정보가 어디에 저장되는지 정리할 수 있었다.

전환 과정에서 발견한 문제를 수정하며 Kotlin의 프로퍼티와 null 처리도 다시 확인했다. 공통 응답 객체의 data를 공개 프로퍼티로 변경하고, 쿠키가 없는 요청에는 안전 호출 연산자 ?.를 적용했다. 이를 통해 문법을 Kotlin으로 바꾸는 것뿐 아니라, 실제 응답 형태와 값이 없는 상황까지 고려해야 한다는 점을 배웠다.

이후 공통 응답의 HTTP 상태 코드를 설정하는 AOP와 예외 처리 클래스도 전환했다. 입력값 검증 오류를 모아 메시지로 만드는 부분에서는 컬렉션 함수를 활용했고, 여러 종류의 예외를 공통 응답 형식으로 반환하는 구조를 살펴봤다. 각 기능에서 반복될 수 있는 처리를 한곳에서 관리하는 이유를 이해할 수 있었다.

마지막으로 초기 데이터 설정과 공통 엔티티인 BaseEntity까지 전환 범위를 넓혔다. 이번 실습을 통해 언어를 바꾸는 작업이 기존 코드의 역할과 연결 관계를 다시 이해하는 기회가 될 수 있다는 점을 느꼈다. 앞으로도 코드를 간결하게 작성하는 데서 그치지 않고, 기존 동작을 유지하면서 Kotlin의 특성을 활용하는 방법을 함께 생각해봐야겠다.

댓글