전체 글

· Spring
1. No Persistence provider for EntityManager named Hi 부트를 사용하지 않을 때는 META-INF 내부의 persistence.xml 파일의 unit-name과 persistenceUnitName을 서로 매칭 시켜주면 되지만 부트는 persistence.xml 파일 자체가 없습니다.(자동으로 설정) 스프링 부트 없이 다음과 같은 접근으로 EntityManagerFactory를 직접 사용하려고 하면 "Exception in thread "main" jakarta.persistence.PersistenceException: No Persistence provider for EntityManager named Hi" 와 같은 에러가 발생합니다 EntityManagerF..
· Spring
CSRF TOKEN문제 스프링 시큐리티는 POST, PUT, DELETE등의 메소드 요청을 할 때 이전 페이지에서 발급된 CSRF토큰 정보를 체크하기 때문에 정보를 헤더로 넘겨줘야한다. 1. CSRF Token발급 설정 @EnableWebSecurity @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter{ @Override protected void configure(HttpSecurity httpSecurity) throws Exception { httpSecurity .csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()); } } 2..
· Git
Git Rebase란? 현재 브랜치의 base를 타겟 브랜치의 최신 커밋으로 변경합니다. 위 사진은 C1을 베이스로 feature브랜치에서 새로운 기능을 개발중에 있을 때 main브랜치에도 여러 작업이 쌓여 C6에 가있는 상황입니다. 이 때, feature브랜치의 base를 main브랜치의 최신 commit으로 재설정 하고자 할 때 rebase기능을 이용합니다. (merge를 할 수도 있지만 의미없는 merge commit이 섞이게 되어 히스토리를 알아보기 힘들게 만듭니다. - 장단점이 있음) HEAD를 feature로 이동시킨 후 git rebase main 명령어를 입력하면 위와 같이 커밋 트리가 재정렬됩니다. 이는 즉 현재 작업하는 브랜치를 대상 브랜치의 HEAD에서 분기된 브랜치로 간주하겠다는 뜻..
Seung__Yong
기록