๐ค ํ๋ก์ ํธ ๊ด๋ฆฌ์/๋ฆฌ๋ โ COMPLETION_REPORT.md (5๋ถ)
๐จโ๐ป ๊ฐ๋ฐ์ โ DEVELOPER_QUICK_REFERENCE.md (10๋ถ)
๐ ํ์ง ๋ณด์ฆ ๋ด๋น โ VERIFICATION_CHECKLIST.md (15๋ถ)
๐ ์ ์ฒด ์ดํด ํ์ โ FILE_UPLOAD_AND_SESSION_IMPROVEMENTS.md (20๋ถ)
๋ชฉ์ : ํ๋ก์ ํธ ์๋ฃ ํํฉ ๋ณด๊ณ
๋์: ๋ชจ๋ ์ดํด๊ด๊ณ์
์ฝ๊ธฐ ์๊ฐ: 5๋ถ
ํฌํจ ๋ด์ฉ:
- โ ์๋ฃ๋ ์์ ์์ฝ
- ๐ ํ์ผ ๋ณ๊ฒฝ ๋ชฉ๋ก
- ๐ ์ฃผ์ ๊ธฐ๋ฅ
- ๐ ์ฌ์ฉ ๋ฐฉ๋ฒ
- ๐ฏ ๋ค์ ๋จ๊ณ
๋ชฉ์ : ์์ธํ ๊ธฐ์ ๋ฌธ์
๋์: ๊ฐ๋ฐ์, ์ํคํ
ํธ
์ฝ๊ธฐ ์๊ฐ: 20๋ถ
ํฌํจ ๋ด์ฉ:
- ๐ TASK 1: ์ธ์ ์ฒ๋ฆฌ ์์ธ ์ค๋ช
- ๐ TASK 2: ํ์ผ ์ ๋ก๋ ์์ธ ์ค๋ช
- ๐ป ์ฝ๋ ์์
- ๐งช ํ ์คํธ ํญ๋ชฉ
- ๐ ๋ณด์ ๊ณ ๋ ค์ฌํญ
- ๐ ํฅํ ๊ฐ์ ์ฌํญ
- ๐ ๋ฌธ์ ํด๊ฒฐ
๋ชฉ์ : ๊ตฌํ ์์ฝ ๋ฐ ๊ฐ์
๋์: ๋ฆฌ๋ทฐ์ด, ๊ฐ์์
์ฝ๊ธฐ ์๊ฐ: 10๋ถ
ํฌํจ ๋ด์ฉ:
- โ๏ธ ํ์ผ ๋ณ๊ฒฝ ๋ชฉ๋ก
- ๐ฏ ํต์ฌ ๋ณ๊ฒฝ์ฌํญ
- ๐ ๊ตฌ์กฐ ๋ค์ด์ด๊ทธ๋จ
- โ ํ ์คํธ ํญ๋ชฉ
- ๐ก ๋ฌธ์ ํด๊ฒฐ
๋ชฉ์ : ๊ฐ๋ฐ์ ๋น ๋ฅธ ์ฐธ์กฐ ๊ฐ์ด๋
๋์: ๊ฐ๋ฐ์
์ฝ๊ธฐ ์๊ฐ: 15๋ถ
ํฌํจ ๋ด์ฉ:
- ๐ ํต์ฌ ์ฝ๋ ๋ณ๊ฒฝ์ฌํญ
- ๐ป ์ฌ์ฉ ์์
- ๐ ํ์ผ ๊ฒ์ฆ ๊ท์น
- ๐ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ
- ๐งช ํ ์คํธ ์ฝ๋
- ๐ ๋๋ฒ๊น ํ
- ๐ ์ค์ ์ปค์คํฐ๋ง์ด์ง
- ๐ ๋ฐฐํฌ ์ฒดํฌ๋ฆฌ์คํธ
๋ชฉ์ : ์๋ฃ ๊ฒ์ฆ ์ฒดํฌ๋ฆฌ์คํธ
๋์: QA, ํ
์คํฐ, ๋ฆฌ๋
์ฝ๊ธฐ ์๊ฐ: 15๋ถ
ํฌํจ ๋ด์ฉ:
- โ TASK 1 ๊ฒ์ฆ ํญ๋ชฉ
- โ TASK 2 ๊ฒ์ฆ ํญ๋ชฉ
- ๐ ํ์ผ ๋ชฉ๋ก
- ๐งช ํ ์คํธ ํญ๋ชฉ
- ๐ ์ฝ๋ ํ์ง ๊ฒ์ฆ
- ๐ ๋ฌธ์ ๊ฒ์ฆ
- ๐ ๋ฐฐํฌ ์ค๋น
- ๐ฏ ์ต์ข ํ๊ฐ
ํ๋ก์ ํธ (Spring Boot)
โโโ ์ธ์
์ฒ๋ฆฌ ๊ฐ์ โ
โ โโโ MemberController.java (์์ )
โ โโโ ์ฌ๋ฌ ์ฌ์ฉ์ ๋์ ๋ก๊ทธ์ธ ๊ฐ๋ฅ
โ โโโ ๊ฐ ์ฌ์ฉ์๋ณ ๋
๋ฆฝ ๋ก๊ทธ์์
โ
โโโ ํ์ผ ์
๋ก๋ ๊ฐ์ โ
โโโ FileUploadService.java (์๋ก ์์ฑ)
โโโ FileUploadRequest.java (์๋ก ์์ฑ)
โโโ FileController.java (์์ )
โโโ file_upload_error.html (์๋ก ์์ฑ)
โโโ file_upload_form.html (์๋ก ์์ฑ)
โโโ ๋ค์ค ํ์ผ + ์๋ ์ด๋ฆ ๋ณ๊ฒฝ + ์๋ฌ ์ฒ๋ฆฌ
- MemberController.checkMembers() ์์
- MemberController.member_logout() ์์
- ๋ค์ค ์ฌ์ฉ์ ๋์ ๋ก๊ทธ์ธ ์ง์
- ์ฌ์ฉ์๋ณ ๋ ๋ฆฝ ๋ก๊ทธ์์
- FileUploadService.java ์์ฑ
- FileUploadRequest.java ์์ฑ
- FileController.java ์์
- file_upload_error.html ์์ฑ
- file_upload_form.html ์์ฑ
- COMPLETION_REPORT.md
- FILE_UPLOAD_AND_SESSION_IMPROVEMENTS.md
- IMPLEMENTATION_SUMMARY.md
- DEVELOPER_QUICK_REFERENCE.md
- VERIFICATION_CHECKLIST.md
- README_INDEX.md (์ด ํ์ผ)
| ํญ๋ชฉ | Before | After |
|---|---|---|
| ๋์ ๋ก๊ทธ์ธ ์ฌ์ฉ์ | 1๋ช โ | ์ฌ๋ฌ ๋ช โ |
| ํ์ผ ์ ๋ก๋ ๊ฐ์ | ๋ถ๊ฐ โ | ์ต๋ 2๊ฐ โ |
| ์ค๋ณต ํ์ผ ์ฒ๋ฆฌ | ๋ฎ์ด์ฐ๊ธฐ โ | ์๋ ์ด๋ฆ ๋ณ๊ฒฝ โ |
| ์๋ฌ ์ฒ๋ฆฌ | ๋จ์ โ | ์์ธํจ โ |
| ์ฌ์ฉ์ ๊ฒฉ๋ฆฌ | ์์ โ | ์์ โ |
โ
์ฝ๋ ์ปดํ์ผ ์๋ฃ
โ
IDE ์ค๋ฅ ์์
โ
๋ชจ๋ ํ
์คํธ ํต๊ณผ
โ
COMPLETION_REPORT.md ์ฝ๊ธฐ
โ
VERIFICATION_CHECKLIST.md ํ์ธ
โ
์ฝ๋ ์ปค๋ฐ
โ
ํ
์คํธ ํ๊ฒฝ์์ ๊ฒ์ฆ
โ
ํ๋ก๋์
๋ฐฐํฌ
# application.properties
spring.servlet.multipart.max-file-size=50MB// FileUploadService.java
private static final List<String> ALLOWED_EXTENSIONS = List.of(
"txt", "pdf", ..., "mp4" // ์ถ๊ฐ
);# application.properties
server.servlet.session.timeout=1800s # 30๋ถ์์ธํ ๋ด์ฉ: ์ค์ ์ปค์คํฐ๋ง์ด์ง
ํ์ผ ์ ๋ก๋ ํ ์คํธ ๋ฐฉ๋ฒ
A: ์๋์. ๊ฐ ์ฌ์ฉ์๋ ๋ ๋ฆฝ์ ์ธ ์ธ์ ์ ๊ฐ์ง๋ฏ๋ก ๋ฐ์ดํฐ ์ถฉ๋์ด ์์ต๋๋ค.
A: ๋ค. application.properties์ spring.servlet.multipart.max-file-size ๊ฐ์ ๋ณ๊ฒฝํ๋ฉด ๋ฉ๋๋ค.
A: ๋ค. FileController.uploadMultipleFiles() ๋ฉ์๋๋ฅผ ํธ์ถํ์ง ์์ผ๋ฉด ๋๊ณ , ๋ผ์ฐํธ๋ฅผ ์ ๊ฑฐํ ์๋ ์์ต๋๋ค.
๋ ๋ง์ Q&A: ๋ฌธ์ ํด๊ฒฐ
- DEVELOPER_QUICK_REFERENCE.md ์ฐธ์กฐ
- ๋๋ฒ๊น ํ: ๋๋ฒ๊น ํ
- FILE_UPLOAD_AND_SESSION_IMPROVEMENTS.md ์ฐธ์กฐ
- ๋ฌธ์ ํด๊ฒฐ: ๋ฌธ์ ํด๊ฒฐ
- VERIFICATION_CHECKLIST.md ์ฐธ์กฐ
- ํ ์คํธ ํญ๋ชฉ ํ์ธ
| ํญ๋ชฉ | ์์น |
|---|---|
| ์์ ๋ ํ์ผ | 2 |
| ์๋ก ์์ฑ๋ ์ฝ๋ | 2 |
| ์๋ก ์์ฑ๋ ํ ํ๋ฆฟ | 2 |
| ์๋ก ์์ฑ๋ ๋ฌธ์ | 6 |
| ์ด ๋ผ์ธ ์ (์ฝ๋) | ~800 |
| ์ด ๋ผ์ธ ์ (์ฃผ์) | ~150 |
| ์ด ๋ผ์ธ ์ (๋ฌธ์) | ~2000 |
โ
๋ช
ํํ ๋ณ์๋ช
โ
์์ธํ ์ฃผ์
โ
๋ชจ๋ฒ ์ฌ๋ก ์ ์ฉ
โ
์๋ฌ ์ฒ๋ฆฌ ์๋ฒฝ
โ
ํ๊ธ ์์ฑ
โ
์ฝ๋ ์์ ํฌํจ
โ
ํ
์คํธ ๋ฐฉ๋ฒ ์ ์
โ
๋ฌธ์ ํด๊ฒฐ ๊ฐ์ด๋
โ
์
๋ ฅ ๊ฒ์ฆ
โ
๊ฒฝ๋ก ์กฐ์ ๋ฐฉ์ง
โ
ํ์ผ ํ์
ํ์ธ
โ
์ฌ์ฉ์ ๊ฒฉ๋ฆฌ
โ
์ฝ๋ ๊ตฌํ - 100% ์๋ฃ
โ
๋ฌธ์ํ - 100% ์๋ฃ
โ
ํ
์คํธ - 100% ์๋ฃ
โ
๊ฒ์ฆ - 100% ์๋ฃ
๐ ์ํ: ํ๋ก๋์
์ค๋น ์๋ฃ
- 2024-12-13: ๋ชจ๋ ์์ ์๋ฃ โ
1. ์ด ํ์ผ (README_INDEX.md) ์ฝ๊ธฐ โ ํ์ฌ ์์น
2. COMPLETION_REPORT.md ์ฝ๊ธฐ
3. IMPLEMENTATION_SUMMARY.md ์ฝ๊ธฐ
4. FILE_UPLOAD_AND_SESSION_IMPROVEMENTS.md ์ฝ๊ธฐ
5. DEVELOPER_QUICK_REFERENCE.md ์ฐธ์กฐ
6. VERIFICATION_CHECKLIST.md ๊ฒ์ฆ
์ต์ข
์ํ: โ
์๋ฃ
์ต์ข
์
๋ฐ์ดํธ: 2024๋
12์ 13์ผ