yh
@yh
Students
579,010
Reviews
39,743
Course Rating
5.0
๊ต์ก์
์ : ์ฐ์ํํ์ ๋ค ๊ธฐ์ ์ด์ฌ, ์นด์นด์ค, SKํ๋๋
์ ์: ์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ
์ง์ง ์ค๋ฌด์ ํ์ํ ์ ๋๋ก ๋ ๊ฐ๋ฐ์๊ฐ ๋ ์ ์๋๋ก, ๊ต์กํ๋ ๊ฒ์ด ์ ์ ๋ชฉํ์ ๋๋ค.
์ ์ ๊ฐ๋ฐ ์ธ์ ์ด์ผ๊ธฐ
EO ์ธํฐ๋ทฐ ์์
ํ๊ตญ ๊ฐ๋ฐ์ ์ต๊ณ 1ํ๊ฐ์ฌ ๊น์ํ์ ์ธ์ [1๋ถ]
ํ๊ตญ ๊ฐ๋ฐ์ ์ต๊ณ 1ํ๊ฐ์ฌ ๊น์ํ์ ์ธ์ [2๋ถ]
๊ฐ๋ฐ๋ฐ๋ฅ - ์๊ณจ ์ฒญ๋ ๊ฐ๋ฐ์ ๋๋ค
์ทจ์ ๊ณผ ์ด์ง์ ๋ํ ๊ณ ๋ฏผ ํด๊ฒฐ
Courses
Reviews
- Kim Young-han's Practical Java - Advanced, Part 1: Multithreading and Concurrency
- Kim Younghan's Practical Java - Basics
- Real-world! Spring Boot and JPA Utilization 1 - Web Application Development
- HTTP Web Basics for Every Developer
- Kim Young-han's Practical Java - Intermediate Part 2
Posts
Q&A
์ด๋ฏธ ๋ฌธ์์ด ํ์ ์ธ ์ปฌ๋ผ์ ์บ์คํ ํ๋ ์ด์
์๋ ํ์ธ์. ZZAMBA๋๋ง์ํ์ ๋ด์ฉ์ด ๋ง์ต๋๋ค ๐์ด ๊ฒฝ์ฐ ๋ฌธ์ -> ๋ฌธ์์ด๊ธฐ ๋๋ฌธ์ name AS CHAR๊ณผ ๊ฐ์ ์ผ์คํ ์ ๋ฌด์๋ฏธํฉ๋๋ค.(๊ฐ์ ๋ด์ฉ์ ์์ ํด์ผ๊ฒ ๋ค์ ใ ใ )๊ทธ๋ฐ๋ฐ ์ด๋ฐ ์ผ์คํ ์ด ํ์ํ ๋๊ฐ ์์ต๋๋ค.์ด ๊ฒฝ์ฐ VARCHAR(100)์ผ๋ก ๋ฌธ์์ ๊ธธ์ด๊ฐ ๋๋ํ๊ธฐ ๋๋ฌธ์ ํฌ๊ฒ ์๋ฏธ๊ฐ ์์ง๋ง ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ ๋์์ด ๋ฉ๋๋ค. ์ฌ๊ท CTE์์ ๊ฒฐ๊ณผ ํ ์ด๋ธ์ ์ปฌ๋ผ ๋ฐ์ดํฐ ํ์ ๊ณผ ๊ธธ์ด(Length)๋ ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ(Anchor Member, ๊ธฐ๋ณธ ์ผ์ด์ค)์ ์ํด ๊ฒฐ์ ๋ฉ๋๋ค.์ฆ ์ฌ๊ธฐ์๋ VARCHAR(100)์ด ๋ฉ๋๋ค.ํ์ง๋ง UNION ํ๋ ๋ค์์๋ ๋ฌธ์๋ฅผ ๊ณ์ ์ด์ด๋ถ์ด๊ฒ ๋ฉ๋๋ค. 1๋จ๊ณ: '์ ์์ ํ' (๊ธธ์ด 4) -> ๋ฌธ์ ์์2๋จ๊ณ: '์ ์์ ํ > ์ปดํจํฐ' (๊ธธ์ด 9) -> ๋ฌธ์ ์์...N๋จ๊ณ: ๊ฒฝ๋ก๊ฐ ๊ณ์ ๊ธธ์ด์ ธ์ 100์๋ฅผ ๋์ด๊ฐ๊ฒ ๋๋ฉด?์ด ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.Error Code: 1406. Data too long for column 'path' at row 1์ด๋ CAST(name AS CHAR(200))์ฒ๋ผ ๋๋ํ ๊ฐ์ ์ฃผ๋ฉด ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํผํ ์ ์์ต๋๋ค.์์์ ๊ฒฝ์ฐ์๋ CHAR๋ผ๊ณ ๋ง ์ ๊ณ ๊ธธ์ด ์ซ์๋ฅผ ์ ๋ ฅํ์ง ์์๋๋ฐ์. ์ด๋ ๊ฒ ํ๋ฉด ์ฒ์์ ์ค์ ํ VARCHAR(100)์ ๊ธธ์ด๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 46
Q&A
์คํ์ธ๊ฑฐ์ฃ ?
์ค์๋ ๊ฐ์ฌํฉ๋๋ค ๐๋ค์ ํจ์น์ ๋ฐ์ํ ๊ฒ์^^!
- 0
- 1
- 34
Q&A
ํ์๋ฆฌํ 3.X ๋ฒ์ rendering, serializer ์๋ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ
์๋ ํ์ธ์. ์ด์ฌํ๋๊ณต์ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค ๐๊ทธ๋ฐ๋ฐ ์ ๊ฐ ์ต์ ๋ฒ์ ์ ์ฝ๋๋ก ํ์ธํด๋ณด๋ ๋ฌธ์ ๊ฐ ์๋๋ผ๊ตฌ์. (3.1.3 ๋ฒ์ )์ฌ๋ ค์ฃผ์ ๋ฉ๋ด์ผ์ ๊ฒฝ์ฐ์ ํน์ ํจํค์ง์ ๋ํ ๋ถ๋ถ์ด์ด์ ์ด ๋ด์ฉ๊ณผ๋ ๊ด๋ จ์ฑ์ด ์์ด๋ณด์ด๋๋ผ๊ตฌ์.ํน์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ์ ์ฒด ์ฝ๋๋ฅผ ์์ถํด์ ์ฌ๋ ค์ฃผ์๋ฉด ์ ๊ฐ ๋ฉด๋ฐํ ์ดํด๋ณด๊ฒ ์ต๋๋ค ๐ ์ค์ ๋์ํ๋ ์ ์ฒด ํ๋ก์ ํธ๋ฅผZIPํ์ผ๋ก ์์ถํด์ ๊ตฌ๊ธ ๋๋ผ์ด๋ธ๋ก ๊ณต์ ํด์ ๋งํฌ๋ฅผ ๋จ๊ฒจ์ฃผ์ธ์.๊ตฌ๊ธ ๋๋ผ์ด๋ธ ์ ๋ก๋ ๋ฐฉ๋ฒ์ ๋ค์์ ์ฐธ๊ณ ํด์ฃผ์ธ์.https://bit.ly/3fX6ygx๊ฐ์ฌํฉ๋๋ค.
- 2
- 3
- 48
Q&A
์๋น์ค ์ด์ ์ค ์๋ชป๋ ํ ์ด๋ธ ์ค๊ณ ๋ฐ๊ฒฌ์ ์์ ์์ ์ ๋ํ ์ง๋ฌธ
์๋ ํ์ธ์. yahohoho๋์์ผ๋ก์ ์ ์ง๋ณด์์ ๊ฐ๋ฐ ๊ด์ ์์๋ณด๋ฉด ์ ๋ฆฌ๋ฅผ ํ๊ณ ๊ฐ๋ฉด ์ข๊ฒ ์ง๋ง, ์ค๋ฌด์์๋ ๋ค์ํ ๊ณ ๋ฏผ์ด ํจ๊ป ํ์ํฉ๋๋ค. ํ์ค์ ์ธ ์กฐ์ธ์ ๋ช ๊ฐ์ง ๋๋ฆฌ๊ฒ ์ต๋๋ค.1. ๋น์ฆ๋์ค๋ ๋ฉ์ถ๋ฉด ์ ๋ฉ๋๋ค.๊ธฐํํ๊ณผ ํ์ฌ๋ '๊น๋ํ ์ฝ๋'๋ณด๋ค '๋น์ฆ๋์ค์ ์ฑ์ฅ'์ ์ํฉ๋๋ค. ์์ง๋์ด์ ์์ฌ์ผ๋ก ๋ช ์ฃผ๊ฐ ์ ๊ท ๊ธฐ๋ฅ์ ๋ฉ์ถ๊ณ ๋ฆฌํฉํ ๋ง๋ง ํ๋ค๋ฉด, ๋น์ฆ๋์ค ํ์ด๋ฐ์ ๋์น ์ ์์ต๋๋ค. "๊ธฐ์ ๋ถ์ฑ ์ฒญ์ฐ"์ ์๋น์ค๋ฅผ ๊ณ์ ์ด์ํ๋ฉด์ ์ด์ ๊ฐ๋ฏ์ด ์กฐ๊ธ์ฉ ํด๋๊ฐ๋ ๊ฒ์ด์ง, ํ์ฐ ์ ์ฒญํ๋ฏ์ด ๋ชจ๋ ๊ฑธ ๋ฉ์ถ๊ณ ํ๋ ๊ฒ ์๋๋๋ค. 2. ์๋ณ ๊ด๊ณ, ๋ถํธํ์ง๋ง ๋น์ฅ ์๋น์ค๊ฐ ๋งํ์ง ์์ต๋๋ค.๊ณผ๊ฑฐ์ ๋ ๊ฑฐ์์ธ ์๋ณ ๊ด๊ณ(Identifying Relationship)๊ฐ ๊ฐ๋ฐ ์ ์ฐ์ฑ์ ๋จ์ด๋จ๋ฆฌ๊ณ ์ฝ๋๋ฅผ ์ง์ ๋ถํ๊ฒ ๋ง๋๋ ๊ฒ์ ์ฌ์ค์ ๋๋ค. ํ์ง๋ง ์ด๊ฒ์ด ๋น์ฅ ์๋น์ค์ ์น๋ช ์ ์ธ ๋ฒ๊ทธ๋ฅผ ์ ๋ฐํ๊ฑฐ๋ ๋ฐ์ดํฐ ์ ํฉ์ฑ์ ๊นจ๋จ๋ฆฌ๋ ๊ฒ์ ์๋๋๋ค. '๋ถํธํจ'๊ณผ '์ํํจ'์ ๊ตฌ๋ถํด์ผ ํฉ๋๋ค. ์ง๊ธ์ '๋ถํธํจ'์ ์๊ณ ๊ฐ๋ ๊ฒ์ด ๋ง์ต๋๋ค. 3. ๋๋ฃ๊ฐ ์ค๋ฉด ๊ทธ๋๊ฐ ๊ธฐํ์ ๋๋ค.๋ฐ์ดํฐ ๋ง์ด๊ทธ๋ ์ด์ ์ ์ ๋ง ๋ฌด์ญ๊ณ ๋จ๋ฆฌ๋ ์์ ์ ๋๋ค. ํผ์์ ํ๋จํ๊ณ ์คํํ๋ค๊ฐ ์ค์ํ๋ฉด ๋์ดํฌ ์ ์์ต๋๋ค. ๊ณง ํฉ๋ฅํ ๋๋ฃ๋ถ์ด ์ค์๋ฉด, ๊ฐ์ฅ ๋จผ์ ํด์ผ ํ ์ผ์ ๋ฆฌํฉํ ๋ง์ด ์๋๋ผ '์ ๋ฌด ํ์ '๊ณผ '์ ์'์ ๋๋ค. ์ ๊ท ๊ธฐ๋ฅ์ ํจ๊ป ๊ฐ๋ฐํ๋ฉด์ ํธํก์ ๋ง์ถ๊ณ , ๊ทธ๋ถ์ด ์์คํ ์ ์ต์ํด์ก์ ๋ ํจ๊ป ์ ๋ต์ ์ง์ ๊ฐ์ฅ ์ํ ๋ถ๋ถ๋ถํฐ ํ๋์ฉ ๋น์๋ณ ๊ด๊ณ๋ก ํ์ด๋ด์๊ธธ ๋ฐ๋๋๋ค. ๋ฌผ๋ก ์์คํ ์ด ๋งค์ฐ ์์์ ๊ธ๋ฐฉ ๋ฆฌํํ ๋ง์ด ๊ฐ๋ฅํ ์์ค์ด๋ผ๋ฉด ์ ๋ฆฌํ๊ณ ๊ฐ๋ฉด ๋๊ณ , ๊ทธ๋ ์ง ์๊ณ , ๋น์ฆ๋์ค๋ฅผ ์ผ์ ์ค๋จํด์ผ ํ ์ ๋๋ก ์ค๋ ์์ ์ด๋ผ๋ฉด ๋ง์๋๋ฆฐ ๋ฐฉํฅ์ด ๋ง๋ค ์๊ฐํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 1
- 2
- 44
Q&A
findValue์ ํ๋ผ๋ฉํฐ๊น์ง ๋ํผํด๋์ค ๋ฐฐ์ด์ธ ์ด์ ๊ฐ ์์๊น์?
์๋ ํ์ธ์. ํ์30492๋ ๐์๊ฐํ์ ๊ฒ ์ฒ๋ผ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ธฐ๋ณธํ ๋ฐฐ์ด๋ก ์ฌ์ฉํด๋ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.์ด๊ฒ์ ์ด๋ค ํน๋ณํ ์ด์ ๊ฐ ์๋ ๊ฒ์ ์๋๊ณ , ์ดํด๋ฅผ ์ฝ๊ฒ ๋๊ธฐ ์ํด ์ ์ฒด์ ์ผ๋ก ๋ํผํ์ ์ฌ์ฉํ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 36
Q&A
new T()๊ฐ ์ ๋๋ ๋์
์๋ ํ์ธ์. alstjs๋๋ง์ฝ ์๋ฐ๊ฐ new T()๋ฅผ ํ์ฉํ๊ณ , ๋ด๋ถ์ ์ผ๋ก new Object()๋ก ๋ฐ๊พผ ๋ค ์๋ ์บ์คํ ์ ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ฝ๋ ์์ฑ(์์)class EraserBox { public T create() { // ์ ๋ค๋ฆญ ์๊ฑฐ(Erasure)๋ก ์ธํด T๋ ๋ฐํ์์ Object๋ก ์ทจ๊ธ๋จ // ๋ง์ฝ ์๋ฐ๊ฐ ์ด๊ฑธ ํ์ฉํด์ ์๋์ฒ๋ผ ์ปดํ์ผ ๋๋ค๋ฉด: return (T) new Object(); } } ์ฌ์ฉํ๋ ๊ณณEraserBox dogBox = new EraserBox(); // ์ง๋ฌธ์๋์ ์ ์: ์ปดํ์ผ๋ฌ๊ฐ ์์ (Dog)๋ฅผ ๋ถ์ฌ์ค๋ค. Dog myDog = (Dog) dogBox.create(); ์๋ฐ์ ๋์์น: ์์ ํด๋์ค(Dog)๋ ๋ถ๋ชจ ํด๋์ค(Object)๋ฅผ ๋ด์ ์ ์์ต๋๋ค. "๋ชจ๋ ๊ฐ๋ ์ฌ๋ฌผ์ด์ง๋ง, ๋ชจ๋ ์ฌ๋ฌผ์ด ๊ฐ๋ ์๋๊ธฐ ๋๋ฌธ"์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 44
Q&A
์คํ๋ง ๋น์ ๋ฑ๋ก์ด ์๋๋๊ฑฐ ๊ฐ์๋ฐ ์ด๋ป๊ฒ ํ๋ฉด ์ข์๊น์?ใ ใ
์๋ ํ์ธ์. ๋๊ท ๋main์์ ์์ํ์ ์ผ ํ๋๋ฐ, test ํด๋์์ ์์ํ์ ๊ฒ ๊ฐ์์ ๐main/resources/templates ํ์์ ์ ์ฅํด์ฃผ์ธ์.๊ฐ์ฌํฉ๋๋ค.
- 0
- 3
- 32
Q&A
provider ์ฌ์ฉํ๋ ์ด์
์๋ ํ์ธ์. yne325๋๋งค๋ฒ ์๋ก์ด ๊ฐ์ฒด๊ฐ ํ์ํ๋ค๊ณ ๊ฐ์ ํ๊ฒ ์ต๋๋ค.์ฑ๊ธํค ๋น์ด ์์ฑ๋ ๋ ์์กด์ฑ ์ฃผ์ ์ ๋ฐ์ผ๋ฉด์ ํ๋กํ ํ์ ๋น์ด ๋ฑ ํ ๋ฒ ์์ฑ๋์ด ์ฃผ์ ๋ฉ๋๋ค.์ดํ ์ฑ๊ธํค ๋น์ ๊ณ์ ์ฌ์ฉํ ๋๋ง๋ค, ์์ ์๋ ํ๋กํ ํ์ ๋น์ ๊ณ์ ๊ฐ์ ๋ ์์ด ์ฌ์ฉ๋ฉ๋๋ค. (์ด๋ฏธ ์ฃผ์ ์ด ๋๋ฌ์ผ๋๊น์.)๊ฒฐ๊ณผ: ํ๋กํ ํ์ (๋งค๋ฒ ์๋ก์ด ๊ฐ์ฒด)์ ์๋์ ๋ค๋ฅด๊ฒ ๋์ํฉ๋๋ค. ํด๊ฒฐ์ฑ (Provider ์ฌ์ฉ)์ฑ๊ธํค ๋น์ ํ๋กํ ํ์ ๋น ์์ฒด๊ฐ ์๋๋ผ, "ํ๋กํ ํ์ ๋น์ ์ฐพ์์ฃผ๋ Provider"๋ฅผ ์ฃผ์ ๋ฐ์ต๋๋ค.provider.getObject()๋ฅผ ํธ์ถํ ๋๋ง๋ค ์คํ๋ง ์ปจํ ์ด๋์ "์๋ก์ด ๊ฑฐ ํ๋ ์ค!"๋ผ๊ณ ์์ฒญํ๊ฒ ๋ฉ๋๋ค (DL: Dependency Lookup).๊ฒฐ๊ณผ: ์ฌ์ฉํ ๋๋ง๋ค ํญ์ ์๋ก์ด ํ๋กํ ํ์ ๋น์ด ์์ฑ๋ฉ๋๋ค. ํต์ฌ์ ํญ์ ์๋ก์ด ๊ฐ์ฒด๊ฐ ํ์ํ ๋, ์ด๋ฐ ํด๊ฒฐ ๋ฐฉ์์ด ํ์ํ๋ค๋ ๊ฒ์ ๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 37
Q&A
BeanCreationException
์๋ ํ์ธ์. ๋ฐ์คํ๋์๋ง๋ ์ถ์ ํ๊ธฐ์๋ count๊ฐ 0์ด๋ฉด removeStock()์์ ์์ธ๊ฐ ๋ฐ์ํ ๊ฒ ๊ฐ์ต๋๋ค. // OrderItem.java ๋ด๋ถ (์ถ์ )public static OrderItem createOrderItem(Item item, int orderPrice, int count) { OrderItem orderItem = new OrderItem(); orderItem.setItem(item); // ... ์๋ต item.removeStock(count); // return orderItem;} ํด๋น ๋ถ๋ถ์ ํ์ธํด์ฃผ์ธ์ ๐๊ฐ์ฌํฉ๋๋ค.
- 0
- 3
- 46
Q&A
๊ณ์ธต ๊ตฌ์กฐ ๋ชจ๋ธ๋ง ๊ธฐํ ๋ฐฉ๋ฒ๋ค
์๋ ํ์ธ์. bebe๋๊ณผ๊ฑฐ์๋ MySQL์์ CTE๊ฐ ์ง์๋์ง ์์๋๋ฐ์.์ด๋ ๊ฒ ๋๋ฉด ํ ๋ฒ์ ์ ์ฒด ํธ๋ฆฌ๋ฅผ ์กฐํํ๊ธฐ๊ฐ ์ฝ์ง ์์์ต๋๋ค.ํด๋น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ค์ํ ๋ฐฉ๋ฒ๋ค์ด ๋์ค๊ฒ ๋์์ต๋๋ค.CTE๋ฅผ ์ง์ํ๋ ํ ์์ ์๋ ๊ฐ์์์ ๋ง์๋๋ฆฐ ๊ฒ ์ฒ๋ผ ์ธ์ ๋ฆฌ์คํธ์ ํ์ ํ ์ด๋ธ์ด๋ฉด ๋๋ถ๋ถ์ ์ํฉ์ ์ปค๋ฒํ์ค ์ ์์๊ฑฐ์์.๊ฐ์ฌํฉ๋๋ค ๐
- 0
- 1
- 70









