2021-02-02(Tue)
ํญ๋ชฉ | ๋ด์ฉ |
ํ์ต ๋ ์ง | 2021-02-02(ํ) |
ํ์ต ์๊ฐ | 11:00~24:00 |
ํ์ต ๋ฒ์ ๋ฐ ์ฃผ์ | project ๋ฏธํ , backbone, ActionCable |
ํ์ต ๋ชฉํ | appearance ์ ์ ์ํ๋ฐ๋ฅผ ๋ง๋ ๋ค. |
๋๋ฃ ํ์ต ๋ฐฉ๋ฒ | eunhkim, sanam, jujeong, yohlee๋๊ณผ ๋ฏธํ ์ ์งํํ์๋ค. sanam, jujeong๋๊ณผ appearance_view๋ฅผ liveshare๋ก ํจ๊ป ๊ตฌํํจ. |
์์ธ ํ์ต ๋ด์ฉ
ํ์๋ค๊ณผ ๋ฏธํ ์ ์งํํ๋ค. ์๋ ๋ด์ฉ์ ๋ฏธํ ํ๋ฉฐ ๋ ธ์ ์ ์ ๋ฆฌํ ๊ฒ๋ค[ํธ๋ ์ ๋์ค] ๋ณธ ํ๋ก์ ํธ ํฅ์คํ 2์ฐจ ๋ฏธํ
1. ๋ทฐ์ ๋ํ ์ฃผ์ ์ฉ์ด ์ ๋ฆฌ
์ปจํ ์ด๋๋ทฐ
๊ธฐ์กด์ ๋ฉ์ธ๋ทฐ(MainView) ๊ฐ์ฒด๊ฐ ์ปจํ ์ด๋๋ทฐ๋ก ์ด๋ฆ์ด ๋ณ๊ฒฝ๋์๋ค.
์ปจํ ์ด๋๋ทฐ(#container-view) ์์์ ๊ต์ฒด๋๋ ๋ทฐ๋ค์ ๋ฉ์ธ ๋ทฐ๋ผ๊ณ ๋ช ๋ช ํ๋ค.
์ปจํ ์ด๋ ๋ทฐ์
์ปจํ ์ด๋ ๋ทฐ๋ ๋ฉ์ธ ๋ทฐ๋ค์ ๊ด๋ฆฌํ๋ ์์ญ ๋ทฐ์ด๋ค. el์ #container-view๋ก ๊ฐ์ง๊ณ , ๋ฉ์ธ ๋ทฐ๋ค์ ๋ ๋๋ง์์ผ์ ์์ ์ ์์ญ ์์ ํฌํจ์ํจ๋ค. ์ปจํ ์ด๋๋ทฐ๊ฐ ์ปค๋ ํธ ๋ทฐ๊ฐ ๊ธธ๋๋ทฐ์ธ ์ํ์์ NavView์ ํ ๋๋จผํธ ๋ฒํผ์ ๋๋ฅด๋ฉด ์ปจํ ์ด๋๋ทฐ์ ์ปค๋ ํธ ๋ทฐ๊ฐ ํ ๋๋จผํธ ๋ทฐ ์ธ์คํด์ค๋ก ๋์ฒด๋๋ค.
๋ทฐ ์๋ฆฌ๋จผํธ์ ๋ทฐ ๊ฐ์ฒด
new View๋ก ๋ง๋ค์ด์ง๋ ๊ฒ์ ๋ทฐ ๊ฐ์ฒด์ด๋ค. ๋ทฐ ๊ฐ์ฒด๊ฐ ๋ ๋๋งํ๋ ์์๋ ๋ทฐ ์๋ฆฌ๋จผํธ์ด๋ค. ๋ทฐ ์๋ฆฌ๋จผํธ๊ฐ DOM์ ์ถ๊ฐ๋๋ฉด DOM ์๋ฆฌ๋จผํธ๊ฐ ๋๋ค.
์๊ตฌ๋ทฐ
์๊ตฌ๋ทฐ๋ ์๋์ฐ ์์์ ํ๋ฒ ๋ก๋ฉ๋ ํ ์๋์ฐ๊ฐ ์ข ๋ฃ๋ ๋๊น์ง ์ฌ๋ผ์ง์ง ์๋ ๋ทฐ ๊ฐ์ฒด๋ฅผ ์ผ์ปซ๋ ๋ด๋ถ์ํต์ฉ ์ฉ์ด๋ค.
์๊ตฌ๋ทฐ๋ AppView์ ๋ณ์๋ก ๊ด๋ฆฌ๋๋ค.
์๊ตฌ๋ทฐ์ ์ํ๋ ๊ฒ์ ํ๋จ ์์ด์ดํ๋ ์ ์ข์ธก์๋จ์ ๋ ธ๋์ ํ๊ทธ๊ฐ ๋ถ์ด์๋ ๋ทฐ ์๋ฆฌ๋จผํธ๋ฅผ ๋ ๋๋งํ๋ ๋ทฐ ๊ฐ์ฒด์ด๋ค.
์๊ตฌ๋ทฐ๋ ์ ์ el์ ๊ฐ์ง๋ค. (์๊ตฌ๋ทฐ์ el์์๋ ์๋ฆฌ๋จผํธ๋ฅผ ์๋ก ์์ฑํด์ ์ฐธ์กฐํ๋ ๊ฒ์ด ์๋๋ผ, ๊ธฐ์กด ์๋ฆฌ๋จผํธ๋ฅผ ์ฐธ์กฐํ๋ค.)
default๋ก hide๋์ด ์๋ค๊ฐ ํ์ํ ์๊ฐ์ render๋๋ค.
๋ทฐ๊ฐ ์ ์ /๋์ el์ ๊ฐ์ง๋ค.
๋ทฐ๊ฐ ์ ์ el์ ๊ฐ์ง๋ ๊ฒฝ์ฐ๋ ์๋ฆฌ๋จผํธ๋ฅผ ์๋ก ์์ฑํด์ el๋ก ์ฐธ์กฐํ๋ ๊ฒ์ด ์๋๋ผ, ๊ธฐ์กด์ ์ด๋ฏธ ์์ฑ๋์ด์๋ ์๋ฆฌ๋จผํธ๋ฅผ el๋ก ์ฐธ์กฐํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
๋ทฐ๊ฐ ๋์ el์ ๊ฐ์ง๋ ๊ฒฝ์ฐ๋ el์์ ์์ด ์๋ก์ด ์๋ฆฌ๋จผํธ๋ก ์์ฑ๋์ด์ DOM์ ์ฝ์ ๋๋ ๊ฒ์ ์๋ฏธํ๋ค.
์ฌ์ด๋๋ฐ / ์ฑ๋ฃธ์ฌ์ด๋๋ฐ
์ฌ์ด๋๋ฐ๋ ๋ฌผ๋ฆฌ๋ช ์ด ์๋๋ผ ๋ ผ๋ฆฌ๋ช ์ด๋ค. AppearanceView์ MainButtonsView๊ฐ ๋ ๋๋ง๋๋ ์์ญ์ ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ฐ๋ฆฌํจ๋ค. ๋ณ์๋ช ์ผ๋ก ์ฐ์ด์ง๋ ์๋๋ค.
์ฑ๋ฃธ์ ์ข์ธก์ ๋ ๋๋ง๋๋ ์ ์ฌ ์ฌ์ด๋๋ฐ๋ ์ฑ๋ฃธ ์ฌ์ด๋๋ฐ๋ก ๋ถ๋ฅธ๋ค.
์ดํผ์ด๋ฐ์ค ๋ทฐ
์ดํผ์ด๋ฐ์ค ๋ทฐ๋ ์ ์ ์ ๋ชฉ๋ก๊ณผ ์ ์ ์ํ๋ฅผ ๊ด๋ฆฌํ๋ค. ํด๋ฆญ์ ์ ์ ์ ๋ํ ๋ฉ๋ด๋ฅผ ๋ ๋๋งํ๋ค.
์ฑ๊ธ๋ทฐ / ๋ฉํฐ๋ทฐ
๋ทฐ ๊ฐ์ฒด๊ฐ ๋ค๋ฅธ ๋ทฐ ๊ฐ์ฒด๋ฅผ ๊ฐ์ง๊ณ ์์ง ์์ ๋ ์ฑ๊ธ ๋ทฐ๋ผ๊ณ ํ๋ค. ๋ฐ๋๋ก ํ๋์ ๋ทฐ ๊ฐ์ฒด๊ฐ ์ฌ๋ฌ ๋ทฐ ๊ฐ์ฒด๋ฅผ ํจ๊ป ๋ ๋๋งํด์ผ ํ๋ ๊ฒฝ์ฐ ๋ฉํฐ๋ทฐ๋ผ๊ณ ๋ช ๋ช ํ๋ค.
ex) SignInView = ์ฑ๊ธ๋ฉ์ธ๋ทฐ, DirectChatView = ๋ฉํฐ์๊ตฌ๋ทฐ
๋ฃจํธ ๋ทฐ์ ์ฐจ์ผ๋ ๋ทฐ
๋ฉ์ธ ๋ทฐ๋ ๋ฃจํธ ๋ทฐ์ ์ฐจ์ผ๋ ๋ทฐ๋ก ๊ตฌ๋ถ๋๋ค. ๋ฃจํธ ๋ทฐ๋ ๋ฉ์ธ ๋ทฐ๊ฐ ์๊ธฐ ์์ ์ ๊ฐ๋ฆฌํค๊ณ , ์ฐจ์ผ๋ ๋ทฐ๋ ๋ณ์๋ก์ ๋ฉ์ธ ๋ทฐ์ ์ํ๋ ๋ทฐ๋ค์ ์๋ฏธํ๋ค.
์ข ์ ๋ทฐ์ ์์ด ๋ทฐ
์ข ์๋ทฐ๋ ํน์ ๋ฉ์ธ ๋ทฐ์๋ง ์ํ๋ ์ฐจ์ผ๋๋ทฐ์ด๊ณ , ์์ด๋ทฐ๋ ์ฌ๋ฌ ๋ฉ์ธ ๋ทฐ์์ ์ฐ์ด๋ ์ฐจ์ผ๋๋ทฐ์ด๋ค.
ํ๋ก ํธ ๋ชจ๋ธ๊ณผ ๋ฐฑ ๋ชจ๋ธ
๋ชจ๋ธ์ด๋ผ๋ ๋จ์ด๊ฐ ๋ฐฑ๋ณธ๊ณผ ๋ ์ผ์ฆ์์ ํผ์ฉ๋๋ฏ๋ก ํผ๋์ ๋ง๊ธฐ์ํด ์ฉ์ด๋ฅผ ๊ตฌ๋ถํ๋ค.
๋ฐฑ๋ณธ ๋ชจ๋ธ์ ํ๋ก ํธ ๋ชจ๋ธ, ๋ ์ผ์ฆ ๋ชจ๋ธ์ ๋ฐฑ ๋ชจ๋ธ
sign : ์ ์์ ์ผ๋ก ํ์๊ฐ์ ๋ฐ ๋ก๊ทธ์ธ, ๋ก๊ทธ์์์ด ๊ฐ๋ฅํ๋ค.
appearance : ์น๊ตฌ์ถ๊ฐ๊ฐ ๊ฐ๋ฅํ๊ณ , ์น๊ตฌ ๋ฐ online ์ํ์ธ ์ ์ ๋ค์ ์ ์์ํ๋ฅผ ์กฐํํ ์ ์๋ค. ๋ง์ฐ์ค๋ฅผ ์ ์ ์์ ์ฌ๋ ธ์ ๋ ํ๋กํ ๋ทฐ๊ฐ ํธ๋ฒ๋ง๋์ด์ผ ํ๋ค. ํด๋ฆญํ์ ๋ ์๋ธ ๋ฉ๋ด๊ฐ ๋ ์ผ ํ๋ค. ์ ์ ๋ฉ๋ด๋ค ์ค ์ ์ ์ ๋ณด ๋ฒํผ์ ์ ์ ์ธ๋ฑ์ค ๋ฉ์ธ ๋ทฐ๋ก ๋ผ์ฐํ ๋์ด์ผ ํ๊ณ , ์ ์ ์ฐจ๋จํ๊ธฐ ๋ฒํผ์ ๋๋ ์ ๋์๋ ์๋ฒ์์ Ban ๋ฐ์ดํฐ๊ฐ ์์ฑ๋์ด์ผ ํ๋ค. ํ์ํ๋ค๋ฉด front์์ Ban ์ ๋ณด๋ฅผ ๋ณด๊ดํด์ผ ํ๋ค.
user_index : ์ ์ ์ธ๋ฑ์ค ๋ทฐ๋ฅผ ์กฐํํ ์ ์๊ณ , ์์ ์ ์ธ๋ฑ์ค ๋ทฐ(ํ ๋ฉ๋ด๋ฅผ ํด๋ฆญํ์ฌ ์ด๋ํ ์ ์๋ ๋ทฐ)์์๋ name ๋ฐ ํ๋กํ ์ด๋ฏธ์ง ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํด์ผ ํ๋ค. MatchHistory๋ ์ ์์ ์ผ๋ก ๋ณด์ฌ์ค์ผ ํ๋ค. GuildInviation๊ณผ ๊ด๋ จํด์๋ ๋ค์ด์จ ์ด๋๊ฐ ์์ ๊ฒฝ์ฐ์ ํ์ด์ง๋ฅผ ๋ ๋๋งํ๋ค. ๋ค๋ฅธ ์ ์ ์ ๋ํ ์ธ๋ฑ์ค ๋ทฐ์์ ๊ธธ๋ ์ด๋ ๋ฒํผ์ ์กด์ฌํ๋ ๋์ํ์ง ์๋๋ค.
persist(front only) : info, input, alert ๋ชจ๋ฌ ๋ทฐ๋ฅผ ์์ฑํ์ฌ ํ์ํ๋ค๋ฉด ๋ค๋ฅธ ๋ทฐ์์ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ค. error main view๋ฅผ ์์ฑํ์ฌ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ route๋ ์ ์๋๋ก ํ๋ค. ๊ธฐํ ํ์ํ ์๊ตฌ ๋ทฐ๋ค์ ์์ฑํ๋ค.
game(ladder) : ladder ๊ฒ์์ ๊ตฌํํ๋ค. nav bar์์ ladder ๋ฒํผ์ ๋๋ ์ ๋ game index view๋ก ์ด๋ํ๋ค. ๋งค์นญ ํ ๊ฒ์์ ์งํํ๋ค. ๊ฒฝ๊ธฐ ๊ท์น์ ํด๋์์ผ๋ก ์งํ๋๋ค. ์ ์ ๊ฐ ์ดํํ๋ ๊ฒฝ์ฐ์ ๋ํด์ ์ ์ ํ๊ฒ ์ฒ๋ฆฌํ๋ค. game index view์์ ๊ฒ์ ๊ท์น(info modal view)์ ๋ณผ ์ ์๋ ๋ฒํผ์ด ์์ด์ผ ํ๋ค. ๊ฒ์ ์นํจ์ ๋ํ ๋ณด์ ํฌ์ธํธ ๊ฒฐ์ ์๊ณ ๋ฆฌ์ฆ(=๋๋๋ง ์์คํ )์ด ์์ฑ๋์ด์ผ ํ๋ค. ๊ฒ์์ ์ค๊ณ ๊ธฐ๋ฅ์ ๊ณ ๋ คํ์ฌ ํ์ฅ์ฑ ์๊ฒ ์์ฑํด์ผ ํ๋ค.
์์ ์ฌํญ๋ค์ ๋ํด ๋ก๊ทธ์์ ๋ฐ ๋ก๊ทธ์์์ ๋ฐ๋ณตํ๋๋ผ๋ ์ ํํ๊ฒ ๋์ํ๋ค. ์ ์ง์ ๊ธฐ๋ฅ ์ถ๊ฐ์ ๋๋นํด ์์ ์ ๋ซํ์๊ณ ํ์ฅ์ ์ด๋ ค์๋๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ค.
์ฑํ (DM, ๊ทธ๋ฃน)๊ณผ ๊ธฐ๋ณธ์ ์ธ ๊ฒ์(๋์ผ, ๋๋)์ด ๊ฐ๋ฅํ ์๋น์ค๋ฅผ ๋จผ์ ์์ฑํ๋ค. ์๊ตฌ ๋ทฐ, ๋ก๊ทธ์ธ ๋ฐ ํ์๊ฐ์ ๊ณผ chat, userIndex, gameIndex ๋ฑ์ ๋ฉ์ธ ๋ทฐ๊ฐ ํฌํจ๋๋ค.
๊ฒ์ ์ค๊ณ ๊ธฐ๋ฅ์ ํฌํจํ๋ค.
ํ ๋๋จผํธ๋ฅผ ์ถ๊ฐํ๋ค.
guild, war์ ๊ด๋ จ๋ ๊ธฐ๋ฅ๋ค์ ์ถ๊ฐํ๋ค.
admin์ ์ถ๊ฐํ๋ค.
2. ๋ทฐ ์ค๊ณ์ ๋ํ ์ปจ๋ฒค์
์ ๋ฆฌ
(๋ทฐ ์ฑ๊ฒฉ์ ๋ฐ๋ฅธ close ๋ฉ์๋์ ์ฑ ์, fetch์ ๋ฐ๋ฅธ callback ๋ฉ์๋ ๋ถ๋ฆฌ, ๋ชจ๋ธ ์ ๊ทผ์ ๋ํ attributes์ get ์ฌ์ฉ, ...)
๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ
ํ ํ๋ฆฟ ๋ฐ ๋ทฐ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํต์ผํ๋ค. ๋ทฐ ํด๋์ ๋ทฐ ํ์ผ๊ณผ ๊ฐ์ ํ ํ๋ฆฟ ํด๋์ ์์น์ ํด๋น ํ ํ๋ฆฟ ํ์ผ์ด ์๋ ๊ฒ์ด ๋ณด์ฅ๋์ด์ผ ํ๋ค.
๋ฃจํธ์ App.js, router.js, Helper.js์ ๊ฐ์ ํ์ผ๋ค์ด ์๋ค.
Chat, Guild, Admin์ ๊ฐ์ด ๋ชจ๋ ๋จ์๋ก ํด๋๋ฅผ ์์ฑํ๊ณ ํด๋นํ๋ ๋ฉ์ธ ๋ทฐ์ ์ข ์ ๋ทฐ๋ง ๊ด๋ฆฌํ๋ค.
์ฌ๋ฌ ๋ชจ๋ ์ฌ์ด์์ ๊ณต์ ๋๋ ๋ทฐ๋ค์ share ํด๋์ ๊ด๋ฆฌํ๋ค.
์๊ตฌ ๋ทฐ๋ค์ ๋ฐ๋ก persist ํด๋์ ๊ด๋ฆฌํ๋ค.
๋ชจ๋์ ๋งก์์ ๋์ ๊ทธ ๋ชจ๋์ ์ฑ ์์๊ฐ ์์ ์ ์ฑ ์์ ์ํํ๋ค๋ ๊ฒ์ ์๋น์ค๋ฅผ ์๋ฌด๋ฆฌ ์ด์ฉํด๋ ์ ํํ๊ฒ ๋์ํ๋ ๊ฒ, ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ๋ฐ์์ํค์ง ์๋ ๊ฒ์ด๋ค. ๊ทธ ๊ณผ์ ์์ ์ก์ ์ผ์ด๋ธ์ ์ฌ์ฉํ๋ค๋ฉด ํ์ํ ์๊ฐ์ ์ ์ ํ๊ฒ ์ฑ๋์ ์ฐ๊ฒฐํ๊ณ ํด์ ํ๋ ๊ฒ์ด๋ค. ๋ก๊ทธ์์ ๋ฒํผ์ ๋๋ ์ ๋, ์๋น์ค ์์์ ์๋ก๊ณ ์นจ์ ๋๋ ์ ๋, ์๋น์ค ์์์ ๋ค๋ก๊ฐ๊ธฐ๋ฅผ ๋๋ ์ ๋, ๋ธ๋ผ์ฐ์ ํญ์ ์ข ๋ฃํ์ ๋, ๋ธ๋ผ์ฐ์ ์์ ๋ค๋ฅธ ์น์๋น์ค๋ก ์ด๋ํ์ ๋, ๋ธ๋ผ์ฐ์ ์์ฒด๋ฅผ ์ข ๋ฃํ์ ๋์๋ ์์ ์ด ๋ด๋นํ ์์ญ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๊ณ , ์ ์์ ์ผ๋ก ์ ์ ๊ฐ ๋ก๊ทธ์์์ ํ์ ๋์ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฅํ๋ ๊ฒ์ด๋ค.
initialize์ ์ต๋ํ ๋ง์ ๊ฒ์ ๋ฃ์ง ์๊ณ render ๋ฉ์๋ ๋ด์์ ์ฐจ์ผ๋ ๋ทฐ๋ฅผ ์์ฑํ๋ค. render ๋ฉ์๋๊ฐ ์ฐ์์ ์ผ๋ก ํธ์ถ๋๋ ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํด์ ์ค๊ณ๋์ด์ผ ํ๋ค.
๋ทฐ el ์ ์ (๋์ vs ์ ์ )
์๊ตฌ ๋ทฐ : ์๊ตฌ ๋ทฐ๊ฐ ์ฝ์ ๋ ์์ญ์ index.html.erb ์์ <div id=""></div> ํ๊ทธ๋ก ๋ณด์ฅ๋๋ค. ๋ฐ๋ผ์ ์ ์ el์ ์ฌ์ฉํ์ฌ, hideํ๋ค๊ฐ ํ์ํ ๋ ๋ ๋๋งํ๋ ๊ตฌ์กฐ๋ก ์ฌ์ฉํ๋ค.
๋ฉ์ธ ๋ทฐ : ๋ฉ์ธ ๋ทฐ๊ฐ ์ฝ์ ๋ ์์ญ์ index.html.erb ์์ <div id="container-view"></div> ํ๊ทธ๋ก ๋ณด์ฅ๋๋ค. ํ์ง๋ง, ๋ฉ์ธ ๋ทฐ๋ ๊ต์ฒด๋๋ฉด์ ์ญ์ ๋๊ธฐ ๋๋ฌธ์ container-view ํ๊ทธ๋ฅผ ๋ณด์กดํ๊ธฐ ์ํด์ ๋์ el๋ก ์์ฑํ์ฌ ์ฝ์ ๋์ด์ผ ํ๋ค.
์ผ๋ฐ ์ฐจ์ผ๋ ๋ทฐ์ ๋ฆฌ์คํธ ์ฐจ์ผ๋ ๋ทฐ : ๋ถ๋ชจ ๋ทฐ์ ํ ํ๋ฆฟ์ ํด๋น ๋ทฐ๊ฐ ๋ค์ด๊ฐ ํ๊ทธ๊ฐ ๋ณด์ฅ๋์ด ์์ด์ผ ํ๋ค. setElement๋ฅผ ์ด์ฉํ์ฌ html()๋ก ์ฝ์ ํ๋ค.
์๋ฆฌ๋จผํธ ์ฐจ์ผ๋ ๋ทฐ(๋ฆฌ์คํธ ์ฐจ์ผ๋ ๋ทฐ์ ๋ค์ด๊ฐ๋ ์์): ๋ฆฌ์คํธ ์ฐจ์ผ๋ ๋ทฐ ๋ด๋ถ ์์๋ก append๋ฅผ ํ๋ ๊ฒ์ด ์์ฐ์ค๋ฌ์ฐ๋ฏ๋ก, ๋์ ์ผ๋ก el์ ์์ฑํ์ฌ ๋ถ๋ชจ ๋ทฐ์ el์ append๋ก ์ฝ์ ํ๋ค.
close ๋ฉ์๋์ ์ฑ ์
๋ชจ๋ ๋ทฐ์ close๋ฅผ ๋ฉ์๋๋ฅผ ๊ตฌํํ์. ๋ทฐ์ close ๋ฉ์๋๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ธ์ผ ํ ์ฑ ์์ ์์ ์๊ฒ ์ข ์๋ ๋ชจ๋ ์ฐจ์ผ๋๋ทฐ์ close๋ฅผ ๋ฉ์๋๋ฅผ ํธ์ถํ๊ณ , ์์ ์ด onํ eventListener๋ฅผ ํด์ ํ๊ณ , ์์ ์ removeํ๋ ๊ฒ์ด๋ค. ๋ชจ๋ธ์ ๋ํด์๋ listenTo๋ฅผ ์ฌ์ฉํ๊ณ , DOM ์์์ ๋ํด์๋ ์ต๋ํ events ํด์๋ฅผ ์ด์ฉํ์ฌ ๋์ ์ํ์ด ์๋ on ์ฌ์ฉ์ ์์ ํ๋ค.
์๊ตฌ ๋ทฐ์ close ๋ฉ์๋๋ ์์ ๋ทฐ๋ค์ ๋ํด close๋ฅผ ํธ์ถํ์ง๋ง ์์ ์ removeํ์ง๋ ์๋๋ค. ๋์ ์์ ์ ๋์์ผ๋ก hide()๋ฅผ ํธ์ถ์์ผ ์ธ๊ด์ ๋ชจ์ต์ ๊ฐ์ถ๋ค.
์ฑ๋์ ๊ฐ์ง ๋ทฐ๋ค์ close ๋ฉ์๋์ ๋ํด ์๊ธฐ๊ฐ ๊ด๋ฆฌํ๋ ์ฑ๋์ ๋ํด disconnectํ๋ ๊ฒ์ ์ฑ ์์ง๋ค.
์๋ธ ๋ทฐ ์์ฑ ์์น
๊ธฐ๋ณธ์ ์ผ๋ก render ๋ฉ์๋ ๋ด์์ ์๋กญ๊ฒ ์๋ธ ๋ทฐ๋ฅผ ์์ฑํ๋ค.
render ๋ฉ์๋๊ฐ ์ฌ๋ฌ ๋ฒ ์ฐ์์ ์ผ๋ก ํธ์ถ๋ ๊ฐ๋ฅ์ฑ์ด ์์ ๊ฒฝ์ฐ view ์ค๋ณต์ผ๋ก ์ธํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฏ๋ก ์ด์ ๋ฐ๋ผ ์ ์ ํ ์ฒ๋ฆฌํ๋ค.
์ฑ๋ ์์ฑ ์์น
๊ธฐ๋ณธ์ ์ผ๋ก ์ฑ๋์ ๊ด๋ฆฌํ๋ ๋ทฐ์ ์ฑ๋์ ํ ๋นํ๋ค.
๋ ธํฐํผ์ผ์ด์ ์ฑ๋์ ์ฑ ๊ฐ์ฒด์์ ๊ด๋ฆฌํ๋ค.
fetch์ ๋ฐ๋ฅธ callback ๋ฉ์๋ ๋ถ๋ฆฌ
fetchContainer์ ๋ํ then์ ์ฝ๋๊ฐ ๊ธธ์ด์ ธ ๊ฐ๋ ์ฑ์ ํด์น ๊ฒฝ์ฐ successCallback๊ณผ failCallBack์ ๋ฐ๋ก ์ ์ํ์ฌ ๋ฉ์๋ ์คํ์ ์ ๋ฌํ๋ค.
๋ชจ๋ธ ์ ๊ทผ
model์ ๊ฒฝ์ฐ back db์ ๊ตฌํ๋ ์ปฌ๋ผ์
get
๊ณผset
์ ์ด์ฉํ์ฌattributes
๋ฅผ ์ ์ดํ๋ค.back db์ ๊ตฌํ๋์ง ์์ ์ปฌ๋ผ์
dot(.)
์ ์ด์ฉํ์ฌ ์ ์ดํ๋ค.
internal.js
internal.js์ App์ Model, Collection, View, Channel ๋ฉ์๋ ๋ฑ ํ์ผ๋ก ๊ตฌํ๋ ๋ชจ๋ ๊ฐ์ฒด๋ฅผ ๋ฑ๋กํ๋ค.f
Helper
fetchContainer ๋ฉ์๋๋ฅผ fetch๋ก ๋ณ๊ฒฝํ๋ค.
3. ๋์ค์ฝ๋ ์ฑ๋ ์ ๋ฆฌ
๋ฐฑ์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๋ง๋ค์ด์ ๋ถํ์ํ ์ฑ๋๋ค์ ๋ชฐ์๋๊ณ , ์๋ ผํ์ฌ ๊ผญ ํ์ํ ์ฑ๋๋ง ๋จ๊ธฐ๊ณ ์์ฑํด๋ด ์๋ค.
๊ผญ ํ์ํ ์ฑ๋
๋๋ค, ์๋ฌด๋ง
liveshare
ํ๊ฒฝ ๋งํฌ, ํ๋ก ํธ ๋งํฌ, ๋ฐฑ ๋งํฌ, ์ผ๋ฐ ๋งํฌ
announcement(emoji๋ฅผ ์ด์ฉํ read ํํ ํ์)
ํ์๋๋งํด์(์ ์ ๋ฐ ์ด์)
๊ฐ์ธ์ผ์
github
(backup ํด๋ ์์ฑ ๋ฐ ๋ถํ์ํ ํด๋ ๋ชฐ์๋ฃ๊ธฐ, ์๋ ผํ์ฌ ๊ผญ ํ์ํ ์ฑ๋๋ง ๋จ๊ธฐ๊ณ ์์ฑํ๊ธฐ, ๊ฐ ์์ฑ ์ฑ๋ ์ฌ์ฉ ์ฉ๋ ๋ช ํํ ํ๊ธฐ, ...)
4. ํ์ ์ฃผ๊ธฐ ๋ฐ ์๊ฐ
(๊ถ์ฅ) ๋ฐ์ผ๋ฆฌ ์คํฌ๋ผ(10~15๋ถ) 11์
(ํ์) ์๊ฑด์ ๋ค๋ฃจ๋ ํ์๋ ํ, ๊ธ ์คํ 2์
5. ํ๋ก์ ํธ ๋ณด๋ ์นด๋ ์์ฑ ๋ฐ ๊ฐ๋ฐ ๋ฐฉ์ ๊ฒฐ์
(์นด๋ ์น์ ์์ฑ, ์นด๋๋ฅผ ์น์ ๋จ์๋ก ์ด๋ํ๋ ํ์ด๋ฐ, ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐฉ์, ํ์ํ ๋ผ๋ฒจ ์์ฑ, ...)
๋ฐฑ๋ก๊ทธ์ ๊ฐ๋ฐ ๊ณํ์ ์ ๋ฆฌํด๋๊ณ , ํ์์ผ ํ์์์ 1์ฃผ์ผ๊ฐ ๊ตฌํํ ์์ญ์ ์นด๋๋ค์ ์์ฑํ๋ค.
ํด๋น ์ฃผ์ฐจ์ ํด๊ฒฐํ๋ ๊ฒ์ด ์ข๋ค๊ณ ํ๋จํ๋ ๋ฌธ์ ๋ค์ not started ์น์ ์ ์นด๋๋ก ๋ฑ๋กํ๊ณ , ์ธ์ ํด๊ฒฐํ ์ง ์์๊ฐ ๋ฐ๋ก ํ์ํ๋ค๊ณ ํ๋จํ๊ฑฐ๋ ๊ธํ์ง ์์ ๋ฌธ์ ๋ค์ backlog์ ๋จ๊ธด๋ค.
์ด์๋ issues ํญ์์ ํ ํ๋ฆฟ์ ์ด์ฉํ์ฌ ๋ฑ๋กํ๋ค. project๋ฅผ ์ค์ ํด์ผ๋ง ๋์๋ณด๋์ ๋ฑ๋ก๋๊ธฐ ๋๋ฌธ์ ๊น๋จน์ง ์๊ณ ์ค์ ํ๋๋ก ํ๋ค.
์นด๋๋ฅผ ๋ง๋ค ๋์๋ ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํญ๋ชฉ์ ๋ช ์ธํ๋ฉด ์ข๊ฒ ๋ค. ๊ฐ๊ธ์ ์๋ฃ๋ ๊ฒ๋ค์ ์ฒดํฌํ์ฌ ํด๋น ์นด๋์ ์ง์ฒ๋๋ฅผ ์๋ก ๊ณต์ ํ ์ ์๋๋ก ํ์.
์๋ฃํ ์นด๋๋ closeํ์ฌ completed์ ๋ชจ์๋ค. ์ดํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ reopenํ์ฌ not started๋ก ๋์ด์จ๋ค. ๊ธํ ์ด์๊ฐ ์๋๋ผ๋ฉด backlog์ ๊ธฐ๋กํ์ฌ reopen์๊ธฐ๋ฅผ ์กฐ์จํ๋ค.
bug, feature, refactor, front, back, extra(ํ์) ๋ผ๋ฒจ์ ์ฌ์ฉํ๋ค.
๋ชจ๋๋ช ์ ์ ๋ชฉ ์ ๋์ฌ๋ก ํฌํจํ๋ค. ex) [guild] ๊ธธ๋๋ฆฌ์คํธ ๊ตฌํ
๋ฆฌ๋ทฐ๋ฐฉ์
6. ๊นํ๋ธ ๋ธ๋์น ๋ฐ merge ์ ๋ต
develop ๋ธ๋์น์ ์ต์ ํ ์ํ์ ๋ํด ํญ์ ์์งํด์ผ ํ๋ค. ๊ทธ๋์ ํ์ฌ ์์ ์ด ๊ฐ๋ฐํ๊ณ ์๋ ๋ธ๋์น์ ์ถฉ๋ ์ง์ ์ด ๋ฐ์ํ๊ณ , ๊ทธ ํด๊ฒฐ ๋ฐฉ์์ด ์์ ์ ๋ชจ๋ ๋ฒ์์์ ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ์ผ ๋์๋ ์ด์๋ฅผ ๋ ์ด์ฆํด์ผ ํ๋ค. ๊ทธ ์ธ์ ์ด์์ ๋ํด์๋ ๊ทธ ๋ ๊ทธ ๋ develop ๋ธ๋์น๋ฅผ pull ๋ฐ์์ ๋๊ธฐํํ๋ ๊ฒ์ ๊ถ์ฅํ์ง๋ง, ๊ฐ์ธ์ ์์ญ์ผ๋ก ๋จ๊ฒจ๋๋ค.
ํตํฉ ๋ธ๋์น
main: ๊ฐ๋ฐ์ด ๋๋๊ณ ๋ฐฐํฌ๊ฐ๋ฅํ ๋ธ๋์น
develop: ๊ฐ๋ฐ์ด ์งํ ์ค์ด๋ฉฐ, ๊ฐ์ฅ ์ต์ ๋ธ๋์น
ํ ํฝ ๋ธ๋์น
๋ชจ๋์ ๋ฉ์ธ ๋ธ๋ฐ์น๋ ๋ชจ๋๋ช (guild)์ผ๋ก ํํํ๋ค. ์ด์ ๋ธ๋์น๋
๋ชจ๋๋ช _๋ผ๋ฒจ๋ช #์ด์๋๋ฒ
์ ํ์์ผ๋ก ๋ธ๋์น๋ก ๋ค์ด๋ฐํ๋ค.
master, develop, guild, guild_feat#23, guild_fix#21
develop
guild
guild_feat#23
guild_fix#21
(๋ธ๋์น ๋ค์ด๋ฐ, ์์ฑ๋ ๊ธฐ๋ฅ์ develop ๋ธ๋์น๋ก mergeํ ๋ ํ์ฌ๋ ๋ฌผ๋ก ์ฐจํ ์ถฉ๋ ์ด์๊ฐ ์์์ง ๊ฐ๋ฐ์ค์ธ ๋ค๋ฅธ ๋ชจ๋ ๋ธ๋์น์ ๋น๊ตํ๊ธฐ ๋ฑ)
๋ฆฌ๋ทฐ & merge ๊ถํ
๋ชจ๋ ๋ธ๋์น์ merge์ ๋ํด์๋ ๋ชจ๋ ์์ ์๊ฐ์ ๋ฆฌ๋ทฐ
์์ฑ๋ ๋ชจ๋ ๋ธ๋์น๋ฅผ develop ๋ธ๋์น๋ก mergeํ๋ ๊ณผ์ ์์ ๋ชจ๋ ์ฌ๋์ ๋ฆฌ๋ทฐ
๋ชจ๋ ์ฌ๋์ด approveํ ๊ฒฝ์ฐ์ mergeํ๊ณ , ๋ง์ง๋ง์ผ๋ก approveํ๋ ์ฌ๋์ด mergeํ ์ ์๋ค. pending์ด ์์ ๊ฒฝ์ฐ ์๊ฒฌ์ ์กด์คํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ , ์๊ฒฌ ์ฐจ์ด๋ก ์ธํด ๋ฌธ์ ๊ฐ ํด์๋์ง ์์ ๊ฒฝ์ฐ์๋ง ๊ทธ ๋ชจ๋์ ๋ํด ์ฑ ์์ ๊ฐ์ง ์ฌ๋์ด ๊ฒฐ์ ํ๋ค.
7. ํน์ ์์ญ์ ๋ํ ๋ฉค๋ฒ๋ณ ์ฑ
์ ๊ฒํ
(๋ชจ๋ธ, ์ปจํธ๋กค๋ฌ, ํผ๋ธ๋ฆฌ์ฑ, ๋ฐฑ๋ณธ ๋น์ฆ๋์ค ๋ก์ง, ๋ฐฑ๋ณธ ๋ ๋๋ง & ํด๋ก์ฆ, QA...)
๋ ์ผ์ฆ
๋ชจ๋ธ & ์๋ & ์กํฐ๋ธ ์ด๋๋ฏผ
์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ๋ชจ๋ธ ์ฐจ์์์ 1์ฐจ์ ์ผ๋ก ์งํ๋์ด์ผ ํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๋ ํ์๋ฅผ ์ค์ธ๋ค.
์ฆ์ ์ฐ๊ด ๋ก๋ฉ(eager loading)์ ์ ์ฌ์ฉํ๋ค.
collection get ์์ฒญ์ด backend model์ ์ธ์คํด์ค๋ฅผ ๊ทธ๋๋ก ์ฃผ๋ ๊ฒ์ผ๋ก ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ๋ค์ด ๋๋ค์์ด๋ค. ์ผ๋ถ ์ปฌ๋ผ๋ง ์๊ตฌํ๊ฑฐ๋, ์ฐ๊ด๋ ๋ค๋ฅธ ๋ชจ๋ธ์ ๋ฐ์ดํฐ๊น์ง ํจ๊ป ์๊ตฌํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. to_sym, to_detail๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก front API์ ํจ์จ์ ์ผ๋ก ๋์ํ๊ธฐ ์ํ serialize ๋ฐฉ๋ฒ์ด ํ์ํ๋ค.
*iwoo, jujeong*
ํ ํ๋ฆฟ๊ณผ DOM ์์์ ๋ถ์ฌ๋๋ ํด๋์ค, ID, CSS๋ฅผ ๊ด๋ฆฌํ๋ ํผ๋ธ๋ฆฌ์ฑ
*eunhkim*
๋ฐฑ๋ณธ ๋ ๋๋ง & ํด๋ก์ฆ, ๋ฐฑ๋ณธ์ ์ ์ฒด์ ์ํคํ ์ณ ๊ด๋ฆฌ
*eunhkim*
ํ๊ฒฝ/๋น๋
docker-compose๋ฅผ ์ด์ฉํด์ up, down, start, stop, run์ ํ ๋ ์ํํ๊ฒ ์๋ํ์ง ์๋ ๋ฌธ์ ๋ค์ ๋ํ ์๋ฃจ์ ์ ์ ๊ณตํด์ผ ํ๋ค. bundle, gem, webpack์ ๋ํ ์ด์๋ค ์ญ์ ๊ฐ์ด ๋ด๋นํ๋ค. ํ๊ฐํ ๋ docker-compose up์ ํ๋๋ฐ ์ ๋๋ค? ....
*sanam, yohlee*
8. ํ๋ก์ ํธ ์นด๋ ์
ํ
์ ์ ์ํ๋ฐ ๊ตฌํ
๋ผ์ฐํฐํ๊ณ ๊ฐ๋ ํ์ด์ง ๋จ์๋ก ๊ตฌํํ๋๊ฒ ์๋ก ์ํฅ์ ์ฃผ์ง ์์ ๊ฒ์ด๋ค. (์์ ์์ ๋ซํ์์..)
๊ทธ ์ธ์ ์ด์์นด๋๋ฅผ ์์ฑํ ๋ ์ผ๊ด๋ ์คํ์ผ๋ก ์์ฑํ ์ ์๋๋ก ํ ํ๋ฆฟ์ ๋ง๋ค์ด์ ํ์๋ค์๊ฒ ๊ณต์ ํ์๋ค.
์ ์ ์ํ๋ฐ ๊ตฌํ
์ดํ์ sanam, jujeong๊ณผ apperance ์ ์ ์ํ๋ฐ๋ฅผ ๋ง๋ค์๋ค.
๋ฐฑ๋ณธ ๋ทฐ์ ๋ฐฑ๋ณธ ๋ชจ๋ธ์ ๋ฃ์ด์ ํ ํ๋ฆฟ์ ์ ์ฉํ๊ณ ์ถ์ ๊ฒฝ์ฐ, ์๋์ฒ๋ผ ํด์์ ๋ฃ์ด์ ์์ฑํด์ผํ๋ค.
rails์์ strongParameter์ ๋ฐฐ์ด์ ๋๊ธฐ๊ธฐ ์ํด์๋ ์ด ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์.
ํฌ์ธํธ๋ ์๋ ๋๊ฐ์ง๋ค.
๋ฐฐ์ด์ ๊ฐ์ง๋ parameter๊ฐ permit ๋ฉ์๋์ ๊ฐ์ฅ ๋ง์ง๋ง์ ์์นํด์ผํ๋ค. ์๋๋ฉด array ํค ํด์๋ก ์๋์ฒ๋ผ ์ ์ด์ค ํ์๊ฐ ์๋ค.
์๋ ์์๋ฅผ ์ฐธ๊ณ ํ์.
ํด๋ผ์ด์ธํธ๊ฐ ์์ฒ๋ผ parameter๋ฅผ ๋ณด๋ธ๋ค๊ณ ์น๋ฉด, ์๋์ฒ๋ผ ์์ฑํด์ค์ผํ๋ค.
ํ์ต ๋ด์ฉ์ ๋ํ ๊ฐ์ธ์ ์ธ ์ดํ
๋ฏธํ ๋ ์ฌ๋ฌ๋ฒ ์งํํ๋ค๋ณด๋ ์งํ์ด ์ ์ ๋นจ๋ผ์ง๋ ๋๋์ด๋ค. ์ด์ ์ฌ ๋ชจ๋๋ณ ๋ถ๊ธฐ๋ฅผ ๋๋ ์ ์๋ ์๊ฑด์ ๋ค ๊ฐ์ถ ๋๋์ด ๋ ๋ค.
ํํธ setElement์ ๋ํด์ ์ํ์ฐฉ์ค๋ฅผ ๊ฒช์ด๋์ ์ํ์๊ธฐ ๋๋ฌธ์, ํ๋ก ํธ ์งํ์ด ์ํ ํ๋ค. ์ด๋ฒคํธ ํธ๋ค๋ง์ด ์ข ๋ณต์กํ ๋๋์ด ์๋๋ฐ ๋ฐ๋ก ๊ณ ๋ฏผํด๋ด์ผ๊ฒ ๋ค.
๋ค์ ํ์ต ๊ณํ
AppearanceView ๊ตฌํ ์๋ฃ
Last updated