til

·TIL,일일 회고
서론Spring 심화과정의 첫 번째 프로젝트가 끝났습니다. 짧은 기간이었지만, 계획했던 기능을 1가지 제외하고 모두 구현을 해서 아쉽기도하지만 만족스러운 프로젝트였습니다. 본글에서는 프로젝트에서 제가 맡은 도메인의 트러블 슈팅에 대해서 정리하고자 합니다.  트러블 슈팅 1문제 발생 @EntityListeners(AuditingEntityListener.class)를 사용하여 Timestamped 클래스를 통해 생성 및 수정 시간 정보를 자동으로 관리하고, @MappedSuperclass를 통해 공통 매핑 정보를 자식 클래스에서 상속받아 사용하고 있었습니다.  그러나 updateBy와 deleteBy 필드가 업데이트되지 않는 문제가 발생했습니다. 문제 원인문제를 조사한 결과, @Column(updatabl..
·TIL,일일 회고
프로젝트를 완료하고, 튜터님의 피드백을 받았습니다. 다양한 피드백 중 이번 일일 회고에서는 Pageable에 대한 피드백을 정리하고자 합니다. 기존 구현 방식 원래 프로젝트에서는 각 페이징 관련 정보를 RequestParam으로 개별적으로 받아와야 했습니다. 그리고 서비스 레이어에서 PageRequest를 사용하여 페이지 요청을 처리했습니다. 피드백 반영 및 개선 사항 튜터님께서 제안하신 개선 사항에 따라, 페이징 처리와 정렬을 Pageable 객체로 한 번에 받을 수 있도록 변경하였습니다. 이렇게 하면 코드가 더 간결해지고, 유지보수도 쉬워집니다.개선된 사항@PageableDefault 사용@PageableDefault 어노테이션을 사용하여 기본 페이지 크기와 정렬 기준을 설정합니다.이로 인해, 클라이..
·TIL,일일 회고
서론현재 저희 프로젝트에서는 JWT 토큰을 통해 인증을 진행하고 있습니다. 이 과정에서 권한(role) 체크가 필요한데, 현재는 데이터베이스(DB)를 직접 조회하여 권한을 확인하고 있습니다. 모든 요청이 필터를 통해 처리되기 때문에, 지속적인 DB 조회는 성능 저하를 초래할 수 있습니다. 따라서 DB를 직접 조회하여 권한을 확인하는 대신, 사용자 정보를 인메모리 저장소인 Redis에 캐시하여 권한 체크를 빠르게 권한 체크를 수행할 수 있도록 구성하고자 합니다.  [Redis] 인메모리 저장소와 redis란 무엇일까❓전통적으로 데이터는 관계형 데이터베이스(RDBMS) 시스템, 예를 들어 MySQL, MariaDB, Oracle과 같은 플랫폼을 통해 관리되었습니다. 이러한 데이터베이스는 파일 시스템(HDD,..
·TIL,일일 회고
서론프로젝트 과정에서 Admin(Master, Manager) 생성을 처리하는 로직은 오직 Master 역할만 수행할 수 있습니다.http.authorizeHttpRequests((authorizeHttpRequests) -> authorizeHttpRequests.requestMatchers("/admin/**").hasAnyRole("MANAGER", "MASTER")); 현재 Spring Security 설정에서 /admin/** 경로에 대한 접근 권한을 MANAGER와 MASTER 역할을 가진 사용자에게 허용하고 있습니다.  즉, MANAGER 역할을 가진 사용자도 이 경로에 접근할 수 있지만, 실제로는 Master만이 매니저와 마스터를 생성할 수 있어야 합니다. 따라서 입력 DTO에 대한 ..
지누박
'til' 태그의 글 목록 (4 Page)