목록Backend (19)
일단 씻고 나가자

(본 포스팅은 해당 도서의 정리 및 개인 공부의 목적 포스팅임을 밝힙니다.) 장정우, 『스프링 부트 핵심 가이드 : 스프링 부트를 활용한 애플리케이션 개발 실무』, 위키북스, 2022 09. 연관관계 매핑 RDBMS에서는 설계가 커지면 테이블을 도메인별로 구분하여 여러개로 나누고, join 등을 이용하여 연관관계를 설정한다. JPA를 활용하는 애플리케이션도 마찬가지로 엔티티간의 연관관계를 표현할 수 있지만, 객체와 테이블의 성질이 다르기에 정확한 연관관례를 표현하기는 어렵다. 이번 장에서는 이러한 제약을 보완하며 연관관계를 매핑하고 사용하는 방법에 대해 알아보고 실습해본다. 9.1 연관관계 매핑 종류와 방향 두 엔티티 간 연관관계의 종류는 다음과 같다. 일대일 One To One (1:1) 일대다 One..

(본 포스팅은 해당 도서의 정리 및 개인 공부의 목적 포스팅임을 밝힙니다.) 장정우, 『스프링 부트 핵심 가이드 : 스프링 부트를 활용한 애플리케이션 개발 실무』, 위키북스, 2022 08. Spring Data JPA 활용 Spring Data JPA에서 제공하는 기능들을 알아보고, 리포지토리 클래스에서 활용법을 실습해보자. 8.1 프로젝트 생성 이번 장의 실습을 위해 새로운 프로젝트를 생성한다. 이전과 동일하게 start.spring.io 에 접속하여 다음 사진과 같이 설정 후, 압축을 해제하고 인텔리제이로 open한다. 프로젝트를 open 했다면, 6장에서 작성한 일부 코드를 가져와야 한다. 다음 사진에 있는 패키지 및 파일의 목록을 해당 위치에 복사 붙여넣기 한다. 이때 클래스들 뿐 아니라 res..

(본 포스팅은 해당 도서의 정리 및 개인 공부의 목적 포스팅임을 밝힙니다.) 장정우, 『스프링 부트 핵심 가이드 : 스프링 부트를 활용한 애플리케이션 개발 실무』, 위키북스, 2022 07. 테스트 코드 작성하기 서비스의 규모가 커짐에 따라, 테스트 코드로 로직이 논리적으로 잘 동작하는지 확인에 대한 중요성이 높아지고 있다. 테스트 코드는 말 그대로 작성한 코드가 예상했던대로 정상적으로 작동하는지에 대한 확인 방법이며, 만일 테스트 코드를 사용하지 않는다면 로직을 수정할 때마다 코드를 반영하고, 서버를 다시 띄우고, 다시 클라이언트 측에서 검증해보는 과정이 반복될 것이다. 테스트 코드의 중요성이 높아짐에 따라 Agile 방법론 중 하나인 '테스트 주도 개발(TDD - Test Driven Develope..

(본 포스팅은 해당 도서의 정리 및 개인 공부의 목적 포스팅임을 밝힙니다.) 장정우, 『스프링 부트 핵심 가이드 : 스프링 부트를 활용한 애플리케이션 개발 실무』, 위키북스, 2022 06. 데이터베이스 연동 애플리케이션, 특히 엔터프라이즈급에서 꼭 필요한 것이 데이터베이스이다. 데이터베이스는 데이터(리소스)를 주고받으며 논리적인 로직이 정상 수행하도록 돕는다. 본 책에서는 실습을 위해 마리아DB(Maria DB)를 적용한다. 6.1 마리아DB 설치 https://mariadb.org/download/ Download MariaDB Server - MariaDB.org REST API Release Schedule Reporting Bugs … Continue reading "Download MariaD..

(본 포스팅은 해당 도서의 정리 및 개인 공부의 목적 포스팅임을 밝힙니다.) 장정우, 『스프링 부트 핵심 가이드 : 스프링 부트를 활용한 애플리케이션 개발 실무』, 위키북스, 2022 05. API를 작성하는 다양한 방법 본격적인 애플리케이션 개발에 필요한 내용을 소개한다. 각 HTTP 메서드에 해당하는 API 개발 및 그 과정에서 필요한 내용을 살펴보고, 외부의 요청에 대해 컨트롤러가 어떻게 구성되는지 알아본다. 5.1 프로젝트 설정 4장의 기억을 되살려 다시 프로젝트를 생성해보자. Maven, Java, Spring Boot 버전(적당한 버전으로 설정)을 설정하고 groupId : 'com.springboot' / name, artifact : 'api' 로 설정하여 springboot를 생성한다. ..

(본 포스팅은 해당 도서의 정리 및 개인 공부의 목적 포스팅임을 밝힙니다.) 장정우, 『스프링 부트 핵심 가이드 : 스프링 부트를 활용한 애플리케이션 개발 실무』, 위키북스, 2022 04. 스프링 부트 애플리케이션 개발하기 스프링 부트 애플리케이션을 단계별로 개발하는 과정에서 익혀야 할 지식에 대해 소개한다. 4.1 프로젝트 생성 인텔리제이 IDEA Spring Initializr 대표적인 두 가지의 스프링 부트 프로젝트를 쉽게 만드는 방법이 존재한다. 4.1.1 인텔리제이 IDEA에서 프로젝트 생성하기 인텔리제이 IDEA 얼티밋 버전에선 내장된 spring initializr으로 쉬운 프로젝트 생성을 지원한다. 인텔리제이 실행. [New Project] -> [Spring Initializr] -> ..
(본 포스팅은 해당 도서의 정리 및 개인 공부의 목적 포스팅임을 밝힙니다.) 장정우, 『스프링 부트 핵심 가이드 : 스프링 부트를 활용한 애플리케이션 개발 실무』, 위키북스, 2022 03. 개발 환경 구성 책의 스프링 부트 기반 실습 프로젝트를 위하여 개발 환경을 설정한다. 기본적인 설정은 다음과 같다. Windows 10 64-bit IntelliJ Ultimate JDK 11(1.8v ~) Spring boot 2.5.6 ~ 2.5.8 MariaDB 10.6.5 Maven 이번 장에선 IntelliJ와 JDK 설치 방법만을 다루며, DB는 6장에서 설치 방법을 소개한다. 3.1 자바 JDK 설치 Azul 공식 사이트에서 사용 중인 컴퓨터 사양에 맞게 Open JDK를 다운로드. (.msi 혹은 .z..

(본 포스팅은 해당 도서의 정리 및 개인 공부의 목적 포스팅임을 밝힙니다.) 장정우, 『스프링 부트 핵심 가이드 : 스프링 부트를 활용한 애플리케이션 개발 실무』, 위키북스, 2022 02. 개발에 앞서 알면 좋은 기초 지식 애플리케이션의 동작 방식과, 왜 그렇게 구성 되는지에 대해 설명한다. 2.1 서버 간 통신 MSA는 Micro Service Architecture의 약자로, 근래의 웹기반 분산 시스템 디자인에 많이 반영 되고 있는 아키텍쳐이다. 단일 아키텍쳐가 개별 서비스에 각각의 중첩되는 모든 기능을 구현하여 일괄적으로 프로젝트를 개발하는 아키텍쳐라면, MSA는 기능별로 묶어 서로 다른 서버로 관리하는 아키텍쳐이다. 일반적으로 단일 아키텍쳐는 내부의 호출로 다른 서비스의 데이터를 쉽게 가져 올 ..

(본 포스팅은 해당 도서의 정리 및 개인 공부의 목적 포스팅임을 밝힙니다.) 장정우, 『스프링 부트 핵심 가이드 : 스프링 부트를 활용한 애플리케이션 개발 실무』, 위키북스, 2022 01. 스프링 부트란? Spring Framework. 자바 기반의 다양한 기능을 제공하는 애플리케이션 프레임워크. 스프링은 목적에 따라 다양한 프로젝트를 제공하는데, 그 중 하나가 스프링 부트. 1.1 스프링 프레임워크 자바에서 가장 많이 사용하는 프레임워크로서, 현재 '전자정부 표준 프레임워크'로 채택되어 공공기관의 웹 서비스 개발에도 활용. 스프링의 목적은 엔터프라이즈급 개발(기업 환경의 대규모 데이터 처리 환경)에 필요한 기반을 제공하여, 개발자가 비즈니스 로직에만 집중할 수 있게끔 하는 '오픈소스 경량급 애플리케이..