์์ฐ์์ : https://www.youtube.com/watch?v=tlWO8ZRHJQw
๋๋์ง 1์ฃผ์ผ๋ ์์ง๋ฌ๋๋ฐ ๋ฒ์จ ๊ธฐ์ต์ด ์ ์๋๋ค. ์ผ๋ฅธ ์ ๋ฆฌ๋ฅผ ํด๋ฌ์ผ ๋ ๊ฒ ๊ฐ๋ค. ์ข์ ํ๋ก์ ํธ๋ผ๋ ํ์ ๋ฐ์์ ๊ธฐ์ต์ ๋จ๋ ํ๋ก์ ํธ๊ธฐ๋ ํ๊ณ , ์ค๊ฐ์ ๊ฝค ๋ด ๊ฐ๋ฐ์์์ ์ํฅ์ ๋ฏธ์น ๋งํ ๋ง๋ ๋ค์๋ ํ๋ก์ ํธ๋ผ ๊ผญ ์ ๋ฆฌ๋ฅผ ํด์ผ๋๋ค.
ํ์์ด ์ฌ์ฑ ๋์ด์์ด์ ์๋ ์บ๋ฆฐ๋๋ผ๋ ๋ง์ด ๋์์ ๋, ๋๋ด์ด๊ฒ ์ง? ํ๋๋ฐ ์ฐ์ด์๋ค. ํ๋ช ์ด ์ค์ํ๊ฑด ์๋๋๊น ๋์ถฉ ๋๊ธฐ๊ณ , ๋ฌธ์ ์ ์๋ถํฐ ์์ํ๋ค. ๋ ์ต๋ํ ํ๋ก์ ํธ๋ฅผ ๋ฌธ์ ์ ์๋ฅผ ํ๊ณ ์์ํ๊ฑฐ๋, ์๋๋ฉด ๋ฐ๋์ ์ด ํ๋ก์ ํธ๊ฐ ํ์ํ ์ด์ ๋ฅผ ์ฐพ๊ณ ์์ํ๋ ค๊ณ ํ๋ค. ํ๋ก์ ํธ๋ฅผ ํ๋ค๋ณด๋ฉด ์๋ ๋๋ ์์ด ๋ด๊ฐ ์ด๊ฑธ ์ ์์ํ๋๋ผ? ๋ผ๋ ๊ณ ๋ฏผ์ด ์ฐพ์์จ๋ค. ๊ทธ ๋ ๋ง๋ค ๋ฐฉํฅ์ ์ก์์ค๋ค.
๋ฌธ์ ๋ ํ์์ด ์ฌ์ฉํ๊ณ ์๋ ๋ ธ์ ์ ๋ถํธํจ์ด ์๋ ๊ฒ์ด์๋ค. ๋ ธ์ ์ ์บ๋ฆฐ๋ ์์์ ํ๋์ ํ์๋ฐ์ ์ง์ ํ ์ ์์ด, ์๋กญ๊ฒ ์์์ ๋ง๋ค์ด์ ์ฌ์ฉํ๋๋ฐ, ๋งค์ฃผ ํ ํ๋ฆฟ์ ๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐ ํด์ผ ๋์ ๋ฒ๊ฑฐ๋ก์์ด ์๊ณ , ์นดํ ๊ณ ๋ฆฌ๋ฅผ ํตํด ๊ตฌ๋ถํ์ง ๋ชปํด์ ๋ชจ๋ ๋ด์ฉ์ด ํ ํ๋ฉด์ ๋์ค๋ ๋ถํธํจ์ด ์์๋ค.
๋ํ ๋ฌธ์ ๋ ์๋์ง๋ง ํด๋น ํ๋ก์ ํธ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ๋ ์์ํฌ ์์ด ์์ ์๋ฐ์คํฌ๋ฆฝํธ์ web api ๋ก๋ง ๊ตฌ์ฑํด์ผํ๋ ์ ํ์ด ์์๋ค.
๊ธฐํํ ์บ๋ฆฐ๋๋ ์ฃผ์ํ๊ฒ ๊ตฌํํด์ผ ํ๋ ๊ธฐ๋ฅ๋ค์ด ์์๋ค.
1. ๋ฌดํ์คํฌ๋กค & ํ์ฌ active ํ ์ ๊ฐ์ง
2. ์์ ๋๋๊ทธ ์ค ๋๋กญ์ผ๋ก ์ด๋
3. ์์ ์ถ๊ฐ ์ ๊ฑฐ ๋ฐ DOM ์กฐ์
๊ทธ๋์ ๋๋ ๋ฌดํ์คํฌ๋กค๊ณผ ํ์ฌ ์กํฐ๋ธ ์ ๊ฐ์ง ๊ธฐ๋ฅ์ ๋งก์์ ๊ตฌํํ๋ค. ๋ํ ๊ฒธ์ฌ๊ฒธ์ฌ ๋ฌ๋ ฅ์ DOM ์ ๋ง๋ค์ด๋ด๋ ๋ถ๋ถ๋ ๊ฐ์ด ๋งก์๋ค.
๋ถ์ฐจ์ ์ธ ๊ธฐ๋ฅ์ผ๋ก ์๊ฐํด์ ๊ธ๋ฐฉ ๋๋ ์ค ์์๋๋ฐ ๋ฌ๋ ฅ์ ๋ง๋ค ๋ ๋ฉํ์ด ๋ ํฐ์ก๋ค.
๋ฌดํ์คํฌ๋กค์ ๊ตฌํํ๋ฉด์ ์ฒ์์ผ๋ก ํ ๊ณ ๋ฏผ์ ๊ณผ์ฐ ์ด ๋งค์ ๋งค์์ ์ํ๋ก ๊ด๋ฆฌํ์ฌ, ์๋ก์ด ์์ด ์์ฑ๋ ๋๋ง๋ค ์ฌ๋ ๋๋ง์ ํด์ค ๊ฒ์ธ๊ฐ, ์๋๋ฉด DOM ํธ๋ฆฌ๋ฅผ ์ ์งํ๊ณ ์๋ก์ด ์์ ์ด์ด ๋ถ์ผ ๊ฒ์ธ๊ฐ์๋ค. ๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉํ ์ ์์๋ค๋ฉด ๊ณ ๋ฏผ๋ ํ์ง ์๊ณ , ์ ์๋ฅผ ์ ํํ์ ๊ฒ์ด๋ค. ํ๋ก๊ทธ๋จ์ ๋ณต์ก๋๋ฅผ ๋ํญ ๋ฎ์ถ ์ ์๋ค. ํ์ง๋ง ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ๋ง์ ์ฌ์ฉํด์ผ ๋๊ธฐ ๋๋ฌธ์ ๊ณ ๋ฏผ์ด ๋์๋ค.
์ํ๋ฅผ ์ ์งํ๊ณ ์ด ์ํ๋ฅผ ํตํด ์ํ ๋ณ๊ฒฝ์ด ์์ ๋๋ง๋ค ์ฌ๋ ๋๋ง์ ํด์ฃผ๋ฉด ์ฝ๋๋ฅผ ๊ฐ๋ตํ๊ฒ ์งค ์ ์๋ค. ๋ํ ํ๋ก๊ทธ๋จ์ ๋ณต์ก๋ ๋ํ ๋ฎ์ถ ์ ์๋ค.
ํ์ง๋ง, ์ฌ๋ ๋๋ง์ด๋ผ๋ ๊ฒ์ ํ๋ฉด์ ๋ชจ๋ DOM ํธ๋ฆฌ๋ฅผ ๋ค์ ๊ทธ๋ฆฐ๋ค๋ ๋ป์ด๊ณ , ์ด ๊ณผ์ ์ ํ๋ก๊ทธ๋จ์ ๋ถํ๋ฅผ ๋ง์ด ์ฃผ๋ ์์ ์ด๋ค. ๋๋ฌธ์, ์ด ์ํ๋ฅผ ์ฌ์ฉํด ํ๋ก๊ทธ๋จ์ ์์ฑํ ๋๋ ์ ์คํ๊ฒ ํด์ผํ๋ค.
ํ์คํ DOM ์์์ ์ด์ด ๋ถ์ด๋ ๋ฐฉ์์ ์ฝ๋์ ๋ณต์ก๋๋ฅผ ์์ฒญ๋๊ฒ ๋ํ๊ณ , ์ดํด๋ฅผ ํ๋ค๊ฒ ๋ง๋ค์๋ค. ๋ํ ์ ์ง๋ณด์์๋ ๋ถ๋ฆฌํด ๋ณด์๋ค.
ํ์ง๋ง ์ฌ์ฉ์๊ฐ ์ผ๋ง๋ ๋ง์ DOM ์ ๋ง๋ค์ด๋ผ์ง ๋ชจ๋ฅด๋ ์ํ์์ ๋ฌด์์ ๋ชจ๋ ๋ง๋ค์ด์ง๋ DOMํธ๋ฆฌ๋ฅผ ์ฌ๋ ๋๋ง ํ๋ค๋ ๊ฒ์ ์ฌ์ฉ์ฑ์ ์ ํ์ํฌ ์ ์๋ค๊ณ ์๊ฐํ๋ค.
์ํ๋ฅผ ํตํ ๋ฆฌ๋ ๋๋ง
// theudo code
renderedCalendar.map(month => render(month));
DOM ํธ๋ฆฌ ์ ์ง ์ฝ๋
// theudo code
const $calendar = document.querySelector('.calendar');
const todayMonth = () => {
$calendar.innerHTML = `์ด๋ฒ ์ DOM ํธ๋ฆฌ`
}
const prevMonth = () =>{
$calendar.insertAdjacentHTML('afterbegin', `์ด์ ๋ฌ DOM ํธ๋ฆฌ`)
}
const nextMonth = () => {
$calendar.insertAdjacentHTML('beforeend', `๋ค์ ๋ฌ DOM ํธ๋ฆฌ`)
}
๊ฐ๋จํ๊ฒ๋ง ๋ด๋ DOM ํธ๋ฆฌ์ ์ ์๋๋ก ์ด์ด ๋ถ์ด๋ ์ฝ๋๋ ์๋ ์ฝ๋์ธ๋ฐ๋ ๋ถ๊ตฌํ๊ณ ๋ณต์กํด ๋ณด์ธ๋ค.
์บ๋ฆฐ๋๋ DOM ํธ๋ฆฌ๋ฅผ ์ด์ด๋ถ์ด๋ ๋ฐฉ์์ผ๋ก ์ ์งํ๊ณ , ์์ดํ
๋ค์ ์ํ๋ก ๊ฐ์ง๊ณ , ๋ณํ๊ฐ ์ผ์ด๋ ๋, ์ฌ๋ ๋๋ง์ ํ๊ฑฐ๋, DOM ํธ๋ฆฌ์ ์ด์ด๋ถ์ด๋ ๋ฐฉ์์ ์ ์งํ๋ค.
ํนํ ํ๋ก์ ํธ ๊ตฌ์กฐ ์, ์นดํ
๊ณ ๋ฆฌ๊ฐ ๋ณ๊ฒฝ ๋ ๊ฒฝ์ฐ ์์ดํ
๋ ๋๋ง์ด ์ ์ฒด ๋ณ๊ฒฝ ๋์ด์ผ ํ๋ฏ๋ก, ์์ดํ
์ ์ถ๊ฐํ ๊ฒฝ์ฐ ๋ชจ๋ ์์ดํ
์ ํด๋น ์นดํ
๊ณ ๋ฆฌ๋ก ์ฌ๋ ๋๋งํด์ฃผ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค. ํ์ง๋ง ์์ดํ
์์๋ฅผ ์ด๋์ํค๊ฑฐ๋, ๋ด์ฉ ๋ณ๊ฒฝ, ์ญ์ ์ ๊ฒฝ์ฐ DOM ํธ๋ฆฌ ์กฐ์์ผ๋ก๋ ํ๋ฉด ๋ณํ์ด ๊ฐ๋ฅํ๋ฏ๋ก, ์ํ๊ฐ๊ณผ DOM ํธ๋ฆฌ๋ฅผ ํจ๊ป ๋ณ๊ฒฝ์์ผ์ฃผ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
์ด๋ฅผ ํตํด ์ฌ๋ ๋๋ง์ด ์ผ์ด๋ ๊ฒฝ์ฐ์๋ ์ด์ ์ํ๋ฅผ ๊ธฐ์ตํด, ํ๋ฉด์ ์ ์งํ ์ ์๊ฒ ๋ง๋ค์๋ค.
์บ๋ฆฐ๋๋ฅผ DOM ํธ๋ฆฌ๋ก ๊ตฌ์ฑํ๋ ์ฝ๋๊ฐ ์ด๋ง์ด๋งํ๊ฒ ์ปค์ง๊ณ ๋ณต์กํด์ก๋ค. ์ค๋ณต์ ์ค์ธ๋ค๊ณ ์ค์์ง๋ง, ๋ด๊ฐ ์์ฑํ๋ ์ฝ๋๊ฐ for๋ฌธ์ ์ฌ์ฉํด์ผ๋ง ํ๊ณ , ๋ํ ์ด for๋ฌธ ๋ง๋ค ์กฐ๊ธ ์กฐ๊ธ์ฉ ์ฐจ์ด๊ฐ ์์ด, ์ค๋ณต์ ์ค์ด๊ธฐ๊ฐ ์ฝ์ง ์์๋ค. DOM ํธ๋ฆฌ๋ก๋ง ํ๋ฉด ์กฐ์์ ํ๋ ค๊ณ ํ๋ ์ฌ์ด ์ผ์ด ์๋์๋ค.
๋ํ ์บ๋ฆฐ๋๊ฐ ์ํ๋ฅผ ์ ์งํ์ง ์๊ธฐ ๋๋ฌธ์, ๋ง์ ์คํฌ๋กค์ ์ฌ๋ฆฌ๊ฑฐ๋ ๋ด๋ฆฐ ํ ํ์ฌ ์์ ์ค์ธ ์์ ๊ธฐ์ตํด์ ์ฌ๋ ๋๋ง์ด ์ผ์ด๋๋ ๊ทธ ์๋ฆฌ์์ ์์ ํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํ๋ค. ์ด๋ ์ฌ์ฉ์ฑ์ ๋จ์ด๋จ๋ฆฌ๋ ๋ฌธ์ ์๋ค.
์ฐ๋ฆฌ ํ์ ์ฌ์ฉ์๊ฐ ์์ ํ๋ ์์ ๊ธฐ์ตํด, ํน์ ์์ ๊ธฐ์ ์ผ๋ก ์ฌ๋ ๋๋ง์ ํด์ฃผ๋ ๋ฐฉ์์ผ๋ก ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. ํ์ง๋ง ํ๋ฉด ํฌ๊ธฐ๋ง๋ค ๋ค๋ฅธ ์คํฌ๋กค ํฌ๊ธฐ ๋๋ฌธ์, ์์ ํ๋ ์์น๋ฅผ ์ ํํ ์ง์ ํด์ฃผ๋ ๊ฒ์ด ํ๋ค์๋ค. ๋๋ฌธ์ ํ๋ฉด์ด ์ด์ง ํ๊ธฐ๋ ํ์์ด ๋ฐ์ํ๋ค. ์ด๋ฐ ๋ถ๋ถ๋ ์ํ๋ฅผ ๊ธฐ์ตํ์ง ๋ชปํด ๋ฐ์ํ๋ ๋ฌธ์ ๋ผ๊ณ ํ ์ ์์ ๊ฒ์ด๋ค.
ํน์ ์์ ๋ง์ง๋ง์ผ ๊ฒฝ์ฐ ๋ค์ ์์ ์ถ๊ฐํด์ฃผ๋ ์ฝ๋
document.addEventListener('scroll', () =>{
if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {
// ํน์ ์์
}
})
const throttling = (() => {
let throttleCheck;
return {
throttle(callback, milliseconds) {
if (!throttleCheck) {
throttleCheck = setTimeout(() => {
callback();
throttleCheck = false;
}, milliseconds);
}
}
};
})();
scroll ์ด๋ฒคํธ๋ฅผ ์์์ ์ฌ์ฉํด์ผ๋์ window.innerHeight, scrollY ๋ฅผ ์ฌ์ฉํ์ง ๋ชปํจ
$calendarGrid.onscroll = () =>{
if($calendarGrid.scrollTop < 1){
changePrevMonth();
if ($calendarGrid.scrollHeight - Math.ceil($calendarGrid.scrollTop)
=== $calendarGrid.clientHeight) {
changeNextMonth();
}
}
์์ ๊ฐ์ด ๋ณํํด์ ์ฌ์ฉํ๋ค.
์๋๋ก๋ ๋ฌดํ์คํฌ๋กค์ด ๋๋๋ฐ, ์๋ก ์๋๋ ๋ฌธ์ ๋ฐ์
-> ์คํฌ๋กคTop์ 1๋ฏธ๋ง์ผ๋ก ๋ฐ๊พธ๊ณ , ์์ ๋ถ๋ชํ๋๋ง๋ค top=1 ๋ก ๋ฐ๊ฟ์ฃผ์ด์ ๋ฆฌํ๋ ์๊ฐ ๊ฐ๋ฅํ๋๋ก ๋ณ๊ฒฝ
-> top ์ด 1์ผ ๊ฒฝ์ฐ ์ฐ์์ผ๋ก ์คํฌ๋กค๋ง ํ๋ฉด ์ ์ฉ์๋๋ ๋ฌธ์ ๋ฐ์
-> top์ 300 ์ผ๋ก ๋ณ๊ฒฝ
$calendar.onscroll = () =>{
throttling.throttle(()=>{
if($calendar.scrollTop < 200){
changePrevMonth();
$calendar.scrollTop = 500;
const $standards = document.querySelectorAll('.standard');
[...$standards].forEach($standard => {
io.observe($standard);
})
}
if ($calendar.scrollHeight - Math.ceil($calendar.scrollTop) <= $calendar.clientHeight) {
changeNextMonth();
const $standards = document.querySelectorAll('.standard');
[...$standards].forEach($standard => {
io.observe($standard);
})
}
}, 500);
};
ํน์ ์ผ์๊ฐ ํ๋ฉด์ ๋ํ๋๋์ง ๊ฐ์งํด์, ๋ค๋ฅธ ๋์์์ ํ ์คํธ ๊ฐ์ ๋ฐ๊ฟ์ฃผ์ด์ผ ํ๋ค.
์ด ๋ถ๋ถ์ ํด๊ฒฐํ๊ธฐ ์ํด ์ธํฐ์น์ ์ต์ ๋ฒ๋ฅผ ์ฌ์ฉํ๋ค.
const io = new IntersectionObserver(entries =>{
entries.forEach(entry => {
if(entry.isIntersecting){
$calendarYear.textContent = entry.target.children[0].children[0].textContent + ".";
$calendarMonth.textContent = entry.target.children[0].children[1].textContent + ".";
}
} );
}, {
root:$calendar,
rootMargin: '0px 0px -50% 0px'
});
$calendar.onscroll = () =>{
if($calendar.scrollTop < 1){
changePrevMonth();
$calendar.scrollTop = 640;
const $standards = document.querySelectorAll('.standard');
[...$standards].forEach($standard => {
io.observe($standard);
})
}
if ($calendar.scrollHeight - Math.ceil($calendar.scrollTop) <= $calendar.clientHeight) {
changeNextMonth();
const $standards = document.querySelectorAll('.standard');
[...$standards].forEach($standard => {
io.observe($standard);
})
}
}, 500);
};
์ธํฐ์น์ ์ต์ ๋ฒ๋ ํน์ ์์๊ฐ ๊ธฐ์ค์ ์ผ๋ก ์ก๋ ์์์ ์ธ๊ณฝ์ ๊ต์ฐจํจ์ผ๋ก ํ๋ฉด์ ๋ํ๋ ๋๋ฅผ ๊ฐ์งํด์ฃผ๋ ๊ฐ์ฒด์ด๋ค.
์ด ๊ธฐ๋ฅ์ ์ด์ฉํด ๊ตฌํํด์ผ ํ๋ ๊ฒ์ ๋ฉ์ธ์ ๋ ์์ ๋ ๋๋งํด์ฃผ๋ ๊ฒ๊ณผ, ํ์ฌ ๋ณด์ฌ์ง๋ ์๋ง activeํ๊ฒ ์ฒ๋ฆฌํด์ฃผ๋ ๊ฒ์ด๋ค.
๋ฌ๋ ฅ์์ ๊ตฌํํด์ผ ํ๋ ์๊ตฌ์ฌํญ ์ค ํ๋๊ฐ ํ์ฌ ๋ ์์ ํด๋น ํ๋ ๋ฌ๋ง ACTIVE ํ๊ฒ ์ฒ๋ฆฌํ๊ณ ๋๋จธ์ง๋ ์๊น์ ๋ค๋ฅด๊ฒ ํด์ ๊ตฌ๋ถํด์ฃผ์ด์ผ ํ๋ ๊ฒ์ด์๋ค.
์ด ๋ถ๋ถ์ ๊ฐ๋จํ๊ฒ, standard ํด๋์ค๋ฅผ ๋งค์ 1์ผ์ ์ฃผ๊ณ ์ธํฐ์น์ ์ต์ ๋ฒ์ ๊ฐ์ง ๋ถ๋ถ์ ์ง๋๊ฐ ๋ ๋ง๋ค ๋ ์์ ๋ฐ๊พธ๋ ๋์์ ํด๋น ์ ๋ถ๋ถ๋ง active ํ๊ฒ ๋ง๋ค๋ ค๊ณ ํ๋ค. ํ์ง๋ง ๋งค์ 1์ผ์ ๊ธฐ์ค์ผ๋ก ํด์ ์ธํฐ์น์ ์ต์ ๋ฒ๋ฅผ ๊ตฌํํ๋ฉด, ๊ต์ฐจํ๋ ์์ ์์ ์์ด ๋ฐ๋๊ธฐ ๋๋ฌธ์, ํ๋ฉด์์ ๋ณด์ด๊ณ ์๋ ์ค์ง์ ์ธ ์๊ณผ ๋ ๋๋ง๋๋ ์์ด ๋ค๋ฅธ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ 15์ผ์ ์ฃผ๊ณ ์ ๋ค๋ก unactive๋ฅผ ์ฃผ์๋๋ฐ, ์ด ๋๋ todo๋ ์์๊ฐ ๊ณผํ๊ฒ ๋ค์ด๊ฐ์ ํ๋ฉด์ ํ ์ฃผ๋ง ํ์๋ ๊ฒฝ์ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ๊ธฐ ์ํด์๋ ๋ชจ๋ ์ฃผ์ standard ํด๋์ค๋ฅผ ์ฃผ๊ณ ๋ฐ๋์ ํ ์ฃผ๋ intersection observer์ ๊ฐ์ง๋๋๋ก ๋ง๋ค์ด์ผ ํ๋ค. ํ์ง๋ง ์ด๋ ๊ฒ ํ๋ฉด intersection observer์ ๊ฐ์ง๋๋ ํ๊ฒ์ด ์์ 1ํ๊ฐ ์๋๊ธฐ ๋๋ฌธ์, ๊ณ์ฐ์ด ๋งค์ฐ ๋ณต์กํด์ง๋ค. ๋งค์ฃผ ๊ฐ์ง๋๋ ์ผ์์ 1์ผ๊น์ง ๋จ์ ์์, ๋ง์ผ ๊น์ง ๋จ์ ์ผ์์ ์ซ์๋ฅผ ๊ณ์ฐํด ์กํฐ๋ธ๋ก ๋ง๋ค์ด์ฃผ์๋ค.
์ด๋ฅผ ํตํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
๋๋ ๊ฑฐ์ ํญ์ ์ฝ๋๋ฅผ ํผ์์๋ง ์งฐ์๊ณ , ํํ์ ํด๋ ํ๋ก ํธ, ๋ฐฑ ์ด๋ ๊ฒ ๋๋ ์ ์์ ์ ํ์๊ธฐ ๋๋ฌธ์, ๋ด ์ฝ๋๋ฅผ ๋๊ตฐ๊ฐ ์ด๋ค๋ ๊ฑด ์๊ฐ๋ ํด๋ณธ ์ ์ด ์์๋ค.
์์์ผ ์คํ์ ํ์ ํ ๋ช ์ด ๋ด ์ฝ๋๊ฐ ํ์ํ๋ค๊ณ ํ๋ค. ๋ด๊ฐ ๋ฌ๋ ฅ์ ๊ตฌํํ ๋ถ๋ถ์์ ๋ฌ๋ ฅ ์ ์ฒด๋ฅผ ๋ ๋๋ง ํ๋ ์ฝ๋๊ฐ ์์๋๋ฐ, ์ด ๋ถ๋ถ์ด ํ์ํ๋ ๊ฒ์ด๋ค. ๋น์ฐํ ์์ธกํ ์ ์๋ ๋ฒ์์๊ณ , ๋๋ ๋ค๋ฅธ ์ฌ๋์ด ์ธ ์๋ ์๋ค๊ณ ๋ง์ฐํ๊ฒ๋ง ์๊ฐํ๋ค. ํ์ง๋ง ๊ทธ ๋ง์ ๋ฃ๊ณ , ๊ทธ ์ฌ๋์ด ๋ด ์ฝ๋๋ฅผ ๊ฐ์ ธ๋ค ์ฐ๋ ๊ฒ์ด ํ์ค์ด ๋์์ ๋ ๊ทธ ๋ฌด๊ฒ๊ฐ ๋ฌ๋๋ค.
๋ด ์ฝ๋๋ 1000์ค์ด ๋์ด๊ฐ๊ณ , ๋ณ์๋ช ์ ๋ํ ์๋ฏธ๋ ์ ๋๋ก ์ค์ ํด๋์ง ๋ชปํ ์ํ์๋ค. ์๋, ๊ธฐ์ต์ด ์ ํํ๊ฒ ์ ๋ฌ๋ค๋ ๊ฒ ์ ํํ๊ฒ ๋ค. ๋ง๋ง๋ก ์ฝ๋๋ฅผ ์ธ์ง๋ฌ๋์ ์ํ์๋ค.
๋ด๊ฐ ์ด๋ค๋ฉด ์์์๋ถํฐ ์ญ ์ฝ์ด๊ฐ๋ฉด์ ์์ธก๊ฐ๋ฅํ๊ฒ ์ง๋ง, ๋จ์ด ๋ด ์ฝ๋๋ฅผ ๊ฐ๋ค ์ด๋ค๋ฉด? ๋จ์ด ์๊ธฐ ์ฝ๋๋ ์๋๋ฐ, ๋ชจ๋ ์ฝ๋๋ฅผ ์ฒ์๋ถํฐ ์ฝ์ด๊ฐ๋ฉด์ ํด์ํด์ ๊ฐ์ ธ๋ค ์ด๋ค๋ ๊ฑด ๋๋ฌด ๋ถ๋๋ฌ์ด ์ผ์ด์๋ค. ๋ฌด์จ ์๊ฐ์ ํ๊ฒ ๋๊ฐ! ๋๋ผ๋ ๊ฐ๋นก์น ๊ฑฐ๊ฐ๋ค. ๊ทธ ๋ ๋ฐค์ ๋ฐ๋ก ์ง์ ๊ฐ์ ๋ฆฌํฉํ ๋ง์ ํ๊ธฐ ์์ํ๋ค. ๋ณ์๋ช ์ ๊ตฌ๋ถํ๊ณ ์ ๋ง ๋ชป ๊ณ ์น๊ฒ ๋ ๋ถ๋ถ์ ์ฃผ์์ ๋ฌ์๋ค. ํ์ง๋ง ๊ฐ์ฅ ์ ๊ฒฝ ์ด ๊ฒ์, ๋ฑ ํจ์๋ช ๋ง ๊ฐ์ ธ๋ค๊ฐ๋ ์ธ ์ ์๋๋ก ์ฝ๋๋ฅผ ๋ง๋ค์ด๋๋ ๊ฒ์ด์๋ค. ์ด๋ฅผ ์ํด์ ๋ชจ๋ ์ฝ๋๋ฅผ ํด๋ก์ ์์ผ๋ก ์์ง์ํค๊ณ , ํด๋น ๋ณ์๋ ํจ์๋ฅผ ๋ฆฌํดํด์ฃผ๋ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค.
์ต๋ํ ์๋ฏธ์ ์ผ๋ก ํจ์๋ฅผ ๋ถ๋ฆฌํด์ ํจ์๋ฅผ ์ฐ์ํธ์ถํ๊ธฐ๋ง ํ๋ฉด ์ํ๋ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋๋ก ํ๋ค. ์ธ์๋ฅผ ์ ๋ฌํ๋ ๊ฒ์ ์ต๋ํ ์์ ํ๋ค. ๋๋ ์ด ์ธ์๊ฐ ๋ญ์ง ๋์ค์ ๋ชจ๋ฅผ ๊ฒ ๊ฐ์๋ค.
์ฒ์์ผ๋ก ์ฑ ์๊ฐ์๊ฒ ์ฝ๋๋ฅผ ์ง์ผํ๋ค๋ ๊ฒ์ ์ค๊ฐํ๋ค.