분류 전체보기
[JPA] Transactional과 쓰기지연 쿼리에 대한 간단한 이슈 정리(updatedAt 관련)
[JPA] Transactional과 쓰기지연 쿼리에 대한 간단한 이슈 정리(updatedAt 관련)
2022.12.23JPA를 사용하면서 마주했던 이슈에 대해서 기록하고자 블로그에 정리하게 되었습니다. A Entity가 있고 B Entity가 있는데 A Entity에 대한 내용을 수정하고 A Entity의 필드 값들을 B Entity에 담아서 DB에 insert 요청을 하기 위한 save 작업을 하는 내용이었습니다. 코드 상으로 보면 다음과 같습니다. @Transactional fun saveHistoryAfterCafeInfoUpdated(cafeId: Long, request: UpdateDto) { // 대상 cafe 조회 val cafe = cafeRepository.findByIdOrNull(cafeid) ?: throw RuntimeException("cafe not found") // cafe 내용 변경 c..
Classful IP Address 개념 정리
Classful IP Address 개념 정리
2022.12.12네트워크 공부하면서 알게된 Classful, Classless IP 주소에 대해서 정리해보고자 합니다. 우선 Classful IP 주소에 대해서 알아봅시다. 네트워크 OSI 7 Layer 중 3계층은 네트워크 계층으로, 주로 다른 네트워크 대역에 있는 컴퓨터 장비와 통신하기 위해 사용되는 프로토콜들이 있습니다. IP, ICMP, ARP등 여러 3계층 프로토콜들이 존재하는데요. 그 중에 IP 프로토콜에 대한 내용입니다. 네트워크 통신을 하기 위해서 어떤 장비하고 통신하고 싶은지 구분할 수 있는 식별자가 있어야 합니다. 예를 들어, 2계층 프로토콜인 이더넷(Ethernet) 프로토콜에서는 MAC 주소를 통해 컴퓨터 장비를 식별하고 이 주소를 통해 통신하기 원하는 컴퓨터 장비를 특정할 수 있게 됩니다. 하지만..
[Git] 다른 프로젝트의 원격 repository에서 특정 branch 내용 merge 하기
[Git] 다른 프로젝트의 원격 repository에서 특정 branch 내용 merge 하기
2022.12.05강의 수강을 위해 v1 내용을 v2로 옮겨야 하는 상황이 있었는데 git 기능으로 해결했던 내용 기록하고자 하는 내용입니다. 📌 1. 원격 repository 추가 등록 project-v1의 특정 branch(beanie)에서 , project-v2의 특정 branch(beanie)로 merge해서 합병해야 하는 상황입니다. 이를 위해 먼저 옮기고자 하는 내용이 있는 project-v1 원격 branch를 가져와야 합니다. project-v2> git remote -v origin git@github.com:[account]/project-v2.git (fetch) origin git@github.com:[account]/project-v2.git (push) 현재 remote에 origin 이름으로 p..
[JPA] Hibernate dialect와 H2 데이터베이스 호환 이슈
[JPA] Hibernate dialect와 H2 데이터베이스 호환 이슈
2022.11.22김영한님 JPA 강의 듣다가 hibernate.dialect내용을 바꿔서 코드 실행을 하는 부분이 있었는데 이 과정에 겪었던 에러 이슈와 처리했던 내용을 기억하고자 이 곳에 기록하게 되었습니다. 📌 문제 상황 jpa 관련 설정은 위의 내용과 같습니다. h2 database를 사용했기 때문에 h2 driver와 db dialect(방언)는 H2Dialect로 하였습니다. 이렇게 설정하고 jpa 코드 실행하면 아무 문제 없이 잘 수행합니다. 여기서 oracle 쿼리는 어떻게 적용이 되는지 보기 위해 dialect 설정을 Oracle12Dialect로 변경했는데요. 여기서 문제가 발생합니다. ddl-auto를 create로 설정한 상황에서 코드 실행하면 JPA Entity 내용대로 drop, create 순으..
[Spring Security] API 방식의 인증 프로세스 개발해보기(custom filter, provider 적용)
[Spring Security] API 방식의 인증 프로세스 개발해보기(custom filter, provider 적용)
2022.11.17저번 게시글에서 Spring Security의 기본 인증 방식인 form login 인증 방식의 간략한 프로세스를 정리해보았습니다. Spring Security의 인증 프로세스 정리(form login 인증 방식) Spring Security의 인증 프로세스 정리(form login 인증 방식) 개인 프로젝트 하면서 적용했던 내용을 정리해보는 글입니다. 이번 내용은 로그인(인증) 프로세스를 순수 Spring Security만을 가지고 개발해보았던 내용을 두 번에 나누어 정리해보고자 합니다. 이 beaniejoy.tistory.com 해당 게시글에서 정리했던 내용들을 토대로 이번에는 api 인증 방식에 대해서 Spring Security를 이용해 구현해보고자 합니다. api 방식의 인증 프로세스를 구현하기..
Spring Security의 인증 프로세스 정리(form login 인증 방식)
Spring Security의 인증 프로세스 정리(form login 인증 방식)
2022.11.01개인 프로젝트 하면서 적용했던 내용을 정리해보는 글입니다. 이번 내용은 로그인(인증) 프로세스를 순수 Spring Security만을 가지고 개발해보았던 내용을 두 번에 나누어 정리해보고자 합니다. 이번 게시글에서는 api 인증 프로세스 개발 적용해보기 전에 Spring Security의 기본 인증 전략에 대해서 간단하게 정리해보고자 합니다. (이부분을 알고 있어야 api용 인증 프로세스 개발할 때 사용되는 Filter, Provider, UserDetailsService의 custom 구현체들이 어떻게 적용되는지 알 수 있습니다.) 📌 1. 간단한 Spring Security 인증 과정 Spring Security에서 간단한 인증 과정을 살펴보면 다음과 같습니다. (자세한 내용은 생략하도록 하겠습니다...