-
ํ๋ก์ ํธ๋ช : ํจ๋๊ทธ๋ฃจ
-
์ฃผ์ : ์ ์น์์ด ์์ด์ ๊ต์ก์ ๋ณด๋ค ์ง์คํ ์ ์๋๋ก ์์ด ๊ด๋ฆฌ๋ฅผ ์ง์ํ๋ ํตํฉ ๊ด๋ฆฌ ์๋น์ค
-
๊ธฐ๊ฐ : 2023๋ 3์ 10์ผ ~ 2023๋ 4์ 21์ผ
-
ํ๋ก ํธ์๋ ๊นํ๋ธ : ํจ๋๊ทธ๋ฃจ FrontEnd
-
ํ ๋ ธ์ : ํ ๋ ธ์ ๋ฐ๋ก๊ฐ๊ธฐ
-
ํ์
์ด๋ฆ FE/BE Github ๋ฐฑ์ฃผ์ FE https://github.com/baekjoowon ํฉ์ฌ์ฐ FE https://github.com/yeonso08 ์ฐ์ฃผํธ FE https://github.com/Cupcakes33 ํ์์ BE https://github.com/yshong1998 ์ด์ํ BE https://github.com/strangehoon ๊น๊ทผํธ BE https://github.com/GEUNHOKIM ๊นํํธ BE https://github.com/cho-coding
์ ๊ธฐ/ํผ์น๊ธฐ
-
2. ๋ฑํ์ ๊ด๋ฆฌ ์๋น์ค
-
3. ์ถ๊ฒฐ ๊ด๋ฆฌ ์๋น์ค
ํจ๋๊ทธ๋ฃจ ํ ๋ ธ์ ๋ฐ๋ก๊ฐ๊ธฐ
- ์ ์ฒดํ์์๊ฐ: ์ ๋ 8์
- BE ํ์์๊ฐ: ์ ๋
5์ 30๋ถ
- ์ฝ๋๋ฆฌ๋ทฐ
- ์ด์ ๊ณต์ ํ๊ธฐ
- ์งํ ์ํฉ ๊ณต์ ํ๊ธฐ
- ์ ์ด๋ ํ์ ์๊ฐ์๋ ๋น๋์ค์ ์์ฑ ํค๊ธฐ
- ๊ธฐ๋ฅ ๋จ์๋ก ์ปค๋ฐํ๊ธฐ
- pr ํ ํ๋ฆฟ ์์ ์ค์ํ๊ธฐ
- Issue ํ ํ๋ฆฟ ์์ ์ค์ํ๊ธฐ
- ๋จธ์งํ๊ณ ๋์ ๋ธ๋์น ๊ผญ ์ง์ฐ๊ธฐ
- ํ ๋น๊ธฐ๊ธฐ ์ ์ ํจ์นํ๊ธฐ
- ํ๋ก๊ทธ๋๋ฐ ์ปจ๋ฒค์ ์ค์ํ๊ธฐ
์ ๊ธฐ/ํผ์น๊ธฐ
| ๊ธฐ์ | ์ ํ์ง | ์ด์ |
|---|---|---|
| Redis | 1. DB ์ ์ฅ 2. Redis |
์ ์น์์ด๋ผ๋ ํน์ฑ์, ์ ์๋์ด ์ ์์ ์ค๋ ํ๊ณ ์๊ธฐ ๋๋ฌธ์ Refresh Token์ด ํ์ํ๋ค๊ณ ์๊ฐ์ด ๋ค์๋ค. Refresh Token์ DB์ ์ ์ฅ ํด์ ์ฌ์ฉ์ ํด๋ ๋์ง๋ง, ๊ทธ๋ ๊ฒ ๋๋ฉด ์ค์ผ์ค๋ฌ๋ฅผ ์ฌ์ฉํด์ ์ง์ ๋ง๋ฃ ๋ Refresh Token์ ์ญ์ ํด์ค์ผ ํ๊ธฐ๋ ํ๊ณ , ์บ์์ธ Redis๊ฐ ๋ ๊ฐ๋ณ๊ณ ์๋๋ ๋น ๋ฅด๊ณ TTL์ ํตํด์ ์๋์ผ๋ก ์ญ์ ๋ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ Redis๋ฅผ ์ ์ฉ ํด๋ณด๊ธฐ๋ก ํ๋ค. |
| ImageIO | 1. Marvin open source Library 2. Graphics2D 3. ImageIO | ์ฒ์์๋ ์ด๋ฏธ์ง๋ฅผ S3์ ์ ๋ก๋๋ง ํ๊ธฐ ๋๋ฌธ์ ๋ณ๋์ ์ด๋ฏธ์ง์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ํ์ง ์์์ง๋ง, ์ด๋ฏธ์ง๋ฅผ ๋ฆฌ์ฌ์ด์งํด์ผ ํ ํ์์ฑ์ด ์๊ธฐ๋ฉด์ ์ด๋ฏธ์ง ๋ฆฌ์ฌ์ด์ง ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผํด์ผ ํ๋ค. ๊ฐ์ฅ ๋จผ์ Marvin open source Library๋ฅผ ์ฌ์ฉํด ๋ฆฌ์ฌ์ด์งํ์ง๋ง ์ด๋ฏธ์ง๊ฐ ์ฌํด๊ฒ ๋ํธํ๋๋ ๋ฌธ์ ์ ํ๋ก์ ํธ ์ ์ฒด ์ฉ๋๋ณด๋ค marvin ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฉ๋์ด ์ฝ 3๋ฐฐ ๋ ์ปธ์ผ๋ฉฐ, ์ฒ๋ฆฌ ์ฑ๋ฅ ์ ํ ๋ฌธ์ ๋ ์์๋ค. ๋ฐ๋ผ์ java.awt ํจํค์ง์ Graphics2D ํด๋์ค๋ฅผ ์ด์ฉํด ๋ณ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ ์ฌ์ฉ ์์ด ๊ตฌํ์ ํด ๋ณด์์ง๋ง ์ฑ๋ฅ์ ๊ฐ์ ๋์์ง๋ง ๋ํธํ๊ฐ ๋์ฑ ์ฌ๊ฐํด์ง๋ ๋ฌธ์ ๊ฐ ์์๋ค. ๋ฐ๋ผ์ Graphics2D ๋์ ImageIOํด๋์ค๋ฅผ ์ด์ฉํด ๋ฆฌ์ฌ์ด์งํ๋ ๋ฐฉ๋ฒ์ ์ฑํํ๋ค. ๋ํธํ๊ฐ ์์ ์๋ ๊ฒ์ ์๋์์ง๋ง ๋ค๋ฅธ 2๊ฐ์ ๋ฐฉ๋ฒ์ ๋นํด ์ ๋๊ฐ ๋ฎ์์ผ๋ฉฐ ๋ณ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น๋ ํ์์์๊ณ , ์ฑ๋ฅ๋ Graphics2D์ ํฐ ์ฐจ์ด๋ฅผ ๋ณด์ด์ง ์์๊ธฐ ๋๋ฌธ์ด๋ค. |
| ์นด์นด์ค ์๋ฆผ ๊ธฐ๋ฅ | 1. ํ๋ก ํธ์๋์์ ์๋ฆผ ๊ตฌํ 2. ๋ฐฑ์๋์์ ์๋ฆผ ๊ตฌํ |
ํ๋ก ํธ์๋, ๋ฐฑ์๋ ๋ชจ๋ ์นด์นด์ค ์๋ฆผ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์์ง๋ง ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก ๋ฐฑ์๋์์ ์ฒ๋ฆฌํ๊ธฐ๋ก ํ๋ค. 1. ํธ๋์ญ์ ๋จ์ ์นด์นด์ค ์๋ฆผ ๊ธฐ๋ฅ ๋ฟ๋ง ์๋๋ผ ์์ด์ ๋ฑํ์ ์ํ๋ ๋ฐ๋์ด์ผ ํ๋ฏ๋ก ํ๋ก ํธ์๋์์ ์ฒ๋ฆฌ ์ ์นด์นด์ค ์๋ฆผ ๋ฉ์์ง API ๋ฟ๋ง ์๋๋ผ ๋ฑํ์ ์ํ ๋ณ๊ฒฝ API๋ ํ์ํ๋ค. ํ์ง๋ง ์๋ฒ์์๋ API ํ๋๋ก ๊ฐ์ ํธ๋์ญ์ ์์ ์ฒ๋ฆฌํ ์ ์๋ค. ์ด๋ก์ธํด ์นด์นด์ค ์๋ฆผ ๊ธฐ๋ฅ๊ณผ ๋ฑํ์ ์ํ ๋ณ๊ฒฝ์ ๋ฌถ์ด์ ์ผ๊ด์ฑ์ ๋ณด์ฅํ ์ ์์๋ค. 2. ๋ณด์ ์นด์นด์ค ๋ฉ์์ง API๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ๋ณด์์ ์ค์ํ kakaoId์ AccessToken์ด ํ์ํ๋ค. ์ด๋ฅผ ํ๋ก ํธ์๋์์ ์ฒ๋ฆฌํ๋ฉด, ์ด ์ ๋ณด๊ฐ ๋ธ๋ผ์ฐ์ ์์ ๋ ธ์ถ๋๊ฑฐ๋ ํ์ทจ๋ ์ ์๋ค. ๋ฐ๋ผ์ ๋ฐฑ์๋์์ ์ฒ๋ฆฌํ๋ฉด, ์์ ํ ํ๊ฒฝ์์ ์ด ์ ๋ณด๋ค์ ์ฒ๋ฆฌํ ์ ์๋ค. |
| ๋ณต์กํ ๋์ ์ฟผ๋ฆฌ ์์ฑ | 1. JPA ์ฟผ๋ฆฌ ๋ฉ์๋ 2. @Query 3. QueryDSL |
๊ธฐ์กด์ JPA ์ฟผ๋ฆฌ ๋ฉ์๋๋ ๋์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋๋ฐ ํ๊ณ๊ฐ ์์๋ค. ๊ทธ๋์ ์คํ๋ง ๋ฐ์ดํฐ JPA์ @Query๋ฅผ ์ฌ์ฉํ๋ ค ํ๋ค. @Query๋ ๋์ ์ฟผ๋ฆฌ ์์ฑ์ด ๊ฐ๋ฅํ๋ฏ๋ก ์ข์ ๋์์ด๋ผ๊ณ ์๊ฐํ์ผ๋ ๊ทธ๋๋ ์ฃผ์ด์ง ๋ฌธ์ ์ ์ ์ฉํ๊ธฐ์๋ ๊ณ ๋ คํด์ผ ํ ์กฐ๊ฑด์ด ๋๋ฌด ๋ง๋ค๊ณ ์๊ฐํ๋ค. ๋ฌด์๋ณด๋ค๋ ๊ฐ๋ ์ฑ์ด ๋๋ฌด ๋จ์ด์ ธ ์ ์ง๋ณด์ํ๊ธฐ ์ด๋ ต๋ค๊ณ ์๊ฐํ๋ค. ๋ฐ๋ฉด QueryDSL์ where ๋ค์ค ํ๋ผ๋ฏธํฐ ๋ฐฉ์์ ์ฃผ์ด์ง ๋ฌธ์ ์ ์กฐ๊ฑด๋ค์ ๋์ ์ผ๋ก ์ปค์คํฌํ ์ ์์ ๊ฑฐ๋ผ ์๊ฐํ๋ค. ์ด ์ธ์๋ ์ปดํ์ผ ์๋ฌ๋ฅผ ์ก์ ์ ์์ ๋ฟ๋ง ์๋๋ผ @Query๋ณด๋ค ์ฟผ๋ฆฌ ์์ฒด์ ๊ฐ๋ ์ฑ์ด ํจ์ฌ ์ข๋ค๋ ์ ๋ QueryDSL์ ๋์ ํ ์ด์ ์๋ค. |













