
๐น ์์ฑ: “ ์ฑ๊ธ์ธ ๋น๋๊ฐ ํ๋ก์ด๋ค ํฉํ ๋ฆฌ ์ถ์ํ~!ํฉํ ๋ฆฌ ”
→ ์ฑ๊ธํค, ๋น๋, ํ๋กํ ํ์ ํฉํ ๋ฆฌ, ์ถ์ํฉํ ๋ฆฌ(5)
๐น ๊ตฌ์กฐ: “ ๊ตฌ์กฐ๋ ์ปดํฌ์ฆ์์ ์ด๋ํฐ ๋ธ๋ฆฟ์ง ์ฐ๊ณ ํ๋ผ์ด์จ์ดํธ ๋ง์๊ณ ๋ฐ์ฝํ๊ณ ๋ธ๋ฆฟ์ง, ํ๋ก์, ํผ์ฌ๋(๋ธํํผ)”
→ ์ปดํฌ์ง, ์ด๋ํฐ, ํ๋ผ์ด์จ์ดํธ, ๋ฐ์ฝ๋ ์ดํฐ, ๋ธ๋ฆฟ์ง, ํ๋ก์, ํผ์ฌ๋(7)
๐น ํ๋: “์ ์ฑ ์์ ์ํ๋ก ์ต์ ๋ฒ์ปค๋จผ๋๋ฉ๋ฉํ ํ ํ๋ฆฟ ์ด์ธ๋ฏธ๋น-” →
์ ๋ต, ์ฑ ์, ์ํ, ์ต์ ๋ฒ, ์ปค๋งจ๋, ๋ฉ๋ฉํ , ํ ํ๋ฆฟ ๋ฉ์๋
์ดํฐ๋ ์ดํฐ(๋ฐ๋ณต์) ,์ธํฐํ๋ฆฌํฐ(๋ฒ์ญ๊ฐ), ๋ฏธ๋์์ดํฐ(์ค์ฌ์), ๋น์งํฐ(๋ฐฉ๋ฌธ์)- (11)
์ธํฐํ์ด์ค ๋นผ๊ณ interface
์ํฐํฐ ๋ชจ๋ ์ค๋ธ์ ํธ(๊ฐ์ฒด)๋ก ์ด๋ฃจ์ด์ ธ ์์
์ด์ ๋ถํฐ entity ์์ฐ๊ณ ์๋ตํ ๊ฒ์
VO๋ ๋ค ์ญ์ ํ ์์
์ด์ ๋ถํฐ ์ํฐํฐ๋ ์ํฐํฐ๋ก ๋ถ๋ฅด์ง๋ง ์ฌ์ค์ ์ํฐํฐ๋ฅผ ํธ๋ค๋งํ๋ ์ญํ
dto๊ฐ ๊ฐ์ฒด์ด๊ณ , vo์ญํ ๋ ๋ค ํ ๊ฒ์
์์ฑํจํด์ ๋น๋๋ก ํ ๊ฑฐ๋๊น DTO์ builder ๋ฃ๊ธฐ
์คํ์์๋ ์ปจ- ์- ๋ - ์ -DB
โ๏ธ ์ค์นผ๋ผ(Scalar)
- ์๋ฏธ:
๋ฐฉํฅ ์์ด ํฌ๊ธฐ(๊ฐ) ๋ง์ผ๋ก ํํ๋๋ ๋ฌผ๋ฆฌ๋ - ์์:
- ์ง๋: 60kg
- ์จ๋: 25โ
- ์๊ฐ: 10์ด
- ์๋ ฅ: 80km/h
- ํน์ง:
๋ง์ , ๋บ์ , ๊ณฑ์ ๋ฑ ๋จ์ํ ์ํ ์ฐ์ฐ ๊ฐ๋ฅ - ์ํ์ ํํ:
๊ทธ๋ฅ ์ซ์ ํ๋๋ก ํํ → ์: 5, 3.2, -7
๐ ๋น์ :
์ค์นผ๋ผ๋ “์”๋ง ์๋ ๊ฐ์ด์์.
์๋ฅผ ๋ค์ด, “5m๋ฅผ ์ด๋ํ๋ค”๋ผ๊ณ ๋ง ํ๋ฉด ์ด๋๋ก ๊ฐ๋์ง ์ ์ ์์ฃ → ์ค์นผ๋ผ
๐งญ ๋ฒกํฐ(Vector)
- ์๋ฏธ:
ํฌ๊ธฐ์ ๋ฐฉํฅ์ ํจ๊ป ๊ฐ์ง๋ ๋ฌผ๋ฆฌ๋ - ์์:
- ์๋: ์์ 80km, ๋ถ์ชฝ ๋ฐฉํฅ
- ํ: 10N, ์ค๋ฅธ์ชฝ ๋ฐฉํฅ
- ๊ฐ์๋, ์ ๊ธฐ์ฅ, ์๊ธฐ์ฅ ๋ฑ
- ํน์ง:
๋ฐฉํฅ์ด ์์ผ๋ฏ๋ก ๋ง์ /๋บ์ ์ ๋ฐฉํฅ๋ ๊ณ ๋ คํด์ผ ํจ - ์ํ์ ํํ:
(x, y, z) ๊ฐ์ ์ขํ ํํ๋ก ํํ → ์: →v = (3, 4)
(์ฌ๊ธฐ์ ํฌ๊ธฐ๋ √(3² + 4²) = 5)
๐ ๋น์ :
๋ฒกํฐ๋ “์ + ๋ฐฉํฅ”์ด ์๋ ๊ฐ์ด์์.
“5m๋ฅผ ๋์ชฝ์ผ๋ก ์ด๋ํ๋ค” → ๋ฒกํฐ
๐ ํ๋์ ๋น๊ต
| ๊ตฌ์ฑ ์์ | ํฌ๊ธฐ๋ง ์์ | ํฌ๊ธฐ + ๋ฐฉํฅ |
| ์์ | ์ง๋, ์๊ฐ, ์จ๋, ์๋์ง | ์๋, ํ, ๊ฐ์๋, ๋ณ์ |
| ํํ ๋ฐฉ๋ฒ | ์ซ์ ํ๋ | ์ขํ๋ ํ์ดํ |
| ์ฐ์ฐ ๋ฐฉ์ | ๋จ์ ์ํ์ ์ฐ์ฐ | ํฌ๊ธฐ์ ๋ฐฉํฅ ๋ชจ๋ ๊ณ ๋ ค |
| ๊ทธ๋ํ ํํ | ์ (๋๋ ๊ธธ์ด ์๋ ๊ฐ) | ํ์ดํ(๋ฐฉํฅ๊ณผ ๊ธธ์ด) |
๋ฌด๋ฃ ํ๊ตญ์ด GPT์ ๋ง:
์ข์ ์ง๋ฌธ์ด์์ ๐
JPA(Java Persistence API) ์์ “ํฌ๋ก์ค ์ํฐํฐ(Cross-Entity)” ๋ผ๋ ๊ฐ๋
์ ์ฌ๋ฌ ์ํฐํฐ(Entity)๊ฐ ์๋ก ์ฐ๊ด ๊ด๊ณ๋ฅผ ๋งบ๊ฑฐ๋, ํ๋์ ๋น์ฆ๋์ค ๋ก์ง์ด ์ฌ๋ฌ ์ํฐํฐ๋ฅผ ์์ฐ๋ฅด๋ฉฐ ๋์ํ๋ ๊ฒฝ์ฐ๋ฅผ ๋งํ์ฃ .
์ด๋ฐ ๊ตฌ์กฐ๋ ๋จ์ํ ORM(Entity ๋งคํ) ์ด์์ ์ค๊ณ ๊ด์ ์ด ํ์ํ๊ธฐ ๋๋ฌธ์,
๋ช ๊ฐ์ง GoF ๋์์ธ ํจํด๊ณผ ๋ฐ์ ํ ์ฐ๊ด์ด ์์ต๋๋ค.
๐งฉ 1. ํต์ฌ์ ์ผ๋ก ๋ฎ์ ํจํด: Mediator(์ค์ฌ์) ํจํด
๐ฏ ๊ฐ๋ ์์ฝ
“๊ฐ์ฒด๋ค์ด ์ง์ ์๋ก ํต์ ํ์ง ์๊ณ , ์ค์ฌ์๋ฅผ ํตํด ํ๋ ฅํ๋๋ก ๋ง๋๋ ํจํด.”
- JPA์ ํฌ๋ก์ค ์ํฐํฐ ๋ก์ง์ ์ฌ๋ฌ ์ํฐํฐ๊ฐ ์๋ก ์ํฅ์ ์ฃผ๊ณ ๋ฐ์ ๋,
์ํฐํฐ๋ผ๋ฆฌ ์ง์ ์์กดํ์ง ์๋๋ก ์๋น์ค ๋ ์ด์ด๋ ๋๋ฉ์ธ ์๋น์ค๊ฐ ์ค์ฌ์ ์ญํ ์ ํฉ๋๋ค.
๐ก ์์
โก ์ฌ๊ธฐ์ Order์ Payment ์ํฐํฐ๋ ์ง์ ์์กดํ์ง ์๊ณ ,
OrderService๊ฐ **์ค์ฌ์(Mediator)**๋ก ์๋ํฉ๋๋ค.
๋ฐ๋ผ์ ํฌ๋ก์ค ์ํฐํฐ ๋ก์ง์ Mediator ํจํด์ ์ฒ ํ๊ณผ ๊ฑฐ์ ๋์ผํฉ๋๋ค.
๐ ์ ๋ฆฌ
| Mediator (์ค์ฌ์) | โญ ๊ฐ์ฅ ๋ฐ์ | ์ฌ๋ฌ ์ํฐํฐ ๊ฐ ํ๋ ฅ์ ์ค์ฌ์(์๋น์ค)๊ฐ ๊ด๋ฆฌ |
| Facade (ํผ์ฌ๋) | ์์ฃผ ํจ๊ป ์ฌ์ฉ | ๋ณต์กํ ์ํฐํฐ ๋ก์ง์ ๋จ์ผ ์ง์ ์ ์ผ๋ก ๋จ์ํ |
| Observer (์ต์ ๋ฒ) | ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ค๊ณ ์ | ํ ์ํฐํฐ์ ๋ณ๊ฒฝ์ด ๋ค๋ฅธ ์ํฐํฐ์ ์๋ ๋ฐ์ |
| Command (์ปค๋งจ๋) | ํธ๋์ญ์ ๋จ์๋ก ๋ฌถ์ ๋ | ์ฌ๋ฌ ์ํฐํฐ ์์ ์ ํ๋์ ๋ช ๋ น ๊ฐ์ฒด๋ก ์ฒ๋ฆฌ |
โ ๊ฒฐ๋ก
JPA์ ํฌ๋ก์ค ์ํฐํฐ ์ค๊ณ๋ ๋ณธ์ง์ ์ผ๋ก “Mediator ํจํด”์ ๊ฐ์ฅ ๊ฐ๊น์ต๋๋ค.
- ์๋น์ค ๋ ์ด์ด๊ฐ ์ฌ๋ฌ ์ํฐํฐ ๊ฐ์ ์ํธ์์ฉ์ ์ค์ฌ
- ์ํฐํฐ ๊ฐ ์ง์ ์์กด์ ์ต์ํ
- ์ฝ๋ ์์ง๋๋ ๋์ด๊ณ ๊ฒฐํฉ๋๋ ๋ฎ์ถ๋ ๊ตฌ์กฐ
๐ ์ ๋ฆฌ ๋น๊ตํ
| ์ค๋ณต ๊ฐ๋ฅ? | โ ๋ถ๊ฐ๋ฅ | โ ๋ถ๊ฐ๋ฅ |
| NULL ๊ฐ๋ฅ? | โ ๋ถ๊ฐ๋ฅ | โญ ๊ฐ๋ฅ |
| ํ ์ด๋ธ๋น ๊ฐ์ | 1๊ฐ๋ง ๊ฐ๋ฅ | ์ฌ๋ฌ ๊ฐ ๊ฐ๋ฅ |
| ์ฃผ๋ก ์ฐ๋ ๋ชฉ์ | ํ ๊ตฌ๋ถ (์๋ณ์) | ํน์ ๊ฐ์ ๊ณ ์ ์ฑ ์ ์ง |
๐งญ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฝ ์กฐ๊ฑด & ์ธ๋ฑ์ค ๋น๊ตํ
| ์๋ฏธ | ๊ฐ ํ(Row)์ ์ ์ผํ๊ฒ ์๋ณํ๋ ๊ธฐ๋ณธ ํค | ๋ค๋ฅธ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค๋ฅผ ์ฐธ์กฐํ๋ ์ธ๋ ํค | ํน์ ์ปฌ๋ผ ๊ฐ์ ์ค๋ณต์ ๋ง๋ ์ ์ฝ | ๋ฐ์ดํฐ ๊ฒ์ ์๋๋ฅผ ๋์ด๊ธฐ ์ํ ๊ตฌ์กฐ |
| ์ค๋ณต ํ์ฉ | โ ๋ถ๊ฐ๋ฅ | โญ ๊ฐ๋ฅ (์ฐธ์กฐ ๊ฐ๋ง ์ ํจํด์ผ ํจ) | โ ๋ถ๊ฐ๋ฅ | โญ ๊ฐ๋ฅ |
| NULL ํ์ฉ | โ ๋ถ๊ฐ๋ฅ | โญ ๊ฐ๋ฅ | โญ ๊ฐ๋ฅ | โญ ๊ฐ๋ฅ |
| ๊ฐ์ ์ ํ | 1๊ฐ๋ง ๊ฐ๋ฅ | ์ฌ๋ฌ ๊ฐ ๊ฐ๋ฅ | ์ฌ๋ฌ ๊ฐ ๊ฐ๋ฅ | ์ฌ๋ฌ ๊ฐ ๊ฐ๋ฅ |
| ์ฃผ์ ๋ชฉ์ | ๋ฐ์ดํฐ ์๋ณ | ๋ฐ์ดํฐ ์ฐ๊ฒฐ(์ฐธ์กฐ) | ๋ฐ์ดํฐ ๊ณ ์ ์ฑ ์ ์ง | ๋ฐ์ดํฐ ์กฐํ ์๋ ํฅ์ |
| ์๋ ์ธ๋ฑ์ค ์์ฑ | โญ ์๋ ์์ฑ๋จ | โ (ํ์์ ์๋) | โญ ์๋ ์์ฑ๋จ | โญ ์ง์ ์์ฑ |
| ์ญ์ /๋ณ๊ฒฝ ์ ์ํฅ | ์์ ํ ์ด๋ธ์ FK ์ ์ฝ ์ํฅ ๊ฐ๋ฅ | ๋ถ๋ชจ ํ ์ด๋ธ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ ํ | ์์ | ์์ |
'Project ESG+AI > Tech Basics' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 22์ผ์ฐจ. IT ๊ฐ๋ ์ ๋ฆฌ (0) | 2025.11.07 |
|---|---|
| 21์ผ์ฐจ. IT ๊ฐ๋ ์ ๋ฆฌ (0) | 2025.11.06 |
| 19์ผ์ฐจ. IT ๊ฐ๋ ์ ๋ฆฌ (0) | 2025.11.04 |
| ์คํ๋ง(Spring) ๊ธฐ๋ฐ ๋ฐฑ์๋ ๊ตฌ์กฐ์ ์ ๋ฐ์ ์ธ ํ๋ฆ๊ณผ ์ญํ ๊ด๊ณ (0) | 2025.11.04 |
| 18์ผ์ฐจ. IT ๊ฐ๋ ์ ๋ฆฌ (0) | 2025.11.03 |