๐จ๐ป ๊ฐ๋ฐ์ ๋๊ธฐ ์ํ ํ ํฌํธ๋ฆฌ
- ๊ณต์ ๋งํฌ ๋ง๋ค๊ธฐ
- X
- ์ด๋ฉ์ผ
- ๊ธฐํ ์ฑ
> ๐ฏ ๊ฐ๋ฐ์๊ฐ ๋๊ธฐ๊น์ง ์ด๋ค ๋จ๊ณ๋ฅผ ๋ฐ์์ผ ํ ๊น? > ์ด ๊ธ์ ๊ฐ๋ฐ์๋ฅผ ๊ฟ๊พธ๋ ์ฌ๋๋ค์ ์ํด ๋จ๊ณ๋ณ ์ฑ์ฅ ๋ฃจํธ์ ํ์ํ ๊ธฐ์ ๋ค์ ์ ๋ฆฌํ ๊ฐ์ด๋์ ๋๋ค.
๐ ํ๋ก ํธ์๋์ ๋ฐฑ์๋๋ ๋ฌด์์ด ๋ค๋ฅผ๊น?
๊ฐ๋ฐ์๋ ํฌ๊ฒ ๋ ์ข ๋ฅ๋ก ๋๋์ด์. ๋ฐ๋ก ํ๋ก ํธ์๋(Frontend) ๊ฐ๋ฐ์์ ๋ฐฑ์๋(Backend) ๊ฐ๋ฐ์์ ๋๋ค. ๊ฐ์ ์ญํ ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ๋ ๊ธฐ์ ๊ณผ ๊ณต๋ถํ๋ ๋ด์ฉ๋ ๋ฌ๋ผ์.
๐️ ํ๋ก ํธ์๋(Frontend)๋?
> ์ฌ์ฉ์๊ฐ ๋์ผ๋ก ๋ณด๊ฒ ๋๋ 'ํ๋ฉด'์ ๋ง๋๋ ๊ฐ๋ฐ์
| ์์ | ์ค๋ช | |------|------| | ๋ฒํผ, ๋ฉ๋ด, ๊ธ์จ, ์ด๋ฏธ์ง | ์น์ฌ์ดํธ์์ ์ฐ๋ฆฌ๊ฐ ์ง์ ํด๋ฆญํ๊ฑฐ๋ ๋ณด๋ ๋ถ๋ถ | | ๋ค์ด๋ฒ ๋ฉ์ธํ๋ฉด | ๊ธ์จ๊ฐ ์ปค์ง๊ฑฐ๋ ์ ๋๋ฉ์ด์ ์ด ์์ง์ด๋ ๋ฑ ์๊ฐ์ ์์๋ค | | ์ฌ์ฉํ๋ ๊ธฐ์ | HTML, CSS, JavaScript, React ๋ฑ |
ํ๋ก ํธ์๋๋ ๋์์ธ ๊ฐ๊ฐ๊ณผ UI/UX ์ดํด๊ฐ ์ค์ํด์.
๐ง ๋ฐฑ์๋(Backend)๋?
> ํ๋ฉด ๋ค์์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ ์ฅํ๋ ์ญํ
| ์์ | ์ค๋ช | |------|------| | ๋ก๊ทธ์ธ ๊ธฐ๋ฅ | ๋น๋ฐ๋ฒํธ ๋ง๋์ง ํ์ธ ํ ์ธ์ ๋ฐ๊ธ | | ๊ฒ์๊ธ ์ ์ฅ | ๋ด๊ฐ ์์ฑํ ๊ธ์ DB์ ์ ์ฅํ๊ณ ๋ถ๋ฌ์ค๊ธฐ | | ์ฌ์ฉํ๋ ๊ธฐ์ | Python(Django), Node.js, Java(Spring), MySQL ๋ฑ |
๋ฐฑ์๋๋ ๋ ผ๋ฆฌ์ ์ฌ๊ณ , ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฅ๋ ฅ, ๋ณด์์ ๋ํ ์ดํด๊ฐ ์ค์ํฉ๋๋ค.
๐งฉ ์ฝ๊ฒ ๋น์ ํ๋ฉด...
- ํ๋ก ํธ์๋: ๊ฒ์ ํ๋ฉด์ ๋ง๋ ๋ค (์บ๋ฆญํฐ, UI, ์ดํํธ) - ๋ฐฑ์๋: ๊ฒ์ ์๋ฒ๋ฅผ ๋ง๋ ๋ค (๋ ๋ฒจ ์ ์ฅ, ์น๊ตฌ ๋ชฉ๋ก, ์ฑํ ์ฒ๋ฆฌ)
๐ ๋ ๋ค ์ํ๋ ํ์คํ(Full-Stack) ๊ฐ๋ฐ์๋ ์์ด์
์ฒ์์๋ ํ ์ชฝ๋ถํฐ ๋ฐฐ์ฐ๋ ๊ฒ ์ข์ง๋ง, ๋์ค์๋ ๋ ์์ญ์ ๋ชจ๋ ๋ค๋ฃจ๋ ํ์คํ ๊ฐ๋ฐ์๋ก ์ฑ์ฅํ ์๋ ์์ด์. ์ฒ์์ ํ๋ก ํธ or ๋ฐฑ์๋ ์ค ๋ ํฅ๋ฏธ๋ก์ด ์ชฝ๋ถํฐ ์์ํ์ธ์!
✅ 1๋จ๊ณ: ์ ๋ฌธ ํํ ๋ฆฌ์ผ
๐ฏ ๋ชฉํ
- ๊ฐ๋ฐ ์ ๋ฌธ ๋ฐ ์ฝ๋ฉ ํฅ๋ฏธ ๋ถ์ด๊ธฐ - ๊ฐ๋จํ ํ๋ก๊ทธ๋จ ์์ฑ ๊ฒฝํ ์๊ธฐ
๐ ํ์ ๊ธฐ์
- ์ธ์ด: Python (๊ฐ์ฅ ์ฌ์) ๋๋ C, Java - ๊ฐ๋ : ๋ณ์, ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ, ํจ์ - ํด: VSCode, Replit, GitHub ๊ณ์ ๋ง๋ค๊ธฐ
๐งช ์ถ์ฒ ํ๋
- ์ํ์ฝ๋ฉ Python ๊ฐ์ ์๊ฐ - ๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ ์ ๋ฌธ ๋จ๊ณ ํ๊ธฐ - ๋๋ง์ ๋ฏธ๋ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ (์: ๋จ์ด์ฅ, ๊ณ์ฐ๊ธฐ)
✅ 2๋จ๊ณ: ์ง๋ก ์ค์ & CS ๊ธฐ์ด
๐ฏ ๋ชฉํ
- ์ปดํจํฐ๊ณตํ ๊ธฐ์ด ์ง์ ์ดํด - ์งํ/์ค๋ฌด ์ ํ ์ค๋น
๐ ํ์ ๊ธฐ์
- ์๊ณ ๋ฆฌ์ฆ: ๋ฐฐ์ด, ์ ๋ ฌ, ํด์, ์คํ/ํ - ์๋ฃ๊ตฌ์กฐ: ๋ฆฌ์คํธ, ํธ๋ฆฌ, ๊ทธ๋ํ ๊ฐ๋ - ํด: Git & GitHub, CLI (๋ฆฌ๋ ์ค ๊ธฐ๋ณธ ๋ช ๋ น์ด) - ๋ฌธ์ ์ฝ๊ธฐ: ์์ด API ๋ฌธ์, ์๋ฌ ๋ฉ์์ง ํด์
๐งช ์ถ์ฒ ํ๋
- CS50 ํ๋ฒ๋ ๊ฐ์ (YouTube ๋ฌด๋ฃ) - Do it! ์๊ณ ๋ฆฌ์ฆ ์ฑ ์ผ๋ก ์๋ฃ๊ตฌ์กฐ ํ์ต - C์ธ์ด๋ก ๊ฐ๋จํ ์ฝ์ ๊ฒ์ ๊ตฌํ
✅ 3๋จ๊ณ: ์ค์ ์คํฌ ์ ๊ทธ๋ ์ด๋
๐ฏ ๋ชฉํ
- ์น ๊ฐ๋ฐ ์ค๋ ฅ ์๊ธฐ - ํฌํธํด๋ฆฌ์ค์ฉ ํ๋ก์ ํธ ๋ง๋ค๊ธฐ
๐ ํ๋ก ํธ์๋ ํธ๋
#### ๐ ํ์ ๊ธฐ์ - HTML, CSS - JavaScript (ES6 ์ด์) - React ๋๋ Vue (SPA ํ๋ ์์ํฌ) - UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ: Tailwind, Bootstrap - ๋ฐฐํฌ: Vercel, GitHub Pages
#### ๐งช ์ถ์ฒ ํ๋ - Todo ์ฑ, ๋ ์จ ์ฑ, ๋ธ๋ก๊ทธ UI ํด๋ก - ๋ฐ์ํ ์น ๋์์ธ ์ ์ฉ - ํฌํธํด๋ฆฌ์ค์ฉ ์น์ฌ์ดํธ ์ง์ ๋ง๋ค๊ธฐ
๐ ๋ฐฑ์๋ ํธ๋
#### ๐ ํ์ ๊ธฐ์ - ์ธ์ด: Node.js, Python(Django/Flask), Java(Spring) - API ์๋ฒ ๊ตฌ์ถ: RESTful ์ค๊ณ - DB: MySQL, PostgreSQL, MongoDB - ์ธ์ฆ: JWT, OAuth
#### ๐งช ์ถ์ฒ ํ๋ - ๊ฒ์ํ API, ๋ฉ๋ชจ์ฅ API ๊ฐ๋ฐ - Swagger๋ก API ๋ฌธ์ํ ์ฐ์ต - ๋ฐฐํฌ: Render, Heroku, Railway
✅ 4๋จ๊ณ: ์ฑ์ฉ ์ค๋น & ์ค๋ฌด ์์ฑ
๐ฏ ๋ชฉํ
- ํฌํธํด๋ฆฌ์ค ์์ฑ - ๊ธฐ์ ๋ฉด์ /์ฝ๋ฉ ํ ์คํธ ๋๋น
๐ ํ๋ก ํธ์๋
#### ๐ ํ์ ๊ธฐ์ - ํ๋ก์ ํธ ์ํ ๊ด๋ฆฌ (Redux, Context) - ๊ณ ๊ธ CSS (Grid, Animation) - ์น ์ต์ ํ (Lighthouse, SEO) - ํ์ ์คํฌ๋ฆฝํธ ๊ธฐ๋ณธ
#### ๐งช ์ถ์ฒ ํ๋ - ์ผํ๋ชฐ ํด๋ก ์ฝ๋ฉ (React + Firebase) - ํ ํ๋ก์ ํธ 1ํ ์ด์ ์ฐธ์ฌ - GitHub์ ์ฝ๋ ์ ๋ก๋ + README ์์ฑ
๐ ๋ฐฑ์๋
#### ๐ ํ์ ๊ธฐ์ - REST API, MVC ๊ตฌ์กฐ - ๋ฐฐํฌ ์๋ํ (CI/CD, GitHub Actions) - ์บ์ฑ, ํธ๋์ญ์ ์ฒ๋ฆฌ - ๋คํธ์ํฌ/๋ณด์ ๊ธฐ์ด
#### ๐งช ์ถ์ฒ ํ๋ - React + Django ๊ฒ์ํ ํ์คํ ํ๋ก์ ํธ - Docker๋ก ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ฑ - SQL ์ฟผ๋ฆฌ ์ต์ ํ ์ค์ต
๐ง ๋ถ๊ฐ ์ญ๋ (๊ณตํต)
| ํญ๋ชฉ | ๋ด์ฉ | |------|------| | CS ์ง์ | OS, ๋คํธ์ํฌ, DB ํธ๋์ญ์ , HTTP ํ๋กํ ์ฝ | | ํ์ | GitHub Flow, Jira, Notion, Slack | | ์ฝ๋ฉ ํ ์คํธ | ๋ฐฑ์ค ๊ณจ๋, ํ๋ก๊ทธ๋๋จธ์ค Lv2 ์ด์ | | ํฌํธํด๋ฆฌ์ค | GitHub ์ ๋ฆฌ + Notion ๊ธฐ์ ๋ฌธ์ํ |
๐ ์์ฝ ๋ก๋๋งต
| ๋จ๊ณ | ์ฃผ์ ๊ธฐ์ | ๋ถ๊ธฐ | ์ถ์ฒ ํ๋ | |------|----------|------|------------| | 1๋จ๊ณ | Python ๊ธฐ์ด | ๊ณตํต | ๋ฏธ๋ ํ๋ก์ ํธ, ์๊ณ ๋ฆฌ์ฆ ์ ๋ฌธ | | 2๋จ๊ณ | ์๊ณ ๋ฆฌ์ฆ, Git | ๊ณตํต | ์๋ฃ๊ตฌ์กฐ ํ์ต, CLI ์ต์ํด์ง๊ธฐ | | 3๋จ๊ณ | ์น ๊ฐ๋ฐ | ํ๋ก ํธ์๋/๋ฐฑ์๋ ๋ถ๊ธฐ | ํ๋ก์ ํธ ๊ตฌ์ถ | | 4๋จ๊ณ | ์ค๋ฌดํ ์คํ | ํ๋ก ํธ์๋/๋ฐฑ์๋ ๊ณ ๊ธํ | ํฌํธํด๋ฆฌ์ค, ์ฑ์ฉ ์ค๋น |
๐ ํ๋ก ํธ์๋ vs ๋ฐฑ์๋ ๊ธฐ์ ๋น๊ต
| ํญ๋ชฉ | ํ๋ก ํธ์๋ | ๋ฐฑ์๋ | |------|------------|--------| | ์ฃผ์ ์ธ์ด | HTML, CSS, JS, TypeScript | Python, Java, JavaScript, Go | | ํ๋ ์์ํฌ | React, Vue, Next.js | Django, Spring, Express | | ์ฃผ์ ๋๊ตฌ | Figma, Vite, Tailwind | Postman, Swagger, Docker | | ๋ํ ๊ธฐ์ | UI/UX, SPA, ๋ฐ์ํ ์น | API, DB ์ค๊ณ, ์ธ์ฆ | | ๋ฐฐํฌ ํ๋ซํผ | Vercel, Netlify | Heroku, Render, Railway |
✨ ์ถ์ฒ ์ฌ์ดํธ & ์ฐธ๊ณ ์๋ฃ
- ๋ฐฑ์ค (https://www.acmicpc.net/) - ์ํ์ฝ๋ฉ (https://opentutorials.org/) - CS50 ๊ฐ์ (https://cs50.harvard.edu/) - GitHub Docs (https://docs.github.com/) - Vercel, Render, Railway (๋ฌด๋ฃ ๋ฐฐํฌ ๋๊ตฌ)
Related Links
Recommended Links
- ๊ณต์ ๋งํฌ ๋ง๋ค๊ธฐ
- X
- ์ด๋ฉ์ผ
- ๊ธฐํ ์ฑ
๋๊ธ
๋๊ธ ์ฐ๊ธฐ