-
Notifications
You must be signed in to change notification settings - Fork 2
๐ ๊ธฐ์ ์คํ
Seung-hyun Kim edited this page Dec 15, 2022
·
1 revision
- ํ๋ก ํธ์๋-๋ฐฑ์๋ ์์
์ ๋๋์ด ํ๋๋ผ๋, ์ฝ๋๋ฆฌ๋ทฐ ๋ฑ ํ์
์ ์ํด ํ๋ก ํธ์๋์์ ์ฌ์ฉํ๋
JavaScript
์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ์๊ฐํ์ต๋๋ค. - ํ์ง๋ง
JavaScript
๋ ๋์ ํ์ดํ ์ธ์ด๊ธฐ ๋๋ฌธ์ ์ปดํ์ผ ๋จ๊ณ์์ ํ์ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ๊ธฐ ์ด๋ ต์ต๋๋ค. - ๊ทธ๋์ ๊ฒ์ฆ์ ํ์ํ ์๊ฐ๊ณผ ๋
ธ๋ ฅ์ ์ค์ด๊ธฐ ์ํด
TypeScript
๋ฅผ ์ ํํ์ต๋๋ค.
- ๊ธฐํํ ํ๋ก์ ํธ๊ฐ SNS ํ์์ผ๋ก, ํน์ ๋ถ๋ถ๋ง ๋ค์ ๊ทธ๋ฆฌ๋ ์์ ์ด ๋ง์ ๊ฒ ๊ฐ์์ SPA์ ์ ํฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ณ ๋ฏผํ์ต๋๋ค.
- ์งง์ ์๊ฐ ๋ด์ ๊ธฐํํ ์๊ตฌ์ฌํญ์ ๋ชจ๋ ๋ง์กฑ์์ผ์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ตํ๋ ์๊ฐ๋ ๊ณ ๋ คํด์ผ ํ์ต๋๋ค.
- ๊ธฐ์กด์
React
๊ฒฝํ์ด ์๋ ํ์์ด ์๊ณ , ์ปค๋ฎค๋ํฐ๊ฐ ํฌ๊ธฐ ๋๋ฌธ์ ๊ฒ์์ ์ ๋ฆฌํ๋ค๊ณ ์๊ฐํด์React
๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
-
CRA
๋ฅผ ์ฌ์ฉํด์ ๊ฐ๋ฐํ์ ๋ ๋ฐฐํฌ ์ ๋น๋ ์๋๊ฐ ๋๋ฌด ๋๋ ธ๋ ๊ฒฝํ์ด ์์ด์ ์ด๋ฅผ ๊ฐ์ ํ๊ณ ์ ๊ณ ๋ฏผํ์ต๋๋ค. -
Vite
๋ ๋ด๋ถ์ ์ผ๋กdev
ํ๊ฒฝ์์๋ES Build
๋ฅผ ์ฌ์ฉํ์ฌ ๋งค์ฐ ๋น ๋ฅธ ๋ฒ๋ค๋ง ์๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. - ๋ํ
production
ํ๊ฒฝ์์๋RollUp
์ ์ฌ์ฉํ์ฌ ์นํฉ๋ณด๋ค ๋น ๋ฅธ ๋ฒ๋ค๋ง ์๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. -
Vite
๊ฐ SSR์ ์ฝ์ ์ ๊ฐ์ง๊ณ ์๋๋ฐ, ์ด๋ฒ ํ๋ก์ ํธ์์๋ CSR์ ๊ธฐํํ๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ์๊ฐํ์ต๋๋ค. - ๊ด๋ จ ๋ฌธ์ : Vite: CRA vs Vite
- ํ๋ก์ ํธ ๊ธฐํ ๋จ๊ณ์์ ํฌ์คํธ ์ ๋ณด, ๋ฆฌ๋ทฐ ์ ๋ณด, ์ข์์/๋ถ๋งํฌ/ํ๋ก์ฐ... ์ฌ๋ถ ๋ฑ ํด๋ผ์ด์ธํธ๋ณด๋ค ์๋ฒ์์ ๋ฐ์์๋ ์ํ๊ฐ ๋ง๋ค๊ณ ์๊ฐํ์ต๋๋ค.
- ํด๋ผ์ด์ธํธ ์ํ๋ก ๊ด๋ฆฌํ๊ฒ ๋๋ฉด ์๋ฒ ์์ฒญ์ ์ํ ์ฝ๋, ๋๊ธฐํ, ์บ์ฑ ๋ฑ์ ์ํ ์ฝ๋ ๋ฑ ๋ณด์ผ๋ฌํ๋ ์ดํธ๊ฐ ๋ง์์ง ๊ฒ์ด๋ผ๊ณ ํ๋จํ์ต๋๋ค.
- ๊ทธ๋์ ์๋ฒ ์ํ๊ด๋ฆฌ๋ฅผ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋์
์ ์๋ํ๊ณ ,
React Query
์SWR
์ค ์ฌ์ฉ ๊ฒฝํ์ด ์๊ณ , ๊ณต์์ ์ผ๋กDevTools
๋ฅผ ์ง์ํ๋React Query
๋ฅผ ์ ํํ์ต๋๋ค. - ๊ด๋ จ ๋ฌธ์ : React Query: ์๋ฒ ์ํ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ํด๋ผ์ด์ธํธ์์ ๊ด๋ฆฌํ๋ ์ํ๊ฐ ๋ง๊ณ ์ปดํฌ๋ํธ์ depth๊ฐ ๊น์ด์ ธ ์ ์ญ ์ํ ๊ด๋ฆฌ ๋๊ตฌ๊ฐ ํ์ํ์ต๋๋ค.
- ๋ณด์ผ๋ฌ ํ๋ ์ดํธ๊ฐ ์ ๊ณ ํต์ฌ ์์ค์ฝ๋๊ฐ ์ค์ง 42์ค์ด๊ธฐ ๋๋ฌธ์ ๋ฌ๋์ปค๋ธ๊ฐ ์ ์ด ๋น ๋ฅธ ์๊ฐ ๋ด์ ํ์ตํ์ฌ ์ ์ฉํ๊ธฐ์ ์ฉ์ดํ์ต๋๋ค.
- ๋ํ Provider๋ก ๊ฐ์ธ์ง ์๊ณ ๋ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ๋์ฑ ๊ฐ๊ฒฐํ๊ฒ ์ฌ์ฉํ ์ ์์์ต๋๋ค.
- Redux Devtools๋ฅผ ์ฌ์ฉํ ์ ์์ด ๋๋ฒ๊น ์ด ์ฉ์ดํ์ต๋๋ค.
- ๊ด๋ จ ๋ฌธ์ : Zustand: ์ ์ญ ์ํ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
-
Nesting
์ ์ด์ฉํ์ฌ BEM ๋ฐฉ๋ฒ๋ก ์ ์ ์ฉํ์๋์ ์ฌ์ฉ์ฑ์ ๋์ฌ์ค๋๋ค. -
CSS-IN-JS
์ ๋นํด ๋์ ์ฑ๋ฅ์ ๋ณด์ฌ์ค๋๋ค. -
mixin
์ ์ด์ฉํ์ฌ css์ ์ค๋ณต์ ์ค์ฌ์ค๋๋ค. -
CSS
๋ฌธ๋ฒ๊ณผ ์๋ฒฝํ๊ฒ ํธํ๋ฉ๋๋ค.
- ํ๋ก์ ํธ ์์ ์ดํ ๋์ ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ํด๋ผ์ด์ธํธ-์๋ฒ์ ๊ฐ๋ฐ ์๋ ์ฐจ์ด๋ก ํด๋ผ์ด์ธํธ์์ API๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ ํ ์คํธ ํจ์ ์ด๋ ค์์ ๊ฒช์์ต๋๋ค.
- ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ ์คํธ๋ฅผ ์ํ ์์ค์ฝ๋ ๋ณ๊ฒฝ ์์ด, ์ฌ๋ฌ๊ฐ์ง ์กฐ๊ฑด์ ์ฃผ๋ฉด์ ํ ์คํธํ ์ ์๋ MSW ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋์ ํ๊ฒ ๋์์ต๋๋ค.
- ๊ด๋ จ ๋ฌธ์ : ํด๋ผ์ด์ธํธ์์ API ํ ์คํธ๋ฅผ, MSW.js ๋์ ๊ธฐ
- ์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ํตํด ์ฑ๋ฅ์ ๊ฐ์ ํด๋๊ฐ๋ ๊ณผ์ ์ ๊ฒฝํํ๊ณ ์ถ์์ต๋๋ค.
- ๊ทธ๋ฌ๊ธฐ ์ํด ํต์ฌ ๋ก์ง์ ์ ์ธํ ๋จ์ํ ์์
๋ค์ ๋น ๋ฅด๊ฒ ๋ง๋ฌด๋ฆฌํ๊ณ ์ถ์ด
NestJS
๋ฅผ ์ ํํ์ต๋๋ค. - ๋ฌ๋์ปค๋ธ๊ฐ ๋๋ค๋ ๋จ์ ์ด ์์ง๋ง, ๋ฐฑ์๋๋ฅผ ๋งก์ ํ์ ๋ชจ๋
Spring
์ ์ฌ์ฉํ ๊ฒฝํ์ด ์์ต๋๋ค. - ๋ฐ๋ผ์ ์ฌ์ฉ๊ฒฝํ์ด ์ ์ฌํ
NestJS
๋ฅผ ๋น ๋ฅด๊ฒ ํ์ตํ ์ ์๊ฒ ๋ค๊ณ ํ๋จํ์ต๋๋ค. - ์ฑ๋ฅ์ ๊ฐ์ ํด๋๊ฐ๋ ๊ณผ์ ์์ ํ๋ก์ ํธ์ ๊ท๋ชจ๊ฐ ์ ์ ์ปค์ง ํ
๋ฐ, ์ ์ค๊ณ๋ ๊ตฌ์กฐ ์์์ ์์
ํ๋ ๊ฒ์ด
ํ์ฅ
์ ์ฉ์ดํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
- Jest์ ์๋ฃ๊ฐ ๋ ๋ง์ ํ์ต์ด ์ฉ์ดํ ๊ฒ์ผ๋ก ํ๋จํ์ต๋๋ค.
- Jest๊ฐ ์๋๊ฐ ๋ ๋๋ฆฌ๋ค๋ ๋จ์ ์ด ์์ง๋ง,
์ฌ์ฉ์
๋ค์ ์๋๋ฅผ ์ ํดํ๋ ์์๋ ์๋๋ผJest
๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ํ์ต๋๋ค.
- ๊ฒ์ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํด ์ ํํ์ต๋๋ค.
- MySQL์์ 70๋ง๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ ๊ฒ์ ํ
์คํธ ๊ฒฐ๊ณผ,
Full Text Search
์ธ์๋ ๋ฐฉ๋ฒ์ด ์๋ค ํ๋จํ์ต๋๋ค. - ์ง์ Full Text Query๋ฅผ ๊ตฌํํ๋ ค ํ์ง๋ง, ํ๊ตญ์ด์
ํํ์ ๋ถ์
์ ํ๊ธฐ์๋ ์๊ฐ์ด ํ์ ๋์ด Elastic Search๋ฅผ ๋์ ํ์ต๋๋ค.
๋ฐฐํฌ๊ฐ ์งํ๋์ด ๊ฒ์๊ธ์ด ์์ฑ๋ ์ดํ, ElasticSearch๋ฅผ ๋์ ํ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ธฐ์กด์ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ ํ์๊ฐ ์์์ต๋๋ค. MySQL์์ Elastic Search๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด Logstash๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
- ๊ฐ๋ฐ ์์ฐ์ฑ์ ์ํด ์ต์ํ
MySQL
์ ์ฌ์ฉํ์ต๋๋ค.
- ์ฐ์ ์ ํฌ ํ๋ก์ ํธ๋
์ด๋ฏธ์ง๋ฅผ ํฌํจํ ๊ฒ์๊ธ
์ด๋ผ๋ ์ ํ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃน๋๋ค. - ๊ทธ๋ฆฌ๊ณ ์ํฐํฐ๋ค์ ๊ด๊ณ๊ฐ ๋ช ํํ๊ธฐ ๋๋ฌธ์, ๊ด๊ณํ DB๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ง๋ค๊ณ ํ๋จํ์ต๋๋ค.
- ๊ฒ์ ์กฐ๊ฑด์ด ๋ค์ํ๊ธฐ ๋๋ฌธ์ ๊ฒ์์ด๋ฅผ NoSQL์์ ๊ด๋ฆฌํ๋ ๊ฒ ์ ์ ํ๋ค๊ณ ํ๋จํ์ต๋๋ค.
-
TypeORM
,Sequalize
,Prisma
์ค ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ ๊ด๊ณ๋ก ๊ถํฉ์ด ์ข์TypeORM
์ ์ฌ์ฉํ์ต๋๋ค.
- ORM์ ์ฐ๋ฉด ๊ฐ๋ฐํ ๋ ํ
์ด๋ธ๋ค์ ๊ฐ์ฒด๋ก ๋ค๋ฃจ๊ธฐ ๋๋ฌธ์ ์ง๊ด์ ์ผ๋ก
ํ ์ด๋ธ๊ฐ ๊ด๊ณ
๋ฅผ ํ์ ํ๊ธฐ ์ฝ์ต๋๋ค. - ๋, SQL ๋ฌธ์ฅ์ ๊ทธ๋๋ก ์ฐ๋ฉด ๊ฐ๋ฐ ํธ์์ฑ์ด ์ข์ง ์์ต๋๋ค.
- ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ์ฒ๋ฆฌํด์ผ ํ๋ค๋ ๋จ์ ์ด ์์ง๋ง, ORM์์ ์ง์ํ๋
QueryBuilder
๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค๊ณ ํ๋จํ์ต๋๋ค.