
๐KEEP
- 6์ ๊ธฐ์
- ๋ฏธ๋ผํด๋ชจ๋๊น์ง๋ ์๋๊ณ ์ผ์ฐ ์์ ์ผ์ฐ ์ผ์ด๋๋ ์ต๊ด์ ๋ค์ฌ๋ณด๋ ค๋๋ฐ ์ผ๋จ ์ฒซ๋ ์ ์ฑ๊ณตํ๋ค. ํ์คํ ๋๋ ์์ ์ ๊ฐ๊น์ด ์๋ฒฝ๋ณด๋ค๋ ์์นจ์ ๊นจ์ด ์๋ ๊ฒ ๊ธฐ๋ถ๋ ๋ ๋ซ๊ณ ์ปจ๋์
๋ ์ข์ ๋ฏ.
- Node.js๋ ์ ๊ธฐํ๋ค
- JS ํ์ผ ํ๋๋ก ์๋ฒ๋ฅผ ๋ง๋ค์ด์ ์ด๋ฐ์ ๋ฐ url์ ์ฐ๊ฒฐํ๋ค๋ ๊ฒ... ์ฐธ ์ ๊ธฐํ๋ค. ๋ฌผ๋ก ๋ชจ๋ ์๋ฒ๋ค์ด ์ด๋ ๊ฒ ๋ง๋ค์ด์ง๋ ๊ฑด ์๋๊ฒ ์ง๋ง ํ์คํ ์๋ฒ ๋ง๋๋ ์์
์ ์ฝ๊ฒ ๋ง๋ค์ด์ฃผ๊ธฐ๋ ํ๋๊ตฌ๋.
- GET/POST ๊ฐ๋
์ด ์ด๋ ์๊ฐ ์ดํด๋์ด ์๋ค. ๋ถ๋ช
์ฒ์ ๋ฐฐ์ ์ ๋๋ ํ ... ์ถ์๋๋ฐ, ๊ทธ๊ฐ ๋ฑํ ์ดํดํ๋ ค๊ณ ๋
ธ๋ ฅํ ๊ฒ๋ ์๋๊ฑด๋ง ์ด๋ ์๊ฐ ๋ฌด๋ฆฌ์์ด ์ดํด๋์ด ์๋ค. ํ์คํ ๋๋ฌด ์ด๋ ค์ด ๊ฐ๋
์ ๊ณ์ ๋ถ์ก๊ณ ์์ ๊ฒ ์๋๋ผ ์ผ๋จ ๋์ด๊ฐ ๋ค์ ๋ค์ ์ฐพ์๋ณด๋ ๊ฒ ์ค์ํ ๋ฏ.
- REST API ๋๋์ด ๋ฌด์์ธ์ง ๋ฐฐ์ฐ๋ค
- ์ ํ๋ธ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋ ๋ ์ ๋์ค์ ๋ด์ผ์ง ํ๊ณ ๋ฏธ๋ฃจ๊ธฐ๋ง ํ๋ ๊ฐ๋
์ ๋ฐฐ์ ๋ค. API๋ฅผ ๋ง๋ค ๋ ํน์ ์์น์ ์ง์ผ์ ๋ง๋ค๋ฉด ์ฌ์ฉ์๋ ์ด์ฉ์๋ ํธํ๋ค๋ ๊ฒ์ธ๋ฐ, ์ด๋ ต์ง ์์ผ๋ฉด์๋ ํ์์ ์ธ ๋ฏ. ๊ฐ์๋ฅผ ๋ฃ๊ณ ์ฝ๋ฉ์ ํ ์ฌ์ดํธ URL์ ๋ณด๋ REST API๊ฐ ์ ์ ์ฉ๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
- ์บ๋ฌ์
์ ์ด๋ฏธ์ง๋ง ์ฌ๋ผ์ด๋ํ๋ ๊ฒ ์๋๋ค
- ์ด๋ฏธ์ง๋ฟ๋ง ์๋๋ผ ์์ผ๋ก ์ฌ๋ผ์ด๋ ๋๋ ๋ค๋ฅธ ๊ธฐ๋ฅ๋ค๋ ๋ค ์บ๋ฌ์
์ ์์ฉ์ด์๋ค!
- float ์์ฑ๊ณผ ์นํด์ง๊ธฐ ์์ฃผ ์ข๋ค. ์๋ฅผ ๋ค์ด
overflow: hidden์ ์ฝํ
์ธ ์ ํฌ๊ธฐ๊ฐ ํด๋น ์์์ ํฌ๊ธฐ๋ณด๋ค ํด ๋, ๋์ณ๋๋ ๋ถ๋ถ์ ์จ๊ฒจ์ค๋ค. ์ด์ ๋ ๋ชจ๋ฅด์ง๋ง ๋จ๋ฐํ๋ฉด ์ข์ง ์๋ค๊ณ ์ฌ๊ธฐ์ ๊ธฐ์ ๋ค์ด๋ณธ ๋ฏ...
- ์คํฌ๋กค ์ด๋ฒคํธ๋ ์ฌ๋ฏธ์๋ค
- scroll์ ์์ง์ผ ๋ DOM์ ์ด์ฉํด์ html ์์๋ฅผ ๋ฐ๊พธ๋ ๊ฒ์ ์ ์๋ ํด๋ดค์๋๋ฐ, scroll์ ์์น๋ scroll์ด ์์ง์ธ ๋์ด(?) ๋ฑ์ ์ค๋ ์ฒ์ ๋ค๋ค๋ณด์๋ค.
scrollTop ์์ฑ์ ์ด์ฉํ๋ฉด ์คํฌ๋กค์ ํ์ฌ ์์น์ด์ ์คํฌ๋กค์ ์์ง์ธ ๊ฑฐ๋ฆฌ๋ฅผ ์ ์ ์๊ณ , scrollHeight๋ฅผ ์ด์ฉํ๋ฉด ํ์ฌ ์คํฌ๋กค๋ฐ๊ฐ ์ค์ ๋ ์์์ ์ค์ ๋์ด๋ฅผ ์ ์ ์๋ค. ์คํฌ๋กค์ ์ค์ ๋ก๋ ์์์ ๋์ด๋งํผ ์์ง์ด๋ ๊ฒ์ด ์๋๋ผ ์ ๋ณด์ด๋ ๋ถ๋ถ๋งํผ๋ง ์์ง์ด๋ ๊ฒ์ด๋ฏ๋ก scrollTop ๊ฐ์ ์์์ ๋์ด๋ฅผ ๋ํด ์ฃผ์ด์ผ ๋น๋ก์ scrollHeight ๊ฐ๊ณผ ๊ฐ์์ง๋ค. ์ฌ๊ธฐ์ ์์์ ๋์ด๋ clientHeight ์์ฑ์ ํตํด ์ป์ ์ ์๋ค.
- ์ด๊ฒ ๋จธ๋ฆฌ๋ก๋ ์ดํด๊ฐ ๋๋๋ฐ ์ค๋ช
ํ๋ ค๋๊น ๋ถ์กฑํ ๊ฐ์ด ์์ง ์์ ์๋ค. ๋ณด๋ค ์ฝ๊ณ ์ ํํ๊ฒ ์ค๋ช
ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ฐพ์๋ด์ผ๊ฒ ๋ค.
- ์ฌ๋ฆฌํ
์คํธ๋ ์๊ฐ๋ณด๋ค ๋ง๋ค๊ธฐ ์ด๋ ต๋ค
- ํ์ด์ง๋ฅผ ์์๊ฒ ๋ง๋ค๊ณ , ๋ฒํผ์ ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ฅผ ๋ฌ์์ฃผ๋ ๊ฒ๊น์ง๋ ์ ์๋ ํด๋ณธ ๊ฑฐ๋ผ ๊ด์ฐฎ์๋ค. ๋ฌธ์ ๋ ์๊ณ ๋ฆฌ์ฆ์ด ๋์จ ๋ค๋ถํฐ์ธ๋ฐ... ์ผ๋จ ์ฝ๋๊ฐ ๋๋ฌด ๊ธธ์ด์ ธ์ 1์ฐจ๋ก ๋ฉ๋ถ์ด ์๋ค๊ฐ ์นด์นด์คํก API๋ฅผ ์ด์ฉํด์ ๊ณต์ ํ๊ธฐ ๊ตฌํํ๋ ๊ตฌ๊ฐ์์ 2์ฐจ๋ก ๋นํฉํ๊ณ ๊ทธ ์ดํ๋ก๋... ๊ฐ์ Node.js ๊ฐ์๋ ๋ ๋ค์ด์ผ๊ฒ ๋ค ใ
ใ
...
- ์ ๊ธฐํ VSCode ๋จ์ถํค
- ์ด๋ค ๋จ์ด๋ฅผ ๋ง์ฐ์ค๋ก ๋๋๊ทธํ ๋ค
ctrl+D๋ฅผ ๋๋ฅด๋ฉด ๊ฐ์ ๋จ์ด๋ฅผ ์ ๋ถ ์ ํํด์ค๋ค!
๐PROBLEM
- ๋ฑํ PROBLEM์ ๋ถ๋ฅํ ๋งํ ์ผ์ด ์๋ค
- ๋ฌธ์ ๋ ๋งํ ๊ฒ ์์ผ๋ ์ข์ ๊ฑธ๊น...?
๐TRY
- ์ผ๊ธฐ ์ฑ์ ๋ง๋ค๊ณ ์ถ๋ค
- ์ ํํ ๋งํ์๋ฉด ์ฌ๋ฌ ์ข
๋ฅ์ ๊ธ์ ์ธ ์ ์๋ ์ฑ์ด๋ ์ฌ์ดํธ๋ฅผ ๋ง๋ค๊ณ ์ถ๋ค. ์ง๊ธ Node.js ๊ฐ์์์ ํฌ๋ ์ฑ์ ๋ง๋ค๊ณ ์๋๋ฐ, ์ด๊ฑธ ์์ฉํ๋ฉด ์ฌ๋ฌ ๊ธ์ ์ธ ์ ์์ง ์์๊น ์ถ๋ค. ์์ ๋ถํฐ ์์ค์ ์ฐ๋ ์ฑ์ ๋ง๋ค๊ณ ์ถ๊ธฐ๋ ํ๊ณ , ์ด๊ฒ์ ๊ฒ ์ง์์ด ๋์ด๊ฐ๋๊น ์กฐ๊ธ๋ง ๋ ๊ณต๋ถํ๋ฉด ๋ง๋ค ์ ์๊ฒ ๋ค๋ ์๊ฐ์ ๊ณง ํ์ ์ด ๋์๋ค. ์์ ๋ค์ ์นดํ์ฒ๋ผ ๊ธ ์ข
๋ฅ๋ฅผ ์ ํํ๋ฉด ์์๋ ๋ฏธ๋ฆฌ ๋ฐ ์ ์๊ฒ๋ ๋ง๋ค์ด ๋ณด๊ณ ์ถ๋ค.
- ํ ๋ฒ์ ๋๋ฌด ์ฌ๋ฌ ๊ฐ๋ฅผ ๋ฐฐ์ฐ์ง ๋ง์
- ์ดํด๊ฐ ์ด๋ ค์ด ๊ฑด ์๋๊ณ , ์ ์ ์ฌ๋ฉ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ญ๊ฐ ํ ๊ฐ์ง์ ์ง์ค ๋ชปํ๋ ๊ธฐ๋ถ์ด๋ค. JS๋ Node.js๋ถํฐ ๋ฐฐ์ฐ๊ณ HTML์ด๋ CSS ๋ณต์ตํ๋ฉด์ ๋ฆฌ์กํธ๋ฅผ ๋ฐฐ์ฐ์!