๋๋ง์ ์์ฌ๋ฅผ ๊ฐ๊พธ๊ณ , ๋ ์ ๊ธฐ๋ก์ ์ฝ๊ฒ ๊ด๋ฆฌํ์ธ์!
- ๊ฐ๋ฐ ๊ธฐ๊ฐ: 2024.07.02 ~ 2024.08.16 (์ฝ 6์ฃผ)
- ๊ฐ๋ฐ ์ธ์: 6์ธ (ํ๋ก ํธ์๋ 3์ธ, ๋ฐฑ์๋ 3์ธ)
- ๋ฐฐํฌ URL: ๋ถ๊พธ๋ถ๊พธ
๋ถ๊พธ๋ถ๊พธ๋ BOOK๊ณผ ๊พธ๋ฏธ๋ค์ ํฉ์ฑ์ด๋ก, ์ฌ์ฉ์๋ค์ด ์์ ์ ๋ ์ ๊ฒฝํ์ ์๋ฆ๋ต๊ฒ ๊พธ๋ฏธ๊ณ ๊ณต์ ํ ์ ์๋ ๋ ์ ํ๋ ์ด์ SNS ํ๋ซํผ์ ๋๋ค. ๋ ์ ๊ธฐ๋ก์ ์ฒด๊ณ์ ์ธ ๊ด๋ฆฌ๋ถํฐ ๋ค๋ฅธ ๋ ์๊ฐ๋ค๊ณผ์ ์ํต๊น์ง, ๋ถ๊พธ๋ถ๊พธ๋ ๋ ์๋ฅผ ์ฌ๋ํ๋ ์ด๋ค์ ์ํ ์ข ํฉ ์๋ฃจ์ ์ ์ ๊ณตํฉ๋๋ค.
- ๋ ์ ๊ธฐ๋ก์ ์ฒด๊ณํ: ๋จ์ํ ์ฑ ๋ชฉ๋ก์ ๋์ด, ์ฌ์ฉ์์ ๊ฐ์ ๊ณผ ์๊ฐ์ ๋ด์ ๋ ์ ๊ธฐ๋ก์ ์์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
- ๋ ์ ์ปค๋ฎค๋ํฐ ํ์ฑํ: ํ์คํ, ํ๋ ์ด์ ๋ ํฐ, ๋ถํก ๋ฑ ๋ค์ํ ์ํต ์๋จ์ ํตํด ๋ ์๊ฐ๋ค ๊ฐ์ ํ๋ฐํ ๊ต๋ฅ๋ฅผ ์ด์งํฉ๋๋ค.
- ๋ ์ ์ต๊ด ํ์ฑ: ๋ ์ ํต๊ณ ๋ฑ์ ๊ธฐ๋ฅ์ ํตํด ์ฌ์ฉ์๋ค์ด ์ง์์ ์ผ๋ก ๋ ์์ ๊ด์ฌ์ ๊ฐ์ง ์ ์๋๋ก ๋์์ค๋๋ค.
- ๋ ์๋ฅผ ์ฌ๋ํ๋ ๋ชจ๋ ์ด๋ค: ์ฑ ์ ์ข์ํ๊ณ , ์์ ์ ๋ ์ ๊ฒฝํ์ ๋จ๊ธฐ๊ณ ๊ณต์ ํ๊ณ ์ถ์ ์ฌ๋๋ค.
- ๋ ์ ์ต๊ด์ ๊ธฐ๋ฅด๊ณ ์ถ์ ๋ถ๋ค: ๋ ์ ๊ธฐ๋ก์ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌํ๋ฉฐ, ๋ ์๋์ ๋๋ฆฌ๊ณ ์ถ์ ์ฌ์ฉ์.
- ๋ค๋ฅธ ๋ ์๊ฐ๋ค๊ณผ ์ํตํ๊ณ ์ถ์ ๋ถ๋ค: ์ฑ ์ ๋ํ ๋ค์ํ ์๊ฒฌ๊ณผ ๊ฐ์์ ๊ณต์ ํ๊ณ , ์๋ก์ด ์ฑ ์ ์ถ์ฒ๋ฐ๊ณ ์ถ์ ์ฌ๋๋ค.
- ์์ฌ ๊ด๋ฆฌ: ์ฌ์ฉ์๋ ์ต๋ 3๊ฐ์ ์์ฌ๋ฅผ ์์ฑํ์ฌ ์ฑ ์ ๋ถ๋ฅํ๊ณ , ๊ฐ ์์ฌ๋ฅผ ์์ ๋ง์ ์คํ์ผ๋ก ๊พธ๋ฐ ์ ์์ต๋๋ค.
- ํ์คํ ๊ธฐ๋ฅ: ์ฝ์ ์ฑ ์ ๋ํ ๊ฐ๋จํ ๊ฐ์์ ๋จ๊ธฐ๊ณ , ๋ค๋ฅธ ์ฌ์ฉ์์ ํ์คํ์ ํ์ํ๋ฉฐ ์๋ก์ด ๋ ์ ์์ด๋์ด๋ฅผ ์ป์ ์ ์์ต๋๋ค.
- ํ๋ ์ด์ ๋ ํฐ: ์ฌ์ฉ์๋ค์ ์์ ๋ง์ ๋ ์ ์ทจํฅ์ ๋ด์ ํ๋ ์ด์ ๋ ํฐ๋ฅผ ์์ฑํ์ฌ ๋ค๋ฅธ ์ฌ์ฉ์๋ค๊ณผ ๊ณต์ ํ ์ ์์ต๋๋ค.
- ๋ถํก(๋ ์ ์ปค๋ฎค๋ํฐ): ์ค์๊ฐ ์ฑํ ์ ํตํด ์ฑ ์ ๋ํ ๋ค์ํ ์๊ฒฌ์ ๋๋๊ณ , ๋ ์ ๋ชจ์์ ์งํํ ์ ์์ต๋๋ค.
- ๋ ์ ํต๊ณ: ์์ ์ ๋ ์ ํจํด์ ์๊ฐํํ์ฌ ํ์ ํ๊ณ , ๋ ์ ์ต๊ด์ ํ์ฑํ๋ ๋ฐ ๋์์ ์ค๋๋ค.
- ๊ธ๊ท ๋ณด๊ด : ์ฌ์ฉ์๋ ์ฑ ์์ ์ธ์๊น์๋ ๊ธ๊ท๋ฅผ ์ฌ์ง/ํ ์คํธ๋ฅผ ํตํด ์ฝ๊ฒ ๋ณด๊ดํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์ ์ค์ฌ์ ์์ฌ ์ปค์คํฐ๋ง์ด์ง: ๋จ์ํ ์ฑ ๋ชฉ๋ก์ด ์๋, ์ฌ์ฉ์์ ๊ฐ์ฑ์ ๋ด์ ์์ฌ๋ฅผ ๊พธ๋ฐ ์ ์์ต๋๋ค.
- ํ๋ ์ด์ ๊ธฐ๋ฐ ์ํต: AI ์ฑ๋ด๊ณผ์ ๋ํ๋ฅผ ํตํด ๊ฐ์ธ ๋ง์ถคํ ์ฑ ์ถ์ฒ์ ๋ฐ๊ฑฐ๋, ํ๋ ์ด์ ๋ ํฐ๋ฅผ ํตํด ์ฌ์ฉ์ ๊ฐ์ ๊น์ด ์๋ ์ํต์ด ๊ฐ๋ฅํฉ๋๋ค.
- ์์ฌ์ด ๋ ์ ๊ธฐ๋ก: ๋ณต์กํ ์ ์ฐจ ์์ด๋ ์ฑ ์ ๋ฑ๋กํ๊ณ , ๊ฐ์์ ๋จ๊ธฐ๋ฉฐ, ์ด๋ฅผ ๋ค๋ฅธ ์ฌ์ฉ์๋ค๊ณผ ๊ณต์ ํ ์ ์์ต๋๋ค.
- ๋ ์ ์ต๊ด ๊ฐํ ๋๊ตฌ ์ ๊ณต: ๋ ์ ํต๊ณ ๋ฑ์ ๊ธฐ๋ฅ์ ํตํด ์ฌ์ฉ์์ ๋ ์ ํจํด์ ๋ถ์ํ๊ณ , ์ง์์ ์ธ ๋ ์ ํ๋์ ์ฅ๋ คํฉ๋๋ค.
- ๊ธ๊ท ๋ณด๊ด : ์ฌ์ฉ์๋ ์ฑ ์์ ์ธ์๊น์๋ ๊ธ๊ท๋ฅผ ์ฌ์ง/ํ ์คํธ๋ฅผ ํตํด ์ฝ๊ฒ ๋ณด๊ดํ ์ ์์ผ๋ฉฐ ๋ฐฐ๊ฒฝ ์ฌ์ง๊ณผ ํฐํธ ์ค์ ๋ฑ ๋ค์ํ ์ปค์คํฐ๋ง์ด์ง์ ํ ์ ์์ต๋๋ค.
๋ถ๊พธ๋ถ๊พธ๋ ๋ ์ ๊ฒฝํ์ ๋ ํ๋ถํ๊ฒ ๋ง๋ค๊ณ , ์ฌ์ฉ์๊ฐ ์์ ์ ๋ ์ ์ทจํฅ์ ๊ณต์ ํ๋ฉฐ ๋ค๋ฅธ ์ฌ์ฉ์๋ค๊ณผ ๊ต๋ฅํ ์ ์๋ ํ๋ซํผ์ ๋ชฉํ๋ก ํฉ๋๋ค.
- ์ด๋ฉ์ผ ๊ฐ์
:
- ์ฌ์ฉ์๋ ์ด๋ฉ์ผ, ๋น๋ฐ๋ฒํธ, ๋๋ค์์ ์ ๋ ฅํ์ฌ ํ์์ผ๋ก ๊ฐ์ ํ ์ ์์ต๋๋ค.
- ์ถ๊ฐ ์ ๋ณด(์ฐ๋ น, ์ฑ๋ณ, ์ ํธ ์นดํ ๊ณ ๋ฆฌ)๋ฅผ ํ์๋ก ์ ๋ ฅํ์ฌ ๋์ฑ ๊ฐ์ธํ๋ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค.
- ์์
ํ์๊ฐ์
/๋ก๊ทธ์ธ:
- ์นด์นด์ค, ๋ค์ด๋ฒ, ๊ตฌ๊ธ ๋ฑ์ ์์ ๋ก๊ทธ์ธ์ผ๋ก ๊ฐํธํ๊ฒ ํ์๊ฐ์ ๋ฐ ๋ก๊ทธ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ ๋ณต์กํ ์ ์ฐจ ์์ด ์๋น์ค์ ์ ๊ทผํ ์ ์์ต๋๋ค.
- ๋น๋ฐ๋ฒํธ ์ด๊ธฐํ:
- ์ฌ์ฉ์๋ ์ด๋ฉ์ผ ์ธ์ฆ์ ํตํด ๋น๋ฐ๋ฒํธ๋ฅผ ์์ฝ๊ฒ ์ด๊ธฐํํ ์ ์์ต๋๋ค.
- ์์ฌ ์์ฑ:
- ์ฌ์ฉ์๋ ๊ฐ์ธ ๋ง์ถคํ ์์ฌ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
- ์ต๋ 3๊ฐ์ ์์ฌ๋ฅผ ์์ฑํ์ฌ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- ์์ฌ ์ปค์คํฐ๋ง์ด์ง:
- ์ฌ์ฉ์๋ ๋๋๊ทธ ์ค ๋๋กญ(drag-and-drop) ๊ธฐ๋ฅ์ ํตํด ์์ฌ ๋ด ์ฑ ์ ์ฝ๊ฒ ์ด๋ํ ์ ์์ต๋๋ค.
- ์์ฌ์ ์ด๋ฆ๊ณผ ์์, ํฐํธ ์ค์ , ์ฑ ์ ์์ ํ ๋ง๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค
- ์ฑ
๋ฑ๋ก ๋ฐ ๊ด๋ฆฌ:
- ์ฌ์ฉ์๋ ์์ฌ์ ์ฑ ์ ๋ฑ๋กํ๊ณ , ์ฝ์ ์ํ ๋ฑ์ ๊ธฐ๋กํ ์ ์์ต๋๋ค.
- ์ด๋ ๊ฒ ๋ฑ๋ก๋ ์ฑ ์ ์์ฌ์ ์ ์ฅ๋์ด ์ฝ๊ฒ ๊ด๋ฆฌ๋ฉ๋๋ค.
- ํ ์์ฌ์ ์ต๋ 21๊ถ์ ์ฑ ์ ๋ฑ๋กํ ์ ์์ต๋๋ค.
- ํ์คํ ๋ฑ๋ก:
- ์ฌ์ฉ์๋ ์ต๋ 70์๊น์ง์ ํ์คํ์ ์์ฑํ์ฌ ์ฑ ์ ๋ํ ๊ฐ์์ ๊ณต์ ํ ์ ์์ต๋๋ค.
- ํ์คํ ์ญ์ :
- ๋ฑ๋ก๋ ํ์คํ์ ์ญ์ ํ ์ ์์ต๋๋ค.
- ์ด๋ ์ฌ์ฉ์๊ฐ ์์ ์ ๋ ์ ๊ฒฝํ์ ์์ ๋กญ๊ฒ ํํํ๊ณ ๊ด๋ฆฌํ ์ ์๋๋ก ๋์ต๋๋ค.
- ํ์คํ ํ๋ํ๊ธฐ:
- ๋ค๋ฅธ ์ฌ์ฉ์์ ํ์คํ์ ํ์ํ๋ฉฐ, ๋ง์์ ๋๋ ์ฌ์ฉ์์ ์์ฌ๋ฅผ ๋ฐฉ๋ฌธํ ์ ์๋ ๊ธฐ๋ฅ์ ๋๋ค.
- ์ด๋ฅผ ํตํด ์๋ก์ด ์ฑ ๊ณผ ์ฌ์ฉ์์์ ์ฐ๊ฒฐ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ํ๋ ์ด์
์ฑ๋ด:
- ์ฌ์ฉ์๋ ์์ ์ ์ ํธ ์ฅ๋ฅด๋ ํ์ฌ ๊ธฐ๋ถ์ ๋ฐ๋ผ ํ๋ ์ด์ ์ฑ๋ด์ผ๋ก๋ถํฐ ์ฑ ์ถ์ฒ์ ๋ฐ์ ์ ์์ต๋๋ค. ์ด๋ ๊ฐ์ธํ๋ ๋ ์ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค.
- ํ๋ ์ด์
๋ ํฐ:
- ์ฌ์ฉ์๋ ์์ ์ ์ ํธ ์นดํ ๊ณ ๋ฆฌ๊ฐ ๋น์ทํ ์ฌ์ฉ์์๊ฒ ํ๋ ์ด์ ๋ ํฐ๋ฅผ ์ ์กํ ์ ์์ต๋๋ค.
- ๋ ํฐ๋ ๋ฌด์์๋ก 3๋ช ์ ์ฌ์ฉ์์ ํ๋ก์์๊ฒ ์ ์ก๋์ด ์๋ก์ด ๋ ์ ๊ธฐํ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ํ๋ ์ด์
๋ณด๊ด:
- ๋ฐ์ ํ๋ ์ด์ ๋ ํฐ๋ฅผ ๋ณด๊ดํ๊ณ ๊ด๋ฆฌํ ์ ์๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ ๊ฐ์น ์๋ ์ถ์ฒ์๋ฅผ ์ง์์ ์ผ๋ก ์ฐธ๊ณ ํ ์ ์์ต๋๋ค.
- ๊ฐ์ธ์ ๋ณด ์์ :
- ์ฌ์ฉ์๋ ํ๋กํ ์ฌ์ง, ๋๋ค์, ๋น๋ฐ๋ฒํธ, ์ฐ๋ น, ์ฑ๋ณ, ์ ํธ ์นดํ ๊ณ ๋ฆฌ ๋ฑ์ ์ฝ๊ฒ ์์ ํ ์ ์์ต๋๋ค.
- ์ด๋ฅผ ํตํด ์ง์์ ์ผ๋ก ์์ ์ ๊ณ์ ์ ์ต์ ์ํ๋ก ์ ์งํ ์ ์์ต๋๋ค.
- ๋
์ ํต๊ณ:
- ๋๋ ์ฐจํธ๋ฅผ ํตํด ์นดํ ๊ณ ๋ฆฌ๋ณ ๋ ์๋์ ์๊ฐ์ ์ผ๋ก ํ์ธํ ์ ์์ต๋๋ค.
- ์ด๋ ์ฌ์ฉ์๊ฐ ์์ ์ ๋ ์ ์ต๊ด์ ๋ถ์ํ๊ณ ๊ฐ์ ํ๋ ๋ฐ ๋์์ ์ค๋๋ค.
- ๋ด ๊ธ๊ท:
- ์ฌ์ฉ์๋ ์ฑ ์์ ์ธ์์ ์ธ ๊ธ๊ท๋ฅผ ์ฌ์ง์ด๋ ํ ์คํธ ํํ๋ก ์ ์ฅํ์ฌ ๋ณด๊ดํ ์ ์์ต๋๋ค.
- ์ด๋ ๋ ์ ์ค ๋ฐ๊ฒฌํ ์์คํ ๊ธ๊ท๋ฅผ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์๊ฒ ํฉ๋๋ค.
- ์น๊ตฌ ๊ด๋ฆฌ:
- ํ๋ก์, ํ๋ก์ ๊ด๋ฆฌ ๋ฐ ๋๋ค์์ ํตํ ์ฌ์ฉ์ ๊ฒ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ ์์ ์ ๋คํธ์ํฌ๋ฅผ ํ์ฅํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- ์ปค๋ฎค๋ํฐ ๋ฉ์ธํ๋ฉด:
- ์ฌ์ฉ์๋ ์์ ์ด ์ฐธ์ฌํ ๋์์ ์ต๊ทผ ์ธ๊ธฐ ๋์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ปค๋ฎค๋ํฐ ํ๋์ ํ์ฑํํ ์ ์์ต๋๋ค.
- ์ฑํ
๋ฐฉ ์์ฑ ๋ฐ ๊ด๋ฆฌ:
- ์ฑ ๊ฒ์์ ํตํด ์ฑํ ๋ฐฉ์ ์์ฑํ๊ณ , ๋ค๋ฅธ ์ฌ์ฉ์๋ค๊ณผ ์ฑ ์ ๋ํด ์ํตํ ์ ์๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ด๋ ๋ ์ ๊ฒฝํ์ ๊ณต์ ํ๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค.
- ๋ค๋ฅธ ์ฌ์ฉ์ ์์ฌ ๊ตฌ๊ฒฝ:
- ์ฌ์ฉ์๋ ์ฑํ ๋ฐฉ ๋ด์์ ๋ค๋ฅธ ์ฌ์ฉ์์ ์์ฌ๋ฅผ ํ์ํ๊ณ ๊ทธ๋ค์ ๋ ์ ๋ชฉ๋ก์ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์๋ก์ด ์ฑ ๊ณผ ์ฌ์ฉ์๋ฅผ ๋ฐ๊ฒฌํ๋ ๊ธฐํ๋ฅผ ์ ๊ณตํฉ๋๋ค.
| ์ญํ | ์ด๋ฆ | ๋ด๋น |
|---|---|---|
| Frontend | ๊น์ง์ค | ํ์ฅ, UI ๋์์ธ, ํ๋ก ํธ์๋ ๊ฐ๋ฐ |
| ๊นํ | UI ๋์์ธ, ํ๋ก ํธ์๋ ๊ฐ๋ฐ | |
| ์ก์์ง | UI ๋์์ธ, ํ๋ก ํธ์๋ ๊ฐ๋ฐ | |
| Backend | ๊น์ธ์ฝ | ์์ฌ ์๋ฒ ๊ฐ๋ฐ(์์ฌ, ํต๊ณ), ์ฑ ์๋ฒ ๊ฐ๋ฐ(์ฑ , ์นดํ ๊ณ ๋ฆฌ, ํ์คํ) |
| ๊น์ข ํธ | ํ๋ ์ด์ ์๋ฒ ๊ฐ๋ฐ, ๋ถํก ์๋ฒ ๊ฐ๋ฐ(์ฑํ ์๋น์ค), ์ธํ๋ผ ์ค์ | |
| ์์น์ฒ | ์ ์ /์ธ์ฆ ์๋ฒ ๊ฐ๋ฐ, ์๋ฆผ ์๋ฒ ๊ฐ๋ฐ, ๊ธ๊ท ๊ธฐ๋ฅ ๊ฐ๋ฐ |
๋ถ๊พธ๋ถ๊พธ๋ ์ต์ ๊ธฐ์ ์คํ์ ํ์ฉํ์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ทน๋ํํ๊ณ , ์์ ์ ์ด๊ณ ํ์ฅ ๊ฐ๋ฅํ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ๊ธฐ์ ์ ์ฐจ๋ณ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค:
- React DnD: ์์ฌ ๊ด๋ฆฌ์์ ์ง๊ด์ ์ธ ๋๋๊ทธ ์ค ๋๋กญ ๊ฒฝํ์ ์ ๊ณตํ์ฌ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ํธ๋ฆฌ์ฑ์ ๋์์ต๋๋ค.
- ์ ๋๋ฉ์ด์ ํจ๊ณผ: Swiper์ React Transition Group์ ํ์ฉํด ๋ถ๋๋ฌ์ด ์ ํ ํจ๊ณผ์ UI ์ํธ์์ฉ์ ๊ตฌํํ์ต๋๋ค.
- ์ํ ๊ด๋ฆฌ: Jotai์ React Query๋ฅผ ํตํด ํจ์จ์ ์ธ ์ํ ๊ด๋ฆฌ๋ฅผ ๊ตฌํํ๊ณ , ์๋ฒ์์ ๋ฐ์ดํฐ ๋๊ธฐํ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ ์งํฉ๋๋ค.
- ๋ฌดํ ์คํฌ๋กค: React Intersection Observer๋ฅผ ํ์ฉํด ์ฑ๋ฅ ์ต์ ํ๋ ๋ฌดํ ์คํฌ๋กค ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค.
- ์ค์๊ฐ ํต์ : SockJS์ StompJS๋ฅผ ํตํด ์ฌ์ฉ์ ๊ฐ ์ค์๊ฐ ๋ฉ์์ง ๊ตํ ๋ฐ ์๋ฆผ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ์๊ฐ์ ํต๊ณ ์ ๊ณต: Chart.js์ react-chartjs-2๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์์ ๋ ์ ๋ฐ์ดํฐ๋ฅผ ์๊ฐ์ ์ผ๋ก ํํํด์ค๋๋ค.
- ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ: ๊ฐ ์๋น์ค๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌ๋๊ณ ๊ด๋ฆฌ๋ ์ ์๋ ๋ง์ดํฌ๋ก์๋น์ค ๊ตฌ์กฐ๋ฅผ ์ฑํํ์ฌ ํ์ฅ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ๊ฐํํ์ต๋๋ค.
- RESTful API: Spring Boot๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ RESTful API๋ฅผ ํตํด ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ํต์ ์ ์ง์ํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ต์ ํ: ๊ฐ ๋ง์ดํฌ๋ก์๋น์ค๋ ์์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค(PostgreSQL, Redis)๋ฅผ ๋ณด์ ํ๊ณ ์์ผ๋ฉฐ, ์๋น์ค์ ๋ง๊ฒ ์ต์ ํ๋์์ต๋๋ค.
- Eureka ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ: ์๋น์ค ๊ฐ์ ํต์ ๊ณผ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ํด Eureka๋ฅผ ์ฌ์ฉํ์ฌ ๋์ ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ๋ฅผ ๊ตฌํํ์ต๋๋ค.
- ์ปจํ ์ด๋ํ: Docker์ Docker Compose๋ฅผ ์ฌ์ฉํด ๊ฐ ์๋น์ค๋ฅผ ์ปจํ ์ด๋ํํ์ฌ ์ผ๊ด์ฑ ์๋ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ํจ์จ์ ์ธ ๋ฐฐํฌ๋ฅผ ๊ตฌํํ์ต๋๋ค.
- ๋ฆฌ๋ฒ์ค ํ๋ก์: Nginx๋ฅผ ํ์ฉํด ๋ฆฌ๋ฒ์ค ํ๋ก์๋ฅผ ๊ตฌ์ฑ, ํธ๋ํฝ์ ํจ๊ณผ์ ์ผ๋ก ๋ถ์ฐ ์ฒ๋ฆฌํ๊ณ ๋ณด์์ ๊ฐํํ์ต๋๋ค.
- CI/CD ํ์ดํ๋ผ์ธ: Jenkins์ GitLab์ ํตํด CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ์ฌ ์ฝ๋์ ํ์ง์ ๋ณด์ฅํ๊ณ ์๋ ๋ฐฐํฌ๋ฅผ ์คํํ์ต๋๋ค.
- ๋ชจ๋ํฐ๋ง ๋ฐ ๋ก๊ทธ ๊ด๋ฆฌ: Prometheus์ Grafana๋ฅผ ํตํด ์์คํ ๋ชจ๋ํฐ๋ง ๋ฐ ์๋ฆผ์ ์ค์ ํ๊ณ , Loki์ Promtail์ ์ฌ์ฉํด ๋ก๊ทธ๋ฅผ ์์ง ๋ฐ ๋ถ์ํฉ๋๋ค.
MSA์ Event Driven Architecture๋ฅผ ์ ์ฉํ์ฌ ํ์ฅ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ํ๋ณด.

๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(PostgreSQL)์ NoSQL (MongoDB)๋ฅผ ํ์ฉํ ๋ฐ์ดํฐ ๋ชจ๋ธ ์ค๊ณ.

๋ถ๊พธ๋ถ๊พธ๋ ์ฌ์ฉ์ ์ ๋ณด์ ๋ณดํธ์ ๋น ๋ฅธ ์๋น์ค ์ ๊ณต์ ์ํด ๋ค์๊ณผ ๊ฐ์ ๋ณด์ ๋ฐ ์ฑ๋ฅ ์ต์ ํ ๊ธฐ์ ์ ์ ์ฉํ์ต๋๋ค:
- JWT (JSON Web Token): ์ฌ์ฉ์ ์ธ์ฆ์ ์ํด JWT๋ฅผ ์ฌ์ฉํ๋ฉฐ, ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์์ ํ ํต์ ์ ๋ณด์ฅํฉ๋๋ค. JWT ํ ํฐ์ HTTP ํค๋์ ํฌํจ๋์ด ์ฌ์ฉ์์ ์์ฒญ์ ์ธ์ฆํฉ๋๋ค.
- OAuth 2.0: ์์ ๋ก๊ทธ์ธ(Kakao, Naver, Google)์ ํตํด ๊ฐํธํ๋ฉด์๋ ์์ ํ๊ฒ ๋ก๊ทธ์ธํ ์ ์์ต๋๋ค.
- ๋น๋ฐ๋ฒํธ ์ํธํ: ์ฌ์ฉ์ ๋น๋ฐ๋ฒํธ๋ ์์ ํ๊ฒ ์ํธํ๋์ด ์ ์ฅ๋๋ฉฐ, ํ์ทจ๋ ๊ฒฝ์ฐ์๋ ์์ ํ๊ฒ ๋ณดํธ๋ฉ๋๋ค.
- ์บ์ฑ: Redis๋ฅผ ํ์ฉํ์ฌ ์์ฃผ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ฅผ ์บ์ฑํจ์ผ๋ก์จ ์๋ฒ ๋ถํ๋ฅผ ์ค์ด๊ณ ์๋ต ์๋๋ฅผ ๊ฐ์ ํ์ต๋๋ค.
- ๋ฌดํ ์คํฌ๋กค: React Intersection Observer๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๊ธฐ ์ํ ๋ฌดํ ์คํฌ๋กค์ ๊ตฌํํ์ต๋๋ค.
- ์ค์๊ฐ ํต์ : SockJS์ StompJS๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์์ ์ก์ ์ ์ค์๊ฐ์ผ๋ก ๋ฐ์ํ ์ ์๋ ์ค์๊ฐ ํต์ ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค.
- GIN ์ธ๋ฑ์ค ์ฌ์ฉ: ์ฑ
์ ๋ชฉ, ์ ์, ์ถํ์ฌ์ ๋ํ
LIKE๊ฒ์ ์ต์ ํ - ์ค์ผ์ผ ์์ : ์ฌ์ฉ์ ์ ๋ณด ์กฐํ, ์ฑ
๊ฒ์์ ๋ํ ์์ฒญ์ด ๋น๋ฒํ์ฌ
Member,Book์๋น์ค์ ๋ํ ์ปจํ ์ด๋ ์ค์ผ์ผ ์์์ ์งํํ์ฌ ์ฑ๋ฅ ํฅ์์ ์ด๋์์ต๋๋ค.
์ฟผ๋ฆฌ ์ฑ๋ฅ ์ต์ ํ ์ ์ฉ ๊ฒฐ๊ณผ
- ์ฌ์ฉ์ ์ ๋ณด ์กฐํ : ๋๋ต 55% ํฅ์
- ์ฑ ๊ฒ์ : ๋๋ต 78% ํฅ์
-
์ด๋ฉ์ผ ํ์ ๊ฐ์
- ์ฌ์ฉ์๋ ์ด๋ฉ์ผ, ๋น๋ฐ๋ฒํธ, ๋๋ค์์ ์ ๋ ฅํ์ฌ ํ์ ๊ฐ์ ์ ์๋ฃํ ์ ์์ต๋๋ค.
- ๊ฐ์ ํ ์ถ๊ฐ ์ ๋ณด(์ฐ๋ น, ์ฑ๋ณ, ์ ํธ ์นดํ ๊ณ ๋ฆฌ)๋ฅผ ์ ๋ ฅํฉ๋๋ค.
-
์์ ๋ก๊ทธ์ธ
- ์นด์นด์ค, ๋ค์ด๋ฒ, ๊ตฌ๊ธ ๊ณ์ ์ ํตํด ์์ ๋ก๊ทธ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ์์ ๊ณ์ ๊ณผ ์ฐ๋ํ์ฌ ๋น ๋ฅด๊ฒ ๊ฐ์ ๋ฐ ๋ก๊ทธ์ธํ ์ ์์ต๋๋ค.
-
์์ฌ ์์ฑ
-
์ฑ ๋ฑ๋ก
-
์์ฌ ๋ด ์ฑ ์ด๋
-
ํ์คํ ์์ฑ
-
ํ๋ ํ๊ธฐ
- ์ฌ์ฉ์๋ ์์ฌ ๋ด ์ฑ ์ ์กฐํํ์ฌ ํ์คํ ํ๋ํ๊ธฐ๋ฅผ ํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์๋ ๋ค๋ฅธ ์ฌ๋์ ํ์คํ์ refresh ํ ์ ์์ต๋๋ค.
-
ํ๋ ์ด์ ์ฑ๋ด์ ํตํ ์ถ์ฒ
- ์ฌ์ฉ์๋ ํ๋ ์ด์ ์ฑ๋ด๊ณผ ๋ํ๋ฅผ ๋๋๋ฉฐ ํ์ฌ ๊ธฐ๋ถ์ ๋ง๋ ์ฑ ์ ์ถ์ฒ๋ฐ์ ์ ์์ต๋๋ค.
- ์๋ฅผ ๋ค์ด, "์ฐ์ธํ ๋ ์ฝ์ ๋งํ ์ฑ "์ ์ถ์ฒ๋ฐ์ ์ ์์ต๋๋ค.
-
ํ๋ ์ด์ ๋ ํฐ ๋ณด๋ด๊ธฐ
- ์ฌ์ฉ์๋ ํ๋ ์ด์ ๋ ํฐ๋ฅผ ์์ฑํ์ฌ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ๋ณด๋ผ ์ ์์ต๋๋ค.
- ํ๋ก์์ ์ผ๋ฐ ์ฌ์ฉ์๋ค์๊ฒ ๋ฌด์์๋ก ๋ ํฐ๊ฐ ์ ์ก๋ฉ๋๋ค.
-
ํ๋ ์ด์ ๋ ํฐ ๋ณด๊ด
- ์ฌ์ฉ์๋
๋ฐ์๋ ํฐ,๋ณด๋ธ๋ ํฐ,๋ณด๊ด๋ ํฐ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์๋
-
๋ถํก ์์ฑ ๋ฐ ์ํต
- ์ฌ์ฉ์๋ ์ฑ ์ ๋ชฉ์ผ๋ก ์ฑํ ๋ฐฉ์ ์์ฑํ๊ณ , ๋ค๋ฅธ ์ฌ์ฉ์๋ค๊ณผ ์ฑ ์ ๋ํ ์๊ฒฌ์ ๋๋ ์ ์์ต๋๋ค.
- ์์ฑ๋ ์ฑํ ๋ฐฉ์์ ๋ ์์ ๋ํ ๋ํ๋ฅผ ์ด์ด๋๊ฐ ์ ์์ต๋๋ค.
-
๋ ์ ๊ธฐ๋ก ํต๊ณ ์๊ฐํ
- ๋๋ ์ฐจํธ๋ฅผ ํตํด ์ฌ์ฉ์์ ๋ ์ ๊ธฐ๋ก์ ์๊ฐ์ ์ผ๋ก ํ์ธํ ์ ์์ต๋๋ค.
- ์นดํ ๊ณ ๋ฆฌ๋ณ ๋ ์๋์ ๋ถ์ํ์ฌ ์ฌ์ฉ์์ ๋ ์ ์ทจํฅ์ ํ์ ํ ์ ์์ต๋๋ค.
-
๋ด ๊ธ๊ท
-
ํ ์คํธ
-
์ด๋ฏธ์ง(OCR ์ ์ฉ)
-
์ฌ์ฉ์๋ ์ฑ ์์ ์ธ์๊น์๋ ๊ธ๊ท๋ฅผ ์ฌ์ง/ํ ์คํธ๋ก ์ ์ฅํ ์ ์์ต๋๋ค.
-
์ฌ์ฉ์๋ ์ฌ์ง ์ ๋ก๋ ์ OCR์ ํตํด ํ ์คํธ๋ฅผ ์ถ์ถํ์ฌ ์ด์ธ๋ฆฌ๋ ๋ฐฐ๊ฒฝ๊ณผ ํจ๊ป ์ ์ฅํ ์ ์์ต๋๋ค.
-
์ฌ์ฉ์๋ ์ง์ ํ ์คํธ๋ฅผ ์ ๋ ฅํ์ฌ ์ ์ฅํ ์ ์์ต๋๋ค.
-
-
์ฌ์ฉ์ ์ค์
-
ํ๋ก์ฐ ๋ฐ ํ๋ก์ ๊ด๋ฆฌ
- ์ฌ์ฉ์๋ ๊ด์ฌ ์๋ ๋ค๋ฅธ ์ฌ์ฉ์๋ฅผ ํ๋ก์ฐํ์ฌ ๊ทธ๋ค์ ๋ ์ ํ๋์ ํ๋ก์ฐ ํผ๋์์ ํ์ธํ ์ ์์ต๋๋ค.
- ํ๋ก์ฐํ ์ฌ์ฉ์์ ์์ฌ ์ ๋ฐ์ดํธ, ํ๋ ์ด์ ๋ ํฐ ๋ฑ์ ์ค์๊ฐ์ผ๋ก ํ์ธํ ์ ์์ต๋๋ค.
- ํ๋ก์ ๋ชฉ๋ก๊ณผ ํ๋ก์ ๋ชฉ๋ก์ ํตํด ์๋ก์ ๋ ์ ํ๋์ ๊ณต์ ํ๊ณ ์ํตํ ์ ์์ต๋๋ค.




























