-
Notifications
You must be signed in to change notification settings - Fork 3
16. Sprint log
- ๊ธฐํ์ ๋ฐ ํ๋ฉด์ค๊ณ ์์ฑํ๊ธฐ
- ์คํ๋ฆฐํธ ์ ์ํ๊ธฐ
- 6์ผ
- ๊ณฝ๋ณ์ @kwak-bs
- ์ค์๊ฐ ๋ฌธ์/์ํต ๊ด๋ จ ๊ธฐ์ ์กฐ์ฌ
- Jira ๊ณต๋ถ ๋ฐ ์ ์ฉ
-
๊ณฝ๋ณ์
- ์๋ก์ด ๊ฐ๋ ์ ๋ํด ์ ๊ทผํ๋ ๊ฒ์ด ์ฝ์ง ์์๋ค.
- ์์ํ๋ ๊ฒ๋ณด๋ค ์๊ฐ์ด ์ค๋ ๊ฑธ๋ ธ๋ค. ๊ฐ๋ฐ scope๋ฅผ ์ ์ค์ ํด์ ์ด์ ๋ฌ์ฑ๋ฅ ์ ๋์ด๋ ๊ฒ์ ๋ชฉ์ ์ผ๋ก ๋์ด์ผ๊ฒ ๋ค.
-
์ด์ฐ์ฃผ
- express์ react๋ฅผ ์ฐ๋ํ๋ ๊ฒ์ ๋ณต์ตํ๋ค ์ค๋๋ง์ด์ผ..
- websocket ๋์๋ฐฉ์๊ณผ express์ socket.io๋ฅผ ์ฌ์ฉํ์ฌ ์ค์๊ฐ ์ฑํ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์๋๋ฐ ์ฌ๋ฐ์๋คใ
- ํ์ ์ถ๊ฐ ์๋๋ฆฌ์ค์ ๋ฐ๋ผ team๊ณผ user ์คํค๋ง ์ค๊ณ ์์ด๋์ด๋ฅผ ์๊ฐํ๊ธฐ๊ฐ ๊น๋ค๋ก์ ๋ค. user ํ ์ด๋ธ์ LiveMD์ ์ด์ฉํ๊ธฐ ์ํด ํ ๋ฒ์ด๋ผ๋ ๋ก๊ทธ์ธํ ์ฌ์ฉ์ ์ ๋ณด๋ง ๊ด๋ฆฌํ๋ค. ํ ์ด๋ ์ ๊ทธ ์ ๋ณด๋ user_team์ ๊ธฐ๋ก๋๋ค. ์ฌ๊ธฐ์ user_team ํ ์ด๋ธ๊ณผ user ํ ์ด๋ธ๊ณผ ๊ด๊ณ๋ฅผ ์ง์ด ๋์์ ๋, ์ด๋ํ ํ์์ด ๋ฑ๋ก๋์ง ์์ ์ฌ๋์ผ ๊ฒฝ์ฐ ๊ทธ ๊ด๊ณ๊ฐ ๊นจ์ง๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด user_email ํ ์ด๋ธ์ ๋์ด userํ ์ด๋ธ๊ณผ user_team์ด ์ด๋ฅผ ์ฐธ์กฐํ๋๋ก ํ์ฌ ๊ด๊ณ๊ฐ ๊นจ์ง์ง ์๊ฒ ํด๋์๋ค. ์ ํฌ๋ RDB์ ์ด๋ ค์์ด ํด๊ฒฐ๋์ง ์์ ๊ฒฝ์ฐ NoSQL๋ก ๋ฐ๊พธ์ด ์ค๊ณ์ ์ด๋ ค์์ ํด์ํ ๊ฒ๋ ๊ฐ์ํ๊ณ ์๋ค.
- ๋ชจ๋ ํ๋ก์ ํธ์์ git flow์ ๋ฐ๋ผ ๋ธ๋์น develop๋ฅผ develop_front, develop_back์ผ๋ก ๋๋์ด ์งํํ๋ค. client ํด๋์์ favicon ๋ฑ head ์ ๋ณด๋ฅผ ๋ฐ๊พธ๊ณ ๋ธ๋์น release์ ์กฐ์ฌ์ฑ์์ด commitํ๊ณ pushํ๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด 1) sparseCheckout, git pull 2)git rebase 3)git reset, git checkout origin/release -- client/public ์ผ๋ก ํด๊ฒฐํ๋ค. 2)ํ์ ๋ ์ปค๋ฐ์ด ๋ค ๋ฐ๊ปด์ reflog๋ก ์ด์ ์ปค๋ฐ์ผ๋ก ๋์๊ฐ๋ ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ๋ค. ํ๋งํฐ๋ฉด ํฐ์ผ๋ ๋ป! ํ์ง๋ง branch๋ฅผ ์ด์ develop ํ๋๋ก ์ฐ๊ธฐ ํด์ ํ์์๊ธด ํ์ง๋ง ์ข์ ๊ฒฝํํ๋ค~
-
์ ์์
- ์ถฉ๋ถํ ์๋๊ฐ ์๊ฒ ๋นจ๋ฆฌ ํ ์ ์์๋ task๋ค์ ์ง์ง ๋์๋ ๊ฒ ๊ฐ๋ค. ์ ํ๊ณผ ์ง์ค์ ํ์~!
- jira์ ๋ํ ๊ฐ๋ ์ ์กฐ๊ธ์ด๋๋ง ์ ์ ์์๋ค. ํ์์ ์ผ๋ก๋ง ์ฐ๋ ๊ฒ์ด ์๋ ์ค์ง์ ์ผ๋ก ์ด์ํธ๋ํน์ ํด์ ํจ๊ณผ๋ฅผ ๋ณผ ์ ์๊ธฐ๋ฅผ ๊ธฐ๋ํ๋ค!
-
์กฐ์ฑ์
- ์ฒซ ์คํ๋ฆฐํธ์๋๋ฐ ์ํฝ, ์ฌ์ฉ์ ์คํ ๋ฆฌ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ฌ๋ฏธ์์๋ค.
- yjs ์คํ์์ค์ ์๋๋ฐฉ์์ ๋ํด ๋ถ์ํ๋ ๋ฐ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ ธ๋ค.
-
ํํ๋ฆฐ
- ๊ฐ์ธ ์ฌ์
-
๊ณฝ๋ณ์
- Jira Software ์ฌ์ฉ๋ฒ์ ์ด๋ ์ ๋ ์์งํ ๊ฒ์ด ๋์์ด ๋ง์ด ๋ ๊ฒ ๊ฐ๋ค. ์ค๋ฌด์์๋ ๋ง์ด ์ฌ์ฉ๋๋ ํ์ ๋๊ตฌ์ด๋ ๊พธ์คํ ์ฌ์ฉํ ์๊ฐ์ด๋ค. ํ์๋ค์๊ฒ๋ ์ง์์ ์ผ๋ก ๋ด์ฉ์ ๊ณต์ ํด์ผ๊ฒ ๋ค.
-
์ด์ฐ์ฃผ
- ์คํ๋ผ์ธ์ผ๋ก ์คํฌ๋ผ ํ์๋ฅผ ํตํด ํ๋ฉด์ค๊ณ, ๊ธฐ์ ์กฐ์ฌ๋ฅผ ํ๋ฉด์ ๋ชจ๋ ํ์๋ค์ด ์ ๊ทน์ ์ผ๋ก ์ฐธ์ฌํด์ ์ข์๋ค. ๊ฐ์ฅ ์ข์๋ ์ ์ Jira๊ฐ ๋ค์ ๋ณต์กํ์ง๋ง ๋ถ์ ํ์ฌ ๊ณต์ ํจ์ผ๋ก์จ ํ๋ก์ ํธ์ ๋น ๋ฅด๊ฒ ์ ์ฉํ ์ ์์๋ ๊ฒ์ด๋ค.
-
์ ์์
- ์คํฌ๋ผ, wrap-up ๋ฑ ๊ท์น์ ์ ํด์ ์ฒด๊ณ๋ฅผ ๊ฐ์ถ๊ฒ ๋์ด ์ฑ ์๊ฐ์ด ์๊ฒผ๋ค.
-
์กฐ์ฑ์
- ์จ๋ผ์ธ์ผ๋ก ์์ ์ด ์งํ๋์์ง๋ง ์กฐ์๋ค๋ผ๋ฆฌ ๋ฐ๋ก ๋ง๋์ ํ์ํ๊ณ ์ํตํ๋ ๊ฒ์ด ์ข์๋ ๊ฒ ๊ฐ๋ค. ์์ผ๋ก๋ ๊ณ์ ๋ชจ์ฌ์ ์ํตํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค!
-
ํํ๋ฆฐ
- ๊ฐ์ธ ์ฌ์
-
๊ณฝ๋ณ์
- ์๊ฐ์ด ์์๋ค๋ ๊ฒ์ ํ๊ณ์ง๋ง, WebRTC์ ๋ํด ์ข ๋ ์ ๋ฌธ์ ์ธ ๋ถ์์ ๋ชปํ ๊ฒ์ด ์์ฝ๋ค. ์ด๋ฒ ์คํ๋ฆฐํธ๊น์ง ํด์ผํ ์ด์์์ง๋ง ์กฐ๊ธ ์ด๋ ต๋ค๋ ์ด์ ๋ก ์์ผํ๊ฒ ๋์ฒํ๋ ๊ฒ ๊ฐ๋ค. ๋ค์ ์คํ๋ฆฐํธ์์๋ ๋งก์ ์ด์์ ๋ํด์ ๋ ์ ๋ฌธ์ ์ผ๋ก ์ ๊ทผํด์ผํ ํ์์ฑ์ ๋๊ผ๋ค.
-
์ด์ฐ์ฃผ
- commit ๋ฉ์์ง ์ปจ๋ฒค์ ์ ์ ๋ฐ๋ผ์ผ๊ฒ ๋ค.
- ๋ธ๋์น๋ ํ์๋ธ๋์น์ commitํ๊ณ ์์ ๋ธ๋์น์ mergeํ๋ ๋ฐฉ์์ ๊ผญ ์ง์ผ์ผ๊ฒ ๋ค.
- ์คํ๋ฆฐํธ ๋จ์๋ฅผ ๊ณ ๋ คํด์ ์คํ๋ฆฐํธ ๊ธฐ๊ฐ์ ๋ด๊ฐ ํ sub task๋ฅผ ๋ฏธ๋ฆฌ๋ฏธ๋ฆฌ ๋ฐฑ๋ก๊ทธ์ ๋ฃ์ด๋์ผ๊ฒ ๋ค.
-
์ ์์
- ๊ฐ์ด ๋ชจ์ธ ๊ฒฝ์ฐ, ๋ชจ์์ ๋ ์๋์ง๋ฅผ ๋ผ ์ ์๋ ๋ชฉํ๋ฅผ ์ ํํ ์ ํ๊ณ ํ๋ฃจํ๋ฃจ ๋ฌ์ฑํ์ผ๋ฉด ์ข๊ฒ ๋ค.
- jira ํ์์์ ์ฃผ ์ด์ ์์ฑํ ๊ฒ!
-
์กฐ์ฑ์
- ์คํ๋ฆฐํธ์์ ์งํํ ๊ฐ๋ฐ ๋ฒ์๋ฅผ ํ์คํ ์คํ ๊ฐ๋ฅํ ์ ๋๋ก ์ก์ผ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
-
ํํ๋ฆฐ
- ๊ฐ์ธ ์ฌ์
- ์ง๊ฐ์ ์ต๋ํ ์์ ํ ๊ฒ(์ง๊ฐ๋น ๊ฑท์ ์์ ์)
- ๋งค์ผ 10:00 ์คํฌ๋ผ , 18:00 wrap-up
- ํ ์์ผ์ ํด์ผ
- ์ผ์์ผ์ 10:00 ์คํฌ๋ผ , 21:00 sprint ํ์
- ํต์ฌ ๊ธฐ๋ฅ 3๊ฐ(์ฑํ , ๊ณต๋ ๋ฌธ์ ์์ , ๋ฌธ์ ๊ด๋ฆฌ) ์ต์ํ์ผ๋ก ๋์๊ฐ๋ฅํ๊ฒ ํ๊ธฐ
- jira ์ github ์ฐ๋ํด์ ์์ ํ๊ธฐ
- 6์ผ (2020.10.19-10.25)
- ์กฐ์ฑ์ @JSWww
- ๊ฐ์ธ์ํฌ์คํ์ด์ค์์ ๋ฌธ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ ์๋ฃํ๊ธฐ
- ์ฑํ ๊ธฐ๋ฅ ์์ฑํ๊ธฐ
- ๋ฉ์ธ ๊ธฐ๋ฅ๋ค ๊ฐ๊ฐ ๋์ํ๊ฒ ํ๊ธฐ (์ฐ๋ x)
- ์ง๊ฐ์ ์์ !
- ๋งค์ผ 10:00 ์คํฌ๋ผ, 18:00 wrap-up
- ํ ์์ผ์ ํด์ผ์ ๋๋ค!
- ์ผ์์ผ์ 10:00 ์คํฌ๋ผ, 21:00 Sprint ํ์
- ๊ณฝ๋ณ์
- Solution์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋ API๋ฅผ ํ์ฉํ๋ ๊ฒ์ผ๋ก ์ค์๊ฐ ์์ฌ์ํต ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ๋ก ํ์๋ค.
- ์ฐ๋ฆฌ ํ๋ก์ ํธ์ GraphQL์ด ํ์ํ ์ด์ ๋ฅผ ์ ์ ์์๋ค. GraphQL์ ๊ณต๋ถํด์ผํ๋ค.
- ์ด์ฐ์ฃผ
- Workspace ui๋ฅผ ๋ง๋ค๋ sidebar์ slide ํจ๊ณผ์ ๊ทธ ์์ ์๋ list popupํจ๊ณผ ์ฌ์ด์ ์์กด์ฑ์ด ์์ด ์ด๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ด๋ ค์ ๋ค.
- graphql์ด msa์์ ์ด๋ป๊ฒ ์ฐ์ด๋์ง ์ ์ ์์๋ค. ํ๋ก์์๋ฒ๋ก aws appsync๋ฅผ ๊ณ ๋ ค์ค์ด๋ค.
- ์ฐ๋ฆฌ ํ์ ์ ์ฒด์ ์ธ ์งํ ์ํฉ์ ๋ฉํ ๋ง์ ํตํด ๊ฐ๊ด์ ์ผ๋ก ์ ์ ์์๋ค. ์คํ์๋ฃจ์ ๊ณผ ์คํ์์ค์ ์ฐจ์ด๋ฅผ ์ ์ ์์๋ค.
- ์ ์์
- ๊ธฐ์กด rest๋ฐฉ์์ด ์๋ graphql์ ์ ์ฉํ๊ธฐ๋ก ๋ฐ๋์ด์ ๊ณต๋ถ๋ฅผ ํ๋ค. spring boot์ graphql์ ํจ๊ป ์ฐ๋ ์์ ๋ ์์ค๋ค์ด ๋ง์ด ์๊ณ , ์์ฑ์๋ง๋ค ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ฌด์์ ์ ์ฉํด์ผ ํ๋ ๊ณ ๋ฏผ์ด๋ค. ์ผ๋ฅธ ๊ณต๋ถ๋ฅผ ์๋ฃํด์ ๋ฌธ์ ๊ด๋ฆฌ(ํ์ผ๊ด๋ฆฌ)์ ํ ๊ด๋ฆฌ๋ฅผ ๋ง๋ฌด๋ฆฌ ์ง์ผ๋ฉด ์ข๊ฒ ๋ค.
- LiveMD์ ํ๋ก์ฐ์ฐจํธ๋ฅผ ์ง๋ฉด์ ์๋๋ฆฌ์ค๊ฐ ์ด๋ ์ ๋ ์์ฑ๋๋ค๊ณ ์๊ฐํ๋๋ฐ, ๋ฉํ ๋ง์ ํ๋ค ๋ณด๋ ํ์ ์ด ๋ง์ด ๋ฐ๊ฒฌ๋์ ์๋๋ฆฌ์ค๋ฅผ ๋ค์ ์ง์ผ๊ฒ ๋ค.
- ์กฐ์ฑ์
- ์ค์๊ฐ ๋ฌธ์ ํธ์ง ๊ธฐ๋ฅ์ aws ec2์ ์ฌ๋ ค ํ ์คํธํด๋ดค๋ค. ์ฌ๊ธฐ์๋ถํฐ ๊ฐ๋ฐํด๋๊ฐ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
- 24์ผ ๋ฉํ ๋ง ๋ ์ด๋ฒคํธ ๋๋ฆฌ๋ธ ์ํคํ ์ฒ๋ฅผ ๊ตฌ์ฑํ๋ฉด์ LiveMD์ ๋ํด ๋ํ ์ผํ ํ๋ฆ์ด ๋ง์ด ๋ถ์กฑํ๋ค๊ณ ์๊ฐํ๋ค. ์ถํ์ ํ์๋ค๊ณผ ๊ฐ์ด ์๊ฒฌ์ ๋๋ ์ผ ํ ๊ฒ ๊ฐ๋ค.
- ํํ๋ฆฐ
- ์ค์ง์ ์ธ ๊ฐ๋ฐ๋ณด๋ค๋ ์ฌ์ฉ ๊ธฐ์ ์ ์ฐพ๋๋ฐ ์๊ฐ์ ๋ง์ด ์จ์ ์์ฌ์ ๋ค.
- ๋ง์ฝ ๊ฐ๋ฐ์ ํ์ง ์์๋ค๋ฉด ๊ณต๋ถํ ๋ด์ฉ์ ๋ฌธ์๋ก ์ ๋ฆฌํด ํ์๋ค์๊ฒ ๊ณต์ ํด์ผ๊ฒ ๋ค.
- ๋ฉํ ๋ง ๋ฐ์ ๋๋ก ๋ก์ปฌ์์๋ง ๋๋ฆฌ์ง ๋ง๊ณ ๊ฐ๋ฐ์๋ฒ์ ์ฌ๋ ค์ ๋ชจ๋ ํ์ธํ ์ ์๋๋ก ํด์ผ๊ฒ ๋ค.
-
๊ณฝ๋ณ์
- ์คํ์์ค๋ฅผ ์ต๋ํ ํ์ฉํ์ฌ ์ ์ฉํ๋ ค๊ณ ํ ์ผ.(ํ์ง๋ง ๋ด๊ฐ ์๊ฐํ ์คํ์์ค๊ฐ ์๋๋ผ ์๋ฃจ์ ์ด์์ ใ ใ )
-
์ด์ฐ์ฃผ
- commit convention๊ณผ branch convention์ ๋ฒ์ด๋์ง ์์ผ๋ ค๊ณ ์ต๋ํ wiki๋ฅผ ์ฐธ๊ณ ํ์ฌ ์กฐ์ฌํ ์์ ํ๋ ค๊ณ ํ๋ค.
- jira ์ด์๋ฒํธ ์ปค๋ฐ๋ฉ์์ง ์๋์์ฑ๋ฐ master push ๋ฐฉ์ง๋ฅผ ์ํ githook์ ์ฉ
-
์ ์์
- git์ ๋ธ๋์น๋ฅผ ํ์ merge์ํค๋ ๊ณผ์ ์ ์ต์ํด์ก๋ค.
- ํ๋ฉด์ ์์ง๋ง postman์ ํ์ฉํ์ฌ test๋ฅผ ๊ณ์ ํด๋ณด๋ฉฐ ๊ฒฐ๊ณผ๋ฌผ์ ํ์ธํ๋ค.
-
์กฐ์ฑ์
- aws ec2์๋ค nginx์ ๋ ธ๋ ์๋ฒ๋ฅผ ๋ฐฐํฌํด์ ํ์ฌ ๊ฒฐ๊ณผ๋ฌผ์ ๋์ผ๋ก ํ ์คํธํด๋ณผ ์ ์์๋ค.
- docker๋ฅผ ์ด์ฉํ์ฌ ๋ชจ๋ ํ์๋ค์ด ํ๋์ ec2 ์ธ์คํด์ค์์ ๊ฐ์ ๊ฒฐ๊ณผ๋ฌผ์ ํ ์คํธ ํ ์ ์๊ฒ ์ฐพ์๋ด์ผ๊ฒ ๋ค.
-
ํํ๋ฆฐ
- socket.io๋ฅผ ๊ณต๋ถํ๋ฉฐ ๋จ์ํ ํ๋ก์ ํธ์ ์ ์ฉ์์ผ๋ณด๋๋ฐ์ ๋๋ด์ง ์๊ณ ๋จ์๊ฒ ์ค๋ช ํ ์ ์์ ์ ๋๊น์ง ๊ณต๋ถํ๋ค.
- ์์ผ๋ก ๊ฐ๋ฐ์ ํ ๋๋ ๊ธฐ์ ์ ๊ฐ์ ธ๋ค ์ฐ๋๊ฒ์๋๋ผ ์๋ฒฝํ ๋ด๊ฒ์ด ๋ ์ ์๊ฒ ํด์ผ๊ฒ ๋ค.
-
๊ณฝ๋ณ์
- AWS ์๋ฃจ์ ์ ์ฌ์ฉํ์ง ์๊ณ ์ค์๊ฐ ์์ฌ ์ํต ๊ธฐ๋ฅ์ ๊ตฌํํ์ด์ผํ๋๋ฐ ๋๋ฌด ๊ฒฐ๊ณผ๋ฌผ์๋ง ์ง์ฐฉํ๋๊ฒ ๊ฐ๋ค. ํ๋ก์ ํธ๋ฅผ ํตํด ํ์คํ ์ป์ด๊ฐ๋ ๊ฒ์ด ์์ด์ผ ํ๋๋ฐ ๋๋ฌด ์์ผํ๊ฒ ์ ๊ทผํ๋ ๊ฒ ๊ฐ๋ค.
-
์ด์ฐ์ฃผ
- workspace ui์์ sidebar effect๋ฅผ ์ปจํธ๋กคํ๋ ๋ฐฉ๋ฒ์ ์์ง ํด๊ฒฐํ์ง ๋ชปํ๋ค. useeffect ๋ฑ hooks๋ฅผ ์ด์ฉํด์ ํด๊ฒฐํด๋ด์ผ๊ฒ ๋ค.
- ์ ์ฒด์ ์ธ ํ๋ก์ ํธ ๊ฐ๋ฐ ๋ฐฉํฅ์ ์๋ชป ์ก์๋ ๊ฒ ๊ฐ๋ค. ์ค์ค๋ก ์๋ฃ ์กฐ์ฌํ์ฌ ๊ฐ๋ฐํ๊ธฐ๋ณด๋ค๋ ์ธ๋ถ ์์ค ์์กดํ๋ ค๋ ๊ฒฝํฅ์ด ์ง์๋์๋ค. ๋ฉํ ๋๊ณผ ๋ํํ์ฌ ๊ฐ์ ์ญํ ๋ค ๋ถ๋ดํ๊ณ ๊ฐ๋ฐํ ๊ฒ์ aws ec2 ๋๋ elasitc beanstalk ๋ฑ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ผ๋ก ๋ฐฐํฌํ์ฌ ๋ชจ๋ ํ์์ ๊ฐ๋ฐ ์ง๋๋ฅผ ๋ชจ๋ ํ์๋ค์ด ํ์ธํ ์ ์๋๋ก ํ ์์ ์ด๋ค.
-
์ ์์
- graphql๊ณผ jenkins ๋ฑ ๊ณต๋ถํด์ผ ํ ๋ถ๋์ด ๋ง์๋ฐ, ์ด๋ป๊ฒ ๊ณต๋ถํด์ผ ํ ์ง ๋ชจ๋ฅธ๋ค๋ ํ๊ณ๋ก ์๋ฒฝํ ํ์ง ์์๋ค.
- ์ฑ ์ ๋ณด๋ฉฐ ์ฐธ๊ณ ํ๋ CRUD๋ฐฉ์๋ง ๋๋ฌด ์ฐธ๊ณ ํ์ฌ ๋ค๋ฅธ ์ฝ๋๋ค์ ๋ณด๊ฑฐ๋ ์ ์ฉ์ํฌ ์๊ฐ์ ๋ชปํ๋ค. ์ข ๋ ๋ค์ํ ๋ฐฉ๋ฒ์ ์๋ํด๋ณด์.
-
์กฐ์ฑ์
- ๋ฒ์จ ์คํ๋ฆฐํธ๋ฅผ 2๋ฒ์ด๋ ๋๋ ธ๋๋ฐ๋ ์์ง๊น์ง ์์ ํ ํ๋ก์ ํธ์ ๋ชฐ์ ํ์ง ๋ชปํ๋ ๊ฒ ๊ฐ๋ค. 24์ผ ๋ฉํ ๋ง์ ํตํด ์ฐ๋ฆฌ์ ํ ์ฃผ์๋ฅผ ํ์ ํ๊ฒ ๋๊ณ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ ๋ ํฌ์ํด์ผ๊ฒ ๋ค.
-
ํํ๋ฆฐ
- ๊ฐ๋ฐํ๋๋ฐ ์ง๋๋ฅผ ๋ง์ด ๋๊ฐ์ง ๋ชปํด ํ๋ก์ ํธ ์ผ์ ์ ์ํฅ์ ์ฃผ์๋ค.
- ํ ๋น๋์ ์ฑ์ฐ์ง ๋ชปํ๋ฉด ๋ฐค์ ์์๋ผ๋ ์์ฑํ๊ณ ์กฐ๊ธ๋ ๋ด ์ญํ ์ ์ฑ ์๊ฐ์ ๊ฐ์ ธ์ผ๊ฒ ๋ค.
- ๊ฐ์ aws ec2 ๋ง๋ค์ด ๋ก์ปฌ ํ๊ฒฝ์ด ์๋ ๊ฐ๋ฐ ์๋ฒ ํ๊ฒฝ์์ ๊ฐ์ ๊ฐ๋ฐํ ๊ฒฐ๊ณผ๋ฌผ์ ๋์ผ๋ก ๋ณผ ์ ์๊ฒ ํ์!
- node.js ๋๋ spring boot ๋ฐฐํฌ ๋ฐฉ๋ฒ ์ทจ๋ํ๊ธฐ
- ๋ก๊ทธ์ธ ๋ถ๋ถ express+passport change ์ด๊ฑฐ ๊ฐ์ํด์ผํ ๊ฑฐ ์ ๋๊ฑฐ?
- jira์ ํ์ ์์ github์ ์ฐ๋ํด์ ์์ ํ๊ธฐ
- Assignee: ์ ์์, ์ด์ฐ์ฃผ @soyoung-Jung, @Joylish
- Status: 30%
- Assignee: ์ ์์, ์ด์ฐ์ฃผ @soyoung-Jung, @Joylish
- Status: 30%
- Assignee: ์ ์์, ์ด์ฐ์ฃผ @soyoung-Jung, @Joylish
- Status: 30%
- Assignee: ์ ์์, ์ด์ฐ์ฃผ @soyoung-Jung, @Joylish
- Status: 30%
- Assignee: ์ ์์, ์ด์ฐ์ฃผ @soyoung-Jung, @Joylish
- Status: 30%
- Assignee: ์กฐ์ฑ์ @JSWww
- Status: 50%
- Assignee: ์ด์ฐ์ฃผ
- status: 40%
-
์ค์๊ฐ ์์ฌ์ํต
- FE : video์ chat client ๋ถ๋ถ ํ ํ์ด์ง์ ๊ตฌํ
- BE : nginx์์ https ํต์ ๊ตฌํ, api์์ฑํ๊ธฐ
- ๊ณตํต : ๋ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ๋ณด๋ค ์๋๋ฐฉ๊ณผ์ ์ํต์ ์ฐ์ ์ผ๋ก ๊ธฐ๋ฅ ๊ตฌํ(https)
-
๊ณต๋ ๋ฌธ์ ํธ์ง
- DB ์ฐ๋ํ์ฌ ๋ฌธ์ ๋ด์ฉ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- room ๋ณ๋ก ๋ฌธ์ ํธ์งํ ์ ์๊ฒ ํ๊ธฐ
-
๋ฌธ์ ๊ด๋ฆฌ
- api ์ค๊ณ๋๋ก ์์ฑํ๊ธฐ(pagination, sorting, searching ๊ธฐ๋ฅ๊น์ง)
- ํ์ผ export ๊ธฐ๋ฅ ๊ณต๋ถ ๋ฐ ์์ ๋ถ์
- JWT์ ๋ํ ๊ณต๋ถ ๋ฐ secret key๋ก ์ธ์ฆ ๊ธฐ๋ฅ ๊ตฌํํ๊ธฐ
-
ํ ๋ฐ ํ์ ๊ด๋ฆฌ
- ์ด๋ฉ์ผ๋ก ์ธ์ฆํด์ ํ์ ํ์์ผ๋ก ์ถ๊ฐ๋๋ ๊ฑฐ ํ์ธ
-
์ธ์ฆ ๋ฐ ์ฌ์ฉ์ ๊ด๋ฆฌ
- oauth2, jwt ๊ฐ ์์ ๋ถ์์ ํตํด ๊ฐ๋ฐ ์์
- 6์ผ
- ์ ์์ @soyoung-Jung
-
์ฃผ์ฐจ๋ณ๋ก ์ ์ฒด์ ์ธ ์ผ์ ์ ๊ณํํ์๋ค.
- 11/2 ~ 11/14(์ค๊ฐ๋ฐํ ์ ): ๊ฐ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ์ง์ค
- 11/16 ~ 12/4(์ต์ข ๋ฐํ๊น์ง): view & k8s ๊ตฌํ ๋ฐ ์ ์ฉ
-
๊ทธ๋ผ์ด๋ ๋ฃฐ ํ์
- Scrum ์ง๊ฐ ์ ๋ฒ๊ธ 2๋ง์(2020.11.01 ์ง๊ฐ์ ๊ณฝ๋ณ์ ใ ใ )
- Scrum ์๊ฐ : ์ค์ 10์ (์ง๊ฐ๋น 2๋ง์)
- wrap-up ์๊ฐ: ์์ ๋๋๊ธฐ ์ 30๋ถ
- ๊ธ์์ผ ์คํ๋ผ์ธ ๋ฏธํ ๊ณ ์
-
๊ณฝ๋ณ์
- WebRTC ๊ณ ๋ คํด์ผ ๋ ์ํฉ
- https๋ฅผ ๋ถ์ฌ์ ํ์ธ์ ์ผ๊ตด์ด ๋ณด์ผ๊ฒ(SSL ํ์ฉ)
- ๋์์ ์ธ์ ์ ์ง (์๋ง ์น ๋ธ๋ผ์ฐ์ ๊บผ์ง์ง ์๋ ์ด์ ์ ์ง๋๋ ๊ฒ ๊ฐ์ง๋ง ๋ฐฉ์ฌํ๋ฉด ์๋. ์์๋ณด์)
- FE์ชฝ์ ์ฑํ ๊ณผ webRTC ํ ํ์ด์ง ์์ ๋ํ๋ผ ๊ฒ
- proxy ์ฌ๋ฌ ๊ฐ ์ ์ฉ๋ฒ ์์๋ด๊ธฐ
- ์ฌ์ฌ ์ฌ๋ฏธ๊ฐ ๋ถ๊ธฐ ์์ํ๋ค.
- WebRTC ๊ณ ๋ คํด์ผ ๋ ์ํฉ
-
์ด์ฐ์ฃผ
- workspace ui๋ถ๋ถ์ ๋งก์์ ์๋ฒ๊ฐ๋ฐ์ ๋งก๊ฒ๋์ ์ ์ ์ด ์์๋ค.
- client์์ ์ํ๊ด๋ฆฌ๋ฅผ ์ํด store๋ฅผ ๋๋๋ฐ 2๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์๋ค. ๋ด๊ฐ ๋งก์ ์๋ฒ๋ฅผ ๊ตฌํํ ํ ์ ํ์ ์ผ๋ก ์ ์ฉํด๋ณด์์ผ๊ฒ ๋ค.
- useReducer() hooks
- mobx store
- mobx state tree
- api ๋ฌธ์ํด๋ก gitbook์ ์ ์ํ์ฌ ์์์ด์ ๋ฌธ์๊ด๋ฆฌ, ํ๊ด๋ฆฌ, ๋ฉค๋ฒ๊ด๋ฆฌ api๋ฅผ ์ ๋ฆฌํ๋ค. ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ด ์๋๋ฐrest api ์ปจ๋ฒค์ ์ ๋ฐ๋ผ ์ค๊ณํ๋๊ฒ ์ด๋ ค์ ๋ค.
- ํ์์ด๋์ email์ธ์ฆ ํ๋ก์ธ์ค์ ๋ํด์ ๊ณ ๋ฏผํ์๋ค.
- dotenv ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํด์ .envํ์ผ์ ๋์ด db, aws ๊ด๋ จ ์ ๋ณด์ ๋ํ ๋ณด์์ ์ ์งํ๋์ง ์ ์ ์์๋ค.
- ์ฌ์ฉ์ ํ๋กํ, ํํ๋กํ ์ฌ์ง ์ ์ฅ์ ์ํด ์ด๋ค์์ผ๋ก ํน์ ํด๋์ ์ ๋ก๋ํ๋์ง, aws s3์ ์ ๋ก๋ํ๋์ง ์๊ฒ๋์๋ค.
- ์คํ๋งํด๋ผ์ฐ๋์์ eureka๋ผ๋ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ msa๋ฅผ ์ํด service directory๋ก ์๋น์ค๋ค์ ๊ด๋ฆฌํ๊ณ circuit์ผ๋ก ์ด ์๋ค๋ ์ ์ด ์ฌ๋ฐ์๋ค. k8s์์ ์ด๋ฐ ๋ถ๋ถ์ ์ง์ํ๋ค๊ณ ํ๋๋ฐ ํ์๋ค๊ณผ ๋ ผ์ํ์ฌ ์ถํ์ ์ ์ฉํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
-
์ ์์
- api ์ค๊ณ์ ์ค์์ฑ์ ์์๋ค. ๋ํ ๋ฐ๋์งํ api์ค๊ณ์ ๋ํด ์ฐพ์๋ณด์๋ค.
- request๋ฅผ ๋ฐ๋ ๋ฐฉ๋ฒ์ ํ์์ ์ธ ์ฐจ์ด์ ๋ฌด์์ด bp์ธ์ง๋ฅผ ๊ณ ๋ฏผํ ์ ์์๋ค.
- msa๋ก ์ค๊ณ์ db๊ฐ์ ์ฐธ์กฐ๊ด๊ณ๋ฅผ ๊ฐ์ง ์์๋ ๋๋ค๋ ๊ฒ์ด ์ ๊ธฐํ์๋ค. ๊ตฌํ์ ํ๋ฉด์ ๋ ์์๊ฐ๋ณด๊ธธ ๊ธฐ๋ํ๋ค.
-
์กฐ์ฑ์
- ๋งํฌ๋ค์ด preview ๊ธฐ๋ฅ์ ๋จ์ํ marked๋ผ๋ ์คํ์์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ์ค ์์๋๋ฐ ๋งํฌ๋ค์ด์ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ๋ง ์ ๊ณตํ์๊ณ ๋ฐ๋ก ์ด์ ๋ถ์ฌ์ผ ๋๋ค๋ ๊ฒ์ ํ์ธํ๋ค.
- y-websocket ์์ room ๋ณ๋ก ์ฌ์ฉ์๋ค๋ผ๋ฆฌ ์ํตํ ์ ์๋๋ก ํ๋๋ฐ ์ด room ๊ธฐ๋ฅ์ LiveMD์ ๋ฌธ์์ ์ ์ฉํ ์ ์์์ง ์ฒดํฌํด์ผ ํ๋ค.
-
ํํ๋ฆฐ
- ssl์ธ์ฆ์๋ฅผ ๋ฌ๋ฉด์ nginx์ config์ ๋ํด ๊ณต๋ถ๋ฅผ ํ๋ค. ํ๋๋ก๋ง ํต์ ํ๋ ๊ฒ์ ๊ฐ๋ฅํ๋ 2๊ฐ ์ด์์ https๊ฐ์ ํต์ ๊ตฌํ์ ๋ํด์๋ ๋ ์์๋ด์ผ๊ฒ ๋ค.
- ์ฑํ , ๋น๋์ค ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ํต์ ํ ์ ์๋๋ก api๋ฅผ ์ค๊ณํ๋ ๋ฐฉ๋ฒ์ ๋ ์ฐพ์๋ด์ผ๊ฒ ๋ค.
- ์ผ๋ฅธ ์ค์๊ฐ ํต์ ๋ถ๋ถ์ ๊ตฌํํ๊ณ ๋ฌธ์์ชฝ์ผ๋ก ๋์ด๊ฐ์ ๊ฐ๋ฐํด์ผ๊ฒ ๋ค.
-
๊ณฝ๋ณ์
- ์คํ ์์ค๊ธด ํ์ง๋ง ์ด๊ฒ์ ๊ธฐ๋ฐ์ผ๋ก WebRTC์ React๋ฅผ ํจ๊ป ๊ณต๋ถํ ์ ์์๋ค. ์ต๋ํ ๋์๊ฒ ๋์์ด ๋๊ณ ํ์ ๋์์ด ๋ ์ ์๋๋ก WebRTC์ React๋ ํ์คํ ๊ธฐ๋ฐ์ ๊ณ์ํด์ ๋ค์ ธ๋๊ฐ์ผ ํ ๊ฒ ๊ฐ๋ค.
-
์ด์ฐ์ฃผ
- api ๋ฌธ์์ ๋ฐ๋ผ ํ๊ด๋ฆฌ api์๋ฒ๋ฅผ ๊ตฌํํ์๋ค.
- email์ ์ด์ฉํด ๋ฉค๋ฒ์ด๋ ํ๋ก์ธ์ค๋ฅผ ๊ณ ๋ฏผํ์ฌ ๋ก์ง์ ๊ตฌ์ฑํ๋ ค๊ณ ํ๊ณ ์๋ค. async await์ ํ์ฉํ์ฌ nonblocked programmingํ๋ ๊ฒ์ด ์ค์ํ๋ค๋ ๊ฐํ๊ธฐ๋ฉํ ๋์ ์กฐ์ธ์ ๋ฐ๋ผ ๊ตฌํํด์ผ๊ฒ ๋ค.
-
์ ์์
- git book์ ํ์ฉํ์ฌ api์ค๊ณ๋ ํ๊ณ ๊ธฐ๋ก์ ๋จ๊ธด ๊ฒ์ฒ๋ผ, ๋ฌด์ธ๊ฐ๋ฅผ ํ ๋ ํด์ ์ฌ์ฉํ์ฌ ํจ์จ์ ์ด๊ณ ํจ๊ณผ์ ์ผ๋ก ํ ์ ์๋๋ก ํ์.
-
์กฐ์ฑ์
- yjs ์คํ์์ค๋ฅผ ์ ์ ์ดํดํด ๊ฐ๋ ์ ์ด ์ข์ ๊ฒ ๊ฐ๋ค. yjs๋ฅผ ๋ถ์ํ๊ณ ์ด์ ๋ถ์ด๋ ๊ฒ์ด ๊ด๊ฑด์ด ๋ ๊ฒ ๊ฐ๋ค.
-
ํํ๋ฆฐ
- ๋ํํด ์ง์ง ์๊ณ ๋งค์ผ๋งค์ผ ์กฐ๊ธ์ฉ์ด๋ผ๋ ๊ฐ๋ฐํ ์ ์ด ์ํ๋ค๊ณ ์๊ฐํ๋ค. ์ด๋ฒ ์คํ๋ฆฐํธ๋ฅผ ํ๋ฉฐ ๊ฐ๋ฐ์ ๊ด์ฑ์ฒ๋ผ ์ฒ์ ์์ํ๋๊ฒ์ด ์ด๋ ต์ง ํ๋ฒ ํ๋ฉด ๊ณ์ํ๊ธฐ๊ฐ ์ฝ๋ค๋๊ฒ์ ๊นจ๋ซ๊ฒ ๋์๋ค.
- ๋จ์ํ ๋ฐฉ๋ฒ์ ๋ฐ๋ผํ๋๊ฒ์์ ๊ทธ์น์ง ์๊ณ ํ์คํ์ค ๋ฌด์จ์๋ฏธ์ธ์ง ๊ณต๋ถํ๋ฉด์ ๊ฐ๋ฐํ๋๊ฒ์ด ๋์์ด ๋์๋ค.
-
๊ณฝ๋ณ์
- webRTC์ socket.io์ ๋ํ ์ ์ฒด์ ์ธ ์ดํด๊ฐ ์์ง๊น์ง ๋ถ์กฑํ ๊ฒ ๊ฐ๋ค. ๊ฐ๋ฐ์ ํจ์จ์ ์ผ๋ก ์งํํ๊ณ ํ์๋ค์๊ฒ๋ ์ค๋ช ํ๊ธฐ ์ํด ๊ณต๋ถ๋ฅผ ๋ ํด์ผ๋ ํ์์ฑ์ ๋๊ผ๋ค.
-
์ด์ฐ์ฃผ
- oauth2์ jwt๋ฅผ ํ์ฉํ์ฌ ์ธ์ฆ์๋น์ค์ ๋ํ ์ดํด๊ฐ ๋ถ์กฑํด์ ์ฌ์ฉ์์ชฝ ์๋น์ค๋ฅผ ์์ง ๊ตฌํํ์ง ๋ชปํ๋ค. ์ธ์ฆ์๋น์ค์ ์ ์ ์๋น์ค๋ฅผ ๋ถ๋ฆฌํ์๋ oauth2 ์๋ฒ์์ ๋ฐ์ ์ฌ์ฉ์์ ๋ณด๋ฅผ ์ด๋ค์์ผ๋ก ์ ์ ์๋น์ค์ ์ ๋ฌํ์ฌ ์ ์ฅํ ๊ฒ์ธ์ง ๊ณ ๋ฏผํด๋ณด์์ผํ ๊ฒ ๊ฐ๋ค.
-
์ ์์
- ์๊ฐ์ด ๋ ๊ฑธ๋ฆด ์ ์๋ ์ผ์ ๋ฃจ์ฆํ๊ฒ ์งํํ๋ฉฐ ์๋๋ด์ง ๋ชปํ๋ ๊ฒ ๊ฐ๋ค. ์ง๊ธ ๋น์ฅ ํด์ผํ ์ผ์ ๋งค์ผ ์ ๋ฆฌํ๊ณ , jira์์ task๋ฅผ ์๋ฃ์ํ๋ก ์ฎ๊ธฐ๋ ์ฆ๊ฑฐ์์ ๋๋ผ์!
- git์ ๋น๋กฏํ ๋ค๋ฅธ ๊ฒ๋ค์ ๋ํด ๋งํ๋ ๋ถ๋ถ์ ์ค์ค๋ก ๊ตฌ๊ธ๋งํ๋ฉฐ ํค์ณ๋๊ฐ๋ณด์!
-
์กฐ์ฑ์
- ๋์ผ๋ก ๋ณด์ด๋ ๊ฒฐ๊ณผ๊ฐ ์ข ๋ถ์กฑํ ๊ฒ ๊ฐ๋ค. ๋ญ๋ผ๋ ์งํ์ ํด์ผํ๋ค๋ ๊ฒ์ ๋๋ผ๋ ์ค์ด๋ค.
-
ํํ๋ฆฐ
- ๋งค์ผ ๊ฐ๋ฐ์ ํ๊ธด ํ์ง๋ง ์๊ฐ๋งํผ ์ง๋๊ฐ ๋น ๋ฅด๊ฒ ๋๊ฐ์ง์ง ์์ ์ ์ด ์์ฝ๋ค.
- ๋ํ ์๋ฌ๊ฐ ๋ฌ์๋ ๋ฐ๋ก ๋์ ์์ฒญ์ ํ์ง ์๊ณ ์ค์ค๋ก ๋๋ฒ๊น ํ๋ ์ต๊ด์ ๋ค์ด๋ ๊ฒ์ด ๋ฏธ๋์ ๋๋ฅผ ์ํด ์ข์ ๊ฒ ๊ฐ๋ค.
- ๊ทธ๋ผ์ด๋ ๋ฃฐ ์ ์ฉํ๊ธฐ
-
์ค์๊ฐ ์์ฌ์ํต
- FE : WebRTC ๋ถ๋ถ View ํ์ก๊ธฐ, ์ฌ์ฉ์๊ฐ ๋๊ฐ์ ๋ black screen ๋ฌธ์ ํด๊ฒฐ.(๊ณฝ๋ณ์ )
- BE : nginx์์ https ํต์ ๊ตฌํ, api์์ฑํ๊ธฐ
- ๊ณตํต : WebRTC, Chat๊ณผ ํฉ์น๊ธฐ(๊ณฝ๋ณ์ )
-
๊ณต๋ ๋ฌธ์ ํธ์ง
- webRTC, chat๊ณผ ํฉ์น๊ธฐ
-
๋ฌธ์ ๊ด๋ฆฌ
- ํ๊ณผ ํฉ์น๊ธฐ
- JWT์ ๋ํ ๊ณต๋ถ ๋ฐ secret key๋ก ์ธ์ฆ ๊ธฐ๋ฅ ๊ตฌํํ๊ธฐ
-
ํ ๋ฐ ํ์ ๊ด๋ฆฌ
- ec2 ์ฌ๋ฆฌ๊ธฐ
- client์ ํฉ์น๊ธฐ
-
์ธ์ฆ ๋ฐ ์ฌ์ฉ์ ๊ด๋ฆฌ
- google ๋ก๊ทธ์ธ ๊ตฌํ
- jwt ์ ์ฅ ํ client์๊ฒ cookie๋ก ์ ์ก
-
์ํฌ์คํ์ด์ค
-
๋ฌธ์ api ํฉ์น๊ธฐ
-
ํ api ํฉ์น๊ธฐ
-
์ค๊ฐ๋ฐํ ์ค๋น(๊ณฝ๋ณ์ )
- 6์ผ
- ์ด์ฐ์ฃผ @Joylish
- todo๋ฅผ ์ ๋ฐ์ ์ผ๋ก ์ญ์ฑ ์์ฑํ์๊ณ , todo๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฃผ์ฐจ๋ณ๋ก ๊ณํํ์ฌ ์งํํ๊ธฐ๋ก ํ์๋ค.(WBS ์ ๋ฐ์ดํธ ์๋ฃ)
-
๊ณฝ๋ณ์
-
WebRTC ์ํ๊ฒ
- Video on/off ๋ฒํผ ๊ธฐ๋ฅ ์์ฑ
- MIC on/off ๋ฒํผ ๊ธฐ๋ฅ ์์ฑ
- Chat๊ณผ WebRTC client ๋ถ๋ถ merge
- develop์ merge
-
๋ณด์ถฉํ ๊ฒ + ์์ฌ์ด ๊ฒ
- View ๊ตฌํํ๊ธฐ (CSS)
- ์ฌ์ฉ์๊ฐ ๋๊ฐ์ ๋ black screen ์ ์ง๋๋ ํ์ ์ ๊ฑฐํ๊ธฐ.
-
-
์ด์ฐ์ฃผ node.js + express๋ก ํ๊ต ์น์์คํ ์ค๊ณ ๋ ์ ์ํ๋ ๊ฒฝํ์ ์ด๋ ค ํ๊ด๋ฆฌ, ์ธ์ฆ์๋น์ค ๊ฐ๋ฐ์ ๋์ ํด๋ณด์๋ค.
-
์ํ ์
- express-team ํด๋ ๊ตฌ์กฐํ (routes/controller/middleware/service/models/utils) spring boot์ฒ๋ผ ํน์ ํจํด์ ๋ฐ๋ผ ํน์ ์ฌ์ฉ์ฑ์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ๋ถ๋ฆฌํ์ฌ ๊น๋ํ๊ฒ ์์ฑํด๋ณด๊ณ ์ถ์๋ค. ๊ทธ๋์ ์ฌ๋ฌ ์ฌ๋์ github๋ฅผ ํ๋ฐฉํ๋ ๊ฒ ๊ฐ๋ค.
- express-validator ์ ์ฉ controller์ ์๋ ๋น์ฆ๋์ค ๋ก์ง์ ์ฒ๋ฆฌํ๊ธฐ ์ ์ request ํ์์ด ์ณ์์ง ๋ฏธ๋ฆฌ ์ฒดํฌํ ์ ์์๊น๋ผ๋ ์๊ฐ์ ํ๋ค. schema์ ๋ํด ์ฒดํฌํ๋ joi ํจ์๋ ์๋ ๋ฐ ์๊ฐ๋๋ฉด ์ ์ฉํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
- wiki์ architecture ๊ณผ์ ๊ธฐ๋ก
์ด๋ฐ ์ํคํ
์ฒ๋ฅผ ์งํํ๊ณ ์ด๋ฅผ ๋ฐํ์ผ๋ก ์ ์ํ๋ ์ํคํ
์ฒ์ ๋ํด์
์๋ด๊ฐ ๊ทธ๋ ๊ฒ ์งํํ๋์ง์ ๋ํด์ ๋ณต๊ธฐํ๊ณ ์์ฑํ๋ค.
-
์์ฌ์ด ์
- express ๊ฐ๋ฐ์ ์์ง ์ต์์ง ์์ ํน์ ์ํฉ์ ํ์ํ ๋ชจ๋(์๋ฅผ ๋ค๋ฉด body-parser)์ ์ฐพ์ ์ฐ์ง ๋ชปํด ๊ฒ์ํ๋๋ผ ์๊ฐ์ด ๋ฆ์ด์ก๋ค.
- google plus๋ฅผ ๋ ์ด์ ์ง์ํ์ง ์๋ ๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค. ์ด๋ฒ ์ฃผ์ google ๋ก๊ทธ์ธ ๋ฐ jwt ๋ฐ๊ธํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ์ง๋ง ์์ฑํ์ง ๋ชปํ๋ค.
-
-
์ ์์
- ๊ธฐ๋ณธ์ ์ธ CRUD์์ ํ๋์ฉ ๊ธฐ๋ฅ์ ๋ถ์ฌ๋๊ฐ๊ณ ์์ฑ์ด ๋์๋ค.
- ํ ์คํธ ์ฝ๋๋ฅผ ์ฐ๋ฉด ๋จ์ํ ๋จ์ํ ์คํธ์๋ง ์ข์ ๊ฒ์ด ์๋๊ณ ๋์ค์ CI๋ฅผ ํ ๋ ํ์ํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค.
- ๊ตฌ๊ธ๋ง ํ๋ฉด ์๋ฃ์ ์์๊ฐ ๋ง์ง๋ง, ๋ด ์ํฉ๊ณผ ์์ฃผ ๋๊ฐ์ ๊ฒ์ ์๊ธฐ ๋๋ฌธ์ ์ ์กฐํฉํ๊ณ ๊ธฐ๋ณธ ๊ฐ๋ ์ ์ตํ๋ ๊ฒ์ ์ค์์ฑ์ ๋๊ผ๋ค.
-
์กฐ์ฑ์
- ๋ณ์ ์ดํ๊ณผ ์ง ํ๋ก๊ทธ๋๋ฐ์ ํด์ webRTC์ ๋ง์ดํฌ, ๋น๋์ค on/off๋ฅผ ๊ตฌํํ๋ค.
- yjs๋ฅผ ์ด์ฉํ ํ์ ์ ์ดํด๋ดค๋๋ฐ cattaz ๋ผ๋ ์ฌ์ดํธ๊ฐ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๊ธฐ๋ฅ๋ค์ ๊ตฌํํด๋์์ ์ฝ๋๋ฅผ ๋ถ์ ๋ฐ ์ ์ฉํ๊ณ ์๋ค.
-
ํํ๋ฆฐ
- ec2์์ https๊ฐ ํต์ ๊ตฌํ์ ์ฑ๊ณตํ๋ค. ์์ฒญ ๊ฐ๋จํ ๋ฌธ์ ์๋๋ฐ ๋ด๊ฐ ๋๋ฌด ๋ณต์กํ๊ฒ ์๊ฐํ๊ณ ์์๋ค. ec2์์๋ง ํฌํธ๋ฅผ ์ด์ด์ฃผ๋ฉด ๋๋ค๊ณ ์๊ฐํ๋๋ฐ nginx์์๋ ํฌํธ๋ฅผ ์ด์ด์ค์ผํ๋ค.
- ๋ด๊ฐ ๋งก์ ๋ถ๋ถ์ ๊ธฐ๋ฅ๊ตฌํ ๋ฐ ํต์ ์ ์ด์ ์์ ํ ๋๋ฌ๋ค. ์ผ๋ฅธ ๋ฐฐํฌ๋ฅผ ๋งก์ ๋์ปค์ ์ฟ ๋ฒ๋คํฐ์ค๊น์ง ๋ง๋ฌด๋ฆฌํด์ผ๊ฒ ๋ค.
-
๊ณฝ๋ณ์
- WebRTC ๋ถ๋ถ์ด ๊ฑฐ์ ์์ฑ ์ง์ ์ด๊ธด ํ์ง๋ง ๋ฐฉ์ฌํ๋ฉด ์๋๋ค. ์ธ์ ์ด๋์ ๋๋ฒ๊น ์ ํด์ผํ ์ง ๋ชจ๋ฅธ๋ค. ๊ทธ๋๋ ๊ธ์ ์ ์ธ ๋ง์ธ๋๋ก, ํ ์ ์๋ค๋ ์๊ฐ์ผ๋ก ์งํํด์ผํ๋ค.
-
์ด์ฐ์ฃผ
- ํด๋ฆฐ ์ฝ๋์ ๋์์ธ ํจํด์ ๊ด์ฌ์ด ์์๋๋ฐ ์ด๋ฅผ ๊ฐ๋ฐํ๋ฉด์ ์ ์ฉํด๋ณด๋ ค๊ณ ์ฌ๊ธฐ์ ๊ธฐ ์ฐพ์๋ดค๋ค. ํผ์์ ์ฐพ์๋ณด๊ณ ์ ์ฉํ๋๋ผ ์ด๊ฒ ๋ง๋ ์ถ๊ธฐ๋ ํ์ง๋ง ์ฃผ๊ด์ ๊ฐ์ง๊ณ ํ์ผ์ ๊ตฌ์กฐํํด๋ณด์๋ค.
-
์ ์์
- ํ์ธ์๊ฒ ์ง๋ฌธํ๊ธฐ ์ ์ ์ค์ค๋ก ์์๋ณด๋ฉฐ ๋ฐฐ์๊ฐ๋ ์ถํ ์ง๋ฌธํ ๋๋ ์ป๋ ๊ฒ์ด ๋ง์๋ค. ์์ผ๋ก ์ฌ๋ฌ ์๋ฃ๋ฅผ ๋ณด๋๋ฐ ๋๋ ค์ํ์ง๋ง์.
-
์กฐ์ฑ์
- cattaz์ ํด๋์คํ ์ปดํฌ๋ํธ๋ค์ ํจ์ํ์ผ๋ก ๋ฐ๊ฟ๊ฐ๋ฉฐ ์ฐ๋ฆฌ ํ๋ก์ ํธ์ ์ ์ฉํ๊ณ ์๋ค. ์กฐ๊ธ๋ง ์๊ฐํฌ์๋ฅผ ํ๋ฉด ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๊ธฐ๋ฅ์ ๊ฐ์ ธ์ฌ ์ ์์ ๊ฒ ๊ฐ๋ค.
-
ํํ๋ฆฐ
- ํผ์ ๋ง์ด ์ฝ์งํด๋ณธ ๊ฒฝํ์ด ๋์์ด ๋์๋ค. ๋๋ถ์ ์ค๋ช ์ ๋ค์ด๋ ๋ฐ๋ก ์์๋ค์ ์ ์์๋ค.
- ec2 - docker - k8s - CI์๋ํ ์ด๋ ๊ฒ ์ฐจ๊ทผ์ฐจ๊ทผ ํด์ผ๊ฒ ๋ค๊ณ ๋ง์๋จน์๋ ๋ถ๋ถ์ด ์ํ๊ฒ ๊ฐ๋ค. ๋ง์ฝ์ ์ค๊ฐ์ ๋งํ๋ฉด ๋๋์๊ฐ ๋จ๊ณ๋ฅผ ์ฐจ๊ทผ์ฐจ๊ทผ ๋ฐ์๊ธฐ ๋๋ฌธ์ด๋ค.
-
๊ณฝ๋ณ์
- ์ข ๋ ์ฒด๊ณ์ ์ผ๋ก CSS๋ฅผ ๋น ๋ฅธ ์์ผ๋ด์ ๊ตฌํํ์ผ๋ฉด ํ๋ ์์ฌ์์ด ๋จ๋๋ค. ํด๋ก ์ฝ๋ฉ์ด์ฌ๋ ๋ด ์ ๋ง์ ๋ง๊ฒ ๊ตฌํ ํ๋๊ฒ์ด ์ฝ์ง ์๋ค๋๊ฑธ ๊นจ๋ฌ์๋ค.
- ์ฌ๋ฌ ๊ฐ์ง ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๊ฒ๋ ์ข์ง๋ง ํ์ฌ ํ๊ฒฝ์์ ์ ๋์ํ๋ ๊ฒ์ ํ์ธํ๋ ๊ฒ๋ ์ค์ํ๋ค. ์์ผ๋ก ์ด๋ค ์ค๋ฅ๊ฐ ํ์ด๋์ฌ์ง ๋ชจ๋ฅด๋ ๋ฐฉ์ฌ์ ํ๋ฉด ์๋๋ค.
-
์ด์ฐ์ฃผ
- google plus๋ฅผ ์ง์์ํ๋ค๋ ๊ฑธ ์ด๋ฒ์ฃผ ๊ฑฐ์ ๋์ ๋ฆ๊ฒ ์์๋ค. ๋์ฒด๋ ๋ชจ๋๋ก ๋นจ๋ฆฌ ํ๋ก์ ํธ์ ์ ์ฉํ ์ ์๋๋ก ํด์ผ๊ฒ ๋ค.
- javascript ๊ธฐ์ด ์ง์์ ๋ ํํํ ํด์ ๊ฐ๋ฐํ ๋ ์ฐพ์๋ณด๋ ์ผ์ ๋ ์ค์ฌ์ผ ๊ฒ ๋ค.
- ์์ฆ ๋ค์ด ์ฒด๋ ฅ์ด ๋ฐฉ์ ๋๋์ง ๋ฆ๊ฒ ์ผ์ด๋๊ฒ ๋๋ค. ์๊ฐ์ ๋ ์์คํ ์ฌ๊ฒจ์ผ๊ฒ ๋ค.
-
์ ์์
- ์๋ฃ๋ง ๋ง์ด ์ฐพ์๋๊ณ ๊ทธ ์๋ฃ๋ฅผ ์ํํ๋ ์๊ฐ์ด ์ค๋๊ฑธ๋ ธ๋ค. ๋์ฑ ์ฑ์คํด์ง์.
- ๊ธฐ๋ฅ์ ๋ถ์ผ ์๋ก ๋ญ๊ฐ ์ฝ๋๊ฐ ์ข ์ง์ ๋ถํด๋ณด์ด๋ ๊ฒ ๊ฐ์ ์์ฝ๋ค. ์ผ๋จ ๊ธฐ๋ฅ์ ๋ง๋ค์ด ๋๊ณ ๋์ค์ refactoring์ ๊ผญ ํด์ผ๊ฒ ๋ค.
-
์กฐ์ฑ์
- yjs ๊ด๋ จํด์ yjs๋ฅผ ์ฌ์ฉํ ํ๋ก์ ํธ๋ค์ด ์ด๋ป๊ฒ yjs๋ฅผ ์ด์ฉํ๋์ง ์ผ์ฐ ์ฐพ์๋ดค์ด์ผ ํ๋๋ฐ ์ด ๋ถ๋ถ์ด ์ข ์์ฝ๋ค.
-
ํํ๋ฆฐ
- ํ์ฐธ ํค๋ฉจ๋ ์ค๋ฅ๊ฐ ์ฌ์ค nginx์ ๋ํ ์ดํด๊ฐ ๋ถ์กฑํด์ ์๊ธด ๊ฒฐ๊ณผ์๋ค. ์๋ ํ๊ณ ์๋ nginx ๋ฒ์ญ์ ๋ง์ณ์ ํ์ธต ๋ ๋์์ง ์ดํด๋๋ก ํ๋ก์ ํธ์ ์ ๊ทผํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
- WBS์ jira ๋ง์ถฐ ์ ๋ฐ์ดํธ ํ ๊ฒ
-
์ค์๊ฐ ์์ฌ์ํต
- FE : WebRTC ๋ถ๋ถ View ํ์ก๊ธฐ, ์ฌ์ฉ์๊ฐ ๋๊ฐ์ ๋ black screen ๋ฌธ์ ํด๊ฒฐ.(๊ณฝ๋ณ์ )
- BE : nginx์์ https ํต์ ๊ตฌํ, api์์ฑํ๊ธฐ
- ๊ณตํต : WebRTC, Chat๊ณผ ํฉ์น๊ธฐ(๊ณฝ๋ณ์ )
-
๊ณต๋ ๋ฌธ์ ํธ์ง
- webRTC, chat๊ณผ ํฉ์น๊ธฐ
-
๋ฌธ์ ๊ด๋ฆฌ
- ํ๊ณผ ํฉ์น๊ธฐ
- JWT์ ๋ํ ๊ณต๋ถ ๋ฐ secret key๋ก ์ธ์ฆ ๊ธฐ๋ฅ ๊ตฌํํ๊ธฐ
-
ํ ๋ฐ ํ์ ๊ด๋ฆฌ
- ec2 ์ฌ๋ฆฌ๊ธฐ
- client์ ํฉ์น๊ธฐ
-
์ธ์ฆ ๋ฐ ์ฌ์ฉ์ ๊ด๋ฆฌ
- google ๋ก๊ทธ์ธ ๊ตฌํ
- jwt ์ ์ฅ ํ client์๊ฒ cookie๋ก ์ ์ก
-
์ํฌ์คํ์ด์ค
-
๋ฌธ์ api ํฉ์น๊ธฐ
-
ํ api ํฉ์น๊ธฐ
-
MSA
- ec2๊ฐ ํต์ ๋ฐ ์ค์ผ์ผ๋ง ์ ์ฉํ๊ธฐ
- DB๋ถ๋ฆฌ ๋ฐ EBS์ฐ๊ฒฐํ๊ธฐ
- docker, docker compose ์ ์ฉํ๊ธฐ
- ํ ์คํ ๊ณต๋ถํ๊ธฐ
-
์ค๊ฐ๋ฐํ ์ค๋น(๊ณฝ๋ณ์ )
- 6์ผ
- ์ด์ฐ์ฃผ @Joylish
- todo๋ฅผ ์ ๋ฐ์ ์ผ๋ก ์ญ์ฑ ์์ฑํ์๊ณ , todo๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฃผ์ฐจ๋ณ๋ก ๊ณํํ์ฌ ์งํํ๊ธฐ๋ก ํ์๋ค.(WBS ์ ๋ฐ์ดํธ ์๋ฃ)
-
๊ณฝ๋ณ์
-
WebRTC ์ํ๊ฒ
- Video on/off ๋ฒํผ ๊ธฐ๋ฅ ์์ฑ
- MIC on/off ๋ฒํผ ๊ธฐ๋ฅ ์์ฑ
- Chat๊ณผ WebRTC client ๋ถ๋ถ merge
- develop์ merge
-
๋ณด์ถฉํ ๊ฒ + ์์ฌ์ด ๊ฒ
- View ๊ตฌํํ๊ธฐ (CSS)
- ์ฌ์ฉ์๊ฐ ๋๊ฐ์ ๋ black screen ์ ์ง๋๋ ํ์ ์ ๊ฑฐํ๊ธฐ.
-
-
์ด์ฐ์ฃผ node.js + express๋ก ํ๊ต ์น์์คํ ์ค๊ณ ๋ ์ ์ํ๋ ๊ฒฝํ์ ์ด๋ ค ํ๊ด๋ฆฌ, ์ธ์ฆ์๋น์ค ๊ฐ๋ฐ์ ๋์ ํด๋ณด์๋ค.
-
์ํ ์
- express-team ํด๋ ๊ตฌ์กฐํ (routes/controller/middleware/service/models/utils) spring boot์ฒ๋ผ ํน์ ํจํด์ ๋ฐ๋ผ ํน์ ์ฌ์ฉ์ฑ์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ๋ถ๋ฆฌํ์ฌ ๊น๋ํ๊ฒ ์์ฑํด๋ณด๊ณ ์ถ์๋ค. ๊ทธ๋์ ์ฌ๋ฌ ์ฌ๋์ github๋ฅผ ํ๋ฐฉํ๋ ๊ฒ ๊ฐ๋ค.
- express-validator ์ ์ฉ controller์ ์๋ ๋น์ฆ๋์ค ๋ก์ง์ ์ฒ๋ฆฌํ๊ธฐ ์ ์ request ํ์์ด ์ณ์์ง ๋ฏธ๋ฆฌ ์ฒดํฌํ ์ ์์๊น๋ผ๋ ์๊ฐ์ ํ๋ค. schema์ ๋ํด ์ฒดํฌํ๋ joi ํจ์๋ ์๋ ๋ฐ ์๊ฐ๋๋ฉด ์ ์ฉํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
- wiki์ architecture ๊ณผ์ ๊ธฐ๋ก
์ด๋ฐ ์ํคํ
์ฒ๋ฅผ ์งํํ๊ณ ์ด๋ฅผ ๋ฐํ์ผ๋ก ์ ์ํ๋ ์ํคํ
์ฒ์ ๋ํด์
์๋ด๊ฐ ๊ทธ๋ ๊ฒ ์งํํ๋์ง์ ๋ํด์ ๋ณต๊ธฐํ๊ณ ์์ฑํ๋ค.
-
์์ฌ์ด ์
- express ๊ฐ๋ฐ์ ์์ง ์ต์์ง ์์ ํน์ ์ํฉ์ ํ์ํ ๋ชจ๋(์๋ฅผ ๋ค๋ฉด body-parser)์ ์ฐพ์ ์ฐ์ง ๋ชปํด ๊ฒ์ํ๋๋ผ ์๊ฐ์ด ๋ฆ์ด์ก๋ค.
- google plus๋ฅผ ๋ ์ด์ ์ง์ํ์ง ์๋ ๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค. ์ด๋ฒ ์ฃผ์ google ๋ก๊ทธ์ธ ๋ฐ jwt ๋ฐ๊ธํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ์ง๋ง ์์ฑํ์ง ๋ชปํ๋ค.
-
-
์ ์์
- ๊ธฐ๋ณธ์ ์ธ CRUD์์ ํ๋์ฉ ๊ธฐ๋ฅ์ ๋ถ์ฌ๋๊ฐ๊ณ ์์ฑ์ด ๋์๋ค.
- ํ ์คํธ ์ฝ๋๋ฅผ ์ฐ๋ฉด ๋จ์ํ ๋จ์ํ ์คํธ์๋ง ์ข์ ๊ฒ์ด ์๋๊ณ ๋์ค์ CI๋ฅผ ํ ๋ ํ์ํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค.
- ๊ตฌ๊ธ๋ง ํ๋ฉด ์๋ฃ์ ์์๊ฐ ๋ง์ง๋ง, ๋ด ์ํฉ๊ณผ ์์ฃผ ๋๊ฐ์ ๊ฒ์ ์๊ธฐ ๋๋ฌธ์ ์ ์กฐํฉํ๊ณ ๊ธฐ๋ณธ ๊ฐ๋ ์ ์ตํ๋ ๊ฒ์ ์ค์์ฑ์ ๋๊ผ๋ค.
-
์กฐ์ฑ์
- ๋ณ์ ์ดํ๊ณผ ์ง ํ๋ก๊ทธ๋๋ฐ์ ํด์ webRTC์ ๋ง์ดํฌ, ๋น๋์ค on/off๋ฅผ ๊ตฌํํ๋ค.
- yjs๋ฅผ ์ด์ฉํ ํ์ ์ ์ดํด๋ดค๋๋ฐ cattaz ๋ผ๋ ์ฌ์ดํธ๊ฐ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๊ธฐ๋ฅ๋ค์ ๊ตฌํํด๋์์ ์ฝ๋๋ฅผ ๋ถ์ ๋ฐ ์ ์ฉํ๊ณ ์๋ค.
-
ํํ๋ฆฐ
- ec2์์ ์ฟ ๋ฒ๋คํฐ์ค๋ก ๋์ด๊ฐ๋ฉด์ ๋์ปค์ ๋ํ ์ดํด๊ฐ ๋ถ์กฑํด ๋์ปค๊ฐ๋ ์ ๋ ๊ณต๋ถํ๋ค.
- ec2๋ก MSAํ๊ฒฝ์ ๋ง๋ค์๋๊ฒ์ ์ ๊ณต๋ฐ์ ์๋ฒ์ ์ฎ๊ธฐ๋ฉด์ ๋์ปค ์ด๋ฏธ์ง์ ์ค์์ฑ์ ๊นจ๋ซ๊ฒ ๋์๋ค.
-
๊ณฝ๋ณ์
- WebRTC ๋ถ๋ถ์ด ๊ฑฐ์ ์์ฑ ์ง์ ์ด๊ธด ํ์ง๋ง ๋ฐฉ์ฌํ๋ฉด ์๋๋ค. ์ธ์ ์ด๋์ ๋๋ฒ๊น ์ ํด์ผํ ์ง ๋ชจ๋ฅธ๋ค. ๊ทธ๋๋ ๊ธ์ ์ ์ธ ๋ง์ธ๋๋ก, ํ ์ ์๋ค๋ ์๊ฐ์ผ๋ก ์งํํด์ผํ๋ค.
-
์ด์ฐ์ฃผ
- ํด๋ฆฐ ์ฝ๋์ ๋์์ธ ํจํด์ ๊ด์ฌ์ด ์์๋๋ฐ ์ด๋ฅผ ๊ฐ๋ฐํ๋ฉด์ ์ ์ฉํด๋ณด๋ ค๊ณ ์ฌ๊ธฐ์ ๊ธฐ ์ฐพ์๋ดค๋ค. ํผ์์ ์ฐพ์๋ณด๊ณ ์ ์ฉํ๋๋ผ ์ด๊ฒ ๋ง๋ ์ถ๊ธฐ๋ ํ์ง๋ง ์ฃผ๊ด์ ๊ฐ์ง๊ณ ํ์ผ์ ๊ตฌ์กฐํํด๋ณด์๋ค.
-
์ ์์
- ํ์ธ์๊ฒ ์ง๋ฌธํ๊ธฐ ์ ์ ์ค์ค๋ก ์์๋ณด๋ฉฐ ๋ฐฐ์๊ฐ๋ ์ถํ ์ง๋ฌธํ ๋๋ ์ป๋ ๊ฒ์ด ๋ง์๋ค. ์์ผ๋ก ์ฌ๋ฌ ์๋ฃ๋ฅผ ๋ณด๋๋ฐ ๋๋ ค์ํ์ง๋ง์.
-
์กฐ์ฑ์
- cattaz์ ํด๋์คํ ์ปดํฌ๋ํธ๋ค์ ํจ์ํ์ผ๋ก ๋ฐ๊ฟ๊ฐ๋ฉฐ ์ฐ๋ฆฌ ํ๋ก์ ํธ์ ์ ์ฉํ๊ณ ์๋ค. ์กฐ๊ธ๋ง ์๊ฐํฌ์๋ฅผ ํ๋ฉด ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๊ธฐ๋ฅ์ ๊ฐ์ ธ์ฌ ์ ์์ ๊ฒ ๊ฐ๋ค.
-
ํํ๋ฆฐ
- ec2๋ก ๊ตฌํํ์๋์ ํ๊ฒฝ์ ๋ฌธ์๋ก ์ ์ ๋ฆฌํด๋์์ ๊ฐ์ ํ๊ฒฝ์ ๋ค์ ์กฐ์ฑํ ๋ ํจ์ฌ ์์ํ๋ค. ์ฌ๊ธฐ์ ๋ ๋์๊ฐ ami๋ก ์ ์ฅํด๋์ผ๋ฉด ๋ ์ข์๊ฒ ๊ฐ๋ค.
- ์๊ธด ํ์ง๋ง ๋์ปค๋ฅผ ๋ฏธ๋ฆฌ ์กฐ๊ธ ๊ณต๋ถํ ๋์ ๊ฐ์ธํธ ๋ฉํ ๋์ ๊ฐ์๋ฅผ ๋ค์์๋ ์ดํด๊ฐ ์๋ฒฝํ ๋๊ณ ์ง์์ด ์ ๋ฆฌ๋๋๊ฒ์ด ๋๊ปด์ก๋ค. ์ดํด๊ฐ ๊ฐ์ง ์๋๋ค๊ณ ํ๋ถ๋ถ์์ ๋ฉ์ถ๋๊ฒ ์๋๋ผ ๋ฐ๋ณต์ ์ผ๋ก ํ์ตํ๋๊ฒ์ด ์ค์ํ๋ค๊ณ ๋๊ผ๋ค. ์์ผ๋ก๋ ์ด๋ ต๋ค๊ณ ๋ฉ์ถ์ง ๋ง๊ณ ์ผ๋จ ์์ผ๋ก ๋์๊ฐ๋ด์ผ๊ฒ ๋ค.
-
๊ณฝ๋ณ์
- ์ข ๋ ์ฒด๊ณ์ ์ผ๋ก CSS๋ฅผ ๋น ๋ฅธ ์์ผ๋ด์ ๊ตฌํํ์ผ๋ฉด ํ๋ ์์ฌ์์ด ๋จ๋๋ค. ํด๋ก ์ฝ๋ฉ์ด์ฌ๋ ๋ด ์ ๋ง์ ๋ง๊ฒ ๊ตฌํ ํ๋๊ฒ์ด ์ฝ์ง ์๋ค๋๊ฑธ ๊นจ๋ฌ์๋ค.
- ์ฌ๋ฌ ๊ฐ์ง ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๊ฒ๋ ์ข์ง๋ง ํ์ฌ ํ๊ฒฝ์์ ์ ๋์ํ๋ ๊ฒ์ ํ์ธํ๋ ๊ฒ๋ ์ค์ํ๋ค. ์์ผ๋ก ์ด๋ค ์ค๋ฅ๊ฐ ํ์ด๋์ฌ์ง ๋ชจ๋ฅด๋ ๋ฐฉ์ฌ์ ํ๋ฉด ์๋๋ค.
-
์ด์ฐ์ฃผ
- google plus๋ฅผ ์ง์์ํ๋ค๋ ๊ฑธ ์ด๋ฒ์ฃผ ๊ฑฐ์ ๋์ ๋ฆ๊ฒ ์์๋ค. ๋์ฒด๋ ๋ชจ๋๋ก ๋นจ๋ฆฌ ํ๋ก์ ํธ์ ์ ์ฉํ ์ ์๋๋ก ํด์ผ๊ฒ ๋ค.
- javascript ๊ธฐ์ด ์ง์์ ๋ ํํํ ํด์ ๊ฐ๋ฐํ ๋ ์ฐพ์๋ณด๋ ์ผ์ ๋ ์ค์ฌ์ผ ๊ฒ ๋ค.
- ์์ฆ ๋ค์ด ์ฒด๋ ฅ์ด ๋ฐฉ์ ๋๋์ง ๋ฆ๊ฒ ์ผ์ด๋๊ฒ ๋๋ค. ์๊ฐ์ ๋ ์์คํ ์ฌ๊ฒจ์ผ๊ฒ ๋ค.
-
์ ์์
- ์๋ฃ๋ง ๋ง์ด ์ฐพ์๋๊ณ ๊ทธ ์๋ฃ๋ฅผ ์ํํ๋ ์๊ฐ์ด ์ค๋๊ฑธ๋ ธ๋ค. ๋์ฑ ์ฑ์คํด์ง์.
- ๊ธฐ๋ฅ์ ๋ถ์ผ ์๋ก ๋ญ๊ฐ ์ฝ๋๊ฐ ์ข ์ง์ ๋ถํด๋ณด์ด๋ ๊ฒ ๊ฐ์ ์์ฝ๋ค. ์ผ๋จ ๊ธฐ๋ฅ์ ๋ง๋ค์ด ๋๊ณ ๋์ค์ refactoring์ ๊ผญ ํด์ผ๊ฒ ๋ค.
-
์กฐ์ฑ์
- yjs ๊ด๋ จํด์ yjs๋ฅผ ์ฌ์ฉํ ํ๋ก์ ํธ๋ค์ด ์ด๋ป๊ฒ yjs๋ฅผ ์ด์ฉํ๋์ง ์ผ์ฐ ์ฐพ์๋ดค์ด์ผ ํ๋๋ฐ ์ด ๋ถ๋ถ์ด ์ข ์์ฝ๋ค.
-
ํํ๋ฆฐ
- ec2 -> k8s๋ก ์ค๊ฐ ๋จ๊ณ ์์ด ๋์ด๊ฐ๋๊น ๋กค๋ฐฑํ์ ๋ ๋๋์ ์ฌ ํ๊ฒฝ์ ๊ฐญ์ด ๋๋ฌด ์ปธ๋ค. ๋ํ ๊ฐ์๊ธฐ ๋์ด๋๊ฐ ๋์์ ธ์ ๋ฐฐ์ฐ๋ ์๋๋ ๋๋ ๋ค. ๊ฐ์ธํธ ๋ฉํ ๋์ ์กฐ์ธ๋๋ก ec2์์ ami๋ก ์ค์ผ์ผ๋ง์ ๊ตฌ์ฑ ํ ๋ค ์ปดํฌ์ฆ, k8s๊น์ง ์ ์ฉํ๋๊ฒ์ด ์ข์ ๊ฒ ๊ฐ๋ค.
- ๋ํ ec2๋ก ๊ตฌ์ฑํ ์ํคํ ์ฒ๋ ๋์์ง ์์ผ๋ฉฐ ์คํ๋ ค ํ ์คํ ์ ํตํด ์์ฑ๋๋ฅผ ๋์ด๋ ๊ฒ์ด ์ข์๊ฒ ๊ฐ๋ค๋ ํผ๋๋ฐฑ์ด ์ธ์๊น์๋ค. ํ ์คํ ์ ์ค์ํ๊ฒ ์๊ฐํ์ง ์์๋๋ฐ ์ถฉ๋ถํ ์๊ฐ์ ํฌ์ํด์ ๋์ ํด๋ณด๋๊ฒ์ด ์ข์ ๊ฒ ๊ฐ๋ค.
- WBS์ jira ๋ง์ถฐ ์ ๋ฐ์ดํธ ํ ๊ฒ
- ์์ ๋ 1์ฐจ ์ํคํ ์ฒ์ ๋ฐ๋ผ ec2 ์ธ์คํด์ค ์ฐ๋
- Editor page, Main page, Workspace page View ๊ตฌํ
- yjs์ DB ์ฐ๋
- CI tool ์ ์ฉ
- 6์ผ
- ์ ์์ @soyoung-Jung
- ์๋ฒ ec2 ์ธ์คํด์ค๊ฐ ์ฐ๋
- ํ์๋ฒ์ ๋ฌธ์๊ด๋ฆฌ ์๋ฒ ์ฐ๋
- ์๋ํฐ์๋ฒ
- SSL์ ๋ํด ๊ตฌ์ฒด์ ์ผ๋ก ์์๋ณด๊ณ ์ฒ๋ฆฌํ๊ธฐ(๋ชจ๋ ์๋ฒ์ ssl์ ๋ฌ์์ผํ๋์ง ์๋์ง ๋ฑ๋ฑ)
- DB ec2 ์ธ์คํด์ค์ EBS ์ฐ๋ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ดํ๊ธฐ
- ํ ์คํ ์ ๋ํด์ ๊ณต๋ถํ๊ธฐ(ํ๋ฆฐ)
- ๊ฐ ์๋ฒ์์ JWT ๊ฒ์ฆํ๊ธฐ
-
๊ณฝ๋ณ์
- ec2์ ๊ฐ๊ฐ์ ์๋ฒ๋ฅผ ์ฌ๋ ค์ ์ค๊ฐ๋ฐํ ์ ๊น์ง ๋ก์ปฌ๋ก ์์ฐํ๋ ๊ฒ์ด ์๋ ๋ฐฐํฌ๋ฅผ ํตํด ์์ฐ์ ๋ณด์ฌ์ฃผ๊ณ ์ ํ์์ง๋ง ์์์น๋ชปํ Yjs๋ถ๋ถ์ SSL ์ค๋ฅ๋ก ์ค๊ฐ๋ฐํ ์์ฐ์ ๋ก์ปฌ๋ก ์งํํ์๋ค. ์์ฌ์ด ๋ถ๋ถ์ด ์์ง ์์ ์์ง๋ง ๊ทธ๋๋ ๋ก์ปฌ์์ ์ ๋์ํ๋ ๋ชจ์ต์ ์ ์์ฐํ ์ ์์ด์ ๋๋ฆ ๊ด์ฐฎ์๋ค. ์ด์ ๋ ํ๋ฃจ ๋นจ๋ฆฌ ๋ทฐ๋ฅผ ๋ค ์์ฑ์์ผ์ ์ด๋ ์ ๋ ํ๋ก์ ํธ์ ์์ฑ๋๋ฅผ ๋์ด๋ ๊ฒ์ด ๋ชฉํ๋ค. ํ์ดํ !
-
์ ์์
- ์ผ์ฃผ์ผ์ wrap-up ๋ด์ฉ์ ๋ณด๋ ํฌ๊ฒ๋ exception handling๊ณผ test code๋ฅผ ์ง๊ณ CI์ ๊ฐ๋ ์ ๋ํด ๋ง๋ง ๋ณธ ๊ฒ ๊ฐ๋ค. ๋ด๊ฐ ๋งก์ ๋ถ๋ถ์ ๊ฒฐ๊ตญ ๋ฌธ์๊ด๋ฆฌ ๋ถ๋ถ์ผ๋ก ํ์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ทธ๊ฒ์ ๊ณ์ ์ด์ ๋ถ์ฌ๋๊ฐ๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ๊ณ ์๋๋ฐ, ๊ทธ ๊ณผ์ ์์ ํ๋์ฉ์ด๋ผ๋ ๋ฐฐ์๊ฐ๊ณ ์์ด ๋๋ฆ์ ์ฆ๊ฑฐ์์ด ์์๋ค.
- ํ์ง๋ง ๋๋ฌด ๋ด ์ฝ๋๋ง ๋ณด๊ณ ๋ค๋ฅธ ์ฌ๋๋ค์ด ํ ๋ถ๋ถ์ ๋ํ ์ดํด์ ์ํคํ ์ฒ์ ๋ํ ์ดํด๊ฐ ์ ์ ๊ฒ ๊ฐ์ ์์ฝ๋ค. ์คํ๋ฆฐํธ ํ๊ณ ์ ๋ฉํ ๋ง ์๊ฐ ๋ ๋ค๋ฅธ ์ฌ๋๋ค์ ์์ ๋ด์ฉ๊ณผ ๋ฌธ์ ์ฌํญ์ ์ ์ ์์ด ์ข์๋ค.
-
์กฐ์ฑ์
- ์ฌํ๊น์ง vscode์ live share ์ต์คํ ์ ์ ์ด์ฉํ์ฌ ๋ก์ปฌํ๊ฒฝ์์ ํ ์คํธ๋ฅผ ์งํํ์๊ณ ์ค๊ฐ ๋ฐํ ์ ๋ ์ค์ ์ด์ ํ๊ฒฝ์์ ํ ์คํธ๋ฅผ ์งํํด๋ดค๋๋ฐ ์ ๋์ง ์์๋ค. ์์ธ์ ssl ์ฒ๋ฆฌ๋ก ํ์ฌ ์ด๋ป๊ฒ ssl์ ์ฒ๋ฆฌํด์ผํ๊ณ ๋์์ด ๋๋์ง ๊ฐ๋ ์ด ์กํ์์ง์๋ค. ssl์ ๊ดํด์ ํ์คํ๊ฒ ์ดํด๋ฅผ ํด์ผ LiveMD๋ฅผ ์ด์ํ๊ฒฝ์์ ๋ฐฐํฌํ ์ ์์ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฉํ ๋ง ํผ๋๋ฐฑ์ ๋ฐ๋ผ ์ฐ์ ์ฟ ๋ฒ๋คํฐ์ค ํ๊ฒฝ์ ์ ์ณ๋๊ณ ec2 ํ๊ฒฝ์์ ์ด์์ด ๋๋ ๊ฒ์ 1์์๋ก ์ก๊ณ ํด์ผํ ๊ฑฐ ๊ฐ๋ค.
-
๊ณฝ๋ณ์
- Editor page์ ์์ฑ๋๊ฐ ์ด๋ ์ ๋ ๋์์ ๋คํ์ด๋ผ๊ณ ์๊ฐํ๋ค. ์์ง ๋ฏธํกํ ๋ถ๋ถ์ด ์กฐ๊ธ ์์ง๋ง ๊ธ๋ฐฉ ๋ณด์ํ๊ณ CSS๋ฅผ ๋ ์ถ๊ฐ์ ์ผ๋ก ์์ ํ์ฌ์ ์์ฑ๋๋ฅผ ๋์ฌ์ผ ํ๋ค.
-
์ ์์
- ํ๋ค๊ฐ ๋งํ์ ์๋ฃ๋ฅผ ๋ง์ด ์ฐพ์ ๋ค ๊ฐ์ฌ๋๊ป ์ฌ์ญค๋ณด์์ ๋ ๊ทธ์ ์ฌ์ญค๋ดค์ ๋ ์ป๋ ๋ต๋ณ๋ณด๋ค ํจ์ฌ ์์ง์ ๋ต๋ณ์ ๋ฐ์ ์ ์์๊ณ ์ค๋ฅ๋ฅผ ๋น ๋ฅด๊ฒ ํด๊ฒฐํ ์ ์์๋ค.
-
์กฐ์ฑ์
- ์ฒ์์ผ๋ก editor ๊ธฐ๋ฅ๊ณผ webRTC ๊ธฐ๋ฅ์ ํฉ์ณ์ ํ ํ์ด์ง์์ ๋ณด์ฌ์คฌ๋๋ฐ ๋ฏธํกํ์ง๋ง ์ ๋์ํด์ ์ข์๋ค. ํฉ์น ๊ฒ์ ๋ฐํ์ผ๋ก ์ ์ ๋ฐ์ ์์ผ๋๊ฐ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
-
ํํ๋ฆฐ
-
๊ณฝ๋ณ์
- ec2์ ์๋ฒ๋ฅผ ์ข ๋ ์ผ์ฐ ๋ฐฐํฌํ์ฌ ์ค๊ฐ๋ฐํ ์์ฐ ์ค๋น๋ฅผ ๋ฏธ๋ฆฌ ๋ชปํ๊ฒ ์์ฝ๊ธด ํ์ง๋ง ๊ทธ๋๋ ์ด๋ ๊ฒ์ด ๋ฌธ์ ์ธ์ง ์ ํํ ํ์ ํ ์ ์์๊ณ ๋ณด์ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ง ์์์ ๋คํ์ด๋ค.
-
-
์ ์์
- ์ค์ง์ ์ธ ๊ฐ๋ฐ์ ๊ฑฐ์ ์งํ์ ๋ชปํ ๊ฒ ๊ฐ์ ์์ฝ๋ค.๋ํ ํ๋๋ฅผ ์์ฑํ ๋ ์๋๊ฐ ๋๋ฌด ๋๋ ธ๋ค. ํ์ง๋ง ์ด์ CI์ชฝ์ ๋ด๋นํ๊ธฐ ๋๋ฌธ์ ์ฑ ์๊ฐ์ ๊ฐ๊ณ ์์ํ์!
- ํ๋ค๊ฐ ๋งํ๊ณ ํด๊ฒฐํ ๊ณผ์ ๋ค์ ๊ธฐ๋กํ์ง ๋ชปํ ๊ฒ์ด ์์ฝ๋ค. ๋ฒ๊ทธ ์ด์๋ฅผ ๋จ๊ธฐ๋ , ํ์ดํฌ๋ผ์ TIL๋ก ์ ๋ ๊ธฐ๋ก์ ๋จ๊ธฐ์.
-
์กฐ์ฑ์
- ๋๋ฌด ๊ตฌํ๋ง ํ๋ ค๊ณ ์ด์ ์ ๋ง์ท๋๋ฐ ์ค๊ฐ์ค๊ฐ jira ์ฌ์ฉ์ ์ ๋ชปํด์ ์์ฌ์ ๋ค. ์์ผ๋ก๋ jira๋ ์ ๊ด๋ฆฌํ๋ฉด์ ๊ฐ๋ฐํด์ผ๊ฒ ๋ค.
-
ํํ๋ฆฐ
- bug ์ด์ log๋ก ์ฌ๋ฆฌ๊ธฐ
- ์คํ๋ผ์ธ ์ธ์ ๋ง๋ ์ง
- ์: ์ฌ๋น ๋ฒ์ค๋ผ์ด์ง ์คํ 1์
- ํ: ์คํฐ๋๋ฃธ ์คํ 1์
-
๊ณฝ๋ณ์
- ๋ฌธ์ ์ญ์ ํ๊ธฐ / ํ ์ญ์ ํ๊ธฐ
-
์ด์ฐ์ฃผ
- ํ์ ์ถ๊ฐ ๊ธฐ๋ฅ
-
์กฐ์ฑ์
- ์๋ํฐ ํ์ด์ง์์ ๋ค๋ก ๊ฐ ๋ ๋น๋์ค ์คํ ์ฒ๋ฆฌํ๊ธฐ
- ์๋ํฐ ์คํฌ๋กค ๊ธฐ๋ฅ ๊ณ ์น๊ธฐ
-
ํํ๋ฆฐ
- ์ํค ์ ๋ฆฌ
- chat, video JWT ์ ์ฉ
- ๊ฐ์ธํธ ๋ฉํ ๋ K8s ํํ ๋ฆฌ์ผ ๋ฃ๊ธฐ
-
์ ์์
- developer kit
- ๋ถ๋งํฌ ๊ธฐ๋ฅ
- 7์ผ
- ์ ์์ @soyoung-Jung
-
๊ณ ๋ํ ๊ท์น
- ๋ง์ผ์คํค ๋จ์: [4์ฃผ]
- ์คํ๋ฆฐํธ ๋จ์: [1์ฃผ]
- ์ ์ ๋ชฉ 10์ ~ 5์ ๊ฐ๋ฐ ์๊ฐ ๊ณ ์
- ํ์์ผ์
- ์ง๊ฐ๋น 5์ฒ์
- ํ์ ์์ ์ ๋ฐ๋ก ์ง๊ฐ๋น ์ด์ฒดํ๊ธฐ
- ํ์ ์๊ฐ 1์ด๋ผ๋ ๋ฆ์ ์ ๋ฐ๋ก ์ง๊ฐ
- ์คํ๋ฆฐํธ (์)10:00 ~ 12:00
- ์ฝ๋๋ฆฌ๋ทฐ
- ์คํ๋ฆฐํธ ํ์ ๋ฐ ํ๊ณ
- ์ค๊ฐ์ ๊ฒ (๋ชฉ)21:00 ~ 22:00
- ์ง๊ฐ๋น 5์ฒ์
-
์คํ๋ฆฐํธ ๋ชฉํ ๋ชป์งํค๋ฉด ๋ค์์ฃผ๋ถํฐ ๊ฐ์ ์ฑ ๋ถ์ฌ
-
๊ณฝ๋ณ์
- Mobx State Tree๋ฅผ ๊ณต๋ถํ๊ณ ์๋ค. ์์ง์ ์ต์์น ์์์ ์กฐ๊ธ ๋ ๊ณต๋ถ๊ฐ ํ์ํ ๊ฒ ๊ฐ๋ค. ๋ค์ ์คํ๋ฆฐํธ๋ ๋งก์ ์ ๋ฌด๋ฅผ ๋ค ๋๋ผ ์ ์๋๋ก ๋นจ๋ฆฌ ์๋ฌํด์ผํ ๊ฒ ๊ฐ๋ค.
-
์ด์ฐ์ฃผ
-
์ ์์
- ํ๋ก ํธ๋ฅผ ๋ด๋นํ์ฌ ๋ฌธ์์๋ฒ์ ์ฐ๊ฒฐํ๋ ๊ณผ์ ์ ์๊ณ ์ถ์์ผ๋, ํฅํ ์ทจ์ ๋ฐฉํฅ์ ๊ณ ๋ คํ์ฌ ๋ฐฑ์๋์ ์ง์คํ๊ธฐ๋ก ํ์๋ค. LiveMD์ ๋ฐฐํฌ๊ณผ์ ์ ๋ํ ์ดํด์ MSA ์ํคํ ์ฒ์ ๋ํ ์ดํด๋ฅผ ํ ๋ค ๋ค์ ๊ณ ๋ํ ๊ณํ์ ์ก์~!
-
์กฐ์ฑ์
- ํ๋ก ํธ์ชฝ์์ ํ๋์ฝ๋ฉ๋ api ํธ์ถ๋ถ๋ถ์ APIconfig ํ์ผ์์ ์์ํ์์ผ ๋ก์ปฌ์๋ฒ์ ec2์๋ฒ๋ก์ ์ ํ์ ๊ฐํธํ๊ฒ ์ฒ๋ฆฌํ๋ค.
-
ํํ๋ฆฐ
- ์ฟ ๋ฒ๋คํฐ์ค๋ก ๋ค์ ๋ฐฐํฌํ๊ณ ๋ชปํ๋ ๊ฐ๋ฐ์ ์๋ฃํ๊ธฐ๋ก ํ๋๋ฐ ํํ ๋์๋ฒ๋ ธ๋นใ ใ ์ด๋ฒ๋ ๋ ๋๊ณ ๋ ๋ค๋์์ผ๋๊น ์ด์ฌํ ํด์ผ๊ฒ ๋น
-
๊ณฝ๋ณ์
- ์์.
-
์ด์ฐ์ฃผ
-
์ ์์
- ์์.
-
์กฐ์ฑ์
-
ํํ๋ฆฐ
-
๊ณฝ๋ณ์
- ๋ํ์ง์ฅ์์ ๋ฒ์ด๋๊ธฐ.
-
์ด์ฐ์ฃผ
-
์ ์์
-
์กฐ์ฑ์
-
ํํ๋ฆฐ
- ๊ฐ์ ์ฑ ๋ถ์ฌํ๊ธฐ!
Team bbzzkk
Members
'๊ณฝ'๋ณ์ | '์กฐ'์ฑ์ | '์ '์์ | '์ด'์ฐ์ฃผ | 'ํ'ํ๋ฆฐ
๐ Planning
- ํ๋ฉด๊ธฐํ์
- ๊ธฐํ์ ์์(์์ )
- ์๊ตฌ์ฌํญ ์ ์์
- API ๋ช ์ธ์(๊น๋ถ)
๐ Summary
- ์ํคํ ์ฒ
- ์คํ ํ๋ฉด
- ๊ธฐ์ ์คํ(์์ )
- Why Log
- Feed Back Log