์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ๋คํธ์ํฌ
- CS
- html
- ์ค๋ ๋
- javascript
- ๋ฆฌ์กํธ
- ์๋ฐ์คํฌ๋ฆฝํธ
- #ํ๋ก์ ํธ์บ ํ #ํ๋ก์ ํธ์บ ํํ๊ธฐ #์ ๋ฐ๋ฏธ #์ค๋์ดํผํฉํ ๋ฆฌ #์ ์ง์ฝํฌ๋น #์ธ์ฌ์ด๋์์ #IT๊ฐ๋ฐ์บ ํ #๊ฐ๋ฐ์๋ถํธ์บ ํ #๋ฆฌ์กํธ #react #๋ถํธ์บ ํ #๋ฆฌ์กํธ์บ ํ
- ์ค๋์ดํผํฉํ ๋ฆฌ
- IT๊ฐ๋ฐ์บ ํ
- ์ ์ง์ฝํฌ๋น
- ์ธ์ฌ์ด๋์์
- ์๊ณ ๋ฆฌ์ฆ
- ํ๋ก์ ํธ์บ ํ
- react
- ํ๋ก์ธ์ค
- cs #๋คํธ์ํฌ
- ๊ฐ๋ฐ์๋ถํธ์บ ํ
- ์ ๋ฐ๋ฏธ
- ํ๋ก๊ทธ๋๋จธ์ค
- App Runner
- react-query
- React.js
- ํ์ ์คํฌ๋ฆฝํธ
- typescript
- Algorithm
- ํด์
- ๋ฉ๋ชจ๋ฆฌ
- ip
- BFS
- Today
- Total
Bin's Blog
์ฝ๋ฐฑ ์ง์ฅ(๊ธฐ๋ช ํจ์) ๋ณธ๋ฌธ
๐ค ์ฝ๋ฐฑ ์ง์ฅ์ด๋?
๐ ๋น๋๊ธฐ ์์ ์ ์ฒ๋ฆฌํ ๋ ์ฝ๋ฐฑ ํจ์๋ฅผ ์ฐ์์ ์ผ๋ก ์ฌ์ฉํ๋ฉด์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ๊ฐ๋ฆฌํจ๋ค
๐ ์๋ฅผ ๋ค์ด, ์น์ฌ์ดํธ์์ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ๋ก๋ถํฐ ๋ถ๋ฌ์ค๋ ์์ ์ด ์์ ๋, ๋ฐ์ดํฐ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ๋ถ๋ฌ์์ง ํ์ ์คํํ ๋ก์ง์ ์ฝ๋ฐฑ ํจ์๋ก ์ ์ํ๊ณ , ์ด๋ฅผ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ํจ์์ ์ธ์๋ก ์ ๋ฌํ๋ค. ๊ทธ๋ฐ๋ฐ, ์ด๋ฐ ์ฝ๋ฐฑ ํจ์๊ฐ ์ค์ฒฉ๋์ด ์ฌ์ฉ๋๋ฉด, ์ฆ ์ฝ๋ฐฑ ํจ์ ์์ ๋ ๋ค๋ฅธ ์ฝ๋ฐฑ ํจ์๊ฐ ์๊ณ , ๊ทธ ์์ ๋ ๋ค๋ฅธ ์ฝ๋ฐฑ ํจ์๊ฐ ์๋ ๊ฒฝ์ฐ์ ์ฝ๋๊ฐ ๋ณต์กํด์ง๊ณ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ ธ ๋ฌธ์ ๊ฐ ๋ ์ ์๋ค. ์ด๋ฅผ ์ฝ๋ฐฑ ์ง์ฅ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์ฝ๋ฐฑ ํจ์๋?(์ง๋ ํฌ์คํ ์ฐธ๊ณ )
์ฝ๋ฐฑ ํจ์
๐ง ์ฝ๋ฐฑ ํจ์๋? ๐ ์ฝ๋ฐฑํจ์๋ ๋ค๋ฅธ ์ฝ๋์ ์ธ์๋ก ๋๊ฒจ์ฃผ๋ ํจ์์ด๋ค. ์ฝ๋ฐฑ ํจ์๋ฅผ ๋๊ฒจ๋ฐ์ ์ฝ๋๋ ์ด ์ฝ๋ฐฑ ํจ์๋ฅผ ํ์์ ๋ฐ๋ผ ์ ์ ํ ์์ ์ ์คํํ๋ค. ๐ ์ฝ๊ฒ ์๋ฅผ ๋ค์ด๋ณด์, ๋ด๊ฐ ์ข์
hobin49.tistory.com
๐ ๋น๋๊ธฐ๋ ๋๊ธฐ์ ๋ฐ๋๋ง์ด๋ค. ๋๊ธฐ์ ์ธ ์ฝ๋๋ ํ์ฌ ์คํ ์ค์ธ ์ฝ๋๊ฐ ์๋ฃ๋ ํ์์ผ ๋ค์ ์ฝ๋๋ฅผ ์คํํ๋๋ฐ, ๋น๋๊ธฐ๋ ์คํ ์ค์ธ ์ฝ๋์ ์๋ฃ ์ฌ๋ถ์ ๋ฌด๊ดํ๊ฒ ์ฆ์ ๋ค์ ์ฝ๋๋ก ๋์ด๊ฐ๋ค.
๐ CPU์ ๊ณ์ฐ์ ์ํด ์ฆ์ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ ๋๋ถ๋ถ์ ์ฝ๋(๋ณ์ ํ ๋น, ์ฐ์ ์ฐ์ฐ ๋ฑ)๋ ๋๊ธฐ์ ์ธ ์ฝ๋์ด๋ค.
๐ ๋ฐ๋ฉด ์ฌ์ฉ์์ ์์ฒญ์ ์ํด ํน์ ์๊ฐ์ด ๊ฒฝ๊ณผ๋๊ธฐ ์ ๊น์ง ์ด๋ค ํจ์์ ์คํ์ ๋ณด๋ฅํ๋ค๊ฑฐ๋(setTimeout), ์ฌ์ฉ์์ ์ง์ ์ ์ธ ๊ฐ์ ์ด ์์ ๋ ๋น๋ก์ ์ด๋ค ํจ์๋ฅผ ์คํํ๋๋ก ๋๊ธฐํ๋ค๊ฑฐ๋(addEventListener), ์น๋ธ๋ผ์ฐ์ ์์ฒด๊ฐ ์๋ ๋ณ๋์ ๋์์ ๋ฌด์ธ๊ฐ๋ฅผ ์์ฒญํ๊ณ ๊ทธ์ ๋ํ ์๋ต์ด ์์ ๋ ๋น๋ก์ ์ด๋ค ํจ์๋ฅผ ์คํํ๋๋ก ๋๊ธฐํ๋ ๋ฑ(XMLHttpRequest)
๐ ๋ณ๋์ ์์ฒญ, ์คํ ๋๊ธฐ, ๋ณด๋ฅ ๋ฑ๊ณผ ๊ด๋ จ๋ ์ฝ๋๋ ๋น๋๊ธฐ์ ์ธ ์ฝ๋์ด๋ค.
๐ ์ฝ๋ฐฑ ์ง์ฅ ์์
setTimeout((name) => {
let coffeeList = name;
console.log(coffeeList);
setTimeout((name) => {
coffeeList += ', ' + name;
console.log(coffeeList);
setTimeout((name) => {
coffeeList += ', ' + name;
console.log(coffeeList);
setTimeout((name) => {
coffeeList += ', ' + name;
console.log(coffeeList);
}, 500, "์นดํ๋ผ๋ผ");
}, 500, "์นดํ๋ชจ์นด");
}, 500, "์๋ฉ๋ฆฌ์นด๋
ธ");
}, 500, "์์คํ๋ ์");
//์คํ ๊ฒฐ๊ณผ
// ์์คํ๋ ์
// ์์คํ๋ ์, ์๋ฉ๋ฆฌ์นด๋
ธ
// ์์คํ๋ ์, ์๋ฉ๋ฆฌ์นด๋
ธ, ์นดํ๋ชจ์นด
// ์์คํ๋ ์, ์๋ฉ๋ฆฌ์นด๋
ธ, ์นดํ๋ชจ์นด, ์นดํ๋ผ๋ผ
๐ ์์ 4-12๋ 0.5์ด ์ฃผ๊ธฐ๋ง๋ค ์ปคํผ ๋ชฉ๋ก์ ์์งํ๊ณ ์ถ๋ ฅํ๋ค. ๊ฐ ์ฝ๋ฐฑ์ ์ปคํผ ์ด๋ฆ์ ์ ๋ฌํ๊ณ ๋ชฉ๋ก์ ์ด๋ฆ์ ์ถ๊ฐํ๋ค. ๋ชฉ์ ๋ฌ์ฑ์๋ ์ง์ฅ์ด ์์ง๋ง ๊ณผ๋ํ ๋ค์ฌ์ฐ๊ธฐ๋ก ๊ฐ์ด ์ ๋ฌ๋๋ ์์๊ฐ ์๋์์ ์๋ก ํฅํ๊ณ ์์ด ์ด์ํ๊ฒ ๋๊ปด์ง๋ค.
๐ ์ฝ๋ฐฑ ์ง์ฅ ํด๊ฒฐ(์ด๋ฆ์ ๊ฐ์ง ํจ์๋ก ์ ํ)
let coffeeList = "";
const addEspresso = (name) => {
coffeeList = name;
console.log(coffeeList);
setTimeout(addAmericano, 500, "์๋ฉ๋ฆฌ์นด๋
ธ");
};
const addAmericano = (name) => {
coffeeList += ", " + name;
coffeeList = name;
console.log(coffeeList);
setTimeout(addMocha, 500, "์นดํ๋ชจ์นด");
};
const addMocha = (name) => {
coffeeList += ", " + name;
coffeeList = name;
console.log(coffeeList);
setTimeout(addLatte, 500, "์นดํ๋ผ๋ผ");
};
const addLatte = (name) => {
coffeeList += ", " + name;
coffeeList = name;
console.log(coffeeList);
};
setTimeout(addEspresso, 500, "์์คํ๋ ์");
// ์คํ๊ฒฐ๊ณผ
// ์์คํ๋ ์
// ์๋ฉ๋ฆฌ์นด๋
ธ
// ์นดํ๋ชจ์นด
// ์นดํ๋ผ๋ผ
๐ ์ด๋ ๊ฒํ๋ฉด ๊ฐ๋ ์ฑ์ ๋์ผ๋ฟ ์๋๋ผ ํจ์ ์ ์ธ๊ณผ ํจ์ ํธ์ถ๋ง ๊ตฌ๋ถํ ์ ์๋ค๋ฉด ์์์๋ถํฐ ์๋๋ก ์์๋๋ก ์ฝ์ด๋ด๋ ค๊ฐ๋ ๋ฐ ์ด๋ ค์์ด ์๋ค.
๐ ๊ทธ๋ฌ๋ ์ผํ์ฑ ํจ์๋ฅผ ์ ๋ถ ๋ณ์์ ํ ๋นํ๋ ๊ฒ๋ ์ข ๊ทธ๋ด ์ ์๋ค. ๊ทธ๋์ ๋ค์ ์๊ฐ์๋ ๋์ฑ ๋์ ์ฅ์น์ธ promise, async/await์ ๋ํด์ ๋ ์์ธํ๊ฒ ์ดํด๋ณด๊ฒ ๋ค.
'JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
XML (0) | 2023.07.31 |
---|---|
ํ๋กํ ํ์ (0) | 2023.07.15 |
์ฝ๋ฐฑ ํจ์ (0) | 2023.06.21 |
forEach ๋ฉ์๋ (0) | 2023.06.02 |
concat ๋ฉ์๋ (0) | 2023.06.01 |