Spaces:
Running
Running
File size: 12,359 Bytes
e221c83 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
---
## ๐ ์๋ก์ด ์์ด๋์ด ๋ฐ ๊ฐ๋ฐ ์์ (Upcoming Tasks)
1. **๋ฌ๋ ฅ ๋์์ธ ๊ฐ์ :** ํฌ๋ช
์คํ์ผ์์ ๊ฐ๋
์ฑ ๋์ '๋ชจ๋ ์นด๋(Modern Card)' ์คํ์ผ๋ก ๋ณ๊ฒฝ.
2. **๊ฐ์ ์ด๋ชจ์ง ํค ๋งค์นญ:** ์ ์ฅ ์ ๋๋ฉ์ด์
๊ตฌ์ฌ(Orb) ์์์ ๊ฐ์ ๋ณ ๋ถ์๊ธฐ์ ๋ง๊ฒ ์ธ๋ถ ์กฐ์ .
3. **์ฉ์ด ์ง๊ดํ:** ์ถ์ฒ ์นดํ
๊ณ ๋ฆฌ ๋ช
์นญ ๋ณ๊ฒฝ ('์์ฉ/์ ํ' โ **'๊ณต๊ฐ/ํ๊ธฐ'**) ๋ฐ ๊ด๋ จ ๋ก์ง ๋๊ธฐํ.
4. **์ ์ฅ ์ ๋๋ฉ์ด์
๊ณ ๋ํ:** ๊ตฌ์ฌ์ด ํตํต ํ๊ธฐ๋ค(Bouncing) '๋์ ์ผ๊ธฐ' ๋ฉ๋ด๋ก ๊ฐ๋ ฅํ๊ฒ ๋ ์๊ฐ๋(Super Jump) ํจ๊ณผ ๊ตฌํ.
5. **๋ง์ดํ์ด์ง '๊ธฐ์ต์ ์ ๋ฆฌ๋ณ' ์๊ฐํ ๊ตฌํ.**
---
## ๐
2025๋
11์ 27์ผ
### ์ฃผ์ : UI ๋ํ
์ผ ์์ฑ๋ ํฅ์ & ์ ๋๋ฉ์ด์
๊ณ ๋ํ (Polishing)
์ฌ์ฉ์ ๊ฒฝํ์ ์ง์ ๋์ด๊ธฐ ์ํด ๋ด๋น๊ฒ์ด์
, ๋ฌ๋ ฅ ๋ฑ ํต์ฌ UI ์์๋ฅผ ํ๋์ ์ธ ์คํ์ผ๋ก ๋ฆฌ๋์์ธํ๊ณ , ์ ์ฅ ์ ๋๋ฉ์ด์
์ ๋ฌผ๋ฆฌ์ ์ธ ์๋๊ฐ์ ๋ํ์ต๋๋ค.
#### 1. ๋งค์ง ๋ด๋น๊ฒ์ด์
๋ฐ (Magic Capsule Navbar)
- **๋์์ธ:** ๊ธฐ์กด ํ
์คํธ ๋์ด ๋ฐฉ์์ ํํผํ์ฌ, ๊ณต์ค์ ๋ ์๋ **์บก์ ํํ์ ๊ธ๋์ค๋ชจํผ์ฆ(Glassmorphism)** ๋์์ธ ์ ์ฉ.
- **์ธํฐ๋์
:** ๋ง์ฐ์ค์ ์์ง์์ ๋ฐ๋ผ ํ์์ ํ์ด๋ผ์ดํธ ๋ฐ(`nav-marker`)๊ฐ ๋ฉ๋ด ์ฌ์ด๋ฅผ ๋ฌผ ํ๋ฅด๋ฏ ๋ฐ๋ผ๋ค๋๋ **Sliding Magic Line** ํจ๊ณผ ๊ตฌํ.
#### 2. ๋์๋ณด๋ํ ๋ฌ๋ ฅ (Modern Card Calendar)
- **์คํ์ผ:** ํฌ๋ช
ํ ๋ฐฐ๊ฒฝ ๋์ ๊ฐ๋
์ฑ์ด ๋ฐ์ด๋ **'๋ชจ๋ ์นด๋(Modern Card)'** ์คํ์ผ๋ก ๋ณ๊ฒฝ. ํค๋์ ํ
๋ง ์์์ ์ ์ฉํ์ฌ ์ง์ค๋ ํฅ์.
- **๋ ์ด์์ ์ต์ ํ:** ์์ผ(Header)๊ณผ ๋ ์ง(Grid)์ ์ ๋ ฌ์ด ์ด๊ธ๋๋ ๋ฌธ์ ๋ฅผ CSS `flex-basis: 14.28%` ๊ฐ์ ์ ์ฉ์ ํตํด 1:1๋ก ์๋ฒฝํ๊ฒ ๋ง์ถค.
- **์๊ฐํ:** ๋ ์ง ์๋์ ํด๋น ์ผ๊ธฐ์ ๊ฐ์ ์ ๋ํ๋ด๋ **์์ ์ (Dot)**์ด ์๋์ผ๋ก ํ์๋๋๋ก ๊ตฌํ.
#### 3. ์ ์ฅ ์ ๋๋ฉ์ด์
๊ณ ๋ํ (Bouncing & Super Jump)
- **๋ฌผ๋ฆฌ ํจ๊ณผ:** ๋จ์ํ ๋ ์๊ฐ๋ ์ ๋๋ฉ์ด์
์ **"๋ฐ๋ฅ์ ํตํต ํ๊ธฐ๋ค๊ฐ(Bouncing) ์๋์ง๋ฅผ ๋ชจ์ ๋ชฉํ์ง์ ์ผ๋ก ์์
๋ ์๊ฐ๋(Super Jump)"** ์ญ๋์ ์ธ ์ํ์ค๋ก ์
๊ทธ๋ ์ด๋.
- **๋ฐ์ดํฐ ๋๊ธฐํ:** CSS ์ ๋๋ฉ์ด์
์๊ฐ(5.1์ด)๊ณผ ์๋ฒ ์ ์ฅ ์์ฒญ(`fetch`)์ `Promise.all`๋ก ๋๊ธฐํํ์ฌ, ์ ๋๋ฉ์ด์
๊ณผ ๋ฐ์ดํฐ ์ ์ฅ์ด ์์ ํ๊ฒ ์๋ฃ๋ ํ ํ์ด์ง๊ฐ ์ด๋๋๋๋ก ๋ก์ง ๊ฐํ.
#### 4. ๊ฐ์ฑ ๋ํ
์ผ ๋ฐ ์ฉ์ด ๊ฐ์
- **์ฉ์ด ์ง๊ดํ:** ์ถ์ฒ ์นดํ
๊ณ ๋ฆฌ ๋ช
์นญ์ '์์ฉ/์ ํ'์์ ๋ ๊ฐ์ฑ์ ์ธ **'๊ณต๊ฐ/ํ๊ธฐ'**๋ก ๋ณ๊ฒฝํ๊ณ , ํ๋ก ํธ์๋ ํ์ฑ ๋ก์ง์ ์ด์ ๋ง์ถฐ ์์ .
- **์ถ์ฒ ์์ฝ:** AI์ ๊ธด ์ถ์ฒ ์ด์ ๋ฅผ ์ ๊ฑฐํ๊ณ , ํต์ฌ ์ ๋ณด(์ข
๋ฅ, ์ ๋ชฉ)๋ง ๊น๋ํ๊ฒ ๋ณด์ฌ์ฃผ๋๋ก ํ
์คํธ ์ ์ ํจ์(`extractSummary`) ์ ์ฉ.
- **ํค ๋งค์นญ:** ์ ์ฅ ์ ๋๋ฉ์ด์
์ ์์ฑ๋๋ '๊ธฐ์ต ๊ตฌ์ฌ'์ ์์์ ๊ฐ ๊ฐ์ (๊ธฐ์จ=Gold, ์ฌํ=SteelBlue ๋ฑ)์ ๊ณ ์ ๋ถ์๊ธฐ์ ๋ง์ถฐ ์ธ๋ฐํ๊ฒ ์กฐ์ .
---
## ๐
2025๋
11์ 25์ผ
### ์ฃผ์ : ์ ๋๋ฉ์ด์
ํตํฉ ๋ฐ ๋ฒ๊ทธ ์์
`test_animation.html`์์ ๊ฐ๋ฐ๋ ์ฑ
์ ๊ธฐ ๋ฐ ๊ตฌ์ฌ ๋ฐ์ด์ค ์ ๋๋ฉ์ด์
์ `main.html`์ ํตํฉํ๊ณ ๊ด๋ จ ๋ฒ๊ทธ๋ฅผ ์์ ํ์ต๋๋ค.
#### 1. ์ ๋๋ฉ์ด์
๊ธฐ๋ฅ ๊ฐ์ ๋ฐ ํตํฉ
- **์ ๋๋ฉ์ด์
์์ ๋ฌธ์ ํด๊ฒฐ**: `playFullAnimation` ํจ์์ ์ ๋ฌ๋๋ ์ ์๋์ง ์์ ๋ณ์(`rect`) ์ค๋ฅ๋ฅผ ์์ ํ์ฌ ์ ๋๋ฉ์ด์
์ด ์ ์์ ์ผ๋ก ์์๋๋๋ก ํ์ต๋๋ค.
- **๊ตฌ์ฌ ๋ฐ์ด์ค ์ ๊ตํ**: ์ค์์์ ์์ํ์ฌ ํ๋ฉด ์ค๋ฅธ์ชฝ ๊ฐ์ฅ์๋ฆฌ์์ ์ ํํ ๋ง๋ฌด๋ฆฌ๋๋ 6ํ ๋ฐ์ด์ค ์ ๋๋ฉ์ด์
์ ๊ตฌํํ์ต๋๋ค. ๊ฐ ๋ฐ์ด์ค์ ์ํ ์ด๋ ๊ฑฐ๋ฆฌ๋ฅผ ์กฐ์ ํ์ฌ ์์ฐ์ค๋ฌ์ด ์์ง์์ ๋ง๋ค์์ต๋๋ค.
- **์ฑ
โ ๊ตฌ์ฌ ๋ณ์ ์ธํธ๋ก ์ ๋๋ฉ์ด์
๊ตฌํ**:
- ์ฑ
์ด ๊ตฌ๊ฒจ์ง๋ฏ ์ค์์ผ๋ก ๋ชจ์ฌ ๊ตฌ์ฌ๋ก ๋ณํ๋ 1.5์ด(์ฑ
์์ถ) + 5์ด(๊ตฌ์ฌ ๋ฐ์ด์ค) = ์ด 6.5์ด ๊ธธ์ด์ ์ธํธ๋ก ์ ๋๋ฉ์ด์
์ ๊ตฌํํ์ต๋๋ค.
- ์ฑ
์ด ๋ชจ์ด๋ ๋์ ๊ตฌ์ฌ์ ๊ฐ์ ์์์ผ๋ก ๋ฐฐ๊ฒฝ์์ด ๋ณํ๋๋ก ํ์ฌ ์๊ฐ์ ์ฐ๊ฒฐ์ฑ์ ๊ฐํํ์ต๋๋ค.
- ์ฑ
์ด ๋ชจ์ด๋ ๋์์ '์ ํ๋' ๋์ ํ์ ์์ด '์ค์์ผ๋ก ์์ถ๋๋' ๋๋์ ์ฃผ๋๋ก `transform` ์์ฑ์ ์กฐ์ ํ์ต๋๋ค.
- ์์ถ๋๋ ์ฑ
์ด ์ต์ข
์ ์ผ๋ก ๊ตฌ์ฌ ๋ชจ์๊ณผ ์ ์ฐ๊ฒฐ๋๋๋ก `borderRadius` ์ ๋๋ฉ์ด์
์ ๋ค์ ๋์
ํ์ต๋๋ค.
- ์ฑ
์ด ์ฌ๋ผ์ง๋ ๋๋ ์์ด ๊ตฌ์ฌ๋ก ์ ํ๋๋๋ก, ์ฑ
์ด ์ฌ๋ผ์ง๋ ๋์ ๊ตฌ์ฌ์ด ๋์์ ๋ํ๋๋ ํฌ๋ก์คํ์ด๋(cross-fade) ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ ๋ถ๋๋ฌ์ด ๋ณ์ ์ ๊ตฌํํ์ต๋๋ค.
- **`main.html` ํตํฉ**: ๊ฐ๋ฐ๋ ์ ๋๋ฉ์ด์
๋ก์ง์ `src/templates/static/js/main_logic.js` ํ์ผ๋ก ์ด์ ํ์ต๋๋ค. ์ด ์ ๋๋ฉ์ด์
์ ์ด์ '์ผ๊ธฐ์ฅ์ ์ ์ฅํ๊ธฐ' ๋ฒํผ์ ํด๋ฆญํ ๋ ์คํ๋ฉ๋๋ค.
#### 2. ๋ฆฌ๋๋ ์
๋ฒ๊ทธ ์์
- **๋ฌธ์ **: ์ ๋๋ฉ์ด์
์๋ฃ ํ `main_logic.js`์์ `/diary` ๊ฒฝ๋ก๋ก ๋ฆฌ๋๋ ์
ํ ๋ 'Not Found' ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
- **์์ธ**: ๋ฐฑ์๋์ `/diary` ๋ผ์ฐํธ๊ฐ ์ ์๋์ด ์์ง ์๊ณ , ์ค์ ์ผ๊ธฐ ๋ชฉ๋ก ํ์ด์ง๋ `/my_diary` ๋ผ์ฐํธ๋ฅผ ์ฌ์ฉํ๊ณ ์์์ต๋๋ค.
- **ํด๊ฒฐ**: `main_logic.js` ํ์ผ ๋ด `window.location.href`์ ๊ฒฝ๋ก๋ฅผ `/diary`์์ ์ฌ๋ฐ๋ฅธ ๊ฒฝ๋ก์ธ `/my_diary`๋ก ์์ ํ์ฌ ๋ฆฌ๋๋ ์
์ค๋ฅ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
---
## ๐
2025๋
11์ 23์ผ
### ์ฃผ์ : ๋ฉ์ธ ํ๋ฉด UI/UX ๋๊ท๋ชจ ๊ฐํธ & ์ธํฐ๋์
๊ฐํ
์ฌ์ฉ์๊ฐ ์ผ๊ธฐ๋ฅผ ์ฐ๋ ํ์์ ๋ ๊น์ด ๋ชฐ์
ํ ์ ์๋๋ก, ๋ฉ์ธ ํ๋ฉด์ ๋์์ธ ์ธ์ด๋ฅผ '๋์งํธ'์์ '์๋ ๋ก๊ทธ ๊ฐ์ฑ'์ผ๋ก ์ ๋ฉด ๊ต์ฒดํ๊ณ , ์ ์ฅ ๊ณผ์ ์ ์คํ ๋ฆฌํ
๋ง์ ๋ด์์ต๋๋ค.
#### 1. ํผ์ณ์ง ๋ค์ด์ด๋ฆฌ (Book Spread Layout)
- **๋ฌธ์ :** ๊ธฐ์กด์ ๋ถ๋ฆฌ๋ ์
๋ ฅ์ฐฝ(Left)๊ณผ ๊ฒฐ๊ณผ์ฐฝ(Right)์ ์์ ์ด ๋ถ์ฐ๋๊ณ , '์ผ๊ธฐ์ฅ'์ด๋ผ๋ ์ฑ์ ์ ์ฒด์ฑ์ ์๊ฐ์ ์ผ๋ก ์ ๋ฌํ๊ธฐ ๋ถ์กฑํจ.
- **ํด๊ฒฐ:** ํ๋ฉด ์ ์ฒด๋ฅผ ์์ฐ๋ฅด๋ **'ํผ์ณ์ง ๋ค์ด์ด๋ฆฌ'** ํํ์ ๋ ์ด์์ ๋์
.
- **๊ตฌํ ๋ํ
์ผ:**
- **Wide Layout:** `max-width: 1600px`, `min-width: 1200px`๋ฅผ ์ ์ฉํ์ฌ ์ค์ ์ฑ
์ ์์ ๋
ธํธ๋ฅผ ํผ์น ๋ฏํ ์์ํ ๊ฐ๋ฐฉ๊ฐ ํ๋ณด.
- **Clean UI:** ์ถ์ฒ ์ฝํ
์ธ ๊ฐ ๊ธธ์ด์ง ๊ฒฝ์ฐ ์คํฌ๋กค์ ๋์ง๋ง ์คํฌ๋กค๋ฐ(Bar)๋ ์จ๊ฒจ(`scrollbar-width: none`) ๊น๋ํจ ์ ์ง.
- **Line-clamp:** ์ถ์ฒ ํ
์คํธ๊ฐ ๊ธธ์ด์ง๋ฉด `line-clamp`๋ก ๋ง์ค์ ์ฒ๋ฆฌํ๊ณ , Hover ์ ์ ์ฒด ๋ด์ฉ์ ๋ณด์ฌ์ฃผ๋ ์ธํฐ๋์
์ถ๊ฐ.
#### 2. '๊ธฐ์ต์ ๊ตฌ์ฌ' ์ ์ฅ ์ ๋๋ฉ์ด์
(Memory Orb & Bouncing)
- **๊ธฐํ ์๋:** ๋จ์ํ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ๋ก ์ ์ก(Submit)ํ๋ ๊ฒ์ ๋์ด, **"๋์ ์์คํ ํ๋ฃจ๊ฐ ๊ธฐ์ต์ ๊ตฌ์ฌ์ด ๋์ด ๋ณด๊ด๋๋ค"**๋ ๋ฉํํฌ(์ํ *์ธ์ฌ์ด๋ ์์* ๋ชจํฐ๋ธ)๋ฅผ ์ ๋ฌํ๊ณ ์ ํจ.
- **์ ๋๋ฉ์ด์
์๋๋ฆฌ์ค:**
1. **์์ถ (Morph):** ์ ์ฅ ๋ฒํผ ํด๋ฆญ ์, ๊ฑฐ๋ํ๋ ๋ค์ด์ด๋ฆฌ๊ฐ ์์๊ฐ์ ์์์ง๋ฉฐ ๋๊ทธ๋ ๊ตฌ์ฌ๋ก ๋ณ์ .
2. **๊ฐ์ ์ ์:** AI๊ฐ ๋ถ์ํ ๊ฐ์ (๊ธฐ์จ=๋
ธ๋, ์ฌํ=ํ๋ ๋ฑ)์ ๋ง์ถฐ ๊ตฌ์ฌ์ ์์์ด ์ค์๊ฐ์ผ๋ก ๋ณํ.
3. **์ญ๋์ ์ด๋ (Bouncing):** ๊ตฌ์ฌ์ด ๋ฐ๋ฅ์ ํตํต ํ๊ธฐ๋ฉฐ(Squash & Stretch) ์๋์ง๋ฅผ ๋ชจ์ผ๋ค, ๋ง์ง๋ง์ ๋ฉ๋ด(๋ณด๊ดํจ) ์ชฝ์ผ๋ก ์์
๋ ์๊ฐ.
- **๊ธฐ์ ์ ๊ตฌํ:**
- **Clone Node:** ์๋ณธ DOM์ ๊ฑด๋๋ฆฌ๋ฉด ๋ ์ด์์์ด ๊นจ์ง๋ฏ๋ก, `cloneNode`๋ก ๋ค์ด์ด๋ฆฌ์ ๋ณต์ ๋ณธ์ ์์ฑํ์ฌ `fixed` ํฌ์ง์
์ผ๋ก ๋์ด ๋ค ์ ๋๋ฉ์ด์
์ ์ฉ.
- **Keyframes:** `0%`~`100%` ๊ตฌ๊ฐ์ ์ธ๋ฐํ๊ฒ ๋๋์ด ์์น ์ด๋(`translate`)๊ณผ ํํ ๋ณํ(`scale`, `border-radius`)์ ๋์์ ์ ์ด.
#### ๐ Next Step
- ์๋จ ๋ด๋น๊ฒ์ด์
๋ฐ(Navbar)์ 'Sliding Magic Line' ์ธํฐ๋์
์ ์ฉ ์์ .
- ๋ง์ดํ์ด์ง '๊ธฐ์ต์ ์ ๋ฆฌ๋ณ' ์๊ฐํ ๊ตฌํ.
---
## ๐
2025๋
11์ 21์ผ (UI/UX Refinement)
### Feature: ์๋ก์ด ํ๋จ ๋ด๋น๊ฒ์ด์
๋ฐ
- ๊ธฐ์กด ์๋จ ํค๋๋ฅผ ๋์ฒดํ๋ ์๋ก์ด SVG ๊ธฐ๋ฐ ํ๋จ ๋ด๋น๊ฒ์ด์
๋ฐ๋ฅผ ๊ตฌํํ์ต๋๋ค.
- ์ฃผ์ ๊ธฐ๋ฅ์ธ 'ํ', '๋์ ์ผ๊ธฐ', '๋ง์ดํ์ด์ง' ๋ฐ '๋ก๊ทธ์์' ๋ฒํผ์ ํฌํจํฉ๋๋ค.
- ๋ด๋น๊ฒ์ด์
๋ฐ๋ ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธํ์ ๋๋ง ํ์๋๋๋ก ์ค์ ํ์ต๋๋ค.
### Refactor: ๋ด๋น๊ฒ์ด์
๋ฐ ์ธํฐ๋์
๊ฐ์
- **UI ์คํ์ผ:** ํฐ์ ๋ฐฐ๊ฒฝ, ์ด๋์ด ์์์ ์์ด์ฝ ๋ฐ ํ์ฑ ํ์ด์ง๋ฅผ ๋ํ๋ด๋ '๋น ํจ๊ณผ(tubelight)'๋ฅผ ์ ์ฉํ์ต๋๋ค. 4๊ฐ์ ์์ด์ฝ์ ๋ง๊ฒ ๋๋น๋ฅผ ์กฐ์ ํ์ต๋๋ค.
- **์์น ๋ฌธ์ ํด๊ฒฐ (CSS ๊ธฐ๋ฐ ๋ก์ง):** ํ์ด์ง ๋ก๋ ์ '๋น ํจ๊ณผ'์ ์์น๊ฐ ์ด๊ธ๋๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ๋ถ์์ ํ JavaScript ํ์ด๋ฐ ๋์ CSS๋ง์ผ๋ก ์์น๋ฅผ ์ ์ดํ๋ ๋ฐฉ์์ผ๋ก ๋ก์ง์ ์ ๋ฉด ์์ ํ์ต๋๋ค.
- ์๋ฒ์์ ํ์ฌ ํ์ด์ง ์ฃผ์(`request.endpoint`)์ ๋ฐ๋ผ `<nav>` ํ๊ทธ์ `active-main-home` ๊ณผ ๊ฐ์ ๋์ ํด๋์ค๋ฅผ ๋ถ์ฌํฉ๋๋ค.
- CSS๋ ์ด ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ '๋น ํจ๊ณผ'์ ์ด๊ธฐ `left` ์์น๋ฅผ ์ง์ ์ง์ ํ๋ฏ๋ก, ๋ ์ด์ ๋ ๋๋ง ์์ ์ ๊ฒฝ์ ์ํ(Race Condition) ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
- **์ ๋๋ฉ์ด์
ํผ๋๋ฐฑ (JS):** `navigation.js` ์คํฌ๋ฆฝํธ๋ ์ด์ ์ด๊ธฐ ์์น ๊ณ์ฐ์ ์ ํ ํ์ง ์๊ณ , ์ฌ์ฉ์๊ฐ ์์ด์ฝ์ ํด๋ฆญํ์ ๋ ์๊ฐ์ ํผ๋๋ฐฑ์ ์ฃผ๊ธฐ ์ํด ๋น์ ์์ง์ด๋ ๋จ์ํ ์ญํ ๋ง ์ํํ๋๋ก ๋ํญ ์ถ์ํ์ต๋๋ค.
### Feature: ํ์ด์ง ์ ํ ํจ๊ณผ (์ผ์์ ๋กค๋ฐฑ)
- ๋ถ๋๋ฌ์ด ํ์ด์ง ์ด๋ ๊ฒฝํ์ ์ํด ํ๋ฉด ์ ์ฒด๋ฅผ ๋ฎ๋ '์ปคํผ' ๋ฐฉ์์ ์ ํ ํจ๊ณผ๋ฅผ ๊ตฌํํ์ต๋๋ค.
- ํ์ง๋ง ๋ด๋น๊ฒ์ด์
๋ฐ ์ ๋๋ฉ์ด์
๊ณผ์ ์ง์์ ์ธ ์ถฉ๋ ๋ฐ ๋ถ์์ ์ฑ ๋ฌธ์ ๋ก, ์ฌ์ดํธ์ ์์ ์ฑ์ ํ๋ณดํ๊ธฐ ์ํด ์ด ๊ธฐ๋ฅ์ **์ผ์์ ์ผ๋ก ์ด์ ์ํ๋ก ๋๋๋ ธ์ต๋๋ค.** ํ์ฌ๋ ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๋ณธ ํ์ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค.
---
## ๐
2025๋
11์ 19์ผ
### ์ฃผ์ : AI ๋ชจ๋ธ ๊ฐ์ ์คํ & ์ด๊ธฐ UI/UX ๊ตฌ์ถ
#### 1. AI ๋ชจ๋ธ ๊ฐ์ ์ฌ์
**์ด๊ธฐ ๋ชจ๋ธ์ ํ๊ณ์ ์๋ก์ด ์์ด๋์ด**
- **๊ธฐ์กด ๋ชจ๋ธ ์ ํ๋:** `79.06%`๋ก, ๋ค์ ์์ฌ์ด ์ฑ๋ฅ.
- **์๋ก์ด ๊ฐ์ค:** NSMC๋ '๊ธ์ /๋ถ์ ' ๋ถ์์ ํนํ๋์ด ์์ด, ์ฐ๋ฆฌ ํ๋ก์ ํธ์ ๋ค์ค ๊ฐ์ ๋ถ๋ฅ(๋๋ถ๋ฅ)์๋ ์ ํฉํ์ง ์๋ค๊ณ ํ๋จ. NSMC๋ฅผ ์ ๊ฑฐํ๊ณ ์๋ ๊ฐ์ค์น๋ก๋ง ํ๋ จํ์ ๋, ์คํ๋ ค **์์ ๋ชจ๋ธ์ ์ฑ๋ฅ์ด ๊ฐ์ฅ ์ข์์.**
- **๋ฐฉํฅ ์ ํ:** ์ฌ์ฉ์์๊ฒ AI๊ฐ ์์ธกํ ๊ฐ์ ํ๋ฅ ์ ๋ณด์ฌ์ฃผ๊ณ , ๊ฐ์ฅ ๋์ ํ๋ฅ ์ ๊ฐ์ ์ ๊ธฐ๋ณธ์ผ๋ก ์ถ์ฒํ๋ **์ฌ์ฉ์๊ฐ ์ง์ ์์ ํ ์ ์๋ ์ ํ๊ถ**์ ์ ๊ณตํ๋ UX์ ํด๊ฒฐ์ฑ
๋์
.
#### 2. UI/UX ๊ฐ์ ์ฌํญ
**๋ก๊ทธ์ธ/ํ์๊ฐ์
UX ๊ฐ์ : Flip Animation**
- **ํด๊ฒฐ:** ๋ก๊ทธ์ธ๊ณผ ํ์๊ฐ์
ํ๋ฉด์ **ํ๋์ '์ฑ
(Book)'** ์ฝ์
ํธ๋ก ํตํฉ.
- **๊ตฌํ:** CSS `transform: rotateY(180deg)`๋ฅผ ํ์ฉํ 3D ์ฑ
๋๊น ์ ๋๋ฉ์ด์
๋ฐ ๋จ์ผ ํ์ด์ง ํด(Single Page Turn) ํจ๊ณผ ์ ์ฉ.
**๊ฐ์ ๋ถ์ ์ ํ๋ ๋ณด์: Emotion Selection UI**
- **ํด๊ฒฐ:** AI์ **ํ์ ๋(Confidence Score)**์ ๋ฐ๋ผ UI๋ฅผ ์ ์ฐํ๊ฒ ๋ถ๊ธฐ ์ฒ๋ฆฌ.
- **ํ์ (80% ์ด์):** AI๊ฐ ์์ธกํ ๊ฐ์ ์ ์ ๋ต์ผ๋ก ์๋ ์ฑํ.
- **๋ถํ์ค (80% ๋ฏธ๋ง):** ์์ 3๊ฐ ๊ฐ์ ๊ณผ ํ๋ฅ ์ **'๊ฐ์ ์นฉ(Chips)'** ํํ๋ก ์ ์ํ์ฌ ์ ํ๊ถ ๋ถ์ฌ.
**์ฌ์ฉ์ ๊ฒฝํ ๋ณดํธ: ๋ถ์๊ณผ ์ ์ฅ ๋จ๊ณ ๋ถ๋ฆฌ**
- **๊ตฌํ:** **`[๋ถ์] โ [ํ์ธ/์์ ] โ [์ ์ฅ]`** ํ๋ก์ฐ ๊ตฌ์ถ. ์ต์ข
์ ์ผ๋ก '์ ์ฅํ๊ธฐ' ๋ฒํผ์ ๋๋ ์ ๋๋ง DB์ ์ ์ฅ๋๋๋ก ๋ณ๊ฒฝํ๊ณ ๋ก๋ฉ UI ์ถ๊ฐ.
#### 3. KOTE ์ฌ์ ํ์ต ๋ชจ๋ธ ์คํ ๊ฒฐ๊ณผ
> Colab ํ๊ฒฝ์์ ์งํ๋์์ผ๋ฉฐ, ๊ฒฐ๊ณผ๊ฐ ๋ง์กฑ์ค๋ฝ์ง๋ ์์์.
- **์คํ 1 (๊ธฐ๋ณธ):** F1 Score `0.6154`
- **์คํ 2 (๊ฐ์ค์น ์ ์ฉ):** Accuracy `54.2%`
- **์คํ 3 (๊ฐ์ค์น ์ ๊ฑฐ):** Accuracy `58.45%`
- **๊ฒฐ๋ก :** KOTE ๋ฐ์ดํฐ์
์ ํ์ฉํ ์ฌ์ ํ์ต ๋ชจ๋ธ์ ์์ง ๊ธฐ๋๋งํผ์ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ์ง ๋ชปํจ. ์ถํ ๊ฐ์ ๋ฐฉํฅ ์ฌ์ค์ ํ์.
|