Spring Boot/์คํ๋ง ๋ถํธ์ AWS๋ก ํผ์ ๊ตฌํํ๋ ์น ์๋น์ค5 6์ฅ: AWS ์๋ฒ ํ๊ฒฝ ๋ง๋ค๊ธฐ Table of Contents ํด๋ผ์ฐ๋ ํด๋ผ์ฐ๋ ์๋น์ค ํด๋ผ์ฐ๋๋ฅผ ํตํด ์๋ฒ, ์คํ ๋ฆฌ์ง, ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋คํธ์ํฌ, ์ํํธ์จ์ด, ๋ชจ๋ํฐ๋ง ๋ฑ ์ปดํจํ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๊ฒ ํด๋ผ์ฐ๋ ํํ IaaS (Infrastructure as a Service) ๊ธฐ์กด ๋ฌผ๋ฆฌ ์ฅ๋น๋ฅผ ๋ฏธ๋ค์จ์ด์ ํจ๊ป ๋ฌถ์ด IT ์ธํ๋ผ๋ฅผ ๋์ฌํด์ฃผ๋ ์ถ์ํ ์๋น์ค AWS EC2, S3๋ฑ์ด ํด๋น๋จ PaaS (Platform as a Service) IaaS๋ฅผ ํ๋ฒ ๋ ์ถ์ํํ์ฌ ๋ง์ ๊ธฐ๋ฅ์ด ์๋ํ๋ ์๋น์ค Beanstalk, Heroku๋ฑ์ด ํด๋น๋จ Saas (Software as a Service) ์ํํธ์จ์ด ์๋น์ค ๊ตฌ๊ธ ๋๋ผ์ด๋ธ, ๋๋๋ฐ์ค ๋ฑ์ด ํด๋น๋จ EC2 ์ธ์คํด์ค ๋ง๋ค๊ธฐ AWS์์ ์ ๊ณตํ๋ ์ฑ๋ฅ, ์ฉ๋ ๋ฑ์ ์ ๋์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ์๋ฒ .. 2022. 6. 27. 3์ฅ: JPA๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ค๋ฃจ๊ธฐ (2) Table of Contents API ๋ง๋ค๊ธฐ API๋ฅผ ๋ง๋ค์ด๋ณด๋ฉฐ ๊ตฌ์กฐ ์ดํดํ๊ธฐ ํ์ํ ํด๋์ค - Request ๋ฐ์ดํฐ ๋ฐ์ Dto - API ์์ฒญ ๋ฐ์ Controller - ํธ๋์ญ์ , ๋๋ฉ์ธ ๊ธฐ๋ฅ ๊ฐ ์์๋ฅผ ๋ณด์ฅํ๋ Service (๋น์ง๋์ค ๋ก์ง์ ์ฒ๋ฆฌํ์ง๋ ์์) Spring ์น ๊ณ์ธต Web Layer - ์ปจํธ๋กค๋ฌ์ JSP๋ฑ์ ๋ทฐ ํ ํ๋ฆฟ ์์ญ - Filter, ์ธํฐ์ ํธ, ControllerAdvice ๋ฑ ์ธ๋ถ ์์ฒญ๊ณผ ์๋ต์ ๋ํ ์ ๋ฐ์ ์ธ ์์ญ Service Layer - @Service์ ์ฌ์ฉ๋๋ ์์ญ - Controller์ Dao ์ค๊ฐ์์ ์ฌ์ฉ๋จ - @Transactional์ด ์ฌ์ฉ๋์ด์ผ ํจ Repository Layer - ๋ฐ์ดํฐ ์ ์ฅ์์ ์ ๊ทผํ๋ ์์ญ DTOs - Data Transfer O.. 2022. 6. 15. 3์ฅ: JPA๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ค๋ฃจ๊ธฐ (1) Table of Contents JPA JPA์ Spring Data JPA ๊ฐ๋ ์ ์ดํดํ๋ค. ORM vs. SQL Mapper - ORM์ ๊ฐ์ฒด๋ฅผ ๋งคํํ๋ ๊ฒ, ๋ํ์ ์ธ ๊ธฐ์ ๋ก๋ JPA๊ฐ ์์ - SQL Mapper๋ ์ฟผ๋ฆฌ๋ฅผ ๋งคํํ๋ ๊ฒ, ๋ํ์ ์ธ ๊ธฐ์ ๋ก๋ MyBatis๊ฐ ์์ ํจ๋ฌ๋ค์์ ๋ถ์ผ์น ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ด๋ป๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ง ์ด์ ์ ๋ง์ถ์ง๋ง ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๋ฉ์์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ธฐ๋ฅ๊ณผ ์์ฑ์ ํ ๊ณณ์์ ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ค์ฌ JPA๋ ํจ๋ฌ๋ค์์ ๋ถ์ผ์น๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ฐ์ฒด์งํฅ์ ์ผ๋ก ํ๋ก๊ทธ๋๋ฐํ ์ฝ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก SQL์ ์์ฑํด ์คํํด์ฃผ๋ฏ๋ก SQL์ ์ข ์์ ์ผ๋ก ๊ฐ๋ฐํ์ง ์์๋ ๋จ Spring Data JPA - JPA๋ ์ธํฐํ์ด์ค, ์๋ฐ ํ์ค ๋ช ์ธ์์ด๋ฏ๋ก ๊ตฌํ์ฒด๊ฐ ํ์ํจ. ๊ตฌํ์ฒด๋ก๋ .. 2022. 6. 15. 2์ฅ: ํ ์คํธ ์ฝ๋ ์์ฑํ๊ธฐ Table of Contents ํ ์คํธ ์ฝ๋๋ TDD ํ ์คํธ ์ฝ๋๋ฅผ ๋จผ์ ์์ฑํ๋ ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ 1. ํญ์ ์คํจํ๋ ํ ์คํธ ์ฝ๋ ์์ฑ 2. ํ ์คํธ๊ฐ ํต๊ณผํ๋ ํ๋ก๋์ ์ฝ๋ ์์ฑ 3. ํ ์คํธ๊ฐ ํต๊ณผํ๋ฉด ํ๋ก๋์ ์ฝ๋ ๋ฆฌํฉํ ๋ง ์ด๋ ๊ฒ ์ธ ๋จ๊ณ๋ฅผ ๋์๊ฐ๋ฉด์ ๊ฐ๋ฐํ๋ ๊ณผ์ ์ ๊ฑฐ์น๋ค. ๋จ์ํ ์คํธ - ๊ธฐ๋ฅ ๋จ์์ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ - ํ์์ฑ ๊ฐ๋ฐ ๋จ๊ณ ์ด๊ธฐ์ ๋ฌธ์ ๋ฐ๊ฒฌํ๋๋ก ๋์์ค ์ถํ ์ฝ๋ ๋ฆฌํฉํ ๋ง, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ทธ๋ ์ด๋ ๋ฑ์์ ๊ธฐ์กด ๊ธฐ๋ฅ์ ๋์์ ํ์ธ ๊ฐ๋ฅ ๊ธฐ๋ฅ์ ๋ํ ๋ถํ์ค์ฑ ๊ฐ์์ํด ์์คํ ์ ๋ํ ์ค์ ๋ฌธ์๋ก ์ ๊ณต ๊ฐ๋ฅ - ์๋ฐ์์๋ JUnit์ด๋ผ๋ ํ ์คํธ ํ๋ ์์ํฌ๊ฐ ์ฌ์ฉ๋จ Controller ์์ฑ ์ผ๋ฐ์ ์ผ๋ก ํจํค์ง๋ช ์ ์น ์ฌ์ดํธ ์ฃผ์์ ์ญ์์ผ๋ก ์ค์ ๋ฉ์ธ ํด๋์ค package com.oli.. 2022. 6. 13. 1์ฅ: ์ธํ ๋ฆฌ์ ์ด ์ฌ์ฉํ๊ธฐ (์์ ์ค) Table of Contents ์ธํ ๋ฆฌ์ ์ด ์๊ฐ ๋ฐ ์ค์น ํ๋ก์ ํธ ์์ฑ Gradle ํ๋ก์ ํธ -> Spring Boot ํ๋ก์ ํธ Git, Github ์ฐ๋ํ๊ธฐ 2022. 6. 13. ์ด์ 1 ๋ค์