전체 글
-
[JPA] Persistence Context개발/Java 2023. 1. 14. 00:47
EntityManager 엔티티 매니저 팩토리는 매 요청마다 엔티티 매니저를 생성한다. 엔티티 매니저는 내부적으로 DB 커넥션을 만들어 DB를 이용한다. 영속성 컨텍스트 영속성 컨텍스트는 논리적인 개념이다. 엔티티를 영구적으로 저장하고 객체로 이용할 수 있게 하는 환경. 이를 이용해서 엔티티를 영속성 컨텍스트에 영속적으로 저장한다. J2SE 환경에서 각 엔티티 매니저는 개별적인 영속성 컨텍스트를 가진다. J2EE, 스프링과 같은 컨테이너 환경에서는 여러 엔티티 매니저가 하나의 영속성 컨텍스트를 가진다. 엔티티의 생명주기 비영속 - new , transient 영속성 컨텍스트와 전혀 관계 없는 새로운 상태 최초 객체를 생성한 상태 값을 set() 하였지만 영속성 컨텍스트에 아직 저장하지 않음. 영속 - m..
-
[JPA] JPA개발/Java 2023. 1. 1. 16:47
JPA는 Java Persistence API의 약자로 Java의 ORM 표준이다. 기존의 JDBC와 Java 앱 사이에서 사용되는 API다. 기존의 RDB, SQL과 객체지향적 코드 사이에는 문제점이 있다. RDB 같은 경우 SQL을 통해 DB에 접근하여 데이터를 관리할 수 있다. 하지만 객체지향적 언어에서 사용되는 상속 관계 등을 명확하게 표현할 수 없다. 또, 참조되는 객체 사이에서는 그 이동이 자유로워야 한다. 하지만 RDB를 통해 가져온 데이터에서는 매번 Join을 통해 새롭게 데이터를 추가해야한다. 이런 상황에서 여러 상황에서 쓰이는 쿼리를 매번 작성하는 것이 번거롭기에 JPA가 등장했다. JPA는 지연 로딩, 즉시 로딩을 지원하며 상황에 따라 필요한 객체를 필요 시점에 맞게 불러올 수 있다...
-
[Spring boot] 응답 값 직렬화.스터디 & 프로젝트/Mineme 프로젝트 2022. 12. 13. 14:38
public class ResponseDto { private boolean isSuccess; ... } { ... "success": true } 새로운 프로젝트를 시작하면서 공통 응답 DTO를 작성했다. 빌드 후에 테스트해보니 응답 API 명세와는 다르게 위와 같이 'is'가 사라진 형태로 응답이 발생한 것을 확인했다. boolean을 원시타입으로 작성하면서 직렬화 과정에서 is가 자동으로 삭제된 것이라고 한다. 이를 래퍼 타입인 Boolean으로 바꿔주면서 해결할 수 있었다. public class ResponseDto { private Boolean isSuccess; ... } { ... "isSuccess": true, }
-
BoB 11기 합격 후기메모/기록하기 2022. 7. 9. 01:41
대학 생활 회고 대학 진학에서 컴퓨터공학과에 진학하는 것을 결정하는 것은 어렵지 않았다. 대학 진학에 있어서 지원한 모든 학과가 컴퓨터공학과, SW 학과와 같은 IT 학과였다. 대학 진학의 과정에서 조금 아 www.floodnut.com 위 포스팅의 2편 같은 느낌이다. BEST OF THE BEST 차세대 보안리더 양성 프로그램 Best of the Best 홈페이지에 방문하신 여러분들을 환영합니다. www.kitribob.kr 사실 최종합격이 나오자마자 이 감격스러움을 후기로 남길까 했다. 하지만 생각을 바꿔서 조금 차분해지고 시간이 지나면 후기를 적는 것으로 생각을 바꿨다. 그래도 일주일에 세 개 이상의 포스팅은 쓰고자 했지만 이것 저것 벌여놓은 일을 정리하고 또 BoB 교육도 들으면서 조금 미뤄진..
-
[OAuth 2.0 API 보안] JWE를 이용한 메시지 수준 보안보안/OAuth 2.0 2022. 6. 30. 12:09
1. JWE Compact Serialization (JWE 콤팩트 직렬화) JWE 콤팩트 직렬화를 사용한 JWE 토큰은 5개의 구성 요소로 이루어진다. 각 요소는 마침표(.)로 구별되며 헤더, 암호화 키, 초기화 벡터, 암호문, 인증 태그로 구분된다. 1.1. JOSE 헤더 JWE 콤팩트 직렬화의 첫 번째 구성 요소다. 기존의 JWS에서 추가된 파라미터가 있다. enc : 콘텐츠 암호화 알고리즘 AEAD(Authenticated Encryption with Associated Data)가 포함된 대칭 인증 암호 알고리즘이 필요하다. JOSE 헤더의 필수 속성이며 포함되지 않으면 토큰 구문 분석 오류가 발생한다. zip : 압축 알고리즘기본 압축 알고리즘은 JWA 사양에 정의된 것을 사용한다. 압축이 필..