์์ด๋์ด๋ฅผ ์ฝ๋๋ฅผ ํตํด ํ์ค๋ก ๋ง๋ค์ด๋ด๋ ๊ณผ์ ์ ๋ชฐ์ ํฉ๋๋ค. ํ์ฅ์ฑ ์๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์์ ์ ์ธ ๋ฐ์ดํฐ ์ํคํ ์ฒ๋ฅผ ์ค๊ณํ๋ ํ์คํ ๊ฐ๋ฐ์์ ๋๋ค.
GitHub ย ยทย Email ย ยทย Instagram
- ๐ Location: ๋ํ๋ฏผ๊ตญ ์์ธ
- ๐ป Languages: JavaScript, TypeScript, Java, Dart
- ๐ฏ Focus: RESTful/Hybrid API ์ค๊ณ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ต์ ํ, ์ค์๊ฐ ๋๊ธฐํ ์๋น์ค ๊ตฌํ
ย ย
ย ย
ย ย
ย ย ยทย ย
ย ย
ย ย
ย ย
์จ๋ฒ ๋จ์ ํ์ ๊ธฐ๋ก ๋ฐ ์์ ๋ฆฌ์ค๋ ๊ฐ์ ์ทจํฅ ๊ต๊ฐ์ ์ ๊ณตํ๋ ํ์คํ ์น ์๋น์ค
- ๊ธฐ๊ฐ: 2025.10 ~ ํ์ฌ (์งํ ์ค)
- ๊ธฐ์ฌ: 3์ธ ํ (๋ณธ์ธ ๊ธฐ์ฌ๋: ๊ธฐํ ๋ฐ ์์ด๋์ด ๋ฐ์ 100%, ๊ฐ๋ฐ 50%, DB ์ค๊ณ 30%)
- ๊ธฐ์ :
Next.jsย ยTypeScriptย ยSupabaseย ยPostgreSQLย ยVercel - ๋งํฌ: Official Website ย ยทย GitHub Repository
๐ก ๊ธฐํ ๋ฐฐ๊ฒฝ ๋ฐ ๋ชฉํ
- ์งํ ๋ฐฐ๊ฒฝ (100% ๋ ์ ๊ธฐํ): 'RateYourMusic'์ด๋ 'Pitchfork' ๋ฑ ํด์ธ์๋ ํ์ฑํ๋ ์์นด์ด๋ธ ์ค์ฌ์ ์์ ํ๋ก ์ปค๋ฎค๋ํฐ๊ฐ ์กด์ฌํ๋, ๊ตญ๋ด์๋ ๋์ค์์ ๋ฆฌ์ค๋๋ค์ด ์์ ๋กญ๊ฒ ์จ๋ฒ ๋จ์๋ก ์ฌ๋ ๊น์ ๋ฆฌ๋ทฐ๋ฅผ ๋๋ ์ ์๋ ๋์ค์ ์ธ ํ๋ซํผ์ด ๋ถ์กฑํ๋ค๋ ์ ์ ์ง์ ์ฃผ๋ชฉํ์ต๋๋ค. ํ์ ๊ตญ๋ด ๋์ค์์ ์ฌ์ ์ ๋ฌธ ํ๋ก ๋งค์ฒด๋ค์ ํ์ฑ๋๊ฐ ์ ์ฐจ ๋ฎ์์ง๋ ํ์์ ์์ฌ์์ ๋๊ปด, ๋ฆฌ์ค๋ ์ค์ฌ์ ์๋ก์ด ๋์ดํฐ๊ฐ ํ์ํ๋ค๊ณ ์๊ฐํ์ต๋๋ค.
- ํ๋ก์ ํธ ๋ชฉํ: ๊ตญ๋ด ๋์ค์์ ๋ฆฌ์ค๋๋ค์ ์ค์ ๋ชฉ์๋ฆฌ์ ๋์ฆ๋ฅผ ๋ฐ์ํ์ฌ, ์ง๊ด์ ์ด๊ณ ๋น ๋ฅธ ํ์ ํ๊ฒฝ์ ๋ณด์ฅํ๊ณ ์ ์ ๋ค์ด ์์ ๋กญ๊ฒ ํ์ ์ ๋จ๊ธฐ๋ฉฐ ์ํตํ ์ ์๋ **'์ฌ์ฉ์ ์ฐธ์ฌํ ๊ตญ๋ด No.1 ์์ ์์นด์ด๋ธ&๋ฆฌ๋ทฐ ์๋น์ค'**๋ฅผ ์ง์ ์ ์ํ๊ณ ์ค๊ณ๋ฅผ ๋ฆฌ๋ํ์ต๋๋ค.
๐๏ธ ๊ธฐ์ ๋ฐ ์ํคํ ์ฒ ๋์ ๋ฐฐ๊ฒฝ
- Next.js (App Router): ๋ฆฌ๋ทฐ ๊ฒ์๊ธ์ ๊ฒ์ ์์ง ์ต์ ํ(SEO)๋ฅผ ํ๋ณดํ๊ณ , ๋ค์์ ์ธ๋ถ ์์ API๋ฅผ ์๋ฒ์ฌ์ด๋์์ ๋ณ๋ ฌ๋ก ํธ์ถํ์ฌ ํด๋ผ์ด์ธํธ ๋ ๋๋ง ๋ถํ๋ฅผ ์ค์ด๊ธฐ ์ํด ๋์ ํ์ต๋๋ค.
- Supabase & PostgreSQL: ์ค์๊ฐ์ผ๋ก ์ ์ ์ ํ์ ๊ณผ ํผ๋๊ฐ ์ ๋ฐ์ดํธ๋๋ ์ปค๋ฎค๋ํฐ ํน์ฑ์, Realtime Subscription ๊ธฐ๋ฅ๊ณผ ๊ฐ๋ ฅํ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํจ๊ป ํ์ฉํ์ฌ ๋ฐฑ์๋ ๊ฐ๋ฐ ์์ฐ์ฑ์ ๊ทน๋ํํ์ต๋๋ค.
๐จโ๐ป ์ญํ ๋ฐ ๊ธฐ์ฌ๋ (My Role & Contributions)
- ๊ธฐํ ๋ฐ ์ ์ฒด ์์ด๋์ด ๋ฆฌ๋ (100%): ์๋น์ค ๋๋ฉ์ธ ์ ์, ํ๊ฒ ์ ์ ๋ถ์, ์ ์ ์ ๋(Journey) ์ค๊ณ ๋ฐ ํต์ฌ ๊ธฐ๋ฅ ์ ์์ ๋ฑ ๊ธฐํ์ A๋ถํฐ Z๊น์ง ๋ ์์ ์ผ๋ก ์ค๊ณ ๋ฐ ์ฃผ๋
- ํต์ฌ API ๋ฐ DB ์ํคํ ์ฒ ์ค๊ณ: Next.js์ Supabase๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ ๋ฐ์ดํฐ ํ์ ์ธํ๋ผ๋ฅผ ๊ตฌ์ถํ๊ณ , ๋ฆฌ๋ทฐ ์์ฑ/์กฐํ/์์ /์ญ์ (CRUD) ์ ๋ฐ์ ๊ฑธ์น API ์ํคํ ์ฒ๋ฅผ ์ ๋ด ์ค๊ณํ์ต๋๋ค.
- ์ค์๊ฐ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๊ตฌํ: ์ ์ ๋ค์ด ๋งค๊ธด ํ์ ๊ณผ ํผ๋ ๋ฐ์์ ์ง์ฐ ์์ด ๋๊ธฐํํ๊ธฐ ์ํด, Supabase ์ด๋ฒคํธ๋ฅผ ๊ฐ์งํด ํต๊ณ ํ ์ด๋ธ์ ๊ฐฑ์ ํ๋ ์ค์๊ฐ ํ์ดํ๋ผ์ธ ๋ก์ง์ ๊ตฌํํ์ต๋๋ค.
๐ ๊ฒฐ๊ณผ ๋ฐ ์ฑ๊ณผ
- ์์ด๋์ด ๊ธฐ๋ฐ ์๋น์ค ์์ ์์ฉํ: ์์ด๋์ด ๋น๋ฉ๋ถํฐ ๋๋ฉ์ธ ํ๋ณด, ์ค์ ๋ฐฐํฌ ๋ฐ ์ด์ ๋จ๊ณ๊น์ง ์์คํฑ์ผ๋ก ๋ฆฌ๋
- ์์ ํ์ ์ธํฐํ์ด์ค ๋ ธ์ถ ์๋ ์ฝ 58% ๊ฐ์ : ์ธ๋ถ ์์ API ์กฐํ ๋ฐ ๋ฐ์ดํฐ ํฌ๋งท ๊ฐ๊ณต ์ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋์ ์ ํตํด ์๋ต ์ง์ฐ ์ต์ํ
- ์ด๋ทฐ์ง ์กฐํ์ ์กฐ์ 0% ๋ฌ์ฑ: ๊ณ ์ ํค ์บ์ฑ ๊ฒ์ฆ ๋์ ์ผ๋ก ๋ถ์ ํ์ ์์ฒ ์ฐจ๋จ ๋ฐ ๋ถํ์ํ ํธ๋ํฝ ๋ญ๋น ์ต์ํ
- ๊ฒ์ ์์ง(SEO) ๋ ธ์ถ ์ต์ ํ: Next.js Server Components ๊ธฐ๋ฐ์ผ๋ก ๋์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์๋นํ์ฌ ๊ฒ์ ์์ง ์ ๊ทผ์ฑ ํ๋ณด
๐ฅ ํธ๋ฌ๋ธ ์ํ (ํด๋ฆญํ์ฌ ํผ์น๊ธฐ)
| ์ด์ | ๋ฌธ์ ์ํฉ | ํด๊ฒฐ ๋ฐฉ์ | ๊ฒฐ๊ณผ |
|---|---|---|---|
| ์ด๋ทฐ์ง ๋ฐฉ์ด | ๋ฌด๋ถ๋ณํ ์๋ก๊ณ ์นจ ๋ฐ ๋งคํฌ๋ก๋ฅผ ํตํ ์กฐํ์ ์กฐ์ | ๊ณ ์ ํค(IP+ID+๊ฒ์๊ธ) ์์ฑ ๋ฐ ๋ถ์ฐ ์บ์(TTL 24์๊ฐ) ๊ฒ์ฆ | ์กฐ์ 0% ๋ฌ์ฑ ๋ฐ ๋ถ์ ์ ํ ์ฐ๊ธฐ ์ฟผ๋ฆฌ ๊ธ๊ฐ |
| API ๋ณ๋ชฉ ๊ฐ์ | ์ธ๋ถ ์์ API ์์ฐจ ์กฐํ๋ก ์ธํ ๋ ๋๋ง ์ง์ฐ | Promise.all ๋ณ๋ ฌ ์ฒ๋ฆฌ, ๋ฐ์ดํฐ ์ ๊ทํ ๋ฐ ์บ์ฑ ๋์
|
๋ฒํผ ๋ ธ์ถ ์๋ ๋ํญ ๊ฐ์ ๋ฐ ๋คํธ์ํฌ ๋น์ฉ ์ ๊ฐ |
๊ธฐ์ด ๋ฌธ๋ฒ๋ถํฐ ๊ณ ๊ธ ๊ฐ๋ ๊น์ง ํ ์์ผ๋ก ์ฆ๊ธฐ๋ ์น/๋ชจ๋ฐ์ผ ๋ฐ์ํ ์๋ฐ ํ๋กํ ํ์ต ํ๋ซํผ
- ๊ธฐ๊ฐ: 2025.05 ~ 2025.07
- ๊ธฐ์ฌ: 6์ธ ํ (Team Leader / ๋ณธ์ธ ๊ธฐ์ฌ๋: DB ์ค๊ณ 40%, ๊ฐ๋ฐ 20%)
- ๊ธฐ์ :
Reactย ยNext.jsย ยSupabaseย ยPostgreSQLย ยVite - ๋งํฌ: Service Link ย ยทย GitHub Repository
๐ก ๊ธฐํ ๋ฐฐ๊ฒฝ ๋ฐ ๋ชฉํ
- ์งํ ๋ฐฐ๊ฒฝ: ์ ํต์ ์ธ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ด ํ์ต ๋ฐฉ์(์ฑ , ๋จ๋ฐฉํฅ ์ธ๊ฐ ๋ฑ)์ ๋น์ ๊ณต์๋ ์ด๊ธ ๊ฐ๋ฐ์๋ค์ด ์ค๋ ํฌ๊ธฐํ๊ธฐ ์ฌ์ด ์ง๋ฃจํ ๊ณผ์ ์ ๊ฐ์ง๋๋ค.
- ํ๋ก์ ํธ ๋ชฉํ: ์๋ฐ(Java) ์ธ์ด ํ์ต์ ํฅ๋ฏธ๋ฅผ ์์ง ์๋๋ก ํด์ฆ ํํ์ '๊ฒ์ด๋ฏธํผ์ผ์ด์ (Gamification)' ์์๋ฅผ ๊ฒฐํฉํ๊ณ , ์ค์๊ฐ ๊ฒฝ์/์ฑ์ฅ ์๊ทน ์์๋ฅผ ๋ํด ํ์ต ์ง์์ฑ์ ๋์ด๋ ์ฑ ์คํ์ผ์ ๋ฐ์ํ ์น ํ๋ซํผ์ ๋ชฉํ๋ก ๊ธฐํํ์ต๋๋ค.
๐๏ธ ๊ธฐ์ ๋ฐ ์ํคํ ์ฒ ๋์ ๋ฐฐ๊ฒฝ
- React: ํด์ฆ ์งํ ๋ฐ ๋์ ์ค ํ์ด์ง ์๋ก๊ณ ์นจ์ด ๋ฐ์ํ์ง ์๋๋ก SPA(Single Page Application) ํํ๋ก ๊ตฌ์ฑํ์ฌ ์ฑ๊ณผ ๊ฐ์ ๋ถ๋๋ฌ์ด ์ฌ์ฉ์ ๊ฒฝํ(UX)์ ์ ๊ณตํ๊ณ ์ ํ์ต๋๋ค.
- Supabase Realtime: ๋ณ๋์ ๋ณต์กํ WebSocket ์๋ฒ๋ฅผ ๊ตฌ์ถํ๊ณ ์ ์ง๋ณด์ํ๋ ๋์ , BaaS์ ์ค์๊ฐ ์ฑ๋ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ์ ์ง์ฐ(Low-latency) 1:1 ๋งค์นญ๊ณผ ์๋ฐฉํฅ ๋ผ์ด๋ธ ์ฑํ ์ ์ ์ํ๊ณ ์์ ์ ์ผ๋ก ๊ตฌํํ์ต๋๋ค.
๐จโ๐ป ์ญํ ๋ฐ ๊ธฐ์ฌ๋ (My Role & Contributions)
- ํ ๋ฆฌ๋ฉ ๋ฐ PM: 6์ธ ๊ท๋ชจ ํ์ ์ด๊ด ํ์ฅ์ผ๋ก์ ์ ์์ผ ๋ฐฉ์์ ์คํ๋ฆฐํธ ์ผ์ ์ ๋ฆฌ๋ํ๊ณ ๊ธฐ์ ์คํ ์กฐ์จ, ์๊ตฌ์ฌํญ ๋ถ์ ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค(PostgreSQL) ์คํค๋ง ์ ๋ฐ ์ค๊ณ๋ฅผ ์ด๊ดํ์ต๋๋ค.
- ์ค์๊ฐ ํต์ ์์ง ๊ฐ๋ฐ: Supabase Realtime ์ฑ๋์ ํ์ฉํด 1:1 ๋์ ๋งค์นญ ๋๊ธฐ์ด(Queue) ๊ด๋ฆฌ์ ๊ฒ์ ๋ฃธ ์์ฑ, ์๋ฐฉํฅ ๋ผ์ด๋ธ ์ธ๊ฒ์ ์ฑํ ์ ๊ฐ๋ฐํ์ต๋๋ค.
- ๐ก ์ฃผ๋ํ ํต์ฌ ์์ด๋์ด (๊ฒ์ด๋ฏธํผ์ผ์ด์ ์์ง ์ค๊ณ): ๋จ์ ํด์ฆ ํ์ด๋ฅผ ๋์ด ์ ์ ๊ฐ ์์กดํ ์ ์๋๋ก ๋์ด๋๋ณ ๊ฐ์ค์น๊ฐ ์ ์ฉ๋ ๊ฒฝํ์น ์ฐ์ ๊ณต์ ๋ฐ ์ค์๊ฐ ๋ฑ์ง/์ ์ ์์คํ ์ค๊ณ๋ฅผ ์ฃผ๋ํ์ฌ ์ฌ๋ฏธ์ ๋ณด์์ด๋ผ๋ ์ฌ๋ฆฌ์ ์์๋ฅผ ๊ธฐ์ ์ ์ผ๋ก ์ ๊ตํ๊ฒ ๊ตฌํํ์ต๋๋ค.
๐ ๊ฒฐ๊ณผ ๋ฐ ์ฑ๊ณผ
- ๋์ ์ ์ ํ๊ฒฝ์์์ ์ค์๊ฐ ๋๊ธฐํ ์ค์ฐจ์จ ๋ํญ ์ํ: ๋ธ๋ก๋์บ์คํ ์ฃผ๊ธฐ์ ๋ฉํ๋ฐ์ดํฐ ๊ตฌ์กฐ ๊ฒฝ๋ํ๋ฅผ ํตํด ๋คํธ์ํฌ ํ์ด๋ก๋ ๊ฐ์
- ํด์ฆ ์ดํ์จ ์ ์ด: ์ฆ๊ฐ์ ์ธ ๋ฆฌ์ก์ ํผ๋๋ฐฑ๊ณผ ์ค์๊ฐ ๋ญํน ๋ณ๋์ ํตํด ์ฌ๋ฏธ ์ค์ฌ์ ์ฌ์ฉ์ ํ๋ฆ(Flow) ์ ์ง
- 6์ธ ํ๋ก์ ํธ์ ์์ ์ ์ธ ๋ฆด๋ฆฌ์ฆ ์ดํ: ์ผ์ ๊ด๋ฆฌ ๊ฐ์ํ ๋ฐ ๋ช ์ธ์ ์ผ์น ์์ ์ ํตํด ์ผ์ ๋๋ ์ด ์์ด ๋ง์ผ์คํค ๋ฌ์ฑ
๐ฅ ํธ๋ฌ๋ธ ์ํ (ํด๋ฆญํ์ฌ ํผ์น๊ธฐ)
| ์ด์ | ๋ฌธ์ ์ํฉ | ํด๊ฒฐ ๋ฐฉ์ | ๊ฒฐ๊ณผ |
|---|---|---|---|
| ํ๋ฉด ๋๊ธฐํ ์ง์ฐ | ๋ค์ ์ ์ ์ค์๊ฐ ๋์ ์ง์ ์ ์ ์ก ๋ณ๋ชฉ ๋ฐ ์ฑํฌ ์ด๊ธ๋จ | ์ํ ๊ตฌ๋ ๋ฉํ๋ฐ์ดํฐ ์ธ๋ถํ ๋ฐ ๋ธ๋ก๋์บ์คํ ์ฃผ๊ธฐ ์ต์ ํ | ๋์ ์ ์ ์ ๋๊ธฐํ ์ค์ฐจ๋ฅผ ์ค์๊ฐ ์์ค์ผ๋ก ์์ถ |
์คํฐ๋ ๋ชจ์ง, ํ ๋น๋ฉ, ์ฒด๊ณ์ ์ธ ์ผ์ ๊ด๋ฆฌ ๋ฐ ํ์ผ ๊ณต์ ๋ฅผ ์ง์ํ๋ ํตํฉ ๊ด๋ฆฌ ์๋ฃจ์
- ๊ธฐ๊ฐ: 2025.07 ~ 2025.08 (5์ฃผ)
- ๊ธฐ์ฌ: 6์ธ ํ (๋ณธ์ธ ๊ธฐ์ฌ๋: DB ์ค๊ณ 30%, ๊ฐ๋ฐ 20%)
- ๊ธฐ์ :
Javaย ยSpring Bootย ยMyBatisย ยOracleDBย ยReactย ยAWS S3 - ๋งํฌ: GitHub Frontend ย ยทย GitHub Backend
๐ก ๊ธฐํ ๋ฐฐ๊ฒฝ ๋ฐ ๋ชฉํ
- ์งํ ๋ฐฐ๊ฒฝ: ๊ธฐ์กด ์คํฐ๋ ๋ชจ์์ ์ํต(์นด์นด์คํก/์ฌ๋), ์ผ์ ๊ณต์ (๊ตฌ๊ธ ์บ๋ฆฐ๋), ํ์ต ์์นด์ด๋น(๋ ธ์ ) ๋ฑ์ผ๋ก ์๋น์ค๊ฐ ํํธํ๋์ด ์์ด ์ ๋ณด ์ ์ค ๋ฐ ๊ด๋ฆฌ ๋ณต์ก๋๊ฐ ๋งค์ฐ ๋์์ต๋๋ค.
- ํ๋ก์ ํธ ๋ชฉํ: ๋ชจ์ง๋ถํฐ ์ค์ผ์ค๋ง, ์๋ฃ ๋ณด๊ด, ๊ณผ์ ์ ์ถ๊น์ง ์คํฐ๋ ์์ ์ฃผ๊ธฐ ์ ๋ฐ์ ํ ๊ณณ์์ ์์คํฑ์ผ๋ก ๊ด๋ฆฌํ๋ '์ฌ์ธ์ ํ์ ์ํฌ์คํ์ด์ค' ๊ตฌํ์ ๋ชฉํ๋ก ์ค์ ํ์ต๋๋ค.
๐๏ธ ๊ธฐ์ ๋ฐ ์ํคํ ์ฒ ๋์ ๋ฐฐ๊ฒฝ
- Spring Boot & OracleDB: ๋ค์์ ์ ์ ๋ฐ ์คํฐ๋ ๊ทธ๋ฃน ๊ฐ์ ๋ณต์กํ ๊ถํ ์ฒ๋ฆฌ(์ ๊ทผ ์ ์ด)์ ์ผ์ , ํ์ผ ๋ฑ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฅผ ์์ ์ ์ด๊ณ ๋ฌด๊ฒฐ์ฑ ์๊ฒ ๋ค๋ฃจ๊ธฐ ์ํด ์ํฐํ๋ผ์ด์ฆ๊ธ ์ํ๊ณ์ธ Spring Boot ํ๊ฒฝ์ ์ฑํํ์ต๋๋ค.
- AWS S3: ์คํฐ๋์๋ค์ด ๊ณต์ ํ๋ ๋์ฉ๋ ํ์ต ์๋ฃ ๋ฐ ์ด๋ฏธ์ง ํ์ผ๋ค์ ์น ์๋ฒ(WAS) ๋ถํ ์์ด ์์ ํ๊ฒ ๋ถ์ฐ ์ ์ฅํ๊ณ ๋ก๋ํ๊ธฐ ์ํด ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง๋ฅผ ์ฐ๋ํ์ต๋๋ค.
๐จโ๐ป ์ญํ ๋ฐ ๊ธฐ์ฌ๋ (My Role & Contributions)
- ํตํฉ ๋์๋ณด๋ ๋ฐ ์๊ฐํ ๊ฐ๋ฐ: Spring Boot ๋ฐฑ์๋ API๋ฅผ ์ค๊ณํ๊ณ React์ ๋น๋๊ธฐ ์ฐ๋ํ์ฌ, ์ ์ ๊ฐ ์ฐธ์ฌ ์ค์ธ ๋ค์ค ์คํฐ๋์ ์ฃผ๊ฐ ์ผ์ ๊ณผ ์ํ ์ ๋ณด๋ฅผ ํ๋์ ๋ณผ ์ ์๋ 'ํตํฉ ๋ฐ์ดํฐ ๋์๋ณด๋' ์ธํฐํ์ด์ค๋ฅผ ์ ๋ด ๊ตฌํํ์ต๋๋ค.
- ์ฌ์ฉ์ ๋ณด์ ๋ชจ๋ ๊ตฌ์ถ: ์์ ํ ํ์ผ ์ก์์ ์ ์ํด AWS S3 ์ ๋ก๋ ์ pre-signed URL ํจํด์ ํ์ฉํ๊ณ , ํ์ฅ์ ๋ฐ ํ์ดํธ๋ฆฌ์คํธ ๊ธฐ๋ฐ์ ๊ฒ์ฆ ์ธํฐ์ ํฐ๋ฅผ ๊ตฌ์ถํ์ต๋๋ค.
- ๐ก ์ฃผ๋ํ ํต์ฌ ์์ด๋์ด (์ ์ญ ๊ณตํต ๋ชจ๋ฌ ์ํคํ ์ฒ): ๋ค์์ ์์ธ ๊ธฐ๋ฅ์ด ํ์ ๋ฐ ๋ ์ด์ด ๋ชจ๋ฌ(Modal) ํํ๋ก ๋น๋ฒํ๊ฒ ํ์ฉ๋๋ UX ํน์ฑ์ ์ฝ๋ ์ค๋ณต๋๊ฐ ๋์์ ํฌ์ฐฉํ์ต๋๋ค. ์ด์ **๋ฆฌ์กํธ ์ ์ญ ์ํ ๊ด๋ฆฌ์ ์ฐ๋ํ 'ํ์คํ๋ ์ ์ญ ๊ณตํต ๋ชจ๋ฌ(Modal) ์ํคํ ์ฒ'**๋ฅผ ์ ์ ๋ฐ ์ค๊ณํ์ฌ ํ์๋ค์ ํ๋ก ํธ์๋ UI ์์ฐ์ฑ์ ๋น์ฝ์ ์ผ๋ก ๋์์ต๋๋ค.
๐ ๊ฒฐ๊ณผ ๋ฐ ์ฑ๊ณผ
- ํ๋ก ํธ์๋ ๋ชจ๋ฌ ๊ด๋ จ ์ฝ๋ ์ค๋ณต๋ฅ 70% ๊ฐ์: ์ ์ญ ๋ชจ๋ฌ ์ํคํ ์ฒ ํจํด์ ํ์คํํ์ฌ ์ ๊ท ๋ชจ๋ฌ ์์ฑ ์๊ฐ ๋จ์ถ ๋ฐ ์ ์ง๋ณด์ ํธ์์ฑ ๊ทน๋ํ
- ๋์ฉ๋ ์ผ์ ์กฐํ ์ต์ ํ: ์บ๋ฆฐ๋ ํ์ฑ ๋จ๊ณ์์์ ๋ฐ์ดํฐ ํ๋์ ํตํด ๋์ ์ผ์ ๋ฐ์ดํฐ ๋ก๋ฉ ์์ ํ๋ ์ ๋๋(Frame drop) ํ์์ ์์ ์ ๊ฑฐํ์ฌ ๋งค๋๋ฌ์ด 60fps ์ธํฐ๋์ ํ๋ณด
- ์คํ ๋ฆฌ์ง ๋ณด์ ๊ฐํ ๋ฐ WAS ๋ฆฌ์์ค ์ธ์ด๋ธ: AWS S3 Direct Upload ํจํด ์ ์ฉ์ ํตํ ๋ฏธ๋์ด ์์ ์ฒ๋ฆฌ ์๊ฐ ์ ์ฝ
๐ฅ ํธ๋ฌ๋ธ ์ํ (ํด๋ฆญํ์ฌ ํผ์น๊ธฐ)
| ์ด์ | ๋ฌธ์ ์ํฉ | ํด๊ฒฐ ๋ฐฉ์ | ๊ฒฐ๊ณผ |
|---|---|---|---|
| ๋ ๋๋ง ๋ณ๋ชฉ ํ์ | ๋์ ์ผ์ ์ฆ๊ฐ๋ก ์ธํ ์บ๋ฆฐ๋ ํ์ฑ ๋ถํ ๋ฐ ํ๋ ์ ๋๋ | ์ฟผ๋ฆฌ ํ๋(ํ์ ๋ฐ์ดํฐ๋ง ์ถ์ถ) ๋ฐ ๋๋ฐ์ด์ฑ/useMemo ์ ์ฉ | ํ๋ ์ ๋๋ ์ ๊ฑฐ ๋ฐ 60fps์ ์คํ๋ ๋ ๋๋ง ์ฑ๋ฅ ํ๋ณด |
ยฉ 2026 bitedogo. All rights reserved.

