๐ ์๋น์ค ๋งํฌ: https://say-cheese.me
| ๊น๊ทํ | ๊น๊ฑด์ฐ | ์ฐ๋คํ | ์ฃผ์ ๋น |
|---|---|---|---|
frontend |
frontend |
backend |
backend |
[Swagger] ๐ง ์น์ด์ด์ฆ API ๋ช ์ธ์
| ๊ธฐ์ ์คํ | ์ค๋ช |
|---|---|
| Next.js 15 (App Router) | - SSRยทSSG ์ง์์ผ๋ก ์ด๊ธฐ ๋ก๋ฉ ๋ฐ SEO ์ต์ ํ - ์ด๋ฏธ์งยทํฐํธ ์ต์ ํ ๋ฑ ๋ด์ฅ ๊ธฐ๋ฅ์ผ๋ก ๊ณ ์ฑ๋ฅ ์น ๊ตฌ์ถ |
| TypeScript | - ์ ์ ํ์ ์์คํ ์ผ๋ก ์ปดํ์ผ ๋จ๊ณ์์ ์ค๋ฅ ์ฌ์ ๋ฐฉ์ง |
| Tailwind CSS | - Token Studio ๊ธฐ๋ฐ ๋์์ธ ํ ํฐ โ Tailwind ๋ณํ - ์ ํธ๋ฆฌํฐ ํด๋์ค ๊ธฐ๋ฐ ๋น ๋ฅธ UI ๊ฐ๋ฐ, ์ต์ CSS ๋ฒ๋ค |
| ShadCn UI | - WA ์ ๊ทผ์ฑ ํ์ค ์ค์ - ์ฝ๋ ์ง์ ์์ โ ์์ ํ ์ปค์คํฐ๋ง์ด์ง ๊ฐ๋ฅ - ๊ฒ์ฆ๋ UI ํจํด์ผ๋ก ๊ฐ๋ฐ ์๊ฐ ์ ์ฝ |
| Zustand | - ๊ฐ๊ฒฐํ ์ ์ญ ์ํ ๊ด๋ฆฌ - ์ ๋ก๋ ๋๊ธฐ์ดยท๋ค์ค ์ ํ ๋ฑ ๋ณต์ก ์ํ๋ ์ง๊ด์ ์ผ๋ก ๊ด๋ฆฌ |
| Tanstack Query (React Query) | - ์๋ฒ ๋ฐ์ดํฐ ์บ์ฑยท๋๊ธฐํ ์ต์ ํ - ๋ฌดํ ์คํฌ๋กค ๋ฑ ์ฌ์ฉ์ ๊ฒฝํ ๊ฐํ ๊ธฐ๋ฅ ์ ๊ณต |
| Github Actions | - PR ํ
์คํธ/๋ฆฐํ
์๋ํ๋ก ํ์ง ๊ด๋ฆฌ - ๋น๋โ๋ฐฐํฌ๊น์ง ์๋ํ๋ CI/CD ๊ตฌ์ถ |
| Lucide React | - SVG ๊ธฐ๋ฐ์ ๊ฐ๋ณ๊ณ ์ผ๊ด๋ ์์ด์ฝ ์ ๊ณต |
| Framer Motion | - ๋ถ๋๋ฌ์ด ์ฑ ์์ค์ ์ธํฐ๋์
๊ตฌํ - ์ ์ธ์ ์ ๋๋ฉ์ด์ ์ผ๋ก ์ง๊ด์ ์ธ UI ๋์ ๊ฐ๋ฐ |
| Vitest | - Vite ๊ธฐ๋ฐ ์ด๊ณ ์ ํ
์คํธ ๋ฌ๋ - ๋ฆฌํฉํ ๋ง ์ ์์ ์ฑ์ ๋ณด์ฅํ๋ ํ ์คํธ ํ๊ฒฝ ์ ๊ณต |
| ๊ธฐ์ ์คํ | ์ค๋ช |
|---|---|
| Spring Boot 3.5.6 + Java 21 | - ์ต์ LTS๋ก ์์ ์ฑ๊ณผ ์ฑ๋ฅ ๊ฐํ - GC ์ฑ๋ฅ ๊ฐ์ ๋ฐ ๋์ ์์ฐ์ฑ์ผ๋ก ์ ์ง๋ณด์์ฑ ๊ทน๋ํ |
| Redis | - ์ธ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฐ ์ด๊ณ ์ ์กฐํ ์ฑ๋ฅ - Cache-Aside๋ก ์จ๋ฒ/์ฌ์ง ๋ฐ์ดํฐ ์กฐํ ์ต์ ํ - ZSET ๊ธฐ๋ฐ ๋ง๋ฃ ์ค์ผ์ค๋ฌ๋ก ์ผ๊ด์ฑ ๋ณด์ฅ |
| MySQL | - ์์ ์ฑ๊ณผ ๋ณต๊ตฌ๋ ฅ์ด ๊ฒ์ฆ๋ RDBMS - ํธ๋์ญ์ ๊ธฐ๋ฐ ์ผ๊ด์ฑ ํ๋ณด - ๊ตฌ์กฐํ๋ ์คํค๋ง ์ค๊ณ์ ์ ํฉ |
| JPA | - ORM ๊ธฐ๋ฐ์ผ๋ก SQL ๋ฐ๋ณต ์์ฑ ๋ถ๋ด ์ ๊ฑฐ - ๋๋ฉ์ธ ๋ชจ๋ธ ์ค์ฌ ์ค๊ณ์ ์์ฐ์ค๋ฝ๊ฒ ๊ฒฐํฉ - ์์ฐ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ ํฅ์ |
| Python + Pillow (PIL) - Cloud Functions | - ์ด๋ฏธ์ง ํ์ /๋ฆฌ์ฌ์ด์ง/WebP ๋ณํ ๋ฑ ์ต์ ํ - Node ๋๋น ๋น๋ ์์กด์ฑ ๋ฌธ์ ๊ฐ์ - ์ธ๋ค์ผ/4cut ์์ฑ ๋ฑ ์๋ฒ ๋ถํ ์์ ๋ถ๋ฆฌ |
| Naver Cloud Platform (NCP) | - Object Storage ยท Cloud Functions ยท CDN ยท VPC ์์ฐ์ค๋ฌ์ด ํตํฉ - ๊ตญ๋ด ํธ๋ํฝ์ ์ต์ ํ๋ ๋ฎ์ ๋ ์ดํด์ - ๋น์ฉยท์ด์ ํจ์จ ๋ชจ๋ ์ฐ์ |
| Object Storage + CDN | - Presigned URL ๊ธฐ๋ฐ์ผ๋ก ์
๋ก๋ยท๋ค์ด๋ก๋ ์ฒ๋ฆฌ โ ์๋ฒ๋ฅผ ๊ฑฐ์น์ง ์์ ํธ๋ํฝ ๋ถ๋ด 0 - CDN์ด ์ด๋ฏธ์ง ์๋น ๋๋ถ๋ถ ๋ด๋น โ ๊ธ๋ก๋ฒ ์ง์ญ์์๋ ๋น ๋ฅธ ์กฐํ |
| Github Actions + Docker (CI/CD) | - ๋น๋ โ ํ
์คํธ โ ์ด๋ฏธ์ง ์์ฑ โ ๋ฐฐํฌ ์๋ํ - Docker๋ก ํ๊ฒฝ ์ผ๊ด์ฑ ํ๋ณด - Blue-Green ๋ฐฉ์์ผ๋ก ๋ฌด์ค๋จ ๋ฐฐํฌ ์คํ |
| PLG (Promtail / Loki / Grafana) + Prometheus | - ๋ก๊ทธ(Loki) + ๋ฉํธ๋ฆญ(Prometheus) + ์๊ฐํ(Grafana)๋ก ์์ ํ Observability ๊ตฌ์ถ - ์ฅ์ ์์ธ ์ถ์ ๋ฐ ์ด์ ํจ์จ ๊ทน๋ํ |
