CSS ์์ ๋งฅ๋ฝ๊ณผ ์ปจํ ์ด๋ ๋ธ๋ก
์ต๊ทผ ์ค๋ฌด์์ position: fixed
์คํ์ผ์ด ์ ์ฉ๋ ํค๋(FIXED HEADER)๊ฐ
์ฌํ๋ฆฌ์ ๊ฐ์ ์ผ๋ถ ๋ธ๋ผ์ฐ์ ์์ ์๋ ์คํฌ๋ฆฐ์ท๊ณผ ๊ฐ์ด ์ ์ฒด ์์ญ์ผ๋ก ๋ฒ์ด๋๋ ์ด์๋ฅผ ๊ฒช์์ต๋๋ค.
๊ธฐ๋ํ๋ ๋์์ ํค๋๊ฐ ์ผ์ชฝ ํจ๋ ๋ด์ ๊ณ ์ ๋๋ ๊ฒ์ด์์ต๋๋ค.
position: relative
๋ก ์ ์๋ ๋ถ๋ชจ ์์(LEFT) ๋ด๋ถ์ ๊ณ ์ ๋ ๊ฑฐ๋ ์์์ด ๋น๋๊ฐ ๊ฝค ๋นํฉํ๊ณ , ์น ๊ฒ์์ผ๋ก transform: translateZ(0)
์คํ์ผ์ ์ ์ฉํด ๊ธํ ์์ ํ์ต๋๋ค.
๋๋ฆ CSS๋ฅผ ๋ง์ด ๋ค๋ค์๋ค๊ณ ์๊ฐํ๋๋ฐ ๋ ์ด์์ ๊ธฐ์ด ์ง์์ ํ์ ์ด ๋๋ฌ๋ ๋ฐ์ฑํ๋ ๊ณ๊ธฐ๊ฐ ๋๊ณ , ๊ทผ๋ณธ์ ์ธ ์์ธ๊ณผ ํด๊ฒฐ์ฑ ์ ์์๋ณธ ๊ณผ์ ์ ์ ๋ฆฌํ์ต๋๋ค.
์ํํธ์จ์ด๊ฐ ์ฐ์ด๋ ๋ฐฉ์๊ณผ ๋ฎ์ ํ ์คํธ
Kent C.Dodds ๋์ ๋ธ๋ก๊ทธ๋ฅผ ๋ณด๋ฉด ์๋ ๋ฌธ์ฅ์ด ์๋นํ ์์ฃผ ๋ฑ์ฅํฉ๋๋ค. ๊ทธ๊ฐ ๋ง๋ Testing Library์ ์์น์ด๊ธฐ๋ ํฉ๋๋ค.
The more your tests resemble the way your software is used, the more confidence they can give you.
์ฌ์ฉ์(end-user)๋ ์ ํ์ ์ฌ์ฉํ ๋ ์ด๋ป๊ฒ ๊ตฌํ๋์๋์ง ์ ๊ฒฝ์ฐ์ง ์์ต๋๋ค. ๋ ์์ ๋ณด์ด๋(๋๋ ๊ท๋ก ๋ฃ๋) ํ ์คํธ, ๋ฒํผ, ์ ๋ ฅ ์ฐฝ๊ณผ ๊ฐ์ UI๋ฅผ ์ธ์งํ๊ณ ๊ทธ์ ๋ง๊ฒ ํ๋(์ ๋ ฅ, ํด๋ฆญ, ์คํฌ๋กค ๋ฑ)ํ์ฃ .
ํ ์คํธ ๋๊ตฌ ์ญ์ ์ ํ์ ์ฌ์ฉํ๋ ๋ ํ๋์ ์ฌ์ฉ์๋ก ์ทจ๊ธ๋์ด์ผ ํฉ๋๋ค. Testing Library์์๋ UI ์์๋ฅผ ์ ํํ๋ ๋ฐฉ๋ฒ(query)์ ์ฐ์ ์์๋ฅผ ์๋์ ๊ฐ์ด ์ ์ํฉ๋๋ค.
ํ์ ์คํฌ๋ฆฝํธ์์ ํ์ ์ ์ขํ๋ ๋ฐฉ๋ฒ
์ค๋ฌด์์ ํ์ ์คํฌ๋ฆฝํธ๋ฅผ 1๋ ์ ๋ ๋ค๋ฃจ๋ฉฐ ๋ ๊น์ ์ดํด์ ํ์์ฑ์ ๋๋ผ๋ ์ฐธ์ '์ดํํฐ๋ธ ํ์ ์คํฌ๋ฆฝํธ'๋ผ๋ ์ฑ ์ ์ฝ๊ฒ ๋๊ณ ์ค์ฉ์ ์ธ ๋ด์ฉ์ด ๋ง์ ์ ๋ฆฌํด๋๋ ค๊ณ ํฉ๋๋ค.
ํ์ ์คํฌ๋ฆฝํธ์ ์ ๋์จ ์ฐ์ฐ์๋ฅผ ํ์ฉํ๋ฉด ์ฌ๋ฌ ํ์ ์ ํฉ์งํฉ์ ์ ์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋๊ฐ์์ ์ํ๋ ํ์ ์ธ์ง ํ์ธํ๋ ๊ณผ์ ์ด ํ์ํฉ๋๋ค. ์ด๋ฅผ 'ํ์ ์ขํ๊ธฐ(narrowing)'๋ผ ํฉ๋๋ค.
์ด ๊ธ์๋ ํ์ ์ ์ขํ๋ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ ๋ฆฌํ๊ณ ์ค๋ฌด์์ ํ๊ทธ๋ ์ ๋์จ(tagged union)์ ํ์ฉํด ๊ฐ์ ํ๋ ์ฌ๋ก๋ฅผ ๋ด์์ต๋๋ค.
ํ์ ์คํฌ๋ฆฝํธ์ ๊ตฌ์กฐ์ ํ์ดํ
์ค๋ฌด์์ ํ์ ์คํฌ๋ฆฝํธ๋ฅผ 1๋ ์ ๋ ๋ค๋ฃจ๋ฉฐ ๋ ๊น์ ์ดํด์ ํ์์ฑ์ ๋๋ผ๋ ์ฐธ์ '์ดํํฐ๋ธ ํ์ ์คํฌ๋ฆฝํธ'๋ผ๋ ์ฑ ์ ์ฝ๊ฒ ๋๊ณ ์ค์ฉ์ ์ธ ๋ด์ฉ์ด ๋ง์ ์ ๋ฆฌํด๋๋ ค๊ณ ํฉ๋๋ค.
์ฑ ์๋ ํ์ ์คํฌ๋ฆฝํธ์ ํน์ฑ ์ค ํ๋์ธ '๊ตฌ์กฐ์ ํ์ดํ'์ด๋ผ๋ ๊ฐ๋ ์ด ์์ฃผ ๋ฑ์ฅํฉ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ๋ ํ์ดํ[^1] (duck typing) ๊ธฐ๋ฐ์ด๊ณ ํ์ ์คํฌ๋ฆฝํธ๊ฐ ์ด๋ฅผ ๋ชจ๋ธ๋งํ๊ธฐ ์ํด ๊ตฌ์กฐ์ ํ์ดํ์ ์ฌ์ฉํจ์ ์ดํดํด์ผ ํฉ๋๋ค. ํ์ ์ '๋ด์ธ'๋์ด ์์ง ์์ต๋๋ค.
โ ์์ดํ 4. ๊ตฌ์กฐ์ ํ์ดํ์ ์ต์ํด์ง๊ธฐ
๊ตฌ์กฐ์ ํ์ดํ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํน์ฑ์ ๊ฐ์ ํ ๋นํ ๋ ์ ์๋ ํ์ ์ ํ์ํ ์์ฑ์ ๊ฐ์ง๊ณ ์๋ค๋ฉด ํธํ๋๋ค๋ ์ ์ ๋๋ค.