1. Search
- #๋๋ฃ์๊ฒ๋ฌผ์ด๋ณด๊ธฐํ๋ ๊ฒ #๋ด๊ฐ๋์น๊ฒ
- ๊ณ ๋ฏผํ์ง ๋ง๊ณ Knock์ ๋ฌผ์ด๋ณด์!
- ๊ฐ์ค์น, ์ค์๋ ๊ณ์ฐ์ผ๋ก ์ฐ๊ด์ฑ์ด ๋์ ๊ฒ์๊ธ์ด ๊ฒ์ ๋ผ์!
2. Security
- #์ฌ๋ด๋ฌธ์ #๋ณด์์ด์๋ช
- ๊ฐ ํ์ฌ๋ณ Admin์ด ์๊ณ , Admin์ ํตํด์๋ง Member๋ฅผ ๋ฑ๋กํ ์ ์์ด์.
- ์ฝ๊ธฐ/์์ ํ๊ธฐ ๊ถํ์ ์ง๊ธ๋ณ๋ก ๋ถ์ฌํ ์ ์์ด์!
3. Community
- ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๋๋์ด, ์ฉ๋๋ณ๋ก ๊ด๋ฆฌํด์!
- #์ค๋์์ ์ฌ #์ง์ฅ๋ด์๋ชจ์ #์ํ์ ๋ฌธํ #12๊ธฐ๊ณต์ฑ์น๋ชฉ
- ์ํต์ด ํ๋ฐํ ์ฌ๋ด๋ถ์๊ธฐ๋ฅผ ๋ง๋ค์ด์!
4. D.I.Y
- #๋ด๊ฐ์ํ๋๋๋ก #๋ด๋ง๋๋ก #๋ค๊พธ์๋๋ฌธ๊พธ
- ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ธฐ๋ฅ์ด ์์ด, ๋ด๊ฐ ์ํ๋ ๊ธ์ ์ํ๋ ํด๋์ ๋ฃ์ด ๊พธ๋ฐ ์ ์์ด์!
- ์ฆ๊ฒจ์ฐพ๊ธฐ ํด๋๋ ๋๋ง ๋ณผ ์ ์์ผ๋, ์์ฌํ๊ณ ๋ฃ์ ์ ์์ด์!
์ด๋ฆ | Github | |
---|---|---|
FE ํ์ฅ | ๋ฐ์ ํ | https://github.com/swing-park |
FE ํ์ | ์ก์งํ | https://github.com/jinhwansong |
-
- ๊ฒ์ ์ฑ๋ฅ : ํํ์ ๋ถ์์ ํตํ ์ ํํ๊ณ ๋น ๋ฅธ ๊ฒ์ ๊ฒฐ๊ณผ ์ ๊ณต
- ํธ์ง์ํ ์๋ฆผ : ๊ฒ์๊ธ์ ํธ์ง์ํ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ , ํธ์ง์ด ์๋ฃ๋๋ฉด ์๋ฆผ ์ ๊ณต
- ๊ฐ์ธ๋ณ ๋ฌธ์ ๊ด๋ฆฌ : ์์ ์ด ์์ฑํ ๋ฌธ์๋ฅผ ๊ด๋ฆฌํ๊ณ , ํ์ํ ์ฌ๋ด ๋ฌธ์๋ค์ ํด๋๋ก ๊ด๋ฆฌ
- ๊ฒ์๊ธ ๊ณต์ ์ปค๋ฎค๋ํฐ : ๋๊ธ์ ํตํด ์ํตํ๊ณ , ํธ์ง ๋ก๊ทธ๋ฅผ ํ์ธํ์ฌ ๋ค๋ฅธ ์ง์๋ค์ ํธ์ง ๋ด์ญ์ ์กฐํ ๊ฐ๋ฅ
- ๋ก๊ทธ ๊ธฐ๋ฅ : ๊ฒ์๊ธ์ด ํธ์ง๋์ด ์๋ ๊ธฐ๋ก์ ๊ณผ๊ฑฐ์ ํ์ฌ๋ก ๋ชจ๋ ์ด๋ ๊ฐ๋ฅ
- ๋คํฌ๋ชจ๋ ๊ธฐ๋ฅ : ๋ผ์ดํธ๋ชจ๋์ ๋คํฌ๋ชจ๋ ๊ธฐ๋ฅ
-
- ๊ฒ์ ๋ฐ ์ ํ๋ณ ์กฐํ ๊ธฐ๋ฅ
- ๊ฒ์๋ฌผ ์์ธํ์ด์ง ๊ธฐ๋ฅ
- ๋ง์ดํ์ด์ง, ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ธฐ๋ฅ
- ๊ด๋ฆฌ์ ํ์ด์ง ๊ธฐ๋ฅ (ํ์ฌ, ์ฌ์, ์นดํ ๊ณ ๋ฆฌ ๋ฑ ๊ด๋ฆฌ)
- ๋๊ธ, ๋ก๊ทธ ๊ธฐ๋ฅ
- ๋คํฌ๋ชจ๋ ๊ธฐ๋ฅ
-
- 2023.03.10 ~ 2023.04.21
Toast UI Editor / AWS SDK
-Toast UI Editor๋ ๋งํฌ๋ค์ด ์๋ํฐ๋ฅผ ๊ตฌํํ ์คํ ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ์ฌ์ฉ์๊ฐ ํ ์คํธ๋ฅผ ๋งํฌ๋ค์ด ํ์์ผ๋ก ์์ฑํ๋ฉด ํด๋น ๋งํฌ๋ค์ด์ HTML๋ก ๋ณํํ์ฌ ๋ณด์ฌ์ฃผ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋ํ, ๋ค์ํ ํ๋ฌ๊ทธ์ธ์ ์ ๊ณตํ์ฌ ์ฌ์ฉ์๊ฐ ํธ๋ฆฌํ๊ฒ ์๋ํฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด ์ค์์ ์ด๋ฏธ์ง ์ฒจ๋ถ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ํด๋ผ์ด์ธํธ์์ ์ด๋ฏธ์ง๋ฅผ ์๋ฒ์ ์ ๋ก๋ํ๊ณ ๋งํฌ๋ฅผ ๋ฐ์์์ผ ํฉ๋๋ค. AWS SDK ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ๋ฉด Amazon Web Services์ ๋ค์ํ ์๋น์ค๋ค์ JavaScript์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ์ค์์ S3 ์๋น์ค๋ ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง ์๋น์ค๋ก, ์ด์ฉ์๋ ์ด๋ฅผ ์ด์ฉํ์ฌ ํ์ผ์ ์ ์ฅํ๊ณ , ๊ฒ์ํ๊ณ , ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์, AWS SDK ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ Toast UI Editor์์ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํ๋ ์ปค์คํ ํ ์ ์ ์ํ์ฌ, ์ฌ์ฉ์๊ฐ ํธ๋ฆฌํ๊ฒ ์ด๋ฏธ์ง ์ฒจ๋ถ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๊ฒํ์์ต๋.
์ด๋ฌํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด, ์ ์ ์ฌ์๋ค์ด ์ฐพ๊ธฐ ์ด๋ ค์ด ๋ด์ฉ๋ ๊ฒ์ํ์ฌ ์ฐพ์ ์ ์๊ณ , ์ ์๋ค์ ์ด๋ฅผ ํตํด ๋น ๋ฅด๊ณ ์ฝ๊ฒ ์ ๋ณด๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค. ๋ํ, Toast UI Editor์ AWS SDK ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ๊ฐํธํ๊ฒ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํ๊ณ ์ฒจ๋ถํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์๊ธฐ ๋๋ฌธ์, ์ด๋ฅผ ํ์ฉํ์ฌ ๋ค์ํ ํ๋ก์ ํธ์์ ํ์ฉํ ์ ์์ต๋๋ค.
SSE
-SSE(Server-Sent Events)๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ์๋ฒ๋ก๋ถํฐ ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ ํ๋ฉด์ ํ์ํ ์ ์๋ ๊ธฐ์ ์ ๋๋ค. ์ด๋ฅผ ์ฌ์ฉํ๋ฉด WebSocket๊ณผ ๊ฐ์ ์๋ฐฉํฅ ํต์ ์ ํ์๋ก ํ์ง ์์ผ๋ฏ๋ก ์๋ฒ ์ธก์์๋ ๋ถ๋ด์ด ์ ์ต๋๋ค.
ํ์ง๋ง SSE API call์ ํ ๋, request์ ์ธ์ฆ ํค๋๋ฅผ ์ถ๊ฐํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋๋ฐ, ์ผ๋ถ ๋ธ๋ผ์ฐ์ ์์๋ ์ธ์ฆ ํค๋๊ฐ ์ ์ฉ๋์ง ์์ API call์ด ์คํจํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Event-source-polyfill ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์์ต๋๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ eventSource ๊ฐ์ฒด์ xhr header๋ฅผ ์ฃผ์ ํ๋ ๋ฐฉ์์ผ๋ก ์ธ์ฆ ํค๋๋ฅผ ์ถ๊ฐํ ์ ์๋๋ก ์ง์ํด์ค๋๋ค.
์ด๋ฅผ ์ฌ์ฉํ์ฌ SSE API call์ ์ํํ๋ฉด ์ธ์ฆ ํค๋๊ฐ ์ ๋๋ก ์ ์ฉ๋์ด API call์ด ์ ์์ ์ผ๋ก ์ํํ์ SSE API call์ ๋ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์์ต๋๋ค.
editing status
- ๊ฒ์๊ธ ์์ ํ editing status๊ฐ ์ ๋ฐ์ดํธ๋์ง ์๋ ์ด์๋ ์ฌ์ฉ์ ๊ฒฝํ์ ์ํฅ์ ๋ฏธ์น๋ ํฐ ๋ฌธ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ ๊ทน์ ์ผ๋ก ์ ๊ทผํ์ต๋๋ค.
์ฐ์ ์ ์ผ๋ก, ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์๋๋ฆฌ์ค๋ฅผ ์ดํดํ๊ณ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๋ถ๋ถ์ ํ์ ํ์ต๋๋ค. ๊ฒ์๊ธ ์์ ์์ ์ ํ์ด์ง๋ฅผ ์ด๋ํ๋ ๊ณผ์ ์์, editing status๊ฐ ์ ๋ฐ์ดํธ๋์ง ์์์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, history ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ํ์ด์ง ์ด๋ ์ด๋ฒคํธ๋ฅผ ๊ฐ์งํ๊ณ , ํด๋น ์์ ์ editing status๋ฅผ ๋ณ๊ฒฝํ๋ ๋ก์ง์ ์ถ๊ฐํ์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ฒ์๊ธ ์์ ๋ฐ ์ญ์ ์์ ์ ํ์ด์ง ์ด๋ ์ด๋ฒคํธ๋ฅผ ๊ฐ์งํ๊ณ , ์ ์ ํ๊ฒ editing status๊ฐ ์ ๋ฐ์ดํธ๋๋๋ก ํ์์ต๋๋ค.
๋ํ, ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ณผ์ ์์ ์ฐ๋ฆฌ ํ์ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ณ ๋ คํ ๋ค์ํ ์๋๋ฆฌ์ค๋ฅผ ๊ณ ๋ คํ๊ณ , ์ด์ ๋ฐ๋ฅธ ๋ค์ํ ํ ์คํธ๋ฅผ ์ํํ์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ , ์ฌ์ฉ์์๊ฒ ๋ ๋์ ๊ฒฝํ์ ์ ๊ณตํ ์ ์์์ต๋๋ค.
์ด๋ฒ ์ด์๋ฅผ ํตํด ์ฐ๋ฆฌ ํ์ ๋ฌธ์ ํด๊ฒฐ์ ๋ํ ์ ๋ต๊ณผ ๋ฌธ์ ๋ฐ์ ์ ๋น ๋ฅด๊ฒ ๋์ฒํ๋ ๋ฅ๋ ฅ์ ํฅ์์์ผฐ์ต๋๋ค. ์ด๋ฅผ ํตํด ์ฐ๋ฆฌ ์๋น์ค์ ์์ ์ฑ๊ณผ ์ฌ์ฉ์ ๊ฒฝํ์ ๋์ผ ์ ์์์ต๋๋ค.