| ์ด๋ฆ | ๊นํ๋ธ | ํฌ์ง์ |
|---|---|---|
| ๋ฐ๊ฐํ | ๋์ฅ ํ๋ง | ๋ฆฌ๋/ํ๋ก ํธ์๋ |
| ๊น๋ฏผ๊ธฐ | ๋๊นจ๋น ํ๋ง | ๋ถ๋ฆฌ๋/๋ฐฑ์๋ |
| ๋ฐ์ฌ๊ท | ์ค๋งํธ ํ๋ง | ๋ฐฑ์๋ |
| ์ด๊ท์ง | ์ฌ๊ฐ๋ฅ์ด ํ๋ง | ๋ฐฑ์๋ |
| ์ ์ํ | ๋ง๋ด ํ๋ง | ํ๋ก ํธ์๋ |
React-Player๋ฅผ ์ด์ฉํ ๋ค์ํ ๊ธฐ๋ฅ๋ค
-
react-slick์ ์ ์ฉํ์ฌ ๋ง๋ ์ผ์ธ ๊ธฐ๋ฅ
-
useRef๋ฅผ ์์ฉํ ํ์์คํฌํ ๊ธฐ๋ฅ
socket์ ์ด์ฉํ ์ค์๊ฐ ์๋๊ธฐ๋ฅ
- ๋ค์ํ ํ๋๋ค์ ๋ํ ์ฆ๊ฐ์ ์ธ ์๋
์ ์ ์ ์ฑํฅ์ ์ ํ๊ธฐ ์ํ ์ค๋ฌธ์กฐ์ฌ ๊ธฐ๋ฅ
-
์ค๋ฌธ์กฐ์ฌ๋ฅผ ํตํ ์ด 8๊ฐ์ง ์ฑํฅ์ ํ๋ง์ ํ ๊ฐ๋ฅ
-
๋ค์ํ ํ๋์ ํ๋ฉด ์ป๋ ๊ฒฝํ์น๋ฅผ ํตํ์ฌ ์ ๊ทธ๋ ์ด๋ ๊ฐ๋ฅ
FrontEnd
๐ก ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ 2๋ช , ๋ฐฑ์๋ ๊ฐ๋ฐ์ 3๋ช , ๋์์ด๋ 2๋ช ์ด 7๋ช ์ด ์ฐธ์ฌํ์ฌ ๊ธฐํ๋ถํฐ MVP ๊ฐ๋ฐ, ์๋น์ค ๋ฐฐํฌ, ์ค์ ์ฌ์ฉํ ๊ณ ๊ฐํผ๋๋ฐฑ ์ ์ฉ๊น์ง **ํ ์ฌ์ดํด ๊ฐ๋ฐ** ๊ฒฝํ์ ํ์์ต๋๋ค.BackEnd
- ๊ธฐ๊ฐ : 2022-02-24 ~ 2022-04-08 (44์ผ)
ํ์ฌ๋ ์ปจํ ์ธ ์ ์์๊ฐ ์ฃผ์ ๋ฅผ ์ ์ ํด ์ปจํ ์ธ ๋ฅผ ์ฐ์ ์ ์ํ๊ณ ์ ์ ๋ค์ ๋ค์ํ ๋ฏธ๋์ด ํ๋ซํผ์์ ๋๋ฆฌ๋ง์กฑ ํ๊ณ ์ถ์ ๋ฏธ๋์ด๋ฅผ ๊ฒ์ํ์ฌ ์ฆ๊ธฐ๋ ํ์์ผ๋ก ๋จ๋ฐฉํฅ์ผ๋ก ์ปจํ ์ธ ๊ฐ ๊ณต๊ธ์ด ๋๊ณ ์๋๋ฐ,
๊ฑฐ๊ธฐ์ ๋ ๋์๊ฐ ๊ฐ๊ฐ์ธ๋ค์ด ์์ฒญ๊ณผ ๋ต๋ณ์ ํตํด ์ํธ์ ์ผ๋ก ๋๋ฆฌ๋ง์กฑ์ ์์ผ์ฃผ๋ ์๋น์ค๊ฐ ์์ผ๋ฉด ์ฌ๋๋ค์ด ์ฌ๋ฏธ์๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ๋ค๋ผ๊ณ ์๊ฐํ์ฌ ๋ด๊ฐHAMA ์๋น์ค๋ฅผ ๊ธฐํํ๊ฒ ๋์์ต๋๋ค.
- React
- ์ํ๊ด๋ฆฌ : Redux, Reduxjs/toolkit
- ๋ฏธ๋ค์จ์ด : Reduxjs์ applyMiddleware๋ฅผ ์ฌ์ฉ
- ๋ฐฐํฌ : AWS S3, AWS Amplify
- ํต์ : Axios
- ๋ผ์ฐํฐ : connected-react-router
- ์คํ์ผ : styled-components (theme-provider, createGlobalStyle)
- ๋ถ์ : Google Analytics
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ
| Library | Appliance |
|---|---|
| axios | ์๋ฒ ํต์ |
| redux-toolkit | ์ํ๊ด๋ฆฌ, ๋ฏธ๋ค์จ์ด |
| connected-react-router | history ๊ฐ์ฒด ๊ด๋ฆฌ |
| styled-component | ์ปดํฌ๋ํธ ์คํ์ผ๋ง |
| firebase | google analytics ์ฌ์ฉ |
| moment | ๋ญํน ์ ๋ฐ์ดํธ ์๊ฐ ํ์ |
| material ui | ๊ฒ์ํ ๊ธ ์ ๋ ฌ์ select ์ฌ์ฉ |
| react-slick | ๋ฐฐ๋ ์ฌ๋ผ์ด๋, ์ผ์ธ , ์ด๋ฏธ์ง ์์ธ๋ณด๊ธฐ์ ์ฌ์ฉ |
| react-player | ์์ ๊ด๋ จ ๊ธฐ๋ฅ๋ค์ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ค์ํ ์ด๋ฒคํธ๋ฆฌ์ค๋ ์ฌ์ฉ |
| stompjs | ์ค์๊ฐ ์๋ฆผ์ ์ฌ์ฉ |
| sockjs | ์ค์๊ฐ ์๋ฆผ์ ์ฌ์ฉ |
- ํ๋ ์์ํฌ : Spring
- DB : Mysql, Redis
- DB๊ธฐ์ : JPA(Spring Data Jpa, Querydsl)
- ๋ฐฐํฌ : EC2, AWS S3, CodeDeploy, GithubAction(CI/CD),Nginx,https
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ
| Library | Appliance |
|---|---|
| ffmpeg | ๋์์ ์ธ์ฝ๋ฉ |
| stomp | ์์ผ ํต์ |
| sentry | ์ค๋ฅ ํ์ธ |
Website ๋ด๊ฐํ๋ง!
instagram ๋ด๊ฐํ๋ง ์ธ์คํ๊ทธ๋จ
FrontEnd
https://github.com/GAHYUN-P/HAMA
BackEnd
GitHub - rlaalsrl715/naegahama
๊ณต์ฉ ๋ ธ์ ๋ด๊ฐํ๋ง Notion
- react slick ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์นด๋ก์ ์ด ๋์๊ฐ๋๋ง๋ค ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ค๋ ๋ด์ฅํจ์(beforeChange, afterChange),
- ref๋ก ์์ ๋ฆฌ์คํธ ๋ฐฐ์ด์ index๋ฅผ select
- html5์ ์๋ฆฌ๋จผํธ ์ฌ์ ์ข ๋ฃ์ ์คํ๋๋ ended event listener์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ react player์ onEnded ํจ์
์์ ๊ธฐ๋ฅ๋ค์ ์กฐํฉํ์ฌ,
์์ ์ฌ์์ด ๋๋๋ฉด ๋ค์ ์์์ด ์๋ ์นด๋ก์ ๋ก ์๋์ผ๋ก ๋์ด๊ฐ๊ณ ๊ทธ ๋ค์์์์ด ์๋ ์ฌ์๋๋ ์ผ์ธ ๊ธฐ๋ฅ์ ๊ตฌํํ์์ต๋๋ค.
์ถ๊ฐ์ ์ผ๋ก ์นด๋ก์ ์ ๋งจ ๋ง์ง๋ง์์ ์ถ๊ฐ์ ์ผ๋ก ์ฌ๋ผ์ด๋๋ฅผํ๋ฉด ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ค๋ OnEdge ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์์จ ์์ ๋ฆฌ์คํธ๊ฐ ์ ๋ถ ๋ค ์ฌ์ ๋์์ ๋ ์์ผ๋ก ์ฌ๋ผ์ด๋ ํ๋ฉด ์๋ก ์ ๋ฐ์ดํธ๋ ๋ฆฌ์คํธ๋ฅผ ๋ฐ์์ฌ ์ ์๋๋ก ํ์์ต๋๋ค.
styled-components์ theme provider์ index.js์ ์ฃผ์ ํ๊ณ ๋ฏธ๋์ด์ฟผ๋ฆฌ๋ฅผ app.js์ ์ ์ฉํ์ฌ ๊ฐ๋ฐ๋ฉด์์ ๋ณด๋ค ์ผ๊ด์ฑ์๊ณ ํธ๋ฆฌํ๊ฒ ๋ชจ๋ฐ์ผ ํ๊ฒฝ ์ฐ์ ์ธ ๋ฐ์ํ ์น์ฌ์ดํธ๋ฅผ ๊ตฌํํ์์ต๋๋ค.
๊ณตํต ๋น์ง๋์ค ๋ก์ง์์ ์ผ์ ์กฐ๊ฑด์ ์ถฉ์กฑํ์๋ ํน์ ์ด๋ฒคํธ๊ฐ ์ผ์ด๋๋ ๋ก์ง์ด ์กด์ฌํ์ต๋๋ค.
์๋ฅผ๋ค์ด ๋๊ธ์ ์์ฑํ๋ฉด ๊ฒ์๊ธ ์ฃผ์ธ์๊ฒ ์๋์ ๋ณด๋ด๊ณ ๋๊ธ ์์ฑ์์๊ฒ๋ ์ ์ ๋ฌ์ฑ์ ์ฃผ๋ ๋ก์ง์ด ์์ต๋๋ค.
์ฆ ๋๊ธ์ ์์ฑํ๋ ๋ก์ง(๋๊ธ ์์ฑ)๊ณผ ๋๊ธ ์์ฑ์ด ์๋ฃ๋๊ณ ๋์์ ๋ก์ง(์๋, ์ ์ ํ๋)์ผ๋ก ๋๋ ์ ์์ต๋๋ค.
ApplicationEventPublisher๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์๋ ํ๋์ ๋ฉ์๋์์ ์ ๋ก์ง๋ค์ด ํ๋์ ๋ฉ์๋์์ ์ผ์ด๋๊ณ ์์์ต๋๋ค. ์ฆ ๋จ์ผ ์ฑ ์ ์์น์ ์๋ฐํ์ฌ ์ฝ๋๊ฐ์ ๊ฐํ ๊ฒฐํฉ์ด ์ผ์ด๋ ๊ฐ์ฒด์งํฅ์ ์ด์ง ๋ชปํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์์ต๋๋ค.
์ ๋ฌธ์ ๋ฅผ ApplicationEventPublisher์ EventListner๋ฅผ ํตํด ์ฝ๋๋ฅผ ์ด๋ฒคํธ ๊ธฐ์ค์ผ๋ก 2๊ฐ๋ก ๋๋์ด ํด๊ฒฐํ์์ต๋๋ค. ์ฆ ๋๊ธ์์ฑ ํธ๋์ญ์ ์ด ๋๋๋ฉด ์๋ก์ด ํธ๋์ญ์ ์ ๋ง๋ค์ด ์๋๊ณผ ์ ์ ํ๋ ๋ก์ง์ ์ํ๊ฒ ๋ ๋ฐ๊พธ์ด ๊ฐํ ๊ฒฐํฉ์ ํ์ด์ฃผ์ด ์ข ๋ ๊ฐ์ฒด์งํฅ์ ์ด๊ณ ๋จ์ผ ์ฑ ์ ์์น์ ์๋ง์ ์ฝ๋๋ก ๋ฆฌํฉํ ๋งํ์์ต๋๋ค.
JPA๋ฅผ ๊ธฐ๋ณธ์ผ๋กํ์ฌ Spring Data Jpa๋ฅผ ์ด์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ์๋๋ฐ ์ฌ๋ฌ ๋จ์ ์ ๋ง์ดํ์์ต๋๋ค.
- ๊ณ์ ๋ฐ๋ณต๋๋ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฌ์ฉํ์ง ๋ชปํ๋ค๋ ๋จ์
- @Query๋ฅผ ํตํด ์ง์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํด์ผ ํ๋ค๋ ๋จ์
- ์ปดํ์ผ ์์ ์ ๋ฌธ๋ฒ ์ค๋ฅ๋ฅผ ์ฝ๊ฒ ํ์ธํ ์ ์๋ค๋ ์
- ๋์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑ์ด ์ด๋ ต๋ค๋ ์ ๋ฑ
์ฌ๋ฌ๊ฐ์ง ๋ฌธ์ ์ ์ ์ง๋ฉดํ์ฌ QueryDsl๋ฅผ ๋์ ํ์ฌ ํด๊ฒฐํ์์ต๋๋ค.
์์ํ์ผ์ด ํฌ๊ธฐ๊ฐ ํฌ๋ค๋ณด๋ ์ ์ ๊ฐ ์์์ด ์ฒจ๋ถ๋ ๊ฒ์๊ธ์ ์ ๋ก๋ํ ๋ ๋ก๋ฉํ๋ฉด์์ ๋๋ฌด ์ค๋ซ๋์ ์๋ฌด๊ฒ๋ ํ์ง ๋ชปํ๊ณ ๊ธฐ๋ค๋ ค์ผ ํ๋ค๋ ๋ถํธํจ์ด ๋ฐ์ํ์์ต๋๋ค.
๋ฐฑ์๋์ชฝ์์ ์ธ์คํด์ค๋ฅผ ๋ ์ข์๊ฒ์ ์ฐ๋ ๊ฒ์ผ๋ก ์ ๋ก๋ ์์ฒด ์๋๋ฅผ ์กฐ๊ธ ๋ ๋น ๋ฅด๊ฒ ํ์์ผ๋
ํ๋ก์ ํธ ์์ฐ ์ ์นด์นด์คํก๊ฐ์ ๋ํ์๋น์ค์ ์๋๋ฅผ ๋ฐ๋ผ๊ฐ๋งํผ ์ข์ ์ธ์คํด์ค๋ฅผ ์ธ ์ ์๊ธฐ์ ์ฌ์ ํ ์ ๋ก๋์ ์๊ฐ์ด ์๋นํ ์์๋์์ต๋๋ค.
ํ๋ก ํธ์๋์์๋ ์ด๋ฐ ๋ถํธํ ์ฌ์ฉ์ฑ ๊ฐ์ ์ ์ํด์,
๊ฒ์๊ธ์ ์ ๋ก๋ํ ๋ ํด๋น ๊ฒ์๋ฌผ์ด ์๋ฒ์ชฝ์ ์์ ํ ์ ๋ก๋ ๋์ง ์์๋๋ผ๋ ๋ก๋ฉ์ฐฝ์ ๋์ฐ์ง ์๊ณ ์์ฒญ๋ง ์๋ฃ๋๋ฉด ๋ฐ๋ก ๋ค๋ฅธ ๊ธฐ๋ฅ๋ค์ ์ฌ์ฉํ ์ ์๋๋ก ํ์์ต๋๋ค.
๋ ์๋ฒ์ชฝ ๊ฒ์๊ธ ์ ๋ก๋ ๋ก์ง์ด ์์ ํ ์๋ฃ๋๋ฉด ๊ฒ์๊ธ์ด ๋ฑ๋ก๋์๋ค๋ ์ค์๊ฐ ์๋ฆผ์ ๋์์ฃผ๊ณ ํด๋น ์๋ฆผ์ ๋๋ฅด๋ฉด ์ ๋ก๋๋ ๊ฒ์๋ฌผ์ ํ์ธํ ์ ์๋๋ก ํ์์ต๋๋ค.
์ผ์ธ ์ ๋ก๋ํด์ค๋ ์์๋ค์ด ๋ง์ ์๋ ์ ํ๊ฐ ์ฐ๋ ค๋์์ต๋๋ค.
ํด๋น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋๊ท๋ชจ ์ผํ์ฌ์ดํธ์์ ์ํ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์ฉ ์ฌ์ง์ผ๋ก ์ด์ฉํ๋ค๋ ์ด๋ฏธ์ง ์ธ๋ค์ผ ๊ธฐ๋ฅ์ ์์ฉํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํด๋์ต๋๋ค. ์์ ์ ๋ก๋ํ ๋ ์๋ฒ์ชฝ์์ ์์ํ์ผ์ ์์ธํ์ด์ง์ฉ, ์ผ์ธ ์ฉ์ผ๋ก ๋ฐ๋ก ์ธ์ฝ๋ฉํ์ฌ ์ ์ฅํ๊ฒ ํ์ฌ ์ผ์ธ ์์ ๋ฐ์์ฌ ์์์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์ฉ์ผ๋ก ์๋ณธ๋ณด๋ค ์์ถ์ด ๋ ๋ง์ด๋๊ณ ์๊ฐ๋ ๋ ์งง์์ง ํ์ผ์ ๋ถ๋ฌ์ค๊ฒ๋ ํ์์ต๋๋ค.
์๋ฒ์ชฝ ์ธ์ฝ๋ฉ์ผ๋ก ์ผ์ธ ์์์ ๋ก๋ฉ์ ์ฒด๊ฐ์ ๊ต์ฅํ ๋นจ๋์ง๋ง, ๋ ๋น ๋ฅด๊ณ ์์ ์ ์ด๋ฉฐ ์ผ๊ด์ ์ธ ๊ฒฝํ์ ์ ์ ๋ค์๊ฒ ์ ๊ณตํ๊ธฐ ์ํด CloudFront์ CDN ๊ธฐ๋ฅ์ด ํฌํจ๋ aws amplify๋ฅผ ์ด์ฉํ์ฌ ๋ฐฐํฌํ์์ต๋๋ค.
CDN์ผ๋ก ์บ์ฑ๋ ๋ฏธ๋์ด ํ์ผ์ ํตํด ์ฌ์ฉ์ฑ, ๊ฐ์ฉ์ฑ, ๊ทธ๋ฆฌ๊ณ ๋ณด์๊น์ง ๊ฐ์ ํ ์ ์์์ต๋๋ค.
-
Amazon S3 + CloudFront๊ฐ ์๋ AWS amplify๋ฅผ ์ ํํ ์ด์
- Amplify Console App์ ์์ฑํ๋ ์ ์ฐจ๊ฐ ํจ์ฌ ๊ฐ๋จํ๋ค.
- ํ๋ก ํธ์๋๋ฅผ ์ฝ๊ฒ ์๋์ผ๋ก ๋น๋ ๋ฐ ๋ฐฐํฌํ ์ ์๋ค.
- ๊ทผ๋ณธ์ ์ผ๋ก Amplify Console์ ํ๋ก ํธ์๋ ํ๋ก์ ํธ๋ฅผ ๋ฐฐํฌํ ๋, ๋ด๋ถ์ ์ผ๋ก S3์ CloudFront๋ฅผ ์ด์ฉํ์ฌ ํธ์คํ ํ๋ค.
- ํ๋ก ํธ์๋์์์ ์ด์๋ก ์ธํด ์๋ฒ์ ์ํฅ์ด ๊ฐ์ง ์๋ ๊ตฌ์กฐ์ด๋ค.
- ์ฌ๋ฌ ๋ธ๋์น๋ฅผ ๋์ธ ์ ์์ด์ ๊ฐ ๋ธ๋์น์์ ๋น๋ํ์๋ ์ด๋ป๊ฒ ๋ณด์ด๋์ง ํ ์คํธํ๊ธฐ๊ฐ ์ฉ์ดํ๋ค.
- ๋๋ฉ์ธ์ฐ๊ฒฐ์ด ์ฝ๋ค.
์์ ๊ฐ์ ์ด์ ๋ก ๊ฒฐ๋ก ์ ์ผ๋ก ์ด์ฉํ๊ธฐ ๋ ์ฝ๊ณ ํ์ ์ ๋ ์ฉ์ดํ๋ฉฐ ๊ฒฐ๊ตญ์ ๋ฐฐํฌ์๋ S3์ CloudFront๋ฅผ ์ด์ฉํ์ฌ ํธ์คํ ํ๊ธฐ๋๋ฌธ์ CDN ์๋น์ค๋ ์ด์ฉํ ์ ์๋ค๋ ์ ์์ AWS amplify ๋ฐฐํฌ๋ฅผ ์ ํํ์์ต๋๋ค.
๋จผ์ ์ด์ฉํ์ง ์๋ ์ฐ๊ด๊ด๊ณ ์ํฐํฐ๋ฅผ ์กฐํํ์ง ์๊ธฐ ์ํด ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ์ฐ๊ด๊ด๊ณ์ fetchType์ Lazy๋ก ์ค์ ํด ๋์์ต๋๋ค.
์์ธ: JPQL์ DBํ ์ด๋ธ์ด ์๋๋ผ ์ํฐํฐ๋ฅผ ๋์์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ๊ฒ์ํ๊ธฐ ๋๋ฌธ์ join์ ํ๋๋ผ๋ ๋์ ์ํฐํฐ์ ๊ฐ๋ง ๊ฐ์ ธ์ ์์ํํ๊ฒ ๋ฉ๋๋ค. ์ฆ ๋ฐ๋ผ์ ํ์ ์ํฐํฐ๋ฅผ ์กฐํํ ๋๋ง๋ค ์๋ก์ด select๋ฌธ์ด ์๊ฒจ N+1๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค.
ํด๊ฒฐ์ฑ : ๋ก์ง์์ ์ด์ฉ๋๋ ํ์ ์ํฐํฐ๋ค์ fetch join์ ํตํด ํ๋์ select๋ฌธ์์์ ๊ฐ์ ธ์ ์์ํ์์ผ ๋ ์ด์ select ๋ฌธ์ด ๋๊ฐ์ง ์๊ฒ ํ์ต๋๋ค. ํ์ง๋ง ์ฌ์ฉ๋๋ ํ์์ํฐํฐ๊ฐ Collection์ด๊ณ 2๊ฐ ์ด์์ด๊ฑฐ๋ ํ์ด์ง์ด ํ์ํ ๊ฒฝ์ฐ ์ฌ๋ฌ ๋ฌธ์ ์ ์ด ์์ด ์ฌ์ฉํ์ง ๋ชปํ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ batch_fetch_size๋ฅผ ์ฃผ์ด hibernate์ size๋งํผ where์ ์ฐ์ผ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์๋ํ ์ผ์ batch_fetch_size์ ๋ค๋ค๋ฅด๋ฉด in์ ์ ํตํด ํ๊บผ๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฒ ํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์์ต๋๋ค.
์์ธ:
๋ฌด์ค๋จ ๋ฐฐํฌ๋ฅผ ํ๊ธฐ ๋๋ฌธ์ ํ EC2 ์์ ๊ฐ์ Redis์ ์ฐ๊ฒฐ๋ ์๋ฒ๊ฐ 2๊ฐ๊ฐ ์ผ์ ธ ์์๊ณ ๋ ์๋ฒ์ ์ค์ผ์ฅด๋ฌ๊ฐ ๋ ๋์ค์ ์ฐ๊ฒฐ๋์ด ์ ์ ์๊ฒ ์๋ฆผ์ ์ค๋ณตํ์ฌ ๋ณด๋ด๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์์ต๋๋ค.
ํด๊ฒฐ์ฑ :
redission์ ๋ถ์ฐ ๋ฝ์ ์ด์ฉํ์ฌ ํ๋์ ์ค์ผ์ฅด๋ฌ์์๋ง ์๋์ ๋ณด๋ผ ์ ์๊ฒ ๋ณ๊ฒฝํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์์ต๋๋ค.
์๋น์ค ๊ธฐ๊ฐ ๋์ ์ ์ ๋ค์ ์ฌ์ฉ ํจํด์ ๋ณด์์ ๋,
์ ์ ๋ค์ด ๋ด๊ฐHAMA ์๋น์ค๋ฅผ ํตํด SNS์ฒ๋ผ ์๋ก ์ํตํ๋ฉด์ ์ฆ๊ฑฐ์์ ๋๋ผ๊ณ ์๋ค๋ ๊ฒ์ ํ์ ํ์ต๋๋ค.
๋ํ ๊ตฌ๊ธํผ์ ํตํ ์ ์ ํผ๋๋ฐฑ์ผ๋ก๋ ๋ค๋ฅธ ์ ์ ์ ํ๋กํ, ์์ฑ๊ธ์ ๋ณด๊ฑฐ๋ ์๋ก ์ํตํ ์ ์๋ ์ฐฝ๊ตฌ๊ฐ ์์ผ๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฒฌ์ ๋ฐ์ ์ ์ ํ์ด์ง์ ๋ฐฉ๋ช ๋ก ๊ธฐ๋ฅ์ ์ถ๊ฐํ์์ต๋๋ค.
์ ์ ํ์ด์ง๋ ๊ธฐ์กด์ ๋ง์ดํ์ด์ง์ ์ฝ๋๋ฅผ, ๋ฐฉ๋ช ๋ก์ ๊ธฐ์กด์ ๋๊ธ ๋๋๊ธ ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉ ํ์ฌ ๋น ๋ฅด๊ฒ ๊ธฐ๋ฅ ์ถ๊ฐ๋ฅผ ํ ์ ์์์ต๋๋ค.

