Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
b66f27c
refactor: ๊ธฐ๋ฌผ ์œ„์น˜ ๋ณ€์œ„ ๊ณ„์‚ฐ ๋ฉ”์†Œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •
jihwankim128 Apr 5, 2026
bf54f5f
refactor: formation ์ƒ์„ฑ ์‹œ ํŒ€ ์ •๋ณด๊ฐ€ ๋‚จ์šฉ๋˜๋Š” ์ฝ”๋“œ ๊ฐœ์„ 
jihwankim128 Apr 5, 2026
d1fd27e
refactor: ํ˜„์žฌ ํ„ด์— ๋Œ€ํ•œ ๊ธฐ๋ฌผ ์„ ํƒ ๊ฒ€์ฆ ๊ตฌ์กฐ๋ฅผ ์‹ฌํ”Œํ•˜๊ฒŒ ๊ฐœ์„ 
jihwankim128 Apr 5, 2026
7ea6c25
refactor: ์™ธ๋ถ€์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์€๋‹‰
jihwankim128 Apr 5, 2026
680d31c
refactor: ๊ธฐ๋ฌผ ์ด๋™ ๊ฒฝ๋กœ ๊ด€๋ฆฌ ์ฑ…์ž„ ์‘์ง‘๋„ ํ–ฅ์ƒ
jihwankim128 Apr 5, 2026
c505276
docs: cycle 2 - 1๋‹จ๊ณ„ ๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ ๋ฌธ์„œ ์ •๋ฆฌ
jihwankim128 Apr 6, 2026
fff2d8c
feat: ์žฅ/์‚ฌ ๊ถ์„ฑ ์˜์—ญ ์ด๋™ ์ถ”๊ฐ€
jihwankim128 Apr 7, 2026
6335b6b
feat: ์ฐจ/ํฌ ๊ถ์„ฑ ์˜์—ญ ๊ธฐ๋ฌผ ์ด๋™ ๋กœ์ง ์ถ”๊ฐ€
jihwankim128 Apr 7, 2026
c0f1199
refactor: ํ…Œ์ŠคํŠธ ์ค‘๋ณต ๋กœ์ง ์ œ๊ฑฐ
jihwankim128 Apr 7, 2026
938d089
fix: ์ง์ง„ ๊ธฐ๋ฌผ ๊ต์ฐจ์ ์—์„œ ์ด๋™ ๋กœ์ง ๋ฒ„๊ทธ ํ•ด๊ฒฐ
jihwankim128 Apr 7, 2026
f0c0e84
feat: ์กธ ๊ถ์„ฑ ์ด๋™ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
jihwankim128 Apr 7, 2026
69bbb8d
test: ํฌ์— ๋Œ€ํ•œ ๋ธŒ๋žœ์น˜ ์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด์™„ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€
jihwankim128 Apr 7, 2026
3b59fb7
test: ๊ถ์„ฑ ๊ธฐ๋ฌผ ๋ธŒ๋žœ์น˜ ์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด์™„ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€
jihwankim128 Apr 7, 2026
15e9584
feat: ์™•์ด ์žกํ˜”์„ ๋•Œ ๊ฒŒ์ž„์„ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€
jihwankim128 Apr 7, 2026
69c10bc
feat: ๋น…์žฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
jihwankim128 Apr 8, 2026
5978b5f
refactor: ์žฅ๊ธฐ ์ƒํƒœ๋ฅผ state ํŒจํ„ด์œผ๋กœ ๋ถ„๋ฆฌ
jihwankim128 Apr 8, 2026
f0a01c8
test: ๋น…์žฅ ์ƒํƒœ์—์„œ ์Šน์ž ๊ตฌํ•˜๋Š” ๋กœ์ง ์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด์™„
jihwankim128 Apr 8, 2026
9d13096
refactor: Console ์ปจํŠธ๋กค๋Ÿฌ์™€ ๊ฐ•๊ฒฐํ•ฉ ๋œ View static์œผ๋กœ ๋ณ€๊ฒฝ
jihwankim128 Apr 8, 2026
d1ef514
refactor: presentation ๊ณ„์ธต ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ
jihwankim128 Apr 8, 2026
a4d06c0
docs: ์žฅ๊ธฐ 2๋‹จ๊ณ„ DB ์ ์šฉ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
jihwankim128 Apr 9, 2026
fb723c1
feat: ์žฅ๊ธฐ ๊ธฐ๋Šฅ ํ™•์žฅ์— ๋Œ€ํ•œ front controller ๋ถ„๋ฆฌ
jihwankim128 Apr 9, 2026
b7ae746
refactor: third party๋ฅผ ๋Œ€๋น„ํ•œ ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝ
jihwankim128 Apr 9, 2026
cd79025
feat: ๊ฒŒ์ž„ ์ด์–ด์„œ ์ง„ํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€
jihwankim128 Apr 9, 2026
5ce67f6
chore: mysql docker compose ์ถ”๊ฐ€
jihwankim128 Apr 9, 2026
65e0c51
feat: ์žฅ๊ธฐ JDBC Repository๋กœ ์ถ”๊ฐ€ ๋ฐ ๊ต์ฒด
jihwankim128 Apr 9, 2026
cb9865e
refactor: jdbc repository type ๋งคํ•‘ ์ฑ…์ž„ ๋ถ„๋ฆฌ
jihwankim128 Apr 9, 2026
8abfc7c
refactor: ํ„ด ๋ณ€๊ฒฝ & ๊ธฐ๋ฌผ ์ €์žฅ์— ๋Œ€ํ•œ ํŠธ๋žœ์žญ์…˜ ์›์ž์„ฑ ์ ์šฉ
jihwankim128 Apr 9, 2026
a8ca96b
refactor: ์žฅ๊ธฐ ๊ธฐ๋ฌผ ์ด๋™ ์‹œ ์ €์žฅ ๋กœ์ง ๋ฒŒํฌ ์—ฐ์‚ฐ ์ ์šฉ
jihwankim128 Apr 9, 2026
b5502ea
refactor: jdbcTemplate ๊ณตํ†ต ๋กœ์ง ๋ถ„๋ฆฌ
jihwankim128 Apr 9, 2026
eb0246b
refactor: Connection ๊ด€์‹ฌ์‚ฌ manager๋กœ ๋ถ„๋ฆฌ
jihwankim128 Apr 9, 2026
0b127cf
docs: db ์‹คํ–‰ ๋ฐฉ๋ฒ• ๋ฌธ์„œ ์ถ”๊ฐ€
jihwankim128 Apr 9, 2026
e3b6123
refactor: ์กฐํšŒ์šฉ service ์ฑ…์ž„ ๋ถ„๋ฆฌ
jihwankim128 Apr 9, 2026
d81abb1
refactor: ๋ถˆํ•„์š”ํ•œ tx proxy ๊ณ„์ธต ์ œ๊ฑฐ
jihwankim128 Apr 12, 2026
449ca2c
refactor: repository ๊ณ„์ธต is-a ๊ด€๊ณ„ ์ œ๊ฑฐ
jihwankim128 Apr 12, 2026
f56b36e
refactor: ui ๊ณ„์ธต ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ ๋ฐ is-a ๊ด€๊ณ„ ์ œ๊ฑฐ
jihwankim128 Apr 12, 2026
71c36f4
refactor: ํŒŒํŽธํ™” ๋œ ์žฅ๊ธฐ ๊ฒŒ์ž„ ์ƒํƒœ ๋กœ์ง ์‘์ง‘
jihwankim128 Apr 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
281 changes: 269 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
# 1๋‹จ๊ณ„ - ๋ณด๋“œ ์ดˆ๊ธฐํ™”
# ์‹คํ–‰ ๋ฐฉ๋ฒ•

`docker-compose up -d`๋กœ db ์„ธํŒ… ํ›„ ํ”„๋กœ์ ํŠธ ์‹คํ–‰

---

# Cycle 1

## 1๋‹จ๊ณ„ - ๋ณด๋“œ ์ดˆ๊ธฐํ™”

```
ํ•œ๋‚˜๋ผ์˜ ์ƒ์ฐจ๋ฆผ์„ ์„ ํƒํ•ด์ฃผ์„ธ์š”.
Expand Down Expand Up @@ -35,7 +43,7 @@
ใ€€๏ผ‹๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ‹
```

## ๊ธฐ๋Šฅ ์ •๋ฆฌ
### ๊ธฐ๋Šฅ ์ •๋ฆฌ

- ์ƒ์ฐจ๋ฆผ ์ˆœ์„œ ๊ด€๋ฆฌ
- ํ•œ๋‚˜๋ผ๋ถ€ํ„ฐ ์ƒ์ฐจ๋ฆผ ์ž…๋ ฅ์„ ๋ฐ›๋Š”๋‹ค.
Expand All @@ -56,7 +64,7 @@
- ๋‚˜๋ผ ์ •๋ณด
- ํ•œ, ์ดˆ

## ๊ตฌํ˜„ ์ˆœ์„œ
### ๊ตฌํ˜„ ์ˆœ์„œ

* ์ดˆ๋‚˜๋ผ/ํ•œ๋‚˜๋ผ ์ƒ์ฐจ๋ฆผ ์ž…๋ ฅ
* ๋‚˜๋ผ ๋ณ„ ์œ ํšจํ•œ ์ƒ์ฐจ๋ฆผ์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.
Expand All @@ -70,11 +78,11 @@
* ์žฅ๊ธฐํŒ ์œ„์น˜ ๋ฒ”์œ„๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•ด์•ผํ•œ๋‹ค.
* ์žฅ๊ธฐํŒ์ด ํ•„์š”ํ•˜๋‹ค.

# 2๋‹จ๊ณ„ - ๊ธฐ๋ฌผ ์ด๋™
## 2๋‹จ๊ณ„ - ๊ธฐ๋ฌผ ์ด๋™

- 2๋‹จ๊ณ„์—์„œ๋Š” ๊ธฐ๋ฌผ ์ด๋™ ๊ตฌํ˜„์ด ๋ชฉ์ ์ด๋‹ˆ๊นŒ ์ข…๋ฃŒ๋Š” `Ctrl+C`๋กœ ๊ฐ•์ œ ์ข…๋ฃŒํ•œ๋‹ค.

## ์ž˜๋ชป๋œ ๊ธฐ๋ฌผ ์„ ํƒ ์‹œ๋‚˜๋ฆฌ์˜ค
### ์ž˜๋ชป๋œ ๊ธฐ๋ฌผ ์„ ํƒ ์‹œ๋‚˜๋ฆฌ์˜ค

1. ๋‹ค๋ฅธ ๋‚˜๋ผ์˜ ๊ธฐ๋ฌผ์„ ์„ ํƒํ–ˆ์„ ๋•Œ
1. ์˜ˆ์™ธ: ๋‹ค๋ฅธ๋‚˜๋ผ์˜ ๊ธฐ๋ฌผ ์„ ํƒ
Expand All @@ -83,7 +91,7 @@
1. ์˜ˆ์™ธ: ๊ธฐ๋ฌผ์ด ์—†๋Š” ๊ณณ์„ ์„ ํƒ
2. `[ERROR] ํ˜„์žฌ ์œ„์น˜์— ์กด์žฌํ•˜๋Š” ๊ธฐ๋ฌผ์ด ์—†์Šต๋‹ˆ๋‹ค.`

## ๊ธฐ๋ฌผ ์ด๋™ ๊ทœ์น™
### ๊ธฐ๋ฌผ ์ด๋™ ๊ทœ์น™

- ๊ถ์„ฑ ์˜์—ญ - ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค. (์‚ฌ์ดํด 2)
- ๊ธฐ๋ฌผ ์ด๋™ ๊ทœ์น™ ๊ณตํ†ต
Expand All @@ -104,7 +112,7 @@
- ํ•œ ์นธ์ด๋ผ์„œ ๊ฒฝ๋กœ์— ๊ธฐ๋ฌผ์ด ์žˆ์„ ๋ฆฌ๊ฐ€ ์—†๋‹ค.
- `์‚ฌ, ์žฅ`: ๊ถ์„ฑ ์˜์—ญ์ด๋ฏ€๋กœ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๋Š”๋‹ค.

## ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ
### ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

```
1๋‹จ๊ณ„ ...
Expand All @@ -129,7 +137,6 @@
[์ดˆ๋‚˜๋ผ] ๊ธฐ๋ฌผ ๅ’์˜ ๋‹ค์Œ ์œ„์น˜๋ฅผ ์„ ํƒํ•ด์ฃผ์„ธ์š”. (์‰ผํ‘œ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฆฌ)
์œ„์น˜: 6,7


ใ€€ใ€€ใ€€๏ผใ€€๏ผ‘ใ€€๏ผ’ใ€€๏ผ“ใ€€๏ผ”ใ€€๏ผ•ใ€€๏ผ–ใ€€๏ผ—ใ€€๏ผ˜
ใ€€๏ผ‹๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ‹
๏ผ๏ฝœใ€€่ปŠใ€€้ฆฌใ€€่ฑกใ€€ๅฃซใ€€๏ผŠใ€€ๅฃซใ€€่ฑกใ€€้ฆฌใ€€่ปŠใ€€๏ฝœ
Expand All @@ -149,11 +156,9 @@

[ERROR] ํ˜„์žฌ ์œ„์น˜์— ์กด์žฌํ•˜๋Š” ๊ธฐ๋ฌผ์ด ์—†์Šต๋‹ˆ๋‹ค.


[ํ•œ๋‚˜๋ผ] ์ด๋™ํ•  ๊ธฐ๋ฌผ์„ ์„ ํƒํ•ด์ฃผ์„ธ์š”. (์‰ผํ‘œ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฆฌ)
๊ธฐ๋ฌผ: 3,0


[ํ•œ๋‚˜๋ผ] ๊ธฐ๋ฌผ ๅ…ต์˜ ๋‹ค์Œ ์œ„์น˜๋ฅผ ์„ ํƒํ•ด์ฃผ์„ธ์š”. (์‰ผํ‘œ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฆฌ)
์œ„์น˜: 3,1

Expand All @@ -172,7 +177,7 @@
ใ€€๏ผ‹๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ‹
```

## ๊ตฌํ˜„ ์ˆœ์„œ
### ๊ตฌํ˜„ ์ˆœ์„œ

1. ๊ธฐ๋ฌผ ์ด๋™ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
* ๋‚˜๋ผ ๋ณ„ ์ž…๋ ฅ
Expand All @@ -183,4 +188,256 @@
* ๊ธฐ๋ฌผ์˜ ์ด๋™ํ•  ์œ„์น˜๋ฅผ ์ž…๋ ฅ ๋ฐ›๋Š”๋‹ค.
* ์ž˜๋ชป๋œ ๋ฒ”์œ„๋ผ๋ฉด ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒํ•œ๋‹ค.
* ํ•ด๋‹น ์œ„์น˜์— ์•„๊ตฐ์˜ ๊ธฐ๋ฌผ์ด ์กด์žฌํ•œ๋‹ค๋ฉด ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
* ๊ธฐ๋ฌผ ๋ณ„๋กœ ์ด๋™ํ•  ์ˆ˜ ์—†๋Š” ๋ชฉ์ ์ง€๋ผ๋ฉด ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
* ๊ธฐ๋ฌผ ๋ณ„๋กœ ์ด๋™ํ•  ์ˆ˜ ์—†๋Š” ๋ชฉ์ ์ง€๋ผ๋ฉด ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

---

# Cycle2

## 1๋‹จ๊ณ„ - ๊ธฐ๋ฌผ์˜ ํ™•์žฅ

1. ๊ถ์„ฑ ์˜์—ญ์„ ์ •์˜ํ•œ๋‹ค.
* ํ•œ๋‚˜๋ผ ๊ถ์„ฑ: (0,3) ~ (2,5) ๋‚ด 9๊ฐœ ์œ„์น˜
* ์ดˆ๋‚˜๋ผ ๊ถ์„ฑ: (7,3) ~ (9,5) ๋‚ด 9๊ฐœ ์œ„์น˜
* ๊ถ์„ฑ ๋‚ด ๋Œ€๊ฐ์„  ์ด๋™ ๊ฐ€๋Šฅ ๊ต์ฐจ์ ์„ ์ •์˜ํ•œ๋‹ค.
* ํ•œ๋‚˜๋ผ: (0,3), (0,5), (1,4), (2,3), (2,5)
* ์ดˆ๋‚˜๋ผ: (7,3), (7,5), (8,4), (9,3), (9,5)
2. ์žฅ(ๅฐ‡/ๆฅš), ์‚ฌ(ๅฃซ)์˜ ์ด๋™์„ ๊ตฌํ˜„ํ•œ๋‹ค.
* ์ถœ๋ฐœ ์ง€์ ์ด ๊ถ์„ฑ ์˜์—ญ์ด ์•„๋‹ˆ๋ผ๋ฉด ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
* ๋„์ฐฉ ์ง€์ ์ด ๊ถ์„ฑ ์˜์—ญ์ด ์•„๋‹ˆ๋ผ๋ฉด ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
* ์ง์„ (์ƒํ•˜์ขŒ์šฐ) ํ•œ ์นธ ์ด๋™์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
* ๋Œ€๊ฐ์„  ํ•œ ์นธ ์ด๋™์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
* ๋Œ€๊ฐ์„  ์ด๋™์€ ๊ถ์„ฑ ๋‚ด ๋Œ€๊ฐ์„  ๊ต์ฐจ์ ์—์„œ๋งŒ ์ถœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.
3. ์ฐจ(่ปŠ)์˜ ๊ถ์„ฑ ๋‚ด ์ด๋™์„ ์ถ”๊ฐ€ ๊ตฌํ˜„ํ•œ๋‹ค.
* ๊ถ์„ฑ ๋‚ด์—์„œ ๋Œ€๊ฐ์„  ์ด๋™์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
* ๋Œ€๊ฐ์„  ์ด๋™์€ ๊ถ์„ฑ ๋‚ด ๋Œ€๊ฐ์„  ๊ต์ฐจ์ ์—์„œ๋งŒ ์ถœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.
* ๋Œ€๊ฐ์„  ์ด๋™ ๊ฒฝ๋กœ ์ƒ์— ๊ธฐ๋ฌผ์ด ์žˆ์œผ๋ฉด ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
4. ํฌ(ๅŒ…)์˜ ๊ถ์„ฑ ๋‚ด ์ด๋™์„ ์ถ”๊ฐ€ ๊ตฌํ˜„ํ•œ๋‹ค.
* ๊ถ์„ฑ ๋‚ด์—์„œ ๋Œ€๊ฐ์„  ์ด๋™์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
* ๋Œ€๊ฐ์„  ์ด๋™์€ ๊ถ์„ฑ ๋‚ด ๋Œ€๊ฐ์„  ๊ต์ฐจ์ ์—์„œ๋งŒ ์ถœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.
* ๋Œ€๊ฐ์„  ์ด๋™ ๊ฒฝ๋กœ ์ƒ์— ์ •ํ™•ํžˆ ํ•˜๋‚˜์˜ ๊ธฐ๋ฌผ์„ ๋›ฐ์–ด๋„˜์–ด์•ผ ํ•œ๋‹ค.
* ํฌ๋Š” ๋›ฐ์–ด๋„˜์„ ์ˆ˜ ์—†๋‹ค.
5. ์กธ(ๅ’)/๋ณ‘(ๅ…ต)์˜ ๊ถ์„ฑ ๋‚ด ์ด๋™์„ ์ถ”๊ฐ€ ๊ตฌํ˜„ํ•œ๋‹ค.
* ๊ถ์„ฑ ๋‚ด์—์„œ ๋Œ€๊ฐ์„  ํ•œ ์นธ ์ด๋™์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
* ๋Œ€๊ฐ์„  ์ด๋™์€ ๊ถ์„ฑ ๋‚ด ๋Œ€๊ฐ์„  ๊ต์ฐจ์ ์—์„œ๋งŒ ์ถœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.
* ์ „์ง„ ๋ฐฉํ–ฅ ๋Œ€๊ฐ์„ ๋งŒ ์ด๋™ ๊ฐ€๋Šฅํ•˜๋‹ค.
6. ๊ฒŒ์ž„ ์ข…๋ฃŒ
* ์™•(์žฅ)์ด ์žกํžˆ๋ฉด ๊ฒŒ์ž„์ด ์ข…๋ฃŒ๋œ๋‹ค.
* ํ•œ๋‚˜๋ผ ์™•์ด ์žกํžˆ๋ฉด ์ดˆ๋‚˜๋ผ๊ฐ€ ์Šน๋ฆฌํ•œ๋‹ค.
* ์ดˆ๋‚˜๋ผ ์™•์ด ์žกํžˆ๋ฉด ํ•œ๋‚˜๋ผ๊ฐ€ ์Šน๋ฆฌํ•œ๋‹ค.
* ๊ฒŒ์ž„ ์ข…๋ฃŒ ์‹œ ์Šน๋ฆฌํ•œ ํŒ€์„ ์ถœ๋ ฅํ•œ๋‹ค.
7. ์ ์ˆ˜ ๊ณ„์‚ฐ
* ์™•์ด ์žกํžˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ ์ˆ˜๋กœ ์ŠนํŒจ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. (๋น…์žฅ)
* ์ ์ˆ˜๊ฐ€ ๋†’์€ ํŒ€์ด ์Šน๋ฆฌํ•œ๋‹ค.
* 1.5์  ๊ฐ€์‚ฐ์œผ๋กœ ์ธํ•ด ๋ฌด์Šน๋ถ€๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.
* ์ดˆ๋‚˜๋ผ๋Š” ํ›„์ˆ˜์ด๋ฏ€๋กœ 1.5์ ์˜ ์ถ”๊ฐ€ ์ ์ˆ˜๋ฅผ ๋ฐ›๋Š”๋‹ค.

### ์˜ˆ์‹œ ์ถœ๋ ฅ 1) ๋น…์žฅ

```
ใ€€ใ€€ใ€€๏ผใ€€๏ผ‘ใ€€๏ผ’ใ€€๏ผ“ใ€€๏ผ”ใ€€๏ผ•ใ€€๏ผ–ใ€€๏ผ—ใ€€๏ผ˜
ใ€€๏ผ‹๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ‹
๏ผ๏ฝœใ€€่ปŠใ€€้ฆฌใ€€่ฑกใ€€ๅฃซใ€€๏ผŠใ€€ๅฃซใ€€่ฑกใ€€้ฆฌใ€€่ปŠใ€€๏ฝœ
๏ผ‘๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๆผขใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ’๏ฝœใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ฝœ
๏ผ“๏ฝœใ€€ๅ…ตใ€€๏ผŠใ€€ๅ…ตใ€€ๅ…ตใ€€๏ผŠใ€€๏ผŠใ€€ๅ…ตใ€€๏ผŠใ€€ๅ…ตใ€€๏ฝœ
๏ผ”๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ•๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ–๏ฝœใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€ๅ’ใ€€๏ผŠใ€€๏ผŠใ€€ๅ’ใ€€ๅ’ใ€€๏ผŠใ€€๏ฝœ
๏ผ—๏ฝœใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ฝœ
๏ผ˜๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๆฅšใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ™๏ฝœใ€€่ปŠใ€€้ฆฌใ€€่ฑกใ€€ๅฃซใ€€๏ผŠใ€€ๅฃซใ€€่ฑกใ€€้ฆฌใ€€่ปŠใ€€๏ฝœ
ใ€€๏ผ‹๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ‹

[์ดˆ๋‚˜๋ผ] ๋น…์žฅ์ž…๋‹ˆ๋‹ค! ์ข…๋ฃŒํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? (Y, N)
N

[์ดˆ๋‚˜๋ผ] ์ด๋™ํ•  ๊ธฐ๋ฌผ์„ ์„ ํƒํ•ด์ฃผ์„ธ์š”. (์‰ผํ‘œ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฆฌ)
๊ธฐ๋ฌผ: 6,3

[์ดˆ๋‚˜๋ผ] ๊ธฐ๋ฌผ ๅ’์˜ ๋‹ค์Œ ์œ„์น˜๋ฅผ ์„ ํƒํ•ด์ฃผ์„ธ์š”. (์‰ผํ‘œ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฆฌ)
์œ„์น˜: 5,3

ใ€€ใ€€ใ€€๏ผใ€€๏ผ‘ใ€€๏ผ’ใ€€๏ผ“ใ€€๏ผ”ใ€€๏ผ•ใ€€๏ผ–ใ€€๏ผ—ใ€€๏ผ˜
ใ€€๏ผ‹๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ‹
๏ผ๏ฝœใ€€่ปŠใ€€้ฆฌใ€€่ฑกใ€€ๅฃซใ€€๏ผŠใ€€ๅฃซใ€€่ฑกใ€€้ฆฌใ€€่ปŠใ€€๏ฝœ
๏ผ‘๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๆผขใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ’๏ฝœใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ฝœ
๏ผ“๏ฝœใ€€ๅ…ตใ€€๏ผŠใ€€ๅ…ตใ€€ๅ…ตใ€€๏ผŠใ€€๏ผŠใ€€ๅ…ตใ€€๏ผŠใ€€ๅ…ตใ€€๏ฝœ
๏ผ”๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ•๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๅ’ใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ–๏ฝœใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๅ’ใ€€ๅ’ใ€€๏ผŠใ€€๏ฝœ
๏ผ—๏ฝœใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ฝœ
๏ผ˜๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๆฅšใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ™๏ฝœใ€€่ปŠใ€€้ฆฌใ€€่ฑกใ€€ๅฃซใ€€๏ผŠใ€€ๅฃซใ€€่ฑกใ€€้ฆฌใ€€่ปŠใ€€๏ฝœ
ใ€€๏ผ‹๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ‹

[ํ•œ๋‚˜๋ผ] ๋น…์žฅ์ž…๋‹ˆ๋‹ค! ์ข…๋ฃŒํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? (Y, N)
Y

ํ•œ๋‚˜๋ผ ์Šน
์ดˆ๋‚˜๋ผ: 72์ 
ํ•œ๋‚˜๋ผ: 73.5์ 
```

### ์˜ˆ์‹œ ์ถœ๋ ฅ 2) ์™• ์ฃฝ์Œ

```
ใ€€ใ€€ใ€€๏ผใ€€๏ผ‘ใ€€๏ผ’ใ€€๏ผ“ใ€€๏ผ”ใ€€๏ผ•ใ€€๏ผ–ใ€€๏ผ—ใ€€๏ผ˜
ใ€€๏ผ‹๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ‹
๏ผ๏ฝœใ€€่ปŠใ€€๏ผŠใ€€่ฑกใ€€ๅฃซใ€€๏ผŠใ€€ๅฃซใ€€่ฑกใ€€้ฆฌใ€€่ปŠใ€€๏ฝœ
๏ผ‘๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๆผขใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ’๏ฝœใ€€๏ผŠใ€€ๅŒ…ใ€€้ฆฌใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ฝœ
๏ผ“๏ฝœใ€€ๅ…ตใ€€๏ผŠใ€€ๅ…ตใ€€ๅ…ตใ€€๏ผŠใ€€๏ผŠใ€€ๅ…ตใ€€๏ผŠใ€€ๅ…ตใ€€๏ฝœ
๏ผ”๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ•๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ–๏ฝœใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€๏ฝœ
๏ผ—๏ฝœใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€้ฆฌใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ˜๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๆฅšใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ™๏ฝœใ€€่ปŠใ€€้ฆฌใ€€่ฑกใ€€ๅฃซใ€€๏ผŠใ€€ๅฃซใ€€่ฑกใ€€๏ผŠใ€€่ปŠใ€€๏ฝœ
ใ€€๏ผ‹๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ‹

[์ดˆ๋‚˜๋ผ] ์ด๋™ํ•  ๊ธฐ๋ฌผ์„ ์„ ํƒํ•ด์ฃผ์„ธ์š”. (์‰ผํ‘œ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฆฌ)
๊ธฐ๋ฌผ: 7,4

[์ดˆ๋‚˜๋ผ] ๊ธฐ๋ฌผ ๅŒ…์˜ ๋‹ค์Œ ์œ„์น˜๋ฅผ ์„ ํƒํ•ด์ฃผ์„ธ์š”. (์‰ผํ‘œ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฆฌ)
์œ„์น˜: 1,4

ใ€€ใ€€ใ€€๏ผใ€€๏ผ‘ใ€€๏ผ’ใ€€๏ผ“ใ€€๏ผ”ใ€€๏ผ•ใ€€๏ผ–ใ€€๏ผ—ใ€€๏ผ˜
ใ€€๏ผ‹๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ‹
๏ผ๏ฝœใ€€่ปŠใ€€๏ผŠใ€€่ฑกใ€€ๅฃซใ€€๏ผŠใ€€ๅฃซใ€€่ฑกใ€€้ฆฌใ€€่ปŠใ€€๏ฝœ
๏ผ‘๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ’๏ฝœใ€€๏ผŠใ€€ๅŒ…ใ€€้ฆฌใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ฝœ
๏ผ“๏ฝœใ€€ๅ…ตใ€€๏ผŠใ€€ๅ…ตใ€€ๅ…ตใ€€๏ผŠใ€€๏ผŠใ€€ๅ…ตใ€€๏ผŠใ€€ๅ…ตใ€€๏ฝœ
๏ผ”๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ•๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ–๏ฝœใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€๏ฝœ
๏ผ—๏ฝœใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€้ฆฌใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ˜๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๆฅšใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ™๏ฝœใ€€่ปŠใ€€้ฆฌใ€€่ฑกใ€€ๅฃซใ€€๏ผŠใ€€ๅฃซใ€€่ฑกใ€€๏ผŠใ€€่ปŠใ€€๏ฝœ
ใ€€๏ผ‹๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ‹

์ดˆ๋‚˜๋ผ ์Šน
```

## 2๋‹จ๊ณ„ - DB ์ ์šฉ

1. ์ด์ „์— ํ•˜๋˜ ๊ฒŒ์ž„์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
* ์žฅ๊ธฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ทธ๋Œ€๋กœ ๊บผ๋‚ด์˜จ๋‹ค.
2. ์žฅ๊ธฐ ๊ฒŒ์ž„๋ฐฉ์„ ๋งŒ๋“ค๊ณ  ์žฅ๊ธฐ ๊ฒŒ์ž„๋ฐฉ์— ์ž…์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. (์„ ํƒ)
* ์ถ”ํ›„ ์ž‘์„ฑ

### ์ž˜๋ชป๋œ ๊ฒŒ์ž„ ๋ฉ”๋‰ด ์„ ํƒ

```text
> ์žฅ๊ธฐ ๊ฒŒ์ž„ ๋ฉ”๋‰ด

1. ๊ฒŒ์ž„ ์ด์–ด์„œ ์ง„ํ–‰ํ•˜๊ธฐ
2. ์ƒˆ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ
3. ์ข…๋ฃŒํ•˜๊ธฐ

๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•ด์ฃผ์„ธ์š”:
4

[ERROR] ์ž˜๋ชป๋œ ์ž…๋ ฅ์ž…๋‹ˆ๋‹ค.
```

### ์ข…๋ฃŒ๋œ ๊ฒŒ์ž„ ์„ ํƒ

```text

> ์žฅ๊ธฐ ๊ฒŒ์ž„ ๋ฉ”๋‰ด

1. ๊ฒŒ์ž„ ์ด์–ด์„œ ์ง„ํ–‰ํ•˜๊ธฐ
2. ์ƒˆ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ
3. ์ข…๋ฃŒํ•˜๊ธฐ

๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•ด์ฃผ์„ธ์š”:
1

> ์ด์–ด์„œ ์ง„ํ–‰ํ•  ๊ฒŒ์ž„์„ ์„ ํƒํ•ด์ฃผ์„ธ์š”.
1๋ฒˆ ๊ฒŒ์ž„: ์ข…๋ฃŒ ์ƒํƒœ
2๋ฒˆ ๊ฒŒ์ž„: ์ง„ํ–‰ ์ƒํƒœ

๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”:
1

ใ€€ใ€€ใ€€๏ผใ€€๏ผ‘ใ€€๏ผ’ใ€€๏ผ“ใ€€๏ผ”ใ€€๏ผ•ใ€€๏ผ–ใ€€๏ผ—ใ€€๏ผ˜
ใ€€๏ผ‹๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ‹
๏ผ๏ฝœใ€€่ปŠใ€€๏ผŠใ€€่ฑกใ€€ๅฃซใ€€๏ผŠใ€€ๅฃซใ€€่ฑกใ€€้ฆฌใ€€่ปŠใ€€๏ฝœ
๏ผ‘๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ’๏ฝœใ€€๏ผŠใ€€ๅŒ…ใ€€้ฆฌใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ฝœ
๏ผ“๏ฝœใ€€ๅ…ตใ€€๏ผŠใ€€ๅ…ตใ€€ๅ…ตใ€€๏ผŠใ€€๏ผŠใ€€ๅ…ตใ€€๏ผŠใ€€ๅ…ตใ€€๏ฝœ
๏ผ”๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ•๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ–๏ฝœใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€๏ฝœ
๏ผ—๏ฝœใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€้ฆฌใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ˜๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๆฅšใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ™๏ฝœใ€€่ปŠใ€€้ฆฌใ€€่ฑกใ€€ๅฃซใ€€๏ผŠใ€€ๅฃซใ€€่ฑกใ€€๏ผŠใ€€่ปŠใ€€๏ฝœ
ใ€€๏ผ‹๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ‹

์ดˆ๋‚˜๋ผ ์Šน
```

### ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒŒ์ž„ ์„ ํƒ

```text

> ์žฅ๊ธฐ ๊ฒŒ์ž„ ๋ฉ”๋‰ด

1. ๊ฒŒ์ž„ ์ด์–ด์„œ ์ง„ํ–‰ํ•˜๊ธฐ
2. ์ƒˆ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ
3. ์ข…๋ฃŒํ•˜๊ธฐ

๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•ด์ฃผ์„ธ์š”:
1

> ์ด์–ด์„œ ์ง„ํ–‰ํ•  ๊ฒŒ์ž„์„ ์„ ํƒํ•ด์ฃผ์„ธ์š”.
1๋ฒˆ ๊ฒŒ์ž„: ์ข…๋ฃŒ ์ƒํƒœ
2๋ฒˆ ๊ฒŒ์ž„: ์ง„ํ–‰ ์ƒํƒœ

๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”:
3

[ERROR] 1๋ฒˆ ์žฅ๊ธฐ ๊ฒŒ์ž„์ด ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
```

### ์ด์ „ ๊ฒŒ์ž„ ๋‹ค์‹œ ์‹œ์ž‘

```text

> ์žฅ๊ธฐ ๊ฒŒ์ž„ ๋ฉ”๋‰ด

1. ๊ฒŒ์ž„ ์ด์–ด์„œ ์ง„ํ–‰ํ•˜๊ธฐ
2. ์ƒˆ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ
3. ์ข…๋ฃŒํ•˜๊ธฐ

๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•ด์ฃผ์„ธ์š”:
1

> ์ด์–ด์„œ ์ง„ํ–‰ํ•  ๊ฒŒ์ž„์„ ์„ ํƒํ•ด์ฃผ์„ธ์š”.
1๋ฒˆ ๊ฒŒ์ž„: ์ข…๋ฃŒ ์ƒํƒœ
2๋ฒˆ ๊ฒŒ์ž„: ์ง„ํ–‰ ์ƒํƒœ

๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”:
2

ใ€€ใ€€ใ€€๏ผใ€€๏ผ‘ใ€€๏ผ’ใ€€๏ผ“ใ€€๏ผ”ใ€€๏ผ•ใ€€๏ผ–ใ€€๏ผ—ใ€€๏ผ˜
ใ€€๏ผ‹๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ‹
๏ผ๏ฝœใ€€่ปŠใ€€๏ผŠใ€€่ฑกใ€€ๅฃซใ€€๏ผŠใ€€ๅฃซใ€€่ฑกใ€€้ฆฌใ€€่ปŠใ€€๏ฝœ
๏ผ‘๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๆผขใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ’๏ฝœใ€€๏ผŠใ€€ๅŒ…ใ€€้ฆฌใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ฝœ
๏ผ“๏ฝœใ€€ๅ…ตใ€€๏ผŠใ€€ๅ…ตใ€€ๅ…ตใ€€๏ผŠใ€€๏ผŠใ€€ๅ…ตใ€€๏ผŠใ€€ๅ…ตใ€€๏ฝœ
๏ผ”๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ•๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ–๏ฝœใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€๏ผŠใ€€ๅ’ใ€€๏ฝœ
๏ผ—๏ฝœใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€๏ผŠใ€€ๅŒ…ใ€€๏ผŠใ€€้ฆฌใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ˜๏ฝœใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€ๆฅšใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ผŠใ€€๏ฝœ
๏ผ™๏ฝœใ€€่ปŠใ€€้ฆฌใ€€่ฑกใ€€ๅฃซใ€€๏ผŠใ€€ๅฃซใ€€่ฑกใ€€๏ผŠใ€€่ปŠใ€€๏ฝœ
ใ€€๏ผ‹๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ‹

[์ดˆ๋‚˜๋ผ] ์ด๋™ํ•  ๊ธฐ๋ฌผ์„ ์„ ํƒํ•ด์ฃผ์„ธ์š”. (์‰ผํ‘œ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฆฌ)

...

```
2 changes: 2 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ repositories {
}

dependencies {
implementation 'com.mysql:mysql-connector-j:8.4.0'

testImplementation platform('org.junit:junit-bom:5.11.4')
testImplementation platform('org.assertj:assertj-bom:3.27.3')
testImplementation('org.junit.jupiter:junit-jupiter')
Expand Down
14 changes: 14 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
services:
db:
image: mysql:8.4
container_name: janggi-db
restart: always
environment:
MYSQL_DATABASE: janggi_db
MYSQL_USER: janggi
MYSQL_PASSWORD: janggi1234
MYSQL_ROOT_PASSWORD: root_password
ports:
- "3309:3306"
volumes:
- ./init:/docker-entrypoint-initdb.d
18 changes: 18 additions & 0 deletions init/v1_ddl.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
CREATE TABLE IF NOT EXISTS janggi_game (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
status VARCHAR(20) NOT NULL COMMENT '๊ฒŒ์ž„ ์ƒํƒœ',
turn VARCHAR(10) NOT NULL COMMENT 'ํ˜„์žฌ ๊ฒŒ์ž„ ํ„ด',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS piece (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
game_id BIGINT NOT NULL,
`row` INT NOT NULL COMMENT 'ํ–‰ ์ขŒํ‘œ (0~9)',
`col` INT NOT NULL COMMENT '์—ด ์ขŒํ‘œ (0~8)',
`type` VARCHAR(20) NOT NULL COMMENT '๊ธฐ๋ฌผ ์ข…๋ฅ˜)',
`team` VARCHAR(20) NOT NULL COMMENT '์ง„์˜',
FOREIGN KEY (game_id) REFERENCES janggi_game(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE INDEX idx_game_id ON piece(game_id);
Loading