728x90
๋ฐ˜์‘ํ˜•
์Šคํ”„๋ง ๋ถ€ํŠธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ œ์ž‘(9): ํ”„๋ก ํŠธ์—”๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ๋นŒ๋“œ ์„ค์ •

๋ณธ ํฌ์ŠคํŒ…์€ ๋ฐฑ๊ธฐ์„ ๋‹˜์˜ ์Šคํ”„๋ง๊ณผ JPA ๊ธฐ๋ฐ˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค. (branch: feature/10) Overview ์Šคํ”„๋ง ๋ถ€ํŠธ์—์„œ ํ”„๋ก ํŠธ์—”๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค. NPM (Node Package Manager)์„ ์‚ฌ์šฉํ•˜์—ฌ dependency๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  package.json์„ ์ด์šฉํ•ด ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค. Front-end ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์ • ์Šคํ”„๋ง ๋ถ€ํŠธ์—์„œ๋Š” src/main/resources/static ๋””๋ ‰ํ† ๋ฆฌ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋“ค์„ ๋ชจ๋‘ ์ •์  ๋ฆฌ์†Œ์Šค๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. (๊ธฐ๋ณธ ์„ค์ •์ด๊ณ  ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.) ์ฆ‰, ์–ด๋–ค ํˆด์„ ์ด์šฉํ•ด์„œ๋“  ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ๋ฆฌ์†Œ์Šค๊ฐ€ ์กด์žฌํ•˜๋„๋ก ์„ค์ •ํ•˜๊ฒŒ ๋˜๋ฉด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค๊ฐ€ ์กด์žฌํ•˜๊ฒŒ ํ•˜..

์Šคํ”„๋ง ๋ถ€ํŠธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ œ์ž‘(6): PasswordEncoder

๋ณธ ํฌ์ŠคํŒ…์€ ๋ฐฑ๊ธฐ์„ ๋‹˜์˜ ์Šคํ”„๋ง๊ณผ JPA ๊ธฐ๋ฐ˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค. (branch: feature/7) Overview ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ‰๋ฌธ ๊ทธ๋Œ€๋กœ ์ €์žฅํ•˜๋Š” ์„œ๋น„์Šค๋Š” ์„ธ์ƒ ์–ด๋””์—๋„ ์—†์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ „์ž๊ธˆ์œต๊ถŒ๊ณผ ๊ฐ™์ด ๋ฏผ๊ฐํ•œ ๊ฐœ์ธ ์ •๋ณด๋ฅผ ๋‹ค๋ฃจ๋Š” ์ชฝ์—์„œ๋Š” ๋ง์„ ๋ถ„๋ฆฌํ•ด์—ฌ ์ €์žฅํ•˜๊ณ  ์ ‘๊ทผํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ง€๊ธˆ ๊ฐœ๋ฐœํ•˜๋Š” ์„œ๋น„์Šค์—๋„ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ธ์ฝ”๋”ฉ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. Implementation ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ์—์„œ ๊ถŒ์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์€ PasswordEncoder๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์€ ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. PasswordEncoder๋ฅผ ๋นˆ ๋“ฑ๋กํ•ด์ฃผ๋ฉด ๋˜๋Š”๋ฐ ์ง์ ‘ ์‚ฌ์šฉํ•  ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•ด๋„ ๋˜๊ณ  ๊ธฐ๋ณธ๊ฐ’์„ ์‚ฌ์šฉํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ BCr..

์Šคํ”„๋ง ๋ถ€ํŠธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ œ์ž‘(3): ํšŒ์› ๊ฐ€์ž… ๋ทฐ ์ž‘์„ฑ

๋ณธ ํฌ์ŠคํŒ…์€ ๋ฐฑ๊ธฐ์„ ๋‹˜์˜ ์Šคํ”„๋ง๊ณผ JPA ๊ธฐ๋ฐ˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค. (branch: feature/4) Overview Bootstrap, Thymeleaf, HTML, CSS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํšŒ์› ๊ฐ€์ž… ํŽ˜์ด์ง€๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์š”์ฒญ์‹œ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ํšŒ์› ๊ฐ€์ž…์‹œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๋ฅผ ํผ ๊ฐ์ฒด๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Prerequisite ๋ถ€ํŠธ์ŠคํŠธ๋žฉ(Bootstrap) ์„ค์ • ์œ„ ๊ฐ’์„ ๋ณต์‚ฌํ•ด์„œ sign-up.html ํŒŒ์ผ์˜ head ํƒœ๊ทธ ์•ˆ์ชฝ์— ์ถ”๊ฐ€ํ•˜๊ณ  title ํƒœ๊ทธ ์•ˆ์ชฝ์˜ ๊ฐ’์„ ์›ํ•˜๋Š” ์ œ๋ชฉ์œผ๋กœ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ... ์ƒ๋žต ๊ทธ๋ฆฌ๊ณ  body ํƒœ๊ทธ ์•ˆ์ชฝ์— ์•„๋ž˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์œ„ ์Šคํฌ๋ฆฝํŠธ๋Š” ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์—์„œ ํ•„์š”๋กœํ•˜๋Š” JS function ๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์˜ˆ..

Spring Boot ํ”„๋กœ์ ํŠธ๋ฅผ ์›น ์„œ๋ฒ„ ๊ธฐ๋™ ์—†์ด ์‹คํ–‰์‹œํ‚ค๊ธฐ

์ผ๋ฐ˜ ์ž๋ฐ” ํ”„๋กœ์ ํŠธ๊ฐ€ ์•„๋‹Œ ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ํŠน์ • ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ๋•Œ, ์„ค์ •ํŒŒ์ผ์ด๋‚˜ dependency ๊ด€๋ฆฌ๋ฅผ ํŽธํ•˜๊ฒŒ ํ•˜๊ณ ์‹ถ์€๋ฐ spring-boot-starter-web ํŒจํ‚ค์ง€๋ฅผ ์˜์กด์„ฑ์— ์ถ”๊ฐ€ํ•˜๊ฒŒ ๋˜๋ฉด ์ƒ๋‹นํžˆ ๋งŽ์€ ์–‘์˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ํด๋ž˜์Šค๋“ค์„ ๋กœ๋”ฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. build.gradle ํŒŒ์ผ์— ๋‹จ์ˆœํžˆ ํ•˜๋‚˜์˜ ํŒจํ‚ค์ง€(ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€๊นŒ์ง€ ํฌํ•จํ•ด๋„ ๊ณ ์ž‘ ๋‘ ๊ฐœ)๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์„ ๋ฟ์ธ๋ฐ๋„ ๊ธฐ๋ณธ ์ƒํƒœ์—์„œ ์‹คํ–‰์‹œํ‚ค๋ฉด ์ƒ๋‹นํžˆ ๋งŽ์€ ์‹œ๊ฐ„์ด ์†Œ๋ชจ๋ฉ๋‹ˆ๋‹ค. dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation('org.springframework.boot:spring-boot-starter-t..

SpringBoot 2020. 7. 2. 10:40
728x90
๋ฐ˜์‘ํ˜•
๊ณต์ง€์‚ฌํ•ญ
Total
71,740
Today
103
Yesterday
133
๋งํฌ
«   2022/05   »
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
๊ธ€ ๋ณด๊ด€ํ•จ