본문 바로가기

학습 기록

(76)
[실기] 2023년 1회 기출문제 보호되어 있는 글입니다.
[실기] 2020년 1회 실기 기출문제 보호되어 있는 글입니다.
[06장.1] 1. API와 REST API API란? : 프로그램 간에 상호작용하기 위한 매개체 : 클라이언트의 요청을 받아 서버에 전달하고, 서버의 결과물을 클라이언트에 전달 REST(Representational State Transfer) APIfks? : URL의 설계 방식 : 자원(데이터)를 이름으로 구분해 자원의 상태를 주고받는 API 방식 REST API 특징 1) 서버/클라이언트 구조 2) 무상태 3) 캐시 처리 가능 4) 계층화 5) 인터페이스 일관성 REST API 장점 1) 무슨 행동을 하는 API인지 명확하게 파악 가능 (즉, 주소와 메서드를 보고 요청 내용 파악 가능) 2) 상태가 없어 클라이언트와 서버의 역할이 명확히 분리 3) HTTP 표준을 사용하는 모든 플랫폼에 사용 가능 REST API 단점 1) HTTP 메서드(..
[1. 소프트웨어 설계] 디자인 패턴 디자인 패턴(Design Pattern)이란? : 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴 : 패턴을 참고해 개발할 경우 효율성, 유지보수성, 운용성 등 품질이 향상되고 최적화에 도움이 됨 디자인 패턴 구성요소 1) 패턴의 이름 : 패턴을 부를 때 사용하는 이름과 디자인 패턴 유형 2) 문제 및 배경 : 패턴이 사용되는 분야 또는 배경. 해결하는 문제를 의미 3) 솔루션 : 패턴을 이루는 요소들, 관계, 협동 과정 4) 사례 : 패턴의 간단한 적용 사례 5) 결과 : 패턴을 사용하면 얻게되는 이점이나 영향 6) 샘플 코드 : 패턴이 적용된 원시 코드 디자인 패턴 유형 - 목적 - 1) 생성 : 객체 인스턴스 생성에 관여, 클래스 정의와 객체..
[05장.4] 1. 스프링 데이터와 스프링 데이터 JPA 스프링 데이터(Spring Data) 1) 비즈니스 로직에 더 집중할 수 있도록 데이터베이스 사용 기능을 클래스 레벨에서 추상화 2) 인터페이스에서 CRUD를 포함한 여러 메서드 포함 3) 알아서 쿼리 생성 4) 페이징 처리 기능 5) 메서드 이름으로 자동 쿼리 빌딩 6) 각 데이터베이스 특성에 맞춰 기능 확장 * 페이징 처리 : 하나의 페이지에 표시해야 할 데이터가 많은 경우, 데이터를 나누어 표시 스프링 데이터 JPA(Spring Data JPA)란? : 스프링 데이터의 공통적인 기능에서 JPA의 유용한 기술이 추가된 기술 : 스프링 데이터의 인터페이스 PagingAndSortingRepository를 상속받아 JPARepository 인터페이스를 생성 : JPA를 편리하게 사용하는 메서드 제공 [기..
[1. 소프트웨어 설계] 객체지향(구성요소, 기법, 설계 원칙, 분석, 방법론) 객체 지향(Object Oriented) 이란? : 실세계의 개체를 속성과 메서드가 결합한 형태의 객체로 표현하는 기법 객체 지향 구성요소 1) 클래스(Class) : 특정 객체 내에 있는 변수와 메서드를 정의하는 일종의 틀 : 하나 이상의 유사한 객체들을 묶어 하나의 공통된 특성을 표현 : 속성은 변수의 형태로, 행위는 메서드의 형태로 선언 2) 객체(Object) : 물리적/추상적으로 자신과 다른 것을 식별 가능한 대상 : 객체마다 각각의 상태와 식별성을 가짐 : 클래스에서 정의한 것을 토대로 메모리에 할당 3) 메서드(Method) : 클래스로부터 생성된 객체를 사용하는 방법 : 객체가 메시지를 받아 실행해야 할 객체의 구체적인 연산 4) 메시지(Message) : 객체에게 어떤 행위를 하도록 지시..
[05장.3] 3. 엔티티 상태 엔티티는 4가지(비영속, 분리, 관리, 삭제) 상태 1. 엔티티를 처음 생성하면 영속성 컨텍스트와 관계없는 상태인 비영속성 상태 2. persist() 메서드를 통해 영속성 컨텍스트가 관리하는 관리 상태로 변환 3. detach() 메서드를 통해 영속성 컨텍스트가 관리하고 있지 않은 분리 상태로 변환 4. remove() 메서드를 통해 영속성 컨텍스트에서 삭제하는 삭제 상태로 변환 public class EntityManagerTest{ @Autowired EntityManager em; // 엔티티 매니저 프록시 생성 public void example(){ Member member = new Member(1L, "홍길동"); // 비영속성 상태 em.persist(member); // 엔티티 관리 e..
[05장.3] 2. 영속성 컨텍스트 영속성 컨텍스트란? : 엔티티 매니저가 엔티티를 저장하는 공간 : JPA의 중요한 특징 중 하나로, 엔티티를 관리하는 가상의 공간 : 데이터베이스에서 효과적으로 데이터를 가져오고, 엔티티를 편하게 사용할 수 있도록 해줌 기존에는 데이터 조작을 위해 쿼리를 직접 작성해야 했지만, 현재는 스프링 부트에서 이런 쿼리를 자바 코드로 작성하고 이를 JPA가 알아서 쿼리로 변경해주고 있음 영속성 컨텍스트 기본 특징 1. 1차 캐시 : 엔티티를 보관하는 장소 : 트랜젝션을 시작하고 종료할 때까지만 1차가 유효 : 끄고 켤 수 있는 옵션이 아니며, 영속성 컨텍스트 자체를 1차 캐시로 봐도 무방함 : 엔티티 조회시 1차 캐시에서 조회하며, 값이 없을 경우 데이터베이스에서 조회한 이후 1차 캐시에 저장한 다음 반환 2. ..