๋ณธ ํฌ์คํ ์ ๋ฐฑ๊ธฐ์ ๋์ ์คํ๋ง๊ณผ JPA ๊ธฐ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๊ฐ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ์์ค ์ฝ๋๋ ์ฌ๊ธฐ ์์ต๋๋ค. (commit hash: f39b053) > git clone https://github.com/lcalmsky/spring-boot-app.git > git checkout f39b053 โน๏ธ squash merge๋ฅผ ์ฌ์ฉํด ๊ธฐ์กด branch๋ฅผ ์ญ์ ํ๊ธฐ๋ก ํ์ฌ ์์ผ๋ก๋ commit hash๋ก ํฌ์คํ ์์ ์ ์์ค ์ฝ๋๋ฅผ ๊ณต์ ํ ์์ ์ ๋๋ค. Overview ์คํฐ๋ ๊ฒ์ ๊ธฐ๋ฅ์ ๊ตฌํํฉ๋๋ค. ํค์๋๋ฅผ ์ ๋ ฅ ๋ฐ์ ์คํฐ๋๋ฅผ ๊ฒ์ํ๋๋ฐ, ์คํฐ๋ ์ ๋ชฉ, ๊ด์ฌ์ฌ, ๋์ ์ด๋ฆ์ด ํค์๋์ ํด๋นํฉ๋๋ค. ๋ก๊ทธ์ธํ์ง ์๊ณ ๋ ์ฌ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค. ๊ฒ์์ผ๋ก ๋ณด์ฌ์ง ๋ด์ฉ์ ์๋์ ๊ฐ์ต๋๋ค. ๊ฒ์ ํค์๋..
๋ณธ ํฌ์คํ ์ ๋ฐฑ๊ธฐ์ ๋์ ์คํ๋ง๊ณผ JPA ๊ธฐ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๊ฐ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ์์ค ์ฝ๋๋ ์ฌ๊ธฐ ์์ต๋๋ค. (commit hash: bd04b9d) > git clone https://github.com/lcalmsky/spring-boot-app.git > git checkout bd04b9d โน๏ธ squash merge๋ฅผ ์ฌ์ฉํด ๊ธฐ์กด branch๋ฅผ ์ญ์ ํ๊ธฐ๋ก ํ์ฌ ์์ผ๋ก๋ commit hash๋ก ํฌ์คํ ์์ ์ ์์ค ์ฝ๋๋ฅผ ๊ณต์ ํ ์์ ์ ๋๋ค. Overview ์คํฐ๋ ๊ตฌ์ฑ์ ์กฐํ ๊ธฐ๋ฅ์ ๊ตฌํํฉ๋๋ค. ์ฌํ๊น์ง ๊ณ์ ํด์๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์์ธํ ์ค๋ช ์ ์๋ตํ๊ฒ ์ต๋๋ค. ์๋ํฌ์ธํธ ์ถ๊ฐ ์คํฐ๋ ์กฐํ ํ๋ฉด์์ ๊ตฌ์ฑ์ ๋ฉ๋ด๋ฅผ ํด๋ฆญํ์ ๋ ๊ด๋ จ ํ์ด์ง๋ก ์ด๋ํ๋๋ก ์ปจํธ๋กค๋ฌ๋ฅผ ์์ ํด์ค๋๋ค. /src..
๋ณธ ํฌ์คํ ์ ๋ฐฑ๊ธฐ์ ๋์ ์คํ๋ง๊ณผ JPA ๊ธฐ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๊ฐ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ์์ค ์ฝ๋๋ ์ฌ๊ธฐ ์์ต๋๋ค. (branch: feature/10) Overview ์คํ๋ง ๋ถํธ์์ ํ๋ก ํธ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ด ๋๋ค. NPM (Node Package Manager)์ ์ฌ์ฉํ์ฌ dependency๋ฅผ ๊ด๋ฆฌํ๊ณ package.json์ ์ด์ฉํด ๋น๋ํฉ๋๋ค. Front-end ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์ ์คํ๋ง ๋ถํธ์์๋ src/main/resources/static ๋๋ ํ ๋ฆฌ ํ์ ๋๋ ํ ๋ฆฌ๋ค์ ๋ชจ๋ ์ ์ ๋ฆฌ์์ค๋ก ์ ๊ณตํฉ๋๋ค. (๊ธฐ๋ณธ ์ค์ ์ด๊ณ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.) ์ฆ, ์ด๋ค ํด์ ์ด์ฉํด์๋ ํด๋น ๋๋ ํ ๋ฆฌ ์์ ๋ฆฌ์์ค๊ฐ ์กด์ฌํ๋๋ก ์ค์ ํ๊ฒ ๋๋ฉด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ ์ ์์ต๋๋ค. ๋ฆฌ์์ค๊ฐ ์กด์ฌํ๊ฒ ํ..
๋ณธ ํฌ์คํ ์ ๋ฐฑ๊ธฐ์ ๋์ ์คํ๋ง๊ณผ JPA ๊ธฐ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๊ฐ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ์์ค ์ฝ๋๋ ์ฌ๊ธฐ ์์ต๋๋ค. (branch: feature/9) โ Warning: ๊ธฐ์กด์ ํ๋ก์ ํธ ์์ฑ์ ์๋ํ๋ ๊ฒ์ multi module ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ์ด์๋๋ฐ ๊ตณ์ด ๊ทธ๋ ๊ฒ ํ ํ์์ฑ์ ๋๋ผ์ง ๋ชปํด ์ฌ์ฉํ๋ ํจํค์ง๋ช ์ ์์ ํ์์ต๋๋ค. ์ด์ ํฌ์คํ ์ ๋ฐ๋ผ์ ์์ฑํ์๋ ๋ถ๋ค์ด ๊ณ์๋ค๋ฉด ์ด ์ ์ ์ํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค. Overview ํ์ ๊ฐ์ ์๋ฃ(์ด๋ฉ์ผ ์ธ์ฆ ์๋ฃ)์ ์๋ ๋ก๊ทธ์ธ์ฒ๋ฆฌ๊ฐ ๋๋๋ก ํฉ๋๋ค. [Spring Security ๋ด์์ ๋ก๊ทธ์ธ์ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ] SecurityContext - Authentication(Token) UsernamePasswordAuthenticationToken [..
๋ณธ ํฌ์คํ ์ ๋ฐฑ๊ธฐ์ ๋์ ์คํ๋ง๊ณผ JPA ๊ธฐ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๊ฐ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ์์ค ์ฝ๋๋ ์ฌ๊ธฐ ์์ต๋๋ค. (branch: feature/8) Overview ํ์ ๊ฐ์ ์ ์ ์กํ ์ด๋ฉ์ผ์ ํ์ธํ์ฌ ํ์์ ์ธ์ฆํ๋ ์ ์ฐจ๋ฅผ ๊ฐ๋ฐํฉ๋๋ค. ํ์ ๊ฐ์ ์ ๋ค์ ์๋ฒ๋ก ์์ฒญํ ์ ์๊ฒ ํ ํฐ์ ํฌํจํ ๋งํฌ๋ฅผ ์ ์กํ๊ณ ์ฌ์ฉ์๊ฐ ํด๋น ๋งํฌ๋ฅผ ํด๋ฆญํ์ ๋ ํ ํฐ์ด ์ผ์นํ๋ฉด ๊ฐ์ ์๋ฃ ์ฒ๋ฆฌํฉ๋๋ค. ์ด๋ฉ์ผ ์ธ์ฆ์ ํ๋ ์ด์ ๋ ๋ฌด์์๋ก ์์ฑํ๋ ์ด๋ฉ์ผ ๊ณ์ ์ ํ์ฉํ์ง ์๊ธฐ ์ํจ์ด๊ณ , ์๋น์ค ๋ด์์์ ๋ฉ์ผ ์ ์ก ๊ธฐ๋ฅ์ ์ ๋๋ก ํ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด๋ฉ์ผ ์ธ์ฆ์ ๋์ฒดํ ์ ์๋ ๋ฐฉ๋ฒ์ ์์ ์ธ์ฆ ๋ฑ์ด ์์ต๋๋ค. ์ธ์ฆ ๋งํฌ๋ก ์ ๊ทผํ์ ๋ ๋ ธ์ถ๋ ํ๋ฉด๊ณผ ์ธ์ฆ ๋ก์ง์ ๊ฐ๋ฐํด์ผ ํฉ๋๋ค. ์ด๋ฉ์ผ ์ธ์ฆ ๊ฐ๋ฐ ์ ๋ ฅ ๊ฐ์..
๋ณธ ํฌ์คํ ์ ๋ฐฑ๊ธฐ์ ๋์ ์คํ๋ง๊ณผ JPA ๊ธฐ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๊ฐ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ์์ค ์ฝ๋๋ ์ฌ๊ธฐ ์์ต๋๋ค. (branch: feature/7) Overview ๋น๋ฐ๋ฒํธ๋ฅผ ํ๋ฌธ ๊ทธ๋๋ก ์ ์ฅํ๋ ์๋น์ค๋ ์ธ์ ์ด๋์๋ ์์ต๋๋ค. ํนํ ์ ์๊ธ์ต๊ถ๊ณผ ๊ฐ์ด ๋ฏผ๊ฐํ ๊ฐ์ธ ์ ๋ณด๋ฅผ ๋ค๋ฃจ๋ ์ชฝ์์๋ ๋ง์ ๋ถ๋ฆฌํด์ฌ ์ ์ฅํ๊ณ ์ ๊ทผํ๊ธฐ๋ ํฉ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์ง๊ธ ๊ฐ๋ฐํ๋ ์๋น์ค์๋ ๋น๋ฐ๋ฒํธ ์ธ์ฝ๋ฉ ๊ธฐ๋ฅ์ ์ถ๊ฐํด์ค์ผ ํฉ๋๋ค. Implementation ์คํ๋ง ์ํ๋ฆฌํฐ์์ ๊ถ์ฅํ๋ ๋ฐฉ๋ฒ์ PasswordEncoder๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค. PasswordEncoder๋ฅผ ๋น ๋ฑ๋กํด์ฃผ๋ฉด ๋๋๋ฐ ์ง์ ์ฌ์ฉํ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํด๋ ๋๊ณ ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ฉํด๋ ๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ฉํ ๊ฒฝ์ฐ BCr..
๋ณธ ํฌ์คํ ์ ๋ฐฑ๊ธฐ์ ๋์ ์คํ๋ง๊ณผ JPA ๊ธฐ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๊ฐ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ์์ค ์ฝ๋๋ ์ฌ๊ธฐ ์์ต๋๋ค. (branch: feature/2) Overview ์ด๋ฒ ํฌ์คํ ์์๋ ํ์ ๊ฐ์ , ํํด, ๋ก๊ทธ์ธ ๋ฑ์ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๊ธฐ ์ํ ๋๋ฉ์ธ ์ค๊ณ์ ์ด์ ํด๋นํ๋ ๋ถ๋ถ์ ๊ตฌํํ ์์ ์ ๋๋ค. ์ ์ํ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํฐ๋๋ฅผ ๊ด๋ฆฌํ๋ ์น ์ ๋๋ค. Requirement ์คํฐ๋ ๊ด๋ฆฌ๋ฅผ ์ํด ๊ฐ์ฅ ์ ํ๋์ด์ผ ํ ๊ฒ์ ํ์์ ๊ด๋ฆฌํ๋ ๊ฒ์ธ๋ฐ์, ํ์๊ณผ ๊ด๋ จ๋ ํ์ํ ๊ธฐ๋ฅ์ ์ ๋ฆฌํ๋ฉด ์๋์ ๊ฐ์ต๋๋ค. ๋ก๊ทธ์ธ ํ๋กํ (TMI: ๋ ์ผ์ด, ํ๋์ค์ด๋ก ์ฝ์ผ๋ฉด ํ๋กํ, ์์ด๋ก ์ฝ์ผ๋ฉด ํ๋กํ์ผ ์ ๋๋ค) ์๋ฆผ ์ ์ธ ๊ฐ์ง ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค. ๋ก๊ทธ์ธ ๋ก๊ทธ์ธ์ ํ๊ธฐ ์ํด์ ๋ณดํต I..
SpEL (Spring Expression Langauge) ์ด๋? ์คํ๋ง ํํ์์ SpEL๋ก ํ๊ธฐํ๊ณ ๊ฐ์ฒด ๊ทธ๋ํ๋ฅผ ์กฐํํ๊ณ ์กฐ์ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. Unified EL๊ณผ ๋น์ทํ์ง๋ง ๋ฉ์๋ ํธ์ถ๊ณผ ๋ฌธ์์ด ํ ํ๋ฆฟ ๊ธฐ๋ฅ๋ ์ ๊ณตํฉ๋๋ค. ์๋ฐ์์ ์ฌ์ฉํ ์ ์๋ ํํ์์ ์ฌ๋ฌ ๊ฐ์ง(OGNL: Object Graph Navigation Language, MVEL: MVFlEX Expression Language, JBOss EL)๊ฐ ์์ง๋ง SpEL์ ์คํ๋ง ํ๋ก์ ํธ ๋ด์์ ์ฌ์ฉํ ์ฉ๋๋ก ๋ง๋ ํํ์์ ๋๋ค. ์คํ๋ง 3 ๋ฒ์ ๋ถํฐ ์ง์ํ๊ณ ์์ต๋๋ค. SpEL์ ์ฌ์ฉํ๋ ์คํ๋ง ํ๋ก์ ํธ SpEL์ ์คํ๋ง ํ๋ก์ ํธ ์ ๋ฐ์ ์ผ๋ก ๋ชจ๋ ์ฌ์ฉ๋์ง๋ง ๊ฐ์ฅ ๋น์ค์๊ฒ ์ฌ์ฉํ๋ ๋ถ๋ถ์ ์๋์ ๊ฐ์ต๋๋ค. @Value @Comditi..
Overview ์คํ๋ง ๋ถํธ์์ graceful shutdown์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํฉ๋๋ค. ๋จผ์ graceful shutdown์ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ ์ข ๋ฃ์ ์๋ก์ด ์์ฒญ์ ๋ฐ์ง ์๊ณ ๊ธฐ์กด ์์ฒญ์ ์์ ํ ์ฒ๋ฆฌํ ์ดํ ์๋ฒ๋ฅผ ์ข ๋ฃํ๋ ๊ฒ์ ๋งํฉ๋๋ค. ์คํ๋ง ๋ถํธ 2.3 ์ด์ ๋ฒ์ ๋ถํฐ ๋์ํฉ๋๋ค. ์ฐธ๊ณ ๋ก ์ด์ ๋ฒ์ ์์๋ ์๋ต์ ๋ณด๋ด๊ธฐ ์ ์ ์๋ฒ๋ฅผ ์ข ๋ฃํ์ ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ๊ฐ ์๋ต์ ๋ฐ์ง ๋ชปํฉ๋๋ค. ์ค์ ํ์ผ ์ค์ ํ์ผ ์์ ๋ง์ผ๋ก ๊ฐ๋จํ ํด๋น ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์์ต๋๋ค. ์๋ธ๋ฆฟ ๊ธฐ๋ฐ MVC์ reactive stream ๊ธฐ๋ฐ webflux์์๋ ๋์ํฉ๋๋ค. ํ์์์ ์ค์ ๋ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๋จ, ์์ฒญ์ ์ฒ๋ฆฌํ๋ ์๊ฐ๋ณด๋ค ํ์์์์ผ๋ก ์ค์ ํ ์๊ฐ์ด ์งง์ ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ๋ ์๋ต์ ๋ฐ์ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ g..
Overview ์คํ๋ง ๋ถํธ๋ฅผ ์ด์ฉํ์ฌ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ์ฝ๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์๊ฐํฉ๋๋ค. ์คํ๋ง ๋ถํธ์ ๊ณ์ธต(layer)์ค ์ค๋ณต์ผ๋ก ํฌํจ๋๋ ๊ณ์ธต(๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ถํธ ๋ก๋ ๋ฑ)์ ์บ์ฑํ์ฌ ํจ์จ์ ์ผ๋ก ๋์ปค ์ด๋ฏธ์ง๋ฅผ ์์ฑํฉ๋๋ค. Spring Boot Version 2.3 ์ด์ build.gradle spring-boot-gradle-plugin dependency ์ถ๊ฐ bootJar task์ layered ์ถ๊ฐ layered()๋ deprecated ๋์์ layered(Action action) ์ฌ์ฉ ๊ถ์ฅ dependencies { implementation 'org.springframework.boot:spring-boot-gradle-plugin:2.5.0' } bootJar { layered() } Gr..
- Total
- 180,578
- Today
- 58
- Yesterday
- 220
- JSON
- Java
- ์คํ๋ง ๋ถํธ
- Spring Boot Tutorial
- ์คํ๋ง ๋ถํธ ํํ ๋ฆฌ์ผ
- ์๊ณ ๋ฆฌ์ฆ
- Jackson
- ํจ๊ป ์๋ผ๊ธฐ ํ๊ธฐ
- ์คํ๋ง ๋ถํธ ํ์ ๊ฐ์
- spring boot app
- QueryDSL
- @ManyToOne
- ์คํ๋ง ๋ฐ์ดํฐ jpa
- proto3
- leetcode
- spring boot jwt
- ํจ๊ป ์๋ผ๊ธฐ
- ์คํ๋ง ๋ถํธ ์ ํ๋ฆฌ์ผ์ด์
- ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ
- gRPC
- ํด๋ฆฐ ์ํคํ ์ฒ
- ์คํ๋ง๋ถํธ
- intellij
- r
- Linux
- Spring Boot JPA
- Spring Boot
- spring boot application
- Spring Data JPA
- JPA