-
Notifications
You must be signed in to change notification settings - Fork 0
Tech Stack
devminseo edited this page Sep 5, 2021
·
45 revisions
[๊ธฐ์ ์คํ ์๊ฐํ ์ด๋ฏธ์ง]
- Java ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ์ ์ํด์ JDK(Java Development Kit)๊ฐ ํ์์ ์ธ๋ฐ JDK์๋ Oracle JDK์ OpenJDK๊ฐ ์๋ค.
- ์ค๋ผํด์ ๋ผ์ด์ ์ค ์ฒด๊ณ๊ฐ ๋ณ๊ฒฝ๋๋ฉด์ 2019๋ 1์ ์ดํ๋ก๋ Oracle JDK๋ฅผ ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์๊ณ , OpenJDK๋ง ๋ฌด๋ฃ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
- Gradle์ ๋น๋๋ฅผ xml๋ก ์ ์ํ๋ Maven๊ณผ ๋ฌ๋ฆฌ Groovy ์ธ์ด๋ก ์ ์ํ์ฌ ๋ฌธ์์ ์์ด ์ค์ด๋ค๊ฒ ๋๊ณ ๋น๋ ์๋๋ Maven๋ณด๋ค Gradle์ด ๋ ๋น ๋ฅด๋ค. ์๋ฐ ๋น๋๋๊ตฌ๋ก Gradle๋ณด๋ค Maven์ ๋ ์ต์ํ์ง๋ง ์ ์ Gradle๋ ๋ง์ด ์ฌ์ฉํ๋ ์ถ์ธ์ด๋ฏ๋ก ๋ฐฐ์ฐ๋ฉด์ ์ ์ฉํด๋ณด๋ ค๊ณ ํ๋ค.
- ์คํ๋ง ํ๋ ์์ํฌ๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ ์๋ฐ์ ํน์ฑ์ ์ ์ด๋ ค์ฃผ๋ ํ๋ ์์ํฌ์ด๋ค. ์คํ๋ง๋ถํธ๋ ๊ธฐ๋ณธ์ ์ผ๋ก tomcat์ด ๋ด์ฅ๋์ด ์๊ณ ์คํ๋ง๊ณผ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๋์ ์ผ๋ก ๊ตฌ์ฑํด์ฃผ๋ฏ๋ก ๋ณด๋ค ๋น ๋ฅธ ๊ฐ๋ฐ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
- Swagger๋ ๊ฐํธํ๊ฒ ์ ์ฉํ ์ ์๊ณ API๋ฅผ ํ ์คํธํ ์ ์์ง๋ง, ์๋น์ค ์ฝ๋์ Swagger ๊ด๋ จ ์ด๋ ธํ ์ด์ ์ ์ถ๊ฐํด์ค์ผ ํ๊ณ ๋ฌธ์๋ง์ผ๋ก ์ฐ๋ ์์คํ ์ ๋ง๋ค๊ธฐ ์ด๋ ต๋ค.
- ์ด์ ๋ฐํด Spring Rest Docs๋ ์ฒ์์๋ ์ ์ฉํ๊ธฐ ์ด๋ ต๊ณ ํ ์คํธ ์ฝ๋๋ฅผ ๋ฐ๋์ ์์ฑํด์ผ ํ์ง๋ง, ์๋น์ค ์ฝ๋์ ์ํฅ์ ์ฃผ์ง ์๊ณ API๋ฅผ ์๋์ผ๋ก ๋ฌธ์ํํ ์ ์๋ค.
- TDD๋ฅผ ๊ณต๋ถํ๋ฉฐ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ ๊ณํ์ด๋ฉฐ ์๋ํ๋ฅผ ์งํฅํ๋ฏ๋ก Spring Rest Docs๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค.
- ์ฐ๋ฆฌ ํ๋ก์ ํธ์ ํน์ง์ ํ๋ก์ ํธ ๊ตฌํ ๋ฒ ๋ฅดํฌ์ ์๋ก์ด ์ฑ ์ด ์ ๋ก๋๋ ๋๋ง๋ค ์ฐ๋ฆฌ ์ชฝ DB์๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ์ด ๋์ด์ผ ํ๋ค. ํ๋ก์ ํธ ๊ตฌํ ๋ฒ ๋ฅดํฌ๋ก๋ถํฐ ๊ฐ์ ธ์ฌ ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ๋ช ํํ๋ฏ๋ก ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ค๋ณต์์ด ํ๋ฒ๋ง ์ ์ฅํ ์ ์๋ RDBMS๋ฅผ ์ ํํ๋ค.
- NoSQL์ ๋์ฉ๋ ๋ฐ์ดํฐ์ ์ฝ๊ธฐ์ ์ ๋ฆฌํ์ง๋ง, ์ฐ๋ฆฌ ํ๋ก์ ํธ์์ ํนํ ์ฑ ๋ฒ์ญ๋ฌธ ํ ์ด๋ธ์ ์์ ์ด ์์ฃผ ์ผ์ด๋๊ณ ํ์ ํ ์ด๋ธ, ์ฑ ์ ๋ณด ํ ์ด๋ธ, ์ฑ ์๋ฌธ ํ ์ด๋ธ, ์ฑ ๋ฒ์ญ๋ฌธ ํ ์ด๋ธ ๋ฑ ๊ด๊ณ๋ฅผ ๋งบ๊ณ ์๋ ๋ถ๋ถ์ด ๋ง์์ ์กฐ์ธ ์ฐ์ฐ์ด ๊ฐ๋ฅํ RDBMS๊ฐ ๋ ์ ํฉํ๋ค.
- PostgreSQL์ UPDATE๋ฅผ ํ ๋ ๊ณผ๊ฑฐ ํ์ ์ญ์ ํ๊ณ INSERT์ฒ๋ผ ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง ์๋ก์ด ํ์ ์ถ๊ฐํ๋ ํํ๋ผ์ UPDATE๋ฌธ์ด ๋๋ฆฌ๋ค.
- ์คํ์์ค RDBMS ์ค์์ ๋จ์ ์ฟผ๋ฆฌ ์ฒ๋ฆฌ ์ฑ๋ฅ์ MySQL์ด ๋ฐ์ด๋๋ฉฐ, MariaDB์ MySQL์์ ํ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ฏ๋ก ์ ๋ฐ์ ์ผ๋ก MySQL๊ณผ ์ ์ฌํ๋ค. ๋ ๋์ผํ ํ๋์จ์ด ์ฌ์์ผ๋ก MySQL๋ณด๋ค ํฅ์๋ ์ฑ๋ฅ, ์ข ๋ ํ์ฑํ๋ ์ปค๋ฎค๋ํฐ, ๋ค์ํ ๊ธฐ๋ฅ, ๋ค์ํ ์คํ ๋ฆฌ์ง ์์ง ์ธก๋ฉด์์ ์ฅ์ ์ ๊ฐ์ง๋ค
- SQL Mapper๋ ์๋ฐ ์ฝ๋๋ก๋ถํฐ SQL์ xml๋ก ๋ถ๋ฆฌํด์ค๋ค. SQL๋ฌธ์ ๊ทธ๋๋ก ์ฌ์ฉํ์ฌ ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ๋๋ ํธ๋ฆฌํ์ง๋ง, RDBMS์ ์ข ์์ ์ด๋ฉฐ ์๋ฐ ํด๋์ค์ DB ํ ์ด๋ธ์ด ๊ฐํ๊ฒ ์ฐ๊ฒฐ๋์ด ์์ด์ ์ ์ง๋ณด์์ฑ์ด ๋จ์ด์ง๋ค. ๋ํ์ ์ธ SQL Mapper๋ก MyBatis๊ฐ ์๋ค.
- ORM์ SQL๋ฌธ์ ์์ฑํ์ง ์๊ณ RDBMS๋ฅผ ์กฐ์ํ๊ฒ ํด์ค๋ค. ๋ณต์กํ SQL๋ฌธ์ ์ฒ๋ฆฌํ ๋๋ ์๋์ ์ผ๋ก ์ด๋ ค์์ด ์์ง๋ง, ๊ฐ์ฒด ์งํฅ์ ์ธ ํน์ฑ์ ๋ณด๋ค ๋ ์ด๋ ค์ SQL์ ์์กด์ ์ธ ๊ฐ๋ฐ์ ๊ทน๋ณตํ๊ฒ ํด์ฃผ๊ณ RDBMS๋ก๋ถํฐ ๋ ๋ฆฝ์ ์ด๋ฉฐ ์ ์ง๋ณด์์ ๋ณด๋ค ์ฉ์ดํ๋ค.
- ๊ฐ๋จํ CRUD์๋ SQL Mapper๋ณด๋ค ORM์ด ์ ๋ฆฌํ๋ฉฐ ์ฐ๋ฆฌ ํ๋ก์ ํธ์์ ๋๋ถ๋ถ์ ์ฟผ๋ฆฌ๋ฌธ์ ORM์ผ๋ก ๋ค๋ฃฐ ์ ์์ ๊ฒ์ผ๋ก ์๊ฐ๋๋ฏ๋ก ORM์ ์ฌ์ฉํ๊ณ ์ ํ๋ค.
- ๋ฐ๋ผ์ ์๋ฐ ์ง์์ ORM ๊ธฐ์ ํ์ค์ธ JPA๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ฉฐ, ์คํ๋ง์์ ์ ๊ณตํ๋ ๋ชจ๋ ์ค ํ๋์ธ Spring Data JPA๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค.
- ๋ํ์ ์ธ ํด๋ผ์ฐ๋ ์๋น์ค ์ ๊ณต์ฌ๋ก AWS, Microsoft Azure, GCP๊ฐ ์๋๋ฐ, ์ ๊ณ์์๋ AWS๊ฐ ๊ฐ์ฅ ์ ์ ์จ์ด ๋๋ค.
- AWS๋ ์ ๊ท ๊ณ ๊ฐ์๊ฒ 1๋ ๋์ ๋ฌด๋ฃ๋ก ํ๋ฆฌํฐ์ด๋ฅผ ์ ๊ณตํ๊ณ ํ์ฌ ์ฌ์ง ์ค์ธ ํ์ฌ์์๋ AWS๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ์ค์ค๋ก AWS ์๋ฒ๋ฅผ ๊ตฌ์ถํ๊ณ ์ค์ตํด๋ณด๊ณ ์ถ์ด์ ์ ํํ๋ค.
- ์น ์๋ฒ, ๋ฆฌ๋ฒ์ค ํ๋ก์, ์บ์ฑ, ๋ก๋ ๋ฐธ๋ฐ์ฑ, ๋ฏธ๋์ด ์คํธ๋ฆฌ๋ฐ ๋ฑ์ ์ํ ์คํ์์ค ์ํํธ์จ์ด
- ๋ฆฌ๋ฒ์ค ํ๋ก์ : ์์ฒญ์ ์ ๋ฌํ๊ณ ์ค์ ์์ฒญ์ ๋ํ ์ฒ๋ฆฌ๋ ๋ท๋จ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ค์ด ์ฒ๋ฆฌํจ
- ๊ณ ์ฑ๋ฅ ์น์๋ฒ๋ก, ์์ ์๋ Apache๊ฐ ๋์ธ์์ผ๋ ํ์ฌ๋ ๋๋ถ๋ถ ์๋น์ค๋ค์ด Enginx๋ฅผ ์ฌ์ฉํ๋ค.
- ์คํ์์ค CI/CD ์๋ฃจ์
์ผ๋ก Jenkins์ Travis CI ์ค์์ ๊ณ ๋ฏผํ๋ค๊ฐ Travis CI๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค.
- Jenkins๋ ํ๋ฌ๊ทธ์ธ์ ์ข ๋ฅ๊ฐ ๋ค์ํ๊ณ ๋ชจ๋ ๋ถ๋ถ์ ์ง์ ๊ด๋ฆฌํ ์ ์์ง๋ง ์๋ฒ ์ด์ ๋น์ฉ์ด ๋ฐ๋ก ๋ฐ์ํ๋ค.
- ์ฐ๋ฆฌ ํ๋ก์ ํธ๋ ๊ท๋ชจ๊ฐ ์์ ํ๋ก์ ํธ์ ํด๋น๋๋ฏ๋ก Jenkins์ ๋นํด ํ๋ฌ๊ทธ์ธ ์ข ๋ฅ๋ ์ ์ง๋ง ์ง์ ์๋ฒ๋ฅผ ์ด์ํ ํ์๊ฐ ์๋ Travis CI๋ฅผ ์ฌ์ฉํด๋ณด๋ ค๊ณ ํ๋ค.
- Heroku
- AWS ํ๋ฆฌํฐ์ด๋ 1๋ ๊น์ง๋ง ๋ฌด๋ฃ์ง๋ง, Heroku๋ ํ ๊ณ์ ๋น 5๊ฐ์ ์ฑ์ ๋ฌด๋ฃ๋ก ํธ์คํ ํ ์ ์๋ค. ๋ฐ๋ผ์ ํธ์คํ ์ ์ค๋ ๋๊ณ ๊ฐ์ ธ๊ฐ๋ ๊ฒ์ ๊ฐ์ํ์ฌ AWS๋ ๊ฐ๋ฐ ์๋ฒ๋ก ์ฌ์ฉํ๊ณ Heroku๋ ์ค์ ์ด์ ์๋ฒ๋ก ์ฌ์ฉํ๋ ค๊ณ ํ๋ค.
- AWS EC2๋ IaaS์ด์ง๋ง Heroku๋ PaaS๋ผ์ ๋ฐฐํฌ๊ฐ ๋ ๊ฐํธํ๋ค.
- Netlify
- Heroku์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฐฐํฌ ์๋ํ ๊ธฐ๋ฅ์ ๊ฐ์ถ ํธ์คํ ์๋น์ค
- Heroku๊ฐ ์ฃผ๋ก ์๋ฒ์ธก ์ ํ๋ฆฌ์ผ์ด์ ์ ํธ์คํ ํ๋ค๋ฉด, Netlify๋ ํ๋ก ํธ์๋ ์ชฝ ์ ์ ์น์ฌ์ดํธ๋ฅผ ํธ์คํ ํ๋ค.
- ๋ช ์๊ฐ ๋์ ์์ฒญ์ด ์์ผ๋ฉด ์๋ฉด ์ํ๋ก ์ ํ๋์ด ์ด๊ธฐ ์ ์์ด ๋๋ ค์ง๋ Heroku์ ๋ฌ๋ฆฌ ๋ฐ๋ก ์ ์์ด ์ ๋๋ค.
- Node.js๋ ํ์ฅ์ฑ ์๋ ๋คํธ์ํฌ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ฌ์ฉ๋๋ ์ํํธ์จ์ด ํ๋ซํผ์ผ๋ก, ์์ฑ ์ธ์ด๋ก ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฉํ๋ฉฐ ๋ ผ๋ธ๋กํน(Non-blocking) I/O์ ๋จ์ผ ์ค๋ ๋ ์ด๋ฒคํธ ๋ฃจํ๋ฅผ ํตํ ๋์ ์ฒ๋ฆฌ ์ฑ๋ฅ์ ๊ฐ์ง๊ณ ์๋ค.
- ๋ด์ฅ HTTP ์๋ฒ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํฌํจํ๊ณ ์์ด ์น ์๋ฒ์์ ์ํ์น ๋ฑ์ ๋ณ๋์ ์ํํธ์จ์ด ์์ด ๋์ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ฉฐ ์ด๋ฅผ ํตํด ์น ์๋ฒ์ ๋์์ ์์ด ๋ ๋ง์ ํต์ ๋ฅผ ๊ฐ๋ฅ์ผ ํ๋ค. ํ์ด์ฌ์ผ๋ก ๋ง๋ ํธ์์คํฐ๋, ํ๋ก ๋ง๋ ํ ๊ฐ์ฒด ํ๊ฒฝ, ๋ฃจ๋น๋ก ๋ง๋ ์ด๋ฒคํธ ๋จธ์ ๊ณผ ๊ทธ ์ฉ๋๊ฐ ๋น์ทํ๋ค.
- ๋๋ถ๋ถ์ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์น ๋ธ๋ผ์ฐ์ ์์ ์คํ๋๋ ๊ฒ๊ณผ๋ ๋ฌ๋ฆฌ ์๋ฒ ์ธก์์ ์คํ๋๋ค.
- npm (๋ ธ๋ ํจํค์ง ๋งค๋์ /Node Package Manager)์ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ํ ํจํค์ง ๊ด๋ฆฌ์์ด๋ฉฐ, ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐํ์ ํ๊ฒฝ Node.js์ ๊ธฐ๋ณธ ํจํค์ง ๊ด๋ฆฌ์์ด๋ค.
- ์ด ๋ ์ง์คํธ๋ฆฌ๋ ํด๋ผ์ด์ธํธ๋ฅผ ํตํด ์ ๊ทผ๋๋ฉฐ ์ฌ์ฉ ๊ฐ๋ฅํ ํจํค์ง๋ค์ npm ์น์ฌ์ดํธ๋ฅผ ํตํด ์ฐพ์๋ณด๊ณ ๊ฒ์ํ ์ ์๋ค.
- ์ฐธ๊ณ : npm ์น์ฌ์ดํธ
- ํจํค์ง ๊ด๋ฆฌ์์ ๋ ์ง์คํธ๋ฆฌ๋ npm์ฌ์ ์ํด ๊ด๋ฆฌ๋๋ค.
- ์ด๋ฒ ํ๋ก์ ํธ์๋ ์ฌ์ฉํ์ง ์์์ง๋ง npm๋์ ์ฌ์ฉํ ์ ์๋ ๋ ๋ค๋ฅธ ํจํค์ง ๊ด๋ฆฌ์์ด๋ค. yarn์ npm์ ๋์ฒดํ ์ ์๋ ๋๊ตฌ๋ก npm๋ณด๋ค ๋ ๋น ๋ฅด๋ฉฐ ํจ์จ์ ์ธ ์บ์ ์์คํ ๊ณผ ๊ธฐํ ๋ถ๊ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
- ๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ๋ ํ์ํ Webpack, Babel ์ค์น ๋ฐ ์ค์ ๊ณผ์ ์ ์๋ตํ๊ณ ๋ฐ๋ก ๊ฐํธํ๊ฒ ํ๋ก์ ํธ ์์ ํ๊ฒฝ์ ๊ตฌ์ถํด ์ฃผ๋ ๋๊ตฌ๋ก, ์ถํ ์ปค์คํฐ๋ง์ด์ง์ผ๋ก ์ค์ ์ ์์ ๋กญ๊ฒ ๋ณ๊ฒฝํ ์๋ ์๋ค.
- Next.js ํ๋ ์์ํฌ๋ ํ๋ก ํธ์๋์ ๋ฐฑ์๋๋ฅผ ๊ตฌ๋ถํ๊ณ ๋ฐฑ์๋ API์ ๋
๋ฆฝ์ ์ธ ํจ์จ์ ์ธ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ํ์ฉํ๋ JAMstack์ํคํ
์ฒ๋ฅผ ํ์ฉํ๋ค.
- JAMstack : ํด๋ผ์ด์ธํธ ์ธก JavaScript ์ฝ๋, ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ API ๋ฐ ๋งํฌ์ ์ฝํ ์ธ ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์น๊ฐ๋ฐ ์ํคํ ์ฒ
- ๊ณตํต CSS์ ์ฌ์ ์ปดํ์ผ๋ Scss ๋ฐ Sass, CSS-in-JS ๋ฐ ์คํ์ผ์ด ์ง์ ๋ JSX๋ฅผ ์ง์ํ๋ฉฐ, TypeScript ์ง์ ๋ฐ ์ค๋งํธ ๋ฒ๋ค๋ง์ผ๋ก ๋น๋๋๋ค.
- ์ค๋งํธ ๋ฒ๋ค๋ง : ๋ ๊ฑฐ์ ๋ธ๋ผ์ฐ์ ์๋ง ๋ ๊ฑฐ์ ์ฝ๋๋ฅผ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ
- Next.js์ ์ฃผ์ ๊ธฐ๋ฅ์ ์๋ฒ ์ธก ๋ ๋๋ง์ ์ฌ์ฉํ์ฌ ์น ๋ธ๋ผ์ฐ์ ์ ๋ถ๋ด์ ์ค์ด๊ณ ํฅ์๋ ๋ณด์์ ์ ๊ณตํ๋ ๊ฒ์ธ๋ฐ, ์ด๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ชจ๋ ๋ถ๋ถ ๋๋ ์ ์ฒด ํ๋ก์ ํธ์ ๋ํด ์ํํ ์ ์์ผ๋ฏ๋ก ์ฝํ
์ธ ๊ฐ ํ๋ถํ ํ์ด์ง๋ฅผ ์๋ฒ ์ธก ๋ ๋๋ง์ ์ํด ์ ๋ณํ ์ ์๋ค.
- ๊ฐ๋ฐ์ ํธ์๋ฅผ ์ํด ํ์ด์ง ๊ธฐ๋ฐ ๋ผ์ฐํ
์ ์ฌ์ฉํ๋ฉฐ ๋์ ๋ผ์ฐํ
์ง์์ ํฌํจํ๋ค.
- ์ฐธ๊ณ : Next.js ์ ๋๋ก ์๊ณ ์ฐ์
- ๊ฐ๋ฐ์ ํธ์๋ฅผ ์ํด ํ์ด์ง ๊ธฐ๋ฐ ๋ผ์ฐํ
์ ์ฌ์ฉํ๋ฉฐ ๋์ ๋ผ์ฐํ
์ง์์ ํฌํจํ๋ค.
- ์์กด ๊ด๊ณ์ ์๋ ๋ชจ๋๋ค์ ํ๋์ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ๋ก ๋ฒ๋ค๋งํ๋ ๋ชจ๋ ๋ฒ๋ค๋ฌ์ด๋ค. Webpack์ ์ฌ์ฉํ๋ฉด ์์กด ๋ชจ๋์ด ํ๋์ ํ์ผ๋ก ๋ฒ๋ค๋ง๋๋ฏ๋ก ๋ณ๋์ ๋ชจ๋ ๋ก๋๊ฐ ํ์์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์์ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ ํ๋์ ํ์ผ๋ก ๋ฒ๋ค๋งํ๋ฏ๋ก html ํ์ผ์์ script ํ๊ทธ๋ก ๋ค์์ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ ๋ก๋ํด์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์๋ ์ฌ๋ผ์ง๋ค.
- ์ต์ ์ฌ์์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ IE๋ ๊ตฌํ ๋ธ๋ผ์ฐ์ ์์๋ ๋์ํ๋ ES5 ์ดํ์ ์ฝ๋๋ก ๋ณํ(ํธ๋์คํ์ผ๋ง)ํ ์ ์๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ ๋ฐ ์ฝ๋ ์คํ์ผ์ ๊ฒ์ฌํด ์ฃผ๋ ๋๊ตฌ์ด๋ค.
- ์ฝ๋๋ฅผ ์์ฑํ ๋ ์ค์๋ฅผ ํ๋ฉด ์๋ฌ ํน์ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ VS Code ์๋ํฐ์์ ๋ฐ๋ก ํ์ธํ ์ ์๊ฒ ํด์ค๋ค.
- ๋ฆฌ์กํธ ์ปดํฌ๋ํธ ๋ฐ ๋ผ์ดํ์ฌ์ดํด ํจ์๋ฅผ ์์ฑํ ๋ ๋จ์ถ ๋จ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐํธํ๊ฒ ์ฝ๋๋ฅผ ์๋์ผ๋ก ์์ฑํด ๋ผ ์ ์๋ ์ฝ๋ ์ค๋ํซ ๋ชจ์์ด๋ค.
- ์ฝ๋ ์คํ์ผ์ ์๋์ผ๋ก ์ ๋ฆฌํด ์ฃผ๋ ๋๊ตฌ์ด๋ค.
- ์ฝ๋ฉ ๊ด์ต์ ์ฐจ์ด๋ก ๋ฐ์ํ๋ ๊ฐ์์ ๋ค์ํ ์คํ์ผ์ ์ฝ๊ฒ ์ปค์คํฐ๋ง์ด์งํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
- ์ฐธ๊ณ : Prettier Options ํ์ด์ง
- ์ถํ^^
- ์ ์ ํ์ ์ธ์ด(์๋ฐ, C, ํ์ ์คํฌ๋ฆฝํธ) vs ๋์ ํ์ ์ธ์ด(์๋ฐ์คํฌ๋ฆฝํธ, ํ์ด์ฌ)