[백엔드TIL] Spring security 로그인 실패 시 예외처리 방식(78일차) 스프링 시큐리티로 로그인기능을 구현하다가 어떤 이유에서든지 로그인에 실패하면 로그에 아무것도 안뜨길래 뭔가 설정을 잘못한 줄 알았다. 분명 에러 로그가 떠야하는데 안뜬다. 로그 범위를 디버그로 하면 겨우 보이는데 다른로그들이 엄청나게 튀어나온다. 딱 한줄 보여준다... 세션에서 확인해봤다. 친절하게도 BadCredentialsException : 자격증명에 실패했다고 알려준다. 없는 아이디를 입력했으므로 UsernameNotFoundException을 기대했지만 BadCredentialsException이 떴다 로그를 찍어보면 분명 'org.springframework.security.core.userdetails.UsernameNotFoundException'이 발생했다. BadCredentialsEx.. 더보기 [백엔드WIL] DB캐싱 (16주차) Cache Cache는 데이터나 값을 저장하는 임시 저장소로, 데이터를 더 빠르고 효율적으로 액세스할 수 있게 해준다. 원본 데이터 접근보다 빠르다. 같은 데이터를 반복적으로 접근하는 상황에서 사용하기에 알맞다. 인증 세션 값과 같은 잘 변하지 않는 데이터일수록 더 효율적이다. CPU Cache 레이어별로 캐시를 보면 용량은 위로 갈수록 커지고 속도로 밑으로 내려갈수록 빨라진다. 보통 우리가 사용하는 Redis는 Memory층에 존재한다고 보면 된다. Disk가 제일 느리고 L3 < L2 < L1 순으로 속도가 빠르다. Disk 접근 속도가 SSD를 쓰고있지만 Memory와 비하면 속도가 굉장히 차이난다. 그렇기 때문에 Memory에 올려놓고 쓰는 게 Disk에서 읽어오는 것보다 훨씬 빠르다. 그 대신 .. 더보기 [백엔드TIL] DB로직을 최소하려면 어떻게해야할까? (77일차) DB 로직 최소화를 하려면 어떻게 해야 할까요 DB 로직을 최소화하는 것은 성능을 향상시키고 유지 보수를 간소화하는 데 도움이 됩니다. 예를 들어, 이러한 방법으로 DB 로직을 최소화할 수 있다. EX. 일관된 데이터 모델링: 데이터베이스 테이블과 엔테테를 일관성 있게 설계하고 중복 데이터를 줄이고 일관성을 유지하여 데이터 중복을 최소화화고 무결성을 유지한다. 비즈니스 로직 최적화: 데이터베이스에서 비즈니스 로직을 수행하기보다는 비즈니스 로직을 애플리케이션 레벨에서 처리한다. 데이터베이스는 데이터 저장과 관리에 중점을 두는 것이 좋다. 캐싱: 반복적으로 동일한 데이터를 검색해야 하는 경우, 검색 결과를 캐시하여 데이터베이스 요청을 최소화할 수 있다. 배치 작업: 대량의 데이터를 처리해야 할 때는 배치 작.. 더보기 이전 1 ··· 24 25 26 27 28 29 30 ··· 88 다음