-
Notifications
You must be signed in to change notification settings - Fork 0
Tech Stack
Yeonhee Kim edited this page Aug 27, 2021
·
45 revisions
[๊ธฐ์ ์คํ ์๊ฐํ ์ด๋ฏธ์ง]
- 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๊ฐ ๋ ์ ํฉํ๋ค.
- ์คํ์์ค RDBMS ์ค์์๋ PostgreSQL๋ณด๋ค MySQL์ด UPDATE๋ฌธ ์ฑ๋ฅ์ด ๋ ์ข์ ์ ์ ๊ณ ๋ คํ์ฌ MySQL์ ์ ํํ๋ค.
- PostgreSQL์ UPDATE๋ฅผ ํ ๋ ๊ณผ๊ฑฐ ํ์ ์ญ์ ํ๊ณ INSERT์ฒ๋ผ ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง ์๋ก์ด ํ์ ์ถ๊ฐํ๋ ํํ๋ผ์ UPDATE๊ฐ ๋๋ฆฌ๋ค.
- ๋ํ์ ์ธ ํด๋ผ์ฐ๋ ์๋น์ค ์ ๊ณต์ฌ๋ก AWS, Microsoft Azure, GCP๊ฐ ์๋๋ฐ, ์ ๊ณ์์๋ AWS๊ฐ ๊ฐ์ฅ ์ ์ ์จ์ด ๋๋ค.
- AWS๋ ์ ๊ท ๊ณ ๊ฐ์๊ฒ 1๋ ๋์ ๋ฌด๋ฃ๋ก ํ๋ฆฌํฐ์ด๋ฅผ ์ ๊ณตํ๊ณ ํ์ฌ ์ฌ์ง ์ค์ธ ํ์ฌ์์๋ AWS๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ์ค์ค๋ก AWS ์๋ฒ๋ฅผ ๊ตฌ์ถํ๊ณ ์ค์ตํด๋ณด๊ณ ์ถ์ด์ ์ ํํ๋ค.
- ์คํ์์ค CI/CD ์๋ฃจ์
์ผ๋ก Jenkins์ Travis CI ์ค์์ ๊ณ ๋ฏผํ๋ค๊ฐ Travis CI๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค.
- Jenkins๋ ํ๋ฌ๊ทธ์ธ์ ์ข ๋ฅ๊ฐ ๋ค์ํ๊ณ ๋ชจ๋ ๋ถ๋ถ์ ์ง์ ๊ด๋ฆฌํ ์ ์์ง๋ง ์๋ฒ ์ด์ ๋น์ฉ์ด ๋ฐ๋ก ๋ฐ์ํ๋ค.
- ์ฐ๋ฆฌ ํ๋ก์ ํธ๋ ๊ท๋ชจ๊ฐ ์์ ํ๋ก์ ํธ์ ํด๋น๋๋ฏ๋ก Jenkins์ ๋นํด ํ๋ฌ๊ทธ์ธ ์ข ๋ฅ๋ ์ ์ง๋ง ์ง์ ์๋ฒ๋ฅผ ์ด์ํ ํ์๊ฐ ์๋ Travis CI๋ฅผ ์ฌ์ฉํด๋ณด๋ ค๊ณ ํ๋ค.
- SPA ํ๋ ์์ํฌ / React / Vue / Angular