엔티티를 영구적으로 저장하는 환경논리적인 개념Entity Manager를 통해 접근한다.영속성 컨텍스트와 전혀 관계가 없는 새로운 상태영속성 컨텍스트에 관리되는 상태영속성 컨텍스트에 저장되었다가 분리된 상태삭제된 상태1차 캐시동일성 보장트랜잭션을 지원하는 쓰기 지연변경
패러다임의 불일치객체 지향 : 필드와 메서드로 객체를 구성해서 사용하는 것에 초점관계형DB : 데이터를 잘 정규화해서 저장하는 것에 초점객체저장 : 공통된 특징을 부모로 정의한 후 자식이 상속받아 특징을 가지는 필드 및 메서드 정의조회 : .을 통해서 바로 접근 가능관
트랜잭션이란, 데이터베이스의 상태를 변환시키는 작업의 단위를 의미한다.데이터베이스의 상태를 변환시킨다?이 말은 아래의 질의어(SQL)를 통해 데이터베이스를 접근하는 것을 의미한다.SELECTINSERTDELETEUPDATE그리고 작업의 단위는 사람이 정하는 기준에 따라
DI는 의존 관계를 외부에서 결정(주입)해주는 것을 말한다. 스프링에서는 이러한 DI를 담당하는 DI 컨테이너가 존재한다. 이 DI 컨테이너가 객체들 간의 의존 관계를 주입한다.의존 관계 주입 방법생성자 주입생성자 호출시점에 딱 1번만 호출되는 것이 보장된다.불변, 필
스프링 빈을 항상 무상태(statelses)로 설계하라는 말이 있다.이 말은 즉, 스프링 빈 클래스는 공유가 될 수 있는 전역 변수를 사용하면 안된다를 의미한다.이유를 알아보자!!!stateless protocol은 들어 보았다. stateless protocol은 어
서로 관련있는 객체들을 통째로 묶어서 팩토리 클래스로 만들고, 이들 팩토리를 조건에 따라 생성하도록 다시 팩토리를 만들어서 객체를 생성하는 패턴
정의 : 동작(메서드)을 파라미터로 전달하는 것, 아직 어떻게 실행할 것인지 결정하지 않은 코드 블록등장 배경 : 자주 변경되는 요구사항에 효과적으로 대응하기 위해 등장위 코드느 녹색 사과를 필터링하는 함수이다. 만일 색이 아닌 무게로 필터링 할 경우 코드의 변경이 많
자바 8은 간결한 코드, 멀티코어 프로세스의 쉬운 활용이라는 두가지 목적성을 기반으로 등장하였다.핵심 개념1\. Stream API : 조립라인처럼 Stream API는 파이프라인을 만드는 데 필요한 다양한 메소드를 제공한다. 또한 스레드 작업을 하지 않아도 공짜로 병
서론 빌드 자동화 도구는 Ant, Maven, Gradle 등이 존재한다. 프로젝트에 필요한 의존성들의 관리와 패키징 작업을 대신해주기 때문에 개발자는 개발에만 집중할 수 있다. 그 중 Gradle에 대해서 알아보자 Gradle Gradle이란 Groovy기반의
스프링 프로젝트를 하면서 @Transactional이라는 애노테이션을 자주 사용한다.하지만 정확하게 어떻게 사용하는지 모르기에 정리를 시작한다..😶😶Transaction은 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위이다.ACID(원자성, 일관성, 고립
Entity <-> Dto mapping convering을 해주는 기능이다.map()메소드를 통해 Entity와 DTO의 변환을 자유롭게 해준다.Service Layer, DTO, Entity에서 사용가능하다.하지만 Service Layer에서 사용하는 것은 모
현재 LoginService는private final MemberRepository : MemberDB 접근 로직method : 스크래핑 기능method : 포맷팅 기능method : DB저장 메소드 호출 기능을 포함하고 있습니다.이를 코드로 어떻게 짜야 확장성이 좋은
branch(master)에서 파생된 branch(beom1)에서 PR을 올린 뒤 merge하고 이어서 branch(beom1)에서 작업을 이어 갔다. 이 후 PR을 올려보니 이전 PR에 있는 commit까지 같이 올라갔고 conflict로 인해 merge가 불가능하다
가격이 제일 비싼 식품의 정보 출력하기 문제를 푸는 도중 필자가 처음 생각했던 방식으로는 문제가 풀리지 않았는데 이유를 모르겠어서 찾아본 내용들을 정리합니다.내가 생각한 방식SELECT product_id, product_name, product_cd, category
http://localhost:8080 : Spring Boothttp://localhost:3000 : ReactUdemy 강의를 수강 중에 Cors 에러가 발생하였다. 예제 코드는 Spring Security가 적용되지 않았지만 필자는 이전에 Se
이글은 면접을 위한 cs 전공지식 노트를 정리한 내용입니다.프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약'형태로 만들어 놓은 것을 의미한다.하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴입니다.보통 데이
Docker란? 컨터이너를 사용하여 응용프로그램을 더 쉽게 만들고 배포하고 실행할 수 있도록 설계된 도구이며 컨테이너 기반의 오픈소스 가상화 플랫폼이며 생태계이다. Docker 설치시 유의사항 시스텀 -> 정보 -> 자신의 pc 사양이 어떻게 되는지 알아야한다.
서론 Udemy 강의를 듣는 도중 Predicate라는 문법의 등장으로 간단하게 정리하고 넘어가보자! Predicate란? predicate interface는 T에대한 조건에 대해서 true / false를 반환하는 Functional Interface입니다. P
목차 서론 Spring Security JWT 강의 내용 정리 서론 이 글은 인프런 강의를 보고 정리한 내용입니다. Spring Security Spring Security는 Spring과는 별개로 작동하는 보안담당 프레임워크이다. > Security의 동작 Au
이 글은 초기 intellij에서 .ignore을 세팅하는 글입니다.여기서 github에는 src만 올리고 싶다면 .ignore을 통해 올리지 않을 파일들을 지정해주어야 한다..ignore 플러그인은 .ignore파일을 쉽게 만들어주는 플러그인File -> Settin