BE15 [JAVA] HashMap과 HashTable의 차이 서론어느날 Youtube에서 강연을 보다가 "hashMap과 hashTable의 차이 다들 잘 알고계시죠~? 면접에도 많이 나오잖아요." 라고 말씀하셨는데 나는 들어만 봤고, 그냥 남들 다 쓰니까 사용했지 정확한 차이같은건 모르고 있었고 알려하지 않았었기에.. 이번 기회에 정리해보려고 한다! Hash(해시)가 뭔데?먼저 Hash가 뭔지에 대해서 알아보자!해시(Hash)는 데이터구조와 알고리즘에서 중요한 개념으로, 데이터를 고정된 크기의 해시값으로 매핑하는 함수와 그 결과로 생긴 값을들 효율적으로 저장하고 검색하는 방법이다. 따라서 해시 기반 데이터 저장 구조에서는 데이터 검색과 저장이 매우 빠르게 진행된다. Hash Function(해시함수)가 뭔데?임의의 크기를 가진 데이터를 고정된 크기의 해시 값(.. 2024. 6. 3. [SpringBoot] 스케줄러(@Scheduled)가 간헐적으로 동작 안하는 문제 문제 발생 필요한 기능 : 특정 시간(오전 6시)에 외부 API를 호출하여 DB에 Insert문제점 : 오전 6시에 해당 스케줄러가 실행이 되어야 하는데, 출근해서 해당 Table을 확인하니 스케줄러가 동작 안하여 Insert가 안되어 있음 더 심각한건.. 도대체 어느 조건에서 왜? 실행이 안되는건지 모른다는 점이다... 로컬에서 실행하면 매우 잘 되는데 배포만 하면 잘 안된다는 문제만 파악하였다.. 검색을 해도 Timezone 이라는 말뿐......계속 검색해도 타임존 문제라고만 나왔다. 근데 그냥 뭔가 단순히 생각했을때 타임존 문제라면 그냥 그 시간이 되었을 때 동작을 해야하는데 아예 실행이 안됐으니 타임존 문제라는 것이 너무 이해가 안되었다. 해결 과정 - 로그 확인로컬로 스프링 프로젝트를 시작.. 2024. 5. 7. [SpringBoot] Spring Security Config에서 permitAll()에 대한 진실과 오해 사용 기술 스택 - Spring Boot 3.x.x - Spring Security 6 ( + jwt token 방식) - Spring Data Jpa 문제 발생 Spring Security를 적용하면서 인증이 필요하지 않은 경로를 직접 지정해주어 인증을 안하도록 설정하였다. 대표적으로는 로그인 (/auth/login)이 있는데, 로그인을 할 때 access token을 확인할 필요가 없기 때문에 permitAll()을 사용하여 인증에서 제외했다. http .authorizeHttpRequests(requests -> requests .requestMatchers("/", "/auth/login", "/access-token").permitAll() // 이 부분 .requestMatchers("/swa.. 2024. 1. 6. [SpringBoot] Controller Unit Test에서 발생한 401, 403 에러를 해결해보자! (+ Spring Security) ❗️컨트롤러 테스트코드를 작성하는 와중에 401과 403 에러를 마주쳤다. 해결하는건 크게 어렵지 않았다!!! 컨트롤러 단위 테스트 진행 과정 먼저, 사용한 기술은 이러하다. ▶︎ Spring Data JPA , Spring Security 단위 테스트를 진행했기 때문에 @WebMvcTest 를 사용했다. @SpringBootTest VS @WebMvcTest ❗️ 여기서 잠깐! ! @SpringBootTest와 @WebMvcTest 이 두 어노테이션의 차이는 뭘까? 분명 둘다 테스트 코드 작성시 사용하는건데.. 언제 어떤것을 사용 해야할까? ▶︎ @SpringBootTest - 애플리케이션 전체를 테스트할 때 주로 사용된다. (통합 테스트) - 애플리케이션의 모든 컴포넌트들을 로드한다. (securit.. 2023. 12. 27. 이전 1 2 3 4 다음