분류 전체보기

Spring Framework 자바의 엔터프라이즈 애플리케이션 개발을 위한 프레임워크 스프링 컨테이너(애플리케이션 컨텍스트) 스프링 프레임워크가 제공하는 런타임 엔진 설정 정보를 바탕으로 애플리케이션의 오브젝트의 생성/관리 담당 독립적으로 실행 가능하지만 서블릿 같은 것으로 등록하여 사용 공통 프로그래밍 모델 프레임워크는 개발을 위한 틀을 제공해준다고 볼 수 있는데 스프링 프레임워크도 IoC/DI, PSA, AOP라는 개념을 통해 개발자가 어떻게 코드를 작성해야할지 방향성을 제시해준다. IoC(Inversion of Control, 제어의 역전) / DI(Dependency Injection, 의존성 주입) 객체의 생명주기와 의존관계에 대한 스프링 프레임워크가 제공하는 프로그래밍 모델 객체지향 설계와 디..
· Back-End/JPA
영속성 컨텍스트 엔티티 매니저로 엔티티를 저장하거나 조회 시 엔티티를 영구적으로 보관하고 관리하는 저장소 같은 개념 엔티티 매니저를 생성할 때 한 개의 영속성 컨텍스트가 만들어지고 엔티티 매니저는 이런 영속성 컨텍스트에 접근하고 관리하는 도구라고 볼 수 있음 em.persist(member); persist 메서드는 정확하게는 엔티티를 저장하는 메서드가 아닌 영속성 컨텍스트에 저장하는 메서드인 것 엔티티의 생명주기 비영속 영속성 컨텍스트와 아무런 관계가 아닌 상태 엔티티 객체를 생성만 한 상태 영속 영속성 컨텍스트에 저장된 상태 엔티티 매니저를 통해 영속성 컨텍스트에 저장된 상태로 즉, persist 메서드를 사용한 상태 영속성 컨텍스트에 의해 관리가 되고 있는 상태 준영속 영속 상태였다가 분리된 상태 ..
· Back-End/JPA
1. 엔티티 매니저 팩토리 생성하기 JPA를 시작하기 위해선 엔티티 매니저 팩토리를 생성해야 하므로 설정 정보(persistence.xml)를 통해 엔티티 매니저 팩토리를 생성 EntityManagerFactory emf = Persistence.createEntityManagerFactory("영속성 유닛명"); EntityManagerFactory는 인터페이스이기 때문에 이를 구현한 Persistence 클래스의 createEntityManagerFactory 메서드를 사용해 엔티티 매니저 팩토리 생성 하이버네이트 같은 JPA 구현체들은 팩토리 생성 시 커넥션풀도 생성 엔티티 매니저 팩토리는 생성 비용이 크기 때문에 한 번만 생성하고 공유해서 사용해야 함 2. 엔티티 매니저 생성하기 엔티티 매니저 팩..
· Back-End/JPA
객체 매핑 MEMBER 테이블이 존재하고 ID(기본키), NAME, AGE 컬럼이 존재한다는 가정하에 매핑을 해보자 @Entity @Table(name="MEMBER") public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private String id; @Column(name = "NAME") private String username; private Integer age; @Column(nullable = false, name = "LAST_MODIFIED_AT") private LocalDateTime modifiedAt = LocalDateTime.now(); @Transient private String em..
· Back-End/JPA
JPA 자바 진영의 ORM 기술 표준 프레임워크 애플리케이션과 JDBC 사이에서 동작 애플리케이션을 SQL 중심이 아닌 객체 중심으로 개발할 수 있게 도와줌 대표적인 JPA의 구현체는 하이버네이트가 있음 ORM Object - Relational Mapping 객체와 관계형 데이터베이스 간의 차이를 중간에서 해결해주는 프레임워크 객체와 관계형 데이터베이스를 매핑한다는 뜻 직접적인 SQL 사용의 단점 데이터베이스는 데이터 중심의 구조를 가지기 때문에 객체 구조와는 다름 구조가 다르기 때문에 객체를 데이터베이스에 직접적으로 저장 및 조회 불가능 개발자가 직접 변환 작업을 해줘야 함 위와 같은 작업을 위해서 반복적으로 작성해야 할 코드가 너무 많음 SQL 중심의 개발로 인해 코드의 수정이 필요한 경우 변경해야..
· Back-End
요청 메서드 GET 서버로부터 특정 리소스를 받아서 표시할 때 사용하며 데이터를 받기만 함 HEAD GET과 동일하지만 응답 본문을 포함하지 않음 POST 특정 리소스의 엔티티를 서버에 보낼 때 사용 PUT 서버 리소스의 상태를 수정 DELETE 특정 리소스 삭제 CONNECT 서버와의 터널을 맺음 OPTIONS 서버 리소스의 통신을 설정 TRACE 서버 리소스의 경로를 따라 룩백 테스트 수행 PATCH 리소스의 일부분만 수정 시 사용 메시지 스타트 라인 / 스테이터스 라인 요청 / 응답에 대한 성공과 실패가 기록 헤더 요청 / 응답에 대한 설명 줄바꿈 라인 빈 공백으로 헤더와 몸통 구분 몸통 요청 / 응답과 관련된 내용이나 문서가 들어가는 영역 무상태성 HTTP는 특정한 상태를 유지하지 않고 가지지 않..
· Java
Q1. 자바 데이터 타입 중 기본형과 참조형의 차이에 대해 설명해주세요. Q2. 클래스와 객체에 대해 설명해주세요. 클래스는 객체를 생성할 때 사용되는 객체에 대한 정보를 가지고 있는 설계도이자 틀이고, 객체는 이러한 클래스를 통해 생성되는 인스턴스들을 의미합니다. 클래스는 내부에서 클래스의 속성을 정의하는 필드와 기능을 정의하는 메서드 등을 멤버로 가지고 이를 생성자를 통해 클래스의 멤버를 가진 인스턴스를 생성할 수 있습니다. Q2-1. 클래스의 멤버에 대해 설명해주세요. 사람이라는 클래스로 비유하면 클래스의 멤버로는 우선 사람의 속성인 필드를 구성하는 인스턴스 변수와 클래스 변수가 있습니다. 인스턴스 변수는 (객체)사람마다 다른 속성인 이름이나 키, 성별 같은 것들을 정의하는 변수이고, 클래스 변수는..
· Java/Notion
기본 타입인 int, long 타입으로 표현할 수 없는 크기의 값을 처리할 때 사용 표현할 수 있는 범위가 크기 때문에 정밀한 작업을 할 때 사용 메서드 gcd() 두 값의 최대 공약수를 반환 add() 덧셈 substract() 뺄셈 multiply() 곱셈 divide() 나눗셈 valueOf() 문자열 혹은 숫자를 BigInteger 타입으로 변환 비교연산 직접적인 비교연산자 사용은 불가능 equals, compareTo 등을 사용해서 비교 변환 Number 클래스를 상속 받기 때문에 int, long, float, double, byte, short로 Value메서드를 사용해 변환 가능
da9dac
'분류 전체보기' 카테고리의 글 목록 (35 Page)