โ์๊ฒ๋ ๊ฒ๋ค (so many)
- styled-components
- jsconfig.json ์ถ๊ฐํ์ฌ ๋ชจ๋์ ์ ๋๊ฒฝ๋ก๋ก ์ํฌํธ
- Intersection Observer
- [ { isIntersecting } ]
- dl, dt, dd
- README์ ์ถ๊ฐํ ์ ์๋ Markdown Badges
- netlify๋ก ๋ฐฐํฌํ๊ธฐ
- ์?์ ์์คํจ feat. ์ต๊ด ๋ฒ๋ฆฌ๊ธฐ
๐ฅ๊ทธ๋์ ํด๋ณด๋ ์ ๋ฆฌ
1. styled-components
css in js
๋ฐฉ์์ผ๋ก ์ปดํฌ๋ํธ๊ฐ ๋ ๋๋ง ๋ ๋ ์คํ์ผ ์ ๋ณด๋ฅผ ์ฝ๋๋ค๊ณ ํ๋ค.
but ๊ทธ ์ปดํฌ๋ํธ๊ฐ ๋ ๋๋ง ๋ ๋ ๋ง๋ค(!) ์คํ์ผ์ ๋ณด๋ ๊ฐ์ ธ์ด → ๋์ ์ธ ์ด๋ฒคํธ๊ฐ ์์ฃผ ๋ง์ ์ฌ์ดํธ๋ผ๋ฉด ์ปดํฌ๋ํธ ์ ํ์ด ๋ง์ ํ ๋ฐ ๊ทธ๋ฌ๋ฉด ๋ ๋๋ง์ด ๋๋ฌด ๋ง์์ง๋ค๋ ๋จ์ ์ด ์๊ธฐ๋ ํ๋ค.
๊ทธ๋๋ ํด๋์ค๋ช ์ ํ๋ํ๋ ์๊ฐํ์ง ์์๋ ๋๋ค๋ ์์ฒญ๋ ์ฅ์ ์ด ์์ผ๋ ์ค์ ๋ก ์ฌ์ฉ ํ ์์ธํ ์ ์ด์ผ๊ฒ ๋ค.
2. jsconfig.json ์ถ๊ฐํ์ฌ ๋ชจ๋์ ์ ๋๊ฒฝ๋ก๋ก ์ํฌํธ
ํ๋ก์ ํธ์ ์ต์์ํด๋(root)์ jsconfig.json์ ์ถ๊ฐํ๊ณ , ๋ค์ ์ฝ๋๋ฅผ ์ถ๊ฐ
→ src ๊น์ง ์์์ ์ธ์ํ๊ธฐ ๋๋ฌธ์ ๊ทธ ๋ฐ์ ๊ฒฝ๋ก๋ง ์ ์ผ๋ฉด ๋๋ค.
{
"compilerOptions": {
"baseUrl": "src"
},
"include": ["src"]
}
3. Intersection Observer
1) target์ผ๋ก ์นญํ๋ ์์๊ฐ ๊ธฐ๊ธฐ ๋ทฐํฌํธ๋ ํน์ ์์์ ๊ต์ฐจ
2) observer๊ฐ ์ต์ด๋ก ํ๊ฒ์ ๊ด์ธกํ๋๋ก ์์ฒญ๋ฐ์ ๋
๋ง๋ค ํธ์ถ๋๋ callback์ ์์ฑํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. (option์ optional / callback์ entries, observer๋ฅผ ๋งค๊ฐ๋ก ๋ฐ์)
let options = {
root: document.querySelector('#scrollArea'),
rootMargin: '0px',
threshold: 1.0
}
let observer = new IntersectionObserver(callback, options);
//new IntersectionObserver(callback[, options]);
10์ ๋ฐฐ์ comment๋ค์ target์ผ๋ก ์ค์ ํ๊ณ , ํ๊ฒ์ด isIntersecting ๋๋ฉด → page+1์ ํ๋ค → ๊ทธ page์ comments๋ค์ ๊ฐ์ ธ์จ๋ค
์๊ฐ ๋์์ ํฐ ํ์ด๋ค. ์์ธํ ๋ถ๋ถ์ ์ถํ ์ถ๊ฐํ ์์ ์ด๋ค..!
(์ถ๊ฐ๋ ๊ธ์ ์ฌ๊ธฐ์์ ํ์ธ!)
4. [ { isIntersecting } ]
์ง๋ ์ฝ๋๋ฅผ ๋ณด๊ณ ์ ๋ชฐ๋ผ์ ๋ฌผ์ด๋ดค๋ ๋ถ๋ถ์ด๋ค.
IntersectionObserverEntry๊ฐ ์ฌ๋ฌ properties๋ฅผ ๊ฐ๋๋ฐ(MDN ์ฐธ๊ณ ) ๊ทธ ์ค ํ๋์ธ isIntersecting๋ฅผ ์ฌ์ฉํ๋ ๋ถ๋ถ์ด๋ค.
[ ] ๋ก Entry๋ฅผ ๊ตฌ์กฐ๋ถํด → ๊ทธ ์์ ์๋ {isIntersecting} ์ ์ฌ์ฉํ๋ ๊ฑฐ๋ผ๊ณ ์๋ ค์ฃผ์ จ๋ค. ์ฒ์ฌ..
5. dl, dt, dd
dl์ ์ค๋ช ๋ชฉ๋ก์ ๋ํ๋, ์ฃผ๋ก ์ฉ์ด์ฌ์ ์ด๋ ๋ฉํ๋ฐ์ดํฐ(key-value)๋ฅผ ํ์ํ ๋ ์ฌ์ฉ
dt : ์ฉ์ด
dd : ๊ทธ์ ๋ํ ์ค๋ช ์ผ๋ก ์ด๋ฃจ์ด์ง
์ด๊ฑด 8๋ฒ๊ณผ๋ ์ฐ๊ฒฐ๋๋ ๋ฌธ์ ์ธ๋ฐ, ๋ด๊ฐ div์ span์ ์ฌ์ฉํ ๋ถ๋ถ์์ ์ง๋์ด ์๋ฉํฑ์ ์ผ๋ก dl, dt, dd๊ฐ ๋ ๋์ ๊ฒ ๊ฐ๋ค๊ณ ์๊ฒฌ์ ๋ง์ํด์ฃผ์ ์ ๋๋ฌด ์ข์๋ค.
6. README์ ์ถ๊ฐํ ์ ์๋ Markdown Badges
๋๋ ๋
ธ์ผ ๋ฆฌ๋๋ฏธ๋ฅผ ์ฐ๊ณ ์์๊ณ ์ง๋์ด ๊ท์ฌ์ด ๋ฐฐ์ง๋ฅผ ์๋ ค์ฃผ์
จ๋ค.
๋ฐฐ์ง๋ฅผ ๋ชจ์๋ github ←์ธ์ ๊ฐ ์ด ๋ฐฐ์ง๋ค์ ๋ค ์ธ์ด๋ด์๊ฑฐ์ผ๐
7. netlify๋ก ๋ฐฐํฌํ๊ธฐ
github ์์ด๋๋ก ๊ฐ์ ํ๊ณ repository ์ฐ๊ฒฐํ๋๊น ๊ธ๋ฐฉ ๋ผ์ ๊น์ง ๋๋๋ค!
ํ๋ฆฌํ๋ฅผ ๋ฐ์ ํ merge๋ฅผ ํ๋ฉด ์์ Deploys์ ๋ค์ด๊ฐ์ ์ฐ์ธก ํ๋จ์ Trigger deploy๋ฅผ ํ์ธํด์ฃผ๋ฉด ๋๋ค.
8. ์?์ ์์คํจ feat. ์ต๊ด ๋ฒ๋ฆฌ๊ธฐ
๊ตฌ๊ธmeet๋ก ์๊ธฐ๋ฅผ ํ๋๋ฐ ์ง๋์ด ์ ์ด๋ ๊ฒ ํ์ จ๋์ง, ๊ทธ๊ฑธ ์ฐ์ ์ด์ ๋ ๋ฌด์์ธ์ง ๋ฌผ์ด๋ด์ฃผ์ ์ ์ ๋ง๋ก ๋ง์ด ์๊ฐํ ์ ์๋ ๊ณ๊ธฐ๊ฐ ๋๋ค. ์ง๋ฌธ์ ์ด............... ํ๋ฉด์ ์ ๋๋ก ๋๋ตํ์ง ๋ชปํด์ ์ฃ์กํ๋คใ ใ ๋ ๋์ ์ ํ์ง๋ฅผ ๋ชฐ๋ผ์ ๋ชป ์ด ๊ฒ๋ ์์๊ณ , ๊ทธ๋ฅ ์๊ฐ์ ๋ชปํ๋ ๊ฒ๋ ์๊ณ ํด์ ๋ถ๋๋ฝ๊ธฐ๋ ํ๊ณ ์ซ ์์ฝ?๊ธฐ๋ ํ๋ค. ์์ ์๋ ์ ๊ทผ์ฑ์ด๋ ์น ํ์ค ๊ด๋ จ๋ ๊ธ์ ์ฝ๊ณ ๋ฐ์ฑํ์๋๋ฐ ๋ ๋ฌด๋์ก๋๋ณด๋ค... div ์ฌ๋ ๊ทธ๋งํด..
๐๊ณผ์ ํ๊ธฐ
์ฒ์ํ๋ ๊ณผ์ ์๋๋ฐ ์ ๋ง ์ง๋ ๋๋ฌด ์ฒ์ฌ๊ณ ์ฒ์ฌ๊ณ ์ฌ๋ฆผํฝ ๋๊ฐ์ผ๋ฉด ๋ชฉ์ ๊ธ๋ฉ๋ฌ 10๊ฐ ๊ฑธ๊ณ ์ค์ จ์๋ถ์ธ๋ฐ ๋๋ฌด ๊ณ ์ ๋ง์ดํ์ ๊ฒ๊ฐ์์ ๊ฐ์ฌํ๊ณ ์ฃ์กํ ๋ง์์ด๋คใ ใ ํ๊ณผ์ ๋ ๋ชจ๋ ์ ๊ทน์ ์ผ๋ก ์ฐธ์ฌํด์ฃผ์ ์ ๋ ์ด์ฌํ ๊ณต๋ถํ๊ณ ์ถ์(+ํด์ผ๊ฒ ๋ค๋) ๋ง์์ด ๋ง์ด ์๊ฒผ๋ค! 4์กฐ ๋ง์ธ
๐โ๏ธ์ฐธ๊ณ
https://developer.mozilla.org/ko/docs/Web/API/Intersection_Observer_API
https://create-react-app.dev/docs/importing-a-component/#absolute-imports https://developer.mozilla.org/ko/docs/Web/HTML/Element/dl
https://github.com/Ileriayo/markdown-badges
'๐๊ณต๋ถ > ํ๋ฆฌ์จ๋ณด๋ฉ์ฝ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ฆฌ์จ๋ณด๋ฉ์ฝ์ค] 3์ฃผ์ฐจ - ๊ณผ์ 4 (0) | 2021.08.11 |
---|---|
[ํ๋ฆฌ์จ๋ณด๋ฉ์ฝ์ค] 2์ฃผ์ฐจ -๊ณผ์ 3(2) (0) | 2021.08.08 |
[ํ๋ฆฌ์จ๋ณด๋ฉ์ฝ์ค] 2์ฃผ์ฐจ -๊ณผ์ 3(1) (0) | 2021.08.04 |
[ํ๋ฆฌ์จ๋ณด๋ฉ์ฝ์ค] 1์ฃผ์ฐจ -๊ณผ์ 2 (0) | 2021.08.01 |
[ํ๋ฆฌ์จ๋ณด๋ฉ์ฝ์ค] 1์ฃผ์ฐจ -์์์ผ (0) | 2021.07.26 |
๋๊ธ