본문 바로가기
728x90
반응형

Web Develop/Book Study21

[Book Study] 스프링 부트 핵심 가이드 - 10. 유효성 검사와 예외 처리 [Book Study] 스프링 부트 핵심 가이드 10. 유효성 검사와 예외 처리 10 - 1 . 2023. 9. 25.
[Book Study] 스프링 부트 핵심 가이드 - 9. 연관관계 매핑 [Book Study] 스프링 부트 핵심 가이드 9. 연관관계 매핑 9 - 1 . 연관관계 매핑 종류와 방향 연관관계 매핑 종류 - One To One 일대일 (1:1) - One To Many 일대다(1:N) - Many To One 다대일 (N:1) - Many To Many 다대다 (N:N) 단방향과 양방향 - 단방향 : 두 엔티티의 관계에서 한쪽의 엔티티만 참조하는 형식 - 양방향 : 두 엔티티의 관계에서 각 엔티티가 서로의 엔티티를 참조하는 형식 2023. 9. 25.
[Book Study] 스프링 부트 핵심 가이드 - 8. Spring Data JPA [Book Study] 스프링 부트 핵심 가이드 8. Spring Data JPA 활용 8 - 1 . 쿼리 메서드 쿼리 메서드의 생성 - 크게 동작을 결정하는 주제와 서술어로 구분 - 'find...By', 'exists...By'와 같은 키워드로 쿼리의 주제 정함 - 'By'는 서술어의 시작을 나타내는 구분자의 역할 리포지토리의 쿼리의 구조 리턴타입 + {주제 + 서술어(속성)} ex) 쿼리 메서드의 주제 키워드 - find...By - read...By - get...By - query...By - search...By - stream...By 리턴타입으로 Collection이나 Stream에 속한 하위 타입을 설정 가능 exists...By - 특정 데이터가 존재하는지 확인하는 키워드, 리턴 타입으.. 2023. 9. 15.
[Book Study] 스프링 부트 핵심 가이드 - 6. 데이터베이스 연동 [Book Study] 스프링 부트 핵심 가이드 6. 데이터베이스 연동 6 - 1 MariaDB 설치 6 - 2 ORM ORM (Object Relational Mapping) - 객체와 RDB의 테이블을 자동으로 매핑하는 방법 - 클래스는 데이터베이스의 테이블과 매핑하기 위해 만들어진 것이 아니기 때문에 RDB테이블과 어쩔수 없는 불일치 존재 - ORM은 이 둘의 불일치와 제약사항을 해결하는 역할 ORM의 장점 1. ORM을 사용하면서 데이터베이스 쿼리를 객체지향적으로 조작할 수 있다. 2. 재사용 및 유지보수가 편리하다. 3. 데이터베이스에 대한 종속성이 줄어든다. ORM의 단점 1. ORM만으로 온전한 서비스를 구현하기에는 한계가 있다. 2. 애플리케이션의 객체 관점과 데이터베이스의 관계 관점의 불.. 2023. 9. 9.
[Book Study] 스프링 부트 핵심 가이드 - 5. API를 작성하는 다양한 방법 [Book Study] 스프링 부트 핵심 가이드 5. API를 작성하는 다양한 방법 5 - 1 프로젝트 설정 5 - 2 GET API 만들기 1. @RequestMapping으로 구현하기 package com.springboot.api.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/api/v1/get-api") public class Ge.. 2023. 8. 30.
[Book Study] 스프링 부트 핵심 가이드 - 4. 스프링 부트 애플리케이션 개발하기 [Book Study] 스프링 부트 핵심 가이드 4. 스프링 부트 애플리케이션 개발하기 4 - 1 프로젝트 생성 인텔리제이 IDEA에서 프로젝트 생성하기 Name : 프로젝트 이름 Location : 프로젝트를 생성할 위치 Language : JVM (Java Virtual Machine) 상에서 동작하는 언어 Type : 빌드 툴을 선택 Group : 프로젝트를 정의하는 식별자 정보인 그룹을 설정 Artifact : 세부 프로젝트를 식별하는 정보를 기입 Package name : Group과 Artifact를 설정하면 자동으로 입력 Project SDK : 주로 자바와 같은 버전을 선택 Java : 자바 버전 (Spring boot 버전에서 작동이 안 되는 자바 버전이 있을 수 있다) Packaging.. 2023. 8. 30.
[Book Study] 스프링 부트 핵심 가이드 - 3. 개발 환경 구성 [Book Study] 스프링 부트 핵심 가이드 3. 개발 환경 구성 3 - 1 자바 JDK 설치 자바(Java)는 기본적으로 개발 도구인 JDK(Java Development Kit)와 실행 환경인 JRE(Java Runtime Environment)로 구성 JVM(Java Virtual Machine)은 이들의 핵심 구성 요소 중 하나 ▶ JDK (Java Development Kit) 자바 개발자가 자바 애플리케이션을 개발하는 데 사용되는 도구 모음 자바 컴파일러를 비롯하여 다양한 개발 도구와 라이브러리, 디버깅 도구 등이 포함되어 있습니다. 주요 구성 요소 : 자바 컴파일러(javac), 자바 실행기(java), 자바 문서 생성기(javadoc) 등 JDK를 사용하면 소스 코드를 컴파일하여 실행 .. 2023. 8. 22.
[Book Study] 스프링 부트 핵심 가이드 - 2. 개발에 앞서 알면 좋은 기초 지식 [Book Study] 스프링 부트 핵심 가이드 2. 개발에 앞서 알면 좋은 기초 지식 2 - 1 서버 간 통산 ▶ 마이크로 서비스 아키텍처(MSA: Microservice Architecture) 2 - 2 스프링 부트의 동작 방식 ▶ 스프링 부트의 동작 방식 기본적으로 톰캣을 사용하는 스프링 MVC 구조를 기반으로 동작 서블릿은 클라이언트의 요청을 처리하고 결과를 반환하는 자바 웹 프로그래밍 기술 서블릿 객체를 생성, 초기화, 호출, 종료하는 생명주기를 관리 서블릿 객체는 싱글톤 패턴으로 관리 멀티 스레딩을 지원 ​ 2 - 3 레이어드 아키텍처 애플리케이션의 컴포넌트를 유사 관심사 기준으로 레이어를 묶어 수평적으로 구성한 구조 프레젠테이션 계층 상황에 따라 유저 인터페이스 계층이라고도 함 클라이언트와.. 2023. 8. 22.
[Book Study] 스프링 부트 핵심 가이드 - 1. 스프링 부트란? [Book Study] 스프링 부트 핵심 가이드 1. 스프링 부트란? 1 - 1 스프링 프레임워크 ▶ 제어 역전 (IoC : Inversion of Control) 사용할 객체를 직접 생성하지 않고 객체의 생명 주기를 스프링 컨테이너 또는 IoC 컨테이너에 위임 제어 역전 : 객체의 관리를 컨테이너에 맡겨 제어권이 넘어간 것 제어 역전을 통해 의존성 주입(DI: Dependency Injection), 관점 지향 프로그래밍(AOP: Aspect-Oriented Programming) 등이 가능 ▶ 의존성 주입 (DI : Dependency Injection) 사용할 객체를 직접 생성하지 않고 외부 컨테이너가 생성한 객체를 주입받아 사용하는 방식 의존성을 주입받는 방법 세 가지 생성자를 통한 의존성 주입 .. 2023. 8. 22.
[Book Study] 스프링 프레임워크 첫걸음 - 12. 애플리케이션 만들기 (애플리케이션 레이어) [Book Study] Spring Framework 스프링 프레임워크 첫걸음 12. 애플리케이션 만들기 (애플리케이션 레이어) 12- 1 애플리케이션 레이어 12 - 2 애플리케이션 레이어 만들기 (목록 표시) 12 - 3 애플리케이션 레이어 만들기 (뜽록/변경/삭제 가능) 12 - 4 애플리키에션 레이어 만들기 (게임 기능) 2023. 8. 17.
[Book Study] 스프링 프레임워크 첫걸음 - 11. 애플리케이션 만들기 (비즈니스 로직 처리) [Book Study] Spring Framework 스프링 프레임워크 첫걸음 11. 애플리케이션 만들기 (비즈니스 로직 처리) 11 - 1 비즈니스 로직의 처리 내용 확인과 작성 11 - 2 트랜잭션 관리 알아보기 트랜잭션 - 복수의 처리를 하나의 그룹으로 모은 것 롤백 : 처리 중 싪했을 경우 트랜잭션은 실행 전의 상태로 돌아감 커밋 : 처리가 모두 성공하면 처리가 확정됨 부분적인 성공이나 부분적인 실패라는 것은 없음 트랜잭션 경계 - 시작되고 끝나는 위치를 반드시 지정해야 하고, 시작되고 끝날 떄까지의 범위 클래스나 메서드에 @Transactional 어노테아션을 부여하면 트랜잭션이 관리되어 트랜잭션의 시작, 커밋, 롤백이 자동으로 실행. 클래스에 @Transactional 어노테이션 부여 - 그 .. 2023. 8. 17.
[Book Study] 스프링 프레임워크 첫걸음 - 10. 애플리케이션 만들기 (데이터베이스 조작) [Book Study] Spring Framework 스프링 프레임워크 첫걸음 10. 애플리케이션 만들기 (데이터베이스 조작) 10 - 1 데이터베이스 조작 10 - 2 데이터베이스 처리 10 - 3 데이터베이스 처리 결과 확인 2023. 8. 16.
[Book Study] 스프링 프레임워크 첫걸음 - 9. 애플리케이션 만들기 [Book Study] Spring Framework 스프링 프레임워크 첫걸음 9. 애플리케이션 만들기 9 - 1 애플리케이션 설명 9 - 2 OX 퀴즈용 데이터베이스 생성 2023. 8. 16.
[Book Study] 스프링 프레임워크 첫걸음 - 8. 유효성 검사 기능 알아보기 [Book Study] Spring Framework 스프링 프레임워크 첫걸음 8. 유효성 검사 기능 알아보기 8 - 1 유효성 검사의 종류 유효성 검사 - 입력 내용이 요건에 만족하는지 그 타당성을 확인하는 입력 체크 1. 단일 항목 검사 - 입력 항목 하나에 대해 설정하는 입력 체크 기능 - Form 클래스 등의 필드에 어노테이션을 부여해서 사용 2. 상관 항목 검사(서로 관련이 있는 항목을 함께 체크하는 방법) 커스텀 유효성 검사 - 여러 필드에 대해 혼합해서 체크하는 것을 상관 항목 검사라고 함 1. Bean Validation을 사용하는 방법 2. 스프링 프레임워크에서 제공하는 Validator 인터페이스를 구현하는 방법 8 - 2 단일 항목 검사를 사용하는 프로그램 만들기 8 - 3 메시지 관.. 2023. 8. 16.
[Book Study] 스프링 프레임워크 첫걸음 - 7. 요청 파라미터 취득하기 [Book Study] Spring Framework 스프링 프레임워크 첫걸음 7. 요청 파라미터 취득하기 7 - 1 요청 파라미터의 종류 템플릿 엔진 - 데이터를 미리 정의된 템플릿에 바인딩해서 뷰의 표시를 도와주는 것 7 - 2 입력값을 받는 프로그램 만들기 (@RequestParam) 7 - 3 입력값을 받는 프로그램 만들기 (Form 클래스) 7 - 4 URL에 포함된 값을 받는 프로그램 만들기 2023. 8. 13.
[Book Study] 스프링 프레임워크 첫걸음 - 6. 템플릿 엔진 알아보기 [Book Study] Spring Framework 스프링 프레임워크 첫걸음 6. 템플릿 엔진 알아보기 6 - 1 템플릿 엔진의 개요 템플릿 엔진 - 데이터를 미리 정의된 템플릿에 바인딩해서 뷰의 표시를 도와주는 것 타임 리프 - HTML 기반의 템플릿 엔진으로, 정해진 문법으로 작성하면 페이지를 동적으로 조립해 줌(조건 문이나 반복 구문 등을 사용 가능) - HTML을 기반으로 하기 때문에 최종 출력을 생각하면서 뷰를 만들 수 있음 (타임리프를 사용하면 디자이너와 쉽게 분업 가능) 6 - 2 Model 인터페이스의 사용법 Model 인터페이스 - 처리한 데이터를 뷰에 표시하고 싶을 경우 데이터를 전달하는 역할 - 스프링 MVC에 의해 관리되며, 수동 또는 자동으로 객체를 저장하고 관리하는 기능 제공 .. 2023. 8. 12.
[Book Study] 스프링 프레임워크 첫걸음 - 5. MVC 모델 알아보기 [Book Study] Spring Framework 스프링 프레임워크 첫걸음 5. MVC 모델 알아보기 5 - 1 MVC 모델 알아보기 MVC 모델 - 프로그램의 처리 역할을 나누어서 프로그램을 작성하는 방법 1. 모델 (Model) : 시스템에서 제공하는 비즈니스 로직의 처리 내용을 작성하는 곳 2. 뷰 (View) : 외형, 사용자 입력과 결과 출력 등 시스템에서 표현 부분을 담당하며 웹 애플리케이션에서는 주로 화면을 담당 3. 컨트롤러 (Controller) : 서비스 처리를 담당하는 모델과 화면 표시를 담당하는 뷰를 제어하는 역할 사용자가 입력한 내용을 뷰에서 받고, 받은 데이터를 기준으로 모델에 내용을 전달 MVC 모델의 개요와 이점 1. 역할 분담을 통해 효율적인 개발 가능 2. 개발하는 엔.. 2023. 8. 11.
[Book Study] 스프링 프레임워크 첫걸음 - 4. 데이터베이스 작업 [Book Study] Spring Framework 스프링 프레임워크 첫걸음 4. 데이터베이스 작업 4 - 1 데이터베이스 생성 데이터베이스 - 데이터를 보관하기 위한 '상자' 데이터 - 규칙을 가지고 데이터를 정리 관계형 데이터베이스 (RDB) - 데이터를 표 형식으로 표현하고, 여러 표에서 항목의 값 사이에 관계를 맺고 있는 데이터베이스 PostgresQL 실행 4 - 2 테이블 생성 테이블 - 데이터베이스 안에서 실제로 규칙을 가진 데이터가 저장되는 상자 레코드와 칼럼 - 레코드(가로/행), 칼럼(세로/열) 제약 조건 - 제약조건에 따라 테이블 내의 데이터를 자유롭게 제약하여 불일치 값이 저장되는 것을 막을 수 있다. 1. NOT NULL : NULL 입력을 허용하지 않음(필수 입력). 2. UN.. 2023. 8. 9.
[Book Study] 스프링 프레임워크 첫걸음 - 3. 스프링 프레임워크의 핵심 기능 알아보기 [Book Study] Spring Framework 스프링 프레임워크 첫걸음 3. 스프링 프레임워크의 핵심 기능 알아보기 3 - 1 스프링 프레임워크의 핵심 기능 1. 의존성 주입 (DI; Dependency Injection) - 프로그램에서 의존하는 부분을 외부에서 주입하는 것 2. 관점 지향 프로그래밍 (AOP : Aspect Oriented Programming) - 공통 처리 등의 '횡단점 관심사'를 추출하고 프로그램의 여러 곳에서 호출할 수 있게 설정함으로써 개발자는 실현해야 할 기능인 '중심적 관심사'에만 집중해서 작성하면 되는 구조 * 프로그램의 구성 요소 2가지 1) 중심적 관심사(Primary Concern) : 실현해야 할 기능을 나타내는 프로그램 2) 횡단적 관심사(Crosscut.. 2023. 8. 9.
728x90
반응형