-
Notifications
You must be signed in to change notification settings - Fork 0
๐ ์ฑ๋ฅ ์ต์ ํ(๋๋ฐ์ด์ค์ ์ฐ๋กํ๋ง)
scroll, resize, input๊ณผ ๊ฐ์ ์งง์ ์๊ฐ ๊ฐ๊ฒฉ์ผ๋ก ์ฐ์ํด์ ๋ฐ์ํ๋ ์ด๋ฒคํธ๊ฐ ๊ณผ๋ํ๊ฒ ํธ์ถ๋๋ฉด ์ฑ๋ฅ์ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ฒ์ ์ ๋ ฅ์ฐฝ์ ๊ฒฝ์ฐ ์ ๋ ฅ ๊ฐ์ด ๋ฐ๋๋๋ง๋ค API๋ฅผ ํธ์ถํ๊ฒ ๋๋ฉด, ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ์ ์ด ๋ฐ์ํ๋ค.
- ์๋ฒ๋น์ฉ๊ณผ ๋ฐ์ดํฐ ์ ์ก ๋น์ฉ์ ์ฆ๊ฐ์ํฌ ์ ์๋ค.
- ์๋ฒ ๋ฐ ๋คํธ์ํฌ ๋ถํ๋ฅผ ์ ๋ฐํด ์๋ฒ์ ์๋ต ์ง์ฐ์ด๋ ๋คํธ์ํฌ ๋ณ๋ชฉ ํ์์ ์ด๋ํ ์ ์๋ค.
๊ทธ๋ผ ์ด๋ฒคํธ ํธ๋ค๋ฌ์ API์์ฒญ๊ณผ ๊ฐ์ ๋ฌด๊ฑฐ์ด ์ฒ๋ฆฌ๋ฅผ ์ํํ์ง ์๋๋ค๋ฉด ๊ด์ฐฎ์๊ฑฐ ์๋๊ฐ?
๋ธ๋ผ์ฐ์ ๋ ๋จ์ผ ์ฐ๋ ๋์์ ์ด๋ฒคํธ ๋๋ฆฌ๋ธ ๋ฐฉ์์ผ๋ก ๋์ํ๋ค.
์ฐ๋ฆฌ๊ฐ ํน์ ์์์ ๋ฑ๋กํ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ ํน์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ํน์ ํจ์๋ฅผ ํธ์ถํ๋๋ก ๋ธ๋ผ์ฐ์ ์๊ฒ ์์ํ๋ค.
๊ฐ๋ฐ์๊ฐ ์ฌ์ฉ์์ ์ด๋ฒคํธ๊ฐ ์ธ์ ๋ฐ์ํ ์ง ๋ชจ๋ฅด๋ ๋ธ๋ผ์ฐ์ ๊ฐ ํน์ ํ๋์ ๊ฐ์งํ์ฌ ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํค๊ณ ์ฐ๋ฆฌ๊ฐ ๋ฑ๋กํ ์ด๋ฒคํธ ํธ๋ค๋ฌ๊ฐ ๊ทธ๋ ํธ์ถ๋๋ ๊ฒ์ด๋ค.
๊ทธ๋ผ ๋ธ๋ผ์ฐ์ ์๊ฒ ์ด๋ฒคํธ ํธ๋ค๋ฌ์ ํธ์ถ๋ฅผ ์์ํ์ผ๋, ๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ํธ์ถํ๋ ๊ณผ์ ์ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด ์์ค์ฝ๋๋ฅผ ์คํํ๋ฉด์ ๊ฐ๋ฐ์๊ฐ ์ ์ํ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ๋ธ๋ผ์ฐ์ ์ ๋ฑ๋กํ๋ค.
- ํน์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ๋ธ๋ผ์ฐ์ ๋ ๋ฑ๋ก๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ํ์คํฌ ํ์ pushํ๋ค.
- ์ด๋ฒคํธ ๋ฃจํ๊ฐ ๋๋ฉด์ ์ฝ์คํ์ด ๋น์ด์์๋ ๋๊ธฐ์ค์ด๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ์ฝ์คํ์ผ๋ก ์ด๋์ํค๊ณ , ์คํ๋๋ค.
- ๋ง์ฝ ์ด์ ์ ํ์คํฌ ํ์ ๋๊ธฐ์ค์ธ ํจ์๊ฐ ์๋ค๋ฉด ๋จผ์ ๋ค์ด์จ ํจ์๋ถํฐ ์ฝ ์คํ์ผ๋ก ์ด๋์์ผ ์คํ๋๋ค.
์์ ๋ด์ฉ์ ๋ฐํ์ผ๋ก, ์คํฌ๋กค์ด๋ฒคํธ ํธ๋ค๋ฌ๊ฐ ๋ฑ๋ก๋๊ณ ์คํ๋๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ด ๋ง๋ค์ด๋ดค๋ค.
์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ด๋ฒคํธ ํธ๋ค๋ฌ๊ฐ ์คํ๋๊ธฐ ๋๋ฌธ์, ์คํฌ๋กค ์ด๋ฒคํธ ํธ๋ค๋ฌ๊ฐ ์๋ฌด๋ฆฌ ๋ฌด๊ฑฐ์ด ์ฒ๋ฆฌ๋ฅผ ํ์ง ์๋๋ผ๋ ๋ค๋ฅธ ๋น๋๊ธฐ ์์ฒญ์ด๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ์ ์์ฒญ์ ์ง์ฐ์ํฌ ์ ์๊ณ ์ด๋ ์์ข์ UX๋ก ์ด์ด์ง ์ ์๋ค.
input ์ด๋ฒคํธ์๋ ๋๋ฐ์ด์ค๋ฅผ, ์คํฌ๋กค ์ด๋ฒคํธ์๋ ์ฐ๋กํ๋ง์ ์ ์ฉํ ์ด์ ?
๋๋ฐ์ด์ค๋ ์งง์ ์๊ฐ ๊ฐ๊ฒฉ์ผ๋ก ๋ฐ์ํ๋ ์ด๋ฒคํธ๋ฅผ ๊ทธ๋ฃนํํด์ ์ ์ผ ์ต์ ์ด๋ฒคํธ ํธ๋ค๋ฌ๊ฐ ํธ์ถ๋๋๋ก ํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๊ฐ ๊ฐ์ฅ ๋ง์ง๋ง์ ์ ๋ ฅํ ๊ฐ์ผ๋ก API ์์ฒญ์ ๋ณด๋ด๋ ์ํฉ์ ์ ํฉํ๋ค. ์ด๋, ์ฌ์ฉ์๊ฐ ์ผ์ ์๊ฐ ๋์ ์ ๋ ฅํ์ง ์์์๋ ์ ๋ ฅ์ด ์๋ฃ๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๋ค.
๋๋ฐ์ด์ค ์ ์ฉ์
๋ํ, ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ๋ ๋์ ์๋ํ์ง ์์ API ์๋ต์ผ๋ก ๋ ๋๋ง๋์ด ํ๋ฉด ์ ํ์ด ๋น ๋ฅด๊ฒ ์ผ์ด๋๋ฉด์ UX๋ฅผ ์ ํ์ํฌ ์ ์๋ค.
๋ฐ๋ผ์, ๊ฒ์ ์ ๋ ฅ์ฐฝ ํ์๊ฐ์ ๋ชจ๋ฌ์ฐฝ์ ๋๋ค์ ์ ๋ ฅ์ฐฝ๊ณผ ๊ฐ์ ์ ๋ ฅ ์ด๋ฒคํธ๊ฐ ๋ฐ์๋๋ ๊ณณ์ ๋๋ฐ์ด์ค๋ฅผ ์ ์ฉํ๋ค.
๋๋ฐ์ด์ค ์ ์ฉํ
๋๋ฐ์ด์ค๋ ์์๊ฐ์ด ์ฌ๋ฌ๊ตฐ๋ฐ์์ ์ฌ์ฉ๋๊ธฐ๋๋ฌธ์, ์ปค์คํ ํ ์ผ๋ก ๋ง๋ค์ด ์ฌ์ฌ์ฉ์ฑ์ด ๊ฐ๋ฅํ๊ฒ ํ๋ค.
์ฐ๋กํ๋ง์ ์งง์ ์๊ฐ ๊ฐ๊ฒฉ์ผ๋ก ๋ฐ์ํ๋ ์ด๋ฒคํธ๋ฅผ ๊ทธ๋ฃนํํด์ ์ผ์ ์๊ฐ ๋จ์๋ก ์ด๋ฒคํธ ํธ๋ค๋ฌ๊ฐ ํธ์ถ๋๋๋ก ํธ์ถ ์ฃผ๊ธฐ๋ฅผ ๋ง๋ ๋ค.
์คํฌ๋กค ์ด๋ฒคํธ์ ๋๋ฐ์ด์ค๋ฅผ ์ ์ฉํ๊ฒ ๋๋ฉด ์ฌ์ฉ์๊ฐ ์คํฌ๋กค ์ด๋ฒคํธ๋ฅผ ๋ฉ์ถ์ง์๊ณ ๊ณ์ ๋ฐ์์ํค๋ ๊ฒฝ์ฐ์ฌ์ฉ์์ ์คํฌ๋กค์ ์ค์๊ฐ์ผ๋ก ๋ฐ์ํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ์ด๋ฒคํธ์ ๋ฐ์ ์ฃผ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ์ฐ๋กํ๋ง์ด ๋ ์ ํฉํ๋ค๊ณ ์๊ฐํ๋ค.
์คํฌ๋กค์ด๋ฒคํธ๊ฐ ํธ์ถ ๋ ๋๋ง๋ค ๊ฐ์ ์ฆ๊ฐํ๋ ์ํ ๊ฐ์ ๊ฐ์ด ๋ณ๊ฒฝ๋ ๋๋ง๋ค ์ฝ์๋ก๊ทธ๋ฅผ ์ฐ์ด๋ณด๋ฉด ์์ ๊ฐ์ด ์ ์ฒด ์คํฌ๋กค์ ๋ฐ๋ง ์์ง์ด๋๋ผ๋ ์ฝ 70๋ฒ์ ์คํฌ๋กค ์ด๋ฒคํธ๊ฐ ํธ์ถ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
์ฐ๋กํ๋ง ์ ์ฉ ํ ์ ๋ณด๋ค ๋ ๋ง์ด ์คํฌ๋กค ํ์์๋ ๋ถ๊ตฌํ๊ณ ์ฝ 30๋ฒ์ผ๋ก, 50%์ด์ ์ด๋ฒคํธ ๋ฐ์ ๋น๋๋ฅผ ์ค์ผ ์ ์์๋ค.
์ฐ๋กํ๋ง์ ์ฑํ ๋ฐฉ ํ์ด์ง์ ์คํฌ๋กค ์ด๋ฒคํธ ํธ๋ค๋ฌ์์๋ง ์ฌ์ฉ๋๊ธฐ ์๊ธฐ๋๋ฌธ์, ๊ฐ๋จํ ์ ํธ ํจ์๋ก ๋ถ๋ฆฌํ์ฌ ์ ์ฉํ์๋ค.
- [FE] ์ฑ๋ฅ ์ต์ ํ(๋๋ฐ์ด์ค์ ์ฐ๋กํ๋ง)
- [FE] ์ฑํ -1 ์ฑํ ์ ์ด๋ป๊ฒ ์ ์ฅํ ๊น?
- [FE] ์ฑํ -2 ์ฝ์ง ์์ ์ฌ๋ ์๋ฅผ ์ด๋ป๊ฒ ๊ณ์ฐํ ๊น?
- [FE] ์ฑํ -3 ํ๋กํ์ ๋ณด์ฌ์ฃผ๋ ๊ฒฝ์ฐ
- [FE] ์ฑํ -4 ํ๋กํ์ ๋ณด์ฌ์ฃผ๋ ๊ฒฝ์ฐ
- [FE] ์ฑํ -5 ํ๋กํ์ ๋ณด์ฌ์ฃผ๋ ๊ฒฝ์ฐ
- [FE] ๋ฌดํ์คํฌ๋กค๊ณผ IntersectionObserver hook ๋ง๋ค๊ธฐ
- [FE] recoil์ atomFamily ์ฌ์ฉํ๊ธฐ
- [FE] ๋ฐ์ํ ์ค์ผ๋ ํค UI ๋ง๋ค๊ธฐ
- [FE] svgํ์ผ์ React์์ ์ปดํฌ๋ํธ์ฒ๋ผ ์ฌ์ฉํ๊ธฐ
- [BE] ์ฑํ ๋ฐฉ ์ด๋ฒคํธ ์ ๋ฆฌ
- [BE] ์์ฝ์ ์ฌ๋์ ๊ณ์ฐํ๊ธฐ
- [BE] ํฌ๋กค๋ฌ ์บ์ฑ
- [BE] ๋ค์ด๋ฒ ์์ ๋ก๊ทธ์ธ
- [BE] ํ ๋ง ๊ด๋ จ API ์บ์ฑ์ ์ฉ
- [BE] S3์ ์ฌ์ฉํด๋ณด์์ด์
- [BE] ์ฑ๋ฅํ ์คํธ ํ๊ฒฝ ๊ตฌ์ถ
- [BE] ์ฑํ ์ํคํ ์ฒ ๊ตฌ์ฑํ๊ธฐ
- [BE] swagger๊ฐ ์์ฑํ ์ฝ๋๋ณด๋ค ๊ธธ์ด์ง ๋
- [BE] @OptionalGuard ๋ฐ์ฝ๋ ์ดํฐ