๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (142)

Tech Log ๐Ÿ› ๏ธ

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค(๊ฐœ๋…, ์‹ค์Šต)

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ด€๊ณ„ํ˜• DB๋Š” ํ…Œ์ด๋ธ”๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ , ํ…Œ์ด๋ธ”์€ ํ‚ค์™€ ๊ฐ’์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ด์ฒ˜๋Ÿผ ๊ด€๊ณ„ํ˜• DB๋Š” ์ข…์†์„ฑ์„ ๊ด€๊ณ„๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” ํ‚ค(key)๋ž€ ํ–‰์˜ ์‹๋ณ„์ž๋กœ ์ด์šฉ๋˜๋Š” ์—ด์„ ๋งํ•œ๋‹ค ex) ID ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ํ™œ์šฉ ๋งŒ์•ฝ ์—ฌ๋Ÿฌ ์œ ํŠœ๋ฒ„๋“ค์˜ ์˜์ƒ์„ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž ์œ„์˜ ํ‘œ์ฒ˜๋Ÿผ ๋‹ค๋ฅธ ์˜์ƒ์ž„์—๋„ ๊ฐ™์€ ์œ ํŠœ๋ฒ„์˜ ์ฐฝ์ž‘๋ฌผ์ธ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ํšจ๊ณผ์ ์œผ๋กœ DB๋ฅผ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ์„๊นŒ ? ์ด๋Ÿฐ ์‹์œผ๋กœ ์œ ํŠœ๋ฒ„์˜ ์ฝ”๋“œ๋งŒ์„ ๋”ฐ๋กœ ํ…Œ์ด๋ธ”๋กœ ๋งŒ๋“ค์–ด์„œ DB๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์‹ค์Šต์„ ํ•ด๋ณผ ๊ฒƒ์ด๋‹ค. ๋จผ์ € video๋ผ๋Š” DB๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•ด์ฃผ์—ˆ๋‹ค. ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•ด์ค€ ํ›„ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์ค€๋‹ค. ์ด์ œ๋Š” join์œผ๋กœ ํ…Œ์ด๋ธ”์„ ํ•ฉ์น  ์ฐจ๋ก€๋‹ค. ๊ธฐ๋ณธ์ ์ธ LEFT JOIN ๋ช…๋ น์–ด๋ฅผ ..

Mysql , DB 2022. 10. 19. 23:47
Mysql ์‹œ์ž‘ํ•˜๊ธฐ(DB๋ž€ , DB์„œ๋ฒ„ ์ ‘์†ํ•˜๊ธฐ)

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ž€ , ๊ตฌ์กฐํ™”๋œ ์ •๋ณด ๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์กฐ์งํ™”๋œ ๋ชจ์Œ์œผ๋กœ์จ ์ผ๋ฐ˜์ ์œผ๋กœ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ๋‚ด์— ์ „์ž์ ์œผ๋กœ ์ €์žฅ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋Š” ํ‘œ๋“ค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์ด ๋ฐ์ดํ„ฐ๋“ค์„ ์—ฐ๊ด€ ๋œ ํ•ญ๋ชฉ์— ๋งž๊ฒŒ ๊ทธ๋ฃนํ™” ์‹œํ‚ค๋Š” ๋ฐ ์ด๊ฒƒ์„ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ํ˜น์€ ์Šคํ‚ค๋งˆ ๋ผ๊ณ  ํ•œ๋‹ค. ๋˜ ์Šคํ‚ค๋งˆ๋“ค์ด ๋ชจ์ธ ๊ฒƒ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๊ฐ€ ๋œ๋‹ค. SQL(strutured query language) ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์œผ๋ ค๋ฉด SQL ์ด๋ž€๊ฒƒ์„ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค. Sql์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋ฅผ ์ฟผ๋ฆฌ , ์กฐ์ž‘ ์ •์˜ํ•˜๊ณ  ์•ก์„ธ์Šค๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค. ์Šคํ”„๋ ˆ๋“œ ์‹œํŠธ vs ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์—‘์…€์˜ ์Šคํ”„๋ ˆ๋“œ ์‹œํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋Š”๋ฐ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ์–ป๋Š” ์ด์ ์€ ๋ญ˜๊นŒ ? - ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐ ์กฐ์ž‘ ๋ฐฉ๋ฒ• - ๋ฐ์ดํ„ฐ์— ์•ก์„ธ..

Mysql , DB 2022. 10. 18. 21:15
PRG๋ž€? (Redirect๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ )

"Redirect๋ฅผ ์™œ ํ•„์š”ํ• ๊นŒ?" PRG๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์ „์— ๋จผ์ € Rediect์˜ ํ•„์š”์„ฑ์„ ์•Œ ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ๋งŒ์•ฝ ์ƒํ’ˆ์„ ์ˆ˜์ •, ๊ฐœ๋ฐœํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐœ๋ฐœํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž @PostMapping("/addForm") public String addCafe(@ModelAttribute Cafe cafe){ cafeRepository.save(cafe); return "basicCafe/cafe"; } ์นดํŽ˜ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ถ”๊ฐ€๋ฅผ ์™„๋ฃŒํ•œ ๋’ค ์ƒˆ๋กœ ๊ณ ์นจ์„ ๋ˆ„๋ฅด๊ฒŒ ๋œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ? ๋˜‘๊ฐ™์€ ์ •๋ณด๋“ค์ด ๊ณ„์†ํ•ด์„œ ์ž…๋ ฅ๋  ๊ฒƒ์ด๋‹ค. ์ด๋Š” Redirect๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ธ๋ฐ, ์ด๋ ‡๊ฒŒ๋˜๋ฉด ๋งˆ์ง€๋ง‰์œผ๋กœ ์„œ๋ฒ„์— ์ „์†กํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€ ๋ฉ”์„œ๋“œ๋ฅผ ๊ณ„์† ์‹คํ–‰์‹œํ‚จ๋‹ค. POST, Redirect Get PRG..

์Šคํ”„๋ง mvc 2022. 3. 20. 18:59
ํƒ€์ž„๋ฆฌํ”„ ๋ฌธ๋ฒ• ์ •๋ฆฌ

ํƒ€์ž„๋ฆฌํ”„ ์‚ฌ์šฉ๋ฒ• th:href="@{/css/bootstrap.min.css}" ํƒ€์ž„๋ฆฌํ”„ ์„ ์–ธ์„ ํ•ด์ฃผ์–ด์•ผ ๋น„๋กœ์†Œ ํƒ€์ž„๋ฆฌํ”„ ๋ฌธ๋ฒ•์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ํƒ€์ž„๋ฆฌํ”„๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด, th:xx ์†์„ฑ์ด ๋ถ™์€ ๋ถ€๋ถ„์€ ์„œ๋ฒ„์‚ฌ์ด๋“œ์—์„œ ๋ Œ๋”๋ง ๋˜๋ฉฐ , ๊ธฐ์กด html ์†์„ฑ์ด ๋Œ€์ฒด๋œ๋‹ค.(th ์†์„ฑ์ด ์—†์œผ๋ฉด html ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ) ํ•˜์ง€๋งŒ html ์„ ํŒŒ์ผ๋กœ ์ง์ ‘ ์—ด์—ˆ์„๋• th ์†์„ฑ์€ ๋ฌด์‹œ๋œ๋‹ค. 1.URL ๋งํฌ ํ‘œํ˜„์‹ th:onclick="|location.href='@{/basicCafe/items/edit/{cafeId}(cafeId=${cafe.id})}'|" ํƒ€์ž„๋ฆฌํ”„๋Š” url๋งํฌ๋ฅผ @{...}๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ์ด ๊ฒฝ์šฐ ์„œ๋ธ”๋ฆฟ ์ปจํ…์ŠคํŠธ๋ฅผ ์ž๋™์œผ๋กœ ํฌํ•จํ•œ๋‹ค. 2.๋ฆฌํ„ฐ๋Ÿด ๋Œ€์ฒด ๋ฌธ๋ฒ• location.href='/basic/items..

mvc ์›น ๊ฐœ๋ฐœ 2022. 3. 13. 21:43