CodeSquad Day 76 : Team Project 2 - Day 6
CodeSquad๐นDay 76
8์ ๋ฐ, ์์นจ์ด๋ ์ธ์ฆ์ผ๋ก ์์ํ ํ๋ฃจ์๋ค. ์์นจ์ ์ ๋ง ๋๋ฌด ํผ๊ณคํด์ ์ธ์ฆ๋ง ํ๊ณ ๋ค์ ์ ๊น ์๊น ์ถ์๋๋ฐ, ๊ณต์์ ๊ฑธ์ผ๋ฉฐ ์์พํ ๊ณต๊ธฐ๋ฅผ ๋ง์๋ ์ ์ด ๊บด๊ณ ์์พํ๊ฒ ํ๋ฃจ๋ฅผ ์์ํ ์ ์์๋ค. ์ญ์ ์์นจ ์ด๋์ ํจ๊ณผ๋ ๋๋ฌด ์ข๋ค! ๋น์ฅ ์ผ์ด๋ ๋๋ ํผ๊ณคํด์ ํ๋ค์ด๋ ํ๋ฃจ์ ํจํด์ ์ ์งํ ์ ์๊ฒ ๋์ ์ค๋ค.
Scrum
์ค๋๋ถํฐ๋ ๋ฐฑ์๋์ ๋๊ธฐ๊ฐ ๊ฐ์ธ์ฌ์ ์ผ๋ก ํ๋ก์ ํธ์์ ๋น ์ง๊ฒ ๋์ด์ ์ค์ด ํผ์์ ๋ฐฑ์๋๋ฅผ ๋งก๊ฒ ๋์๋ค. ์ด์ ๋ ์ธ ๋ช ์ด์ ํ ํ์ด ๋์ด์ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค. ์ค์ 10์๋ถํฐ 30๋ถ๊ฐ ํ๋, ์ค๊ณผ ํจ๊ป ์ด์ผ๊ธฐ๋ ํ๊ณ ์ค๋์ ํ ์ผ์ ๊ณต์ ํ๋ค. ๋ง๋ฌด๋ฆฌ ์คํฌ๋ผ์ ์ข ์ผ์ฐ ํ๊ฒ ๋์๋๋ฐ, 5์์ฏค๋ถํฐ ์์ํด์ ์ค๋ ํ ์ผ์ด ๋ฌด์์ด์๋์ง๋ฅผ ๊ณต์ ํ๋ค.
Class by Crong: Code Review, React
2์๋ถํฐ ์ฝ 2์๊ฐ ๋์ ์งํ๋ ํฌ๋กฑ์ ์์ ! ์ฒ์ ์์ํ ๋ ํฌ๋กฑ์ด ๋ช ๋ช ์ ์ฐ์ด ์ง๋ฌธ์ ํ๋๋ฐ ์ค๋ ๋ด๊ฐ ๋น์ฒจ๋์๋ค. ํ๋ก์ ํธ ๊ณํ์ ๋ํด์ ์ง๋ฌธ์ ํ์ จ๋๋ฐ ๋๋ ์ผ๋จ ๊ธฐ๋ฅ๊ตฌํ์ ๋ค ํ๊ณ ์ถ์๋ฐ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ์ถ๋ค๊ณ ๋งํ๋ค. ๊ทธ๋ฌ๊ธฐ ์ํด์๋ OAuth์ ๋ํ ์ง์๊ณผ ํ ํฐ์ ์ด๋ค ์์ผ๋ก ํ๋ก ํธ ๋จ์์ ํ์ฉํ ์ง์ ๋ํ ์ง์์ด ์ข ๋ ํ์ํ๋ค๋ ๊ฒ๋ ๋ง์๋๋ ธ๋ค. ๊ณต๋ถํ ๊ฒ์ด ์ ๋ง ๋ง์์ ์๊ฐ์ ๋ญ๋นํด์ ์ ๋๊ฒ ๋ค๋ ์๊ฐ์ด ๋ง์ด ๋ค์๋ค.
#1. Live Code Review by Crong!
๊ทธ๋ฆฌ๊ณ ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ๋๋ค์ผ๋ก ๋ฐ๋๋ฐ ์ด๋ฒ์ ํ๋์ ํจ๊ป ํ ํ๋ก์ ํธ๋ฅผ ํฌ๋กฑ์ผ๋ก๋ถํฐ ๋ผ์ด๋ธ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์ ์ ์์๋ค!
์ ๋ด ๋ฆฌ๋ทฐ์ด์ธ json์ผ๋ก๋ถํฐ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ๊ธด ํ์ง๋ง ์ถ๊ฐ์ ์ผ๋ก ํฌ๋กฑ์ ์ธ์ธํ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์ ์ ์์์ด์ ๋งค์ฐ ์ ์ตํ๋ค.
- status code
- import ๋ฐฉ์
- async ํ ๋ try~catch ํ์ฉํ ๊ฒ ๋ฑ๋ฑ
๋ํ ํฌ๋กฑ์ ๋ง์ ์ค ์ธ์ ๊น์๋ ๊ฒ, ํฌ๋กฑ์ด ์ฝ๋๋ฆฌ๋ทฐ ํ๋ฉด์ ๋๋ ๊ฒ์ด ์์ง ๊ฐ๋ฐ์ ๋จ๊ณ๋ผ๊ณ ๋ณด๊ธฐ์ ๊ฐ ๊ธธ์ด ๋ฉ๋ค๋ ๊ฒ์ด๋ผ๊ณ ํ์ จ๋ค. ๋ฆฌ์กํธ๋ฅผ ๋๋ฌด ๊ฐ๋ค๊ฐ ์ฐ๊ธฐ๋ง ํ์ง ๋ง๊ณ , ์ด๋ค ์์ผ๋ก ๋์ํ๋์ง ํ๊ตฌํ๋ ์๊ฐ๋ ์ค์ํ๋ค๊ณ ํ์ จ๋ค. ์ฆ ๋๋ฌด ๊ธฐ๋ฅ ๊ตฌํ์๋ง ๋ชฐ๋ํ๊ธฐ๋ณด๋ค๋ React ์์ฒด๋ฅผ ์ข ์์์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ง์ด ๋ค์๋ค.
#2. React
- Styled Components์ tagged template literal์ ๊ณต๋ถํ๊ณ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ ์ฌ์ฉํ์
- useState, useEffect, useRef์ ์๋ฆฌ๋ฅผ ์๊ณ ์ฐ์
Team Project
# 1๋ถ ์ค์ (10:30~12:30)
- PR ๋ฆฌ๋ทฐ ๋ฐ์ ๊ฒ ์ ์ฉ
- ํด๋ ๊ตฌ์กฐ ๊ฐํธ๊ณผ jsconfig ์ ์ฉํด์ ์ ๋ ๊ฒฝ๋ก๋ก ์ ์ฉ
# ์ ์ฌ์๊ฐ ํ์ฉ
์ค๋ ์์นจ์ ์ผ์ด๋ ๋ ๋งค์ฐ ํ๋ค์์ด์ ํน์๋ ์ ์ฌ ์๊ฐ์ ์ปจ๋์ ์ด ์ข์ง ์์๊น ์ผ๋ คํ์๋๋ฐ ์๊ฐ๋ณด๋ค ์ข์์ ํ๋ก์ ํธ๋ฅผ ์ข ๋ ๊ณ ๋ฏผํ๊ธฐ๋ก ํ๋ค. ์์์ ์นด๋์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ ธ์ ๋ Hover ํจ๊ณผ๋ฅผ ์ฃผ๋ ๊ฒ์ด์๋๋ฐ ์ด๊ฒ์ ๊ตฌํํ๋ฉด์ brightness๋ผ๋ css ํจ์๋ ์๊ฒ ๋์๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ ์์ after๋ฅผ ํ์ฉํด์ ์ฃผ๋ ค๊ณ ํ๋๋ฐ ์ด๊ฒ ๋ด๊ฐ ์ํ๋ ๋๋ก ๊ตฌํํ๋ ๊ฒ ์ฝ์ง ์์์ ๊ทธ๋ฅ svg๋ฅผ ๊ฐ์ ธ์์ ํด๊ฒฐํ๋ค. ๋ด๊ฐ ๊ตฌํํ ๊ฒ์ ๋ํด์ ํ๋์๊ฒ ์ค๋ช ์ ํ๊ณ ์กฐ๊ธ ๋ ๋ก์ง์ ์ถ๊ฐํด์ ๋ฐ์ํ๋ค. Mouseover ์ด๋ฒคํธ๋ก ํ์ ๋ ๋ฒ๊ทธ๊ฐ ๋์ Mouseenter๋ฅผ ์ ์ฉํ๋๋ ์ ๋์๋ค.
# 2๋ถ ๋ฐค (6:00~9:30)
ํฌ๋กฑ ์์ ์ด 4์๊ฐ ์ข ๋์ด์ ๋์ด ๋ฌ๊ณ , ํด์์ ์ข ์ทจํ๋ ๋ฒ์จ ๋ง๋ฌด๋ฆฌ ์คํฌ๋ผ์ ํ ์๊ฐ์ด ๋์ด์ ๊ทธ๋ฅ ์์ ์ ๋ ์๊ฐ์ ๊ฐ์ง๊ณ ๋ฐค ์๊ฐ์ ํ์ด ํ๋ก๊ทธ๋๋ฐ์ ํ๊ธฐ๋ก ํ๋์ ์ฝ์์ ์ ํ๋ค. ๋๋ ์ข ๋ ์ง์คํ๊ธฐ ์ํด์ ์นดํ๋ก ๋์๋ค. ์นดํ๊ฐ ์ข ์๋๋ฌ์ ๊ธฐ์ ๊ฒ๋ํ์ด ๋ง์ดํฌ๋ฅผ ์ฐ๋ ๋์ ์นด์นด์คํก์ ๋ณด์ด์คํก์ผ๋ก ์งํํ๋ค.
- Hover ํจ๊ณผ ์์ฑ
- Slider UI ์์ฑ
- Slider ๊ธฐ๋ฅ ๊ตฌํ ์งํ ์ค