๐คทโ๏ธ ๋ณธ๋ก ์ ์์ ์ค์ํ ๋ฐฐ์ด ์ฌ์ ์ง์ ๊ณต๋ถํ๊ธฐ
๋ฐฐ์ด reduce() ํจ์ ์ฌ์ฉ๋ฒ์ ๋ํด ์์๋ณด๊ธฐ
https://cometruedream.tistory.com/256
[์๋ฐ์คํฌ๋ฆฝํธ] ๋ฐฐ์ด(array) reduce ํจ์์ ๊ฐ๋ ๋ฐ ํ์ฉ๋ ๋์ ์ฌ์ฉ๋ฒ
๐คทโ๏ธ ๋ณธ๋ก ์ ์์ ์ค์ํ ๋ฐฐ์ด ์ฌ์ ์ง์ ๊ณต๋ถํ๊ธฐ ๋ฐฐ์ด join() ํจ์ ์ฌ์ฉ๋ฒ์ ๋ํด ์์๋ณด๊ธฐhttps://cometruedream.tistory.com/254 [์๋ฐ์คํฌ๋ฆฝํธ] ๋ฐฐ์ด(array)์ ์ ์ฉํ๊ฒ ํ์ฉํ ์ ์๋ join ํจ์ ๊ฐ
cometruedream.tistory.com
๋ฐฐ์ด join() ํจ์ ์ฌ์ฉ๋ฒ์ ๋ํด ์์๋ณด๊ธฐ
https://cometruedream.tistory.com/254
[์๋ฐ์คํฌ๋ฆฝํธ] ๋ฐฐ์ด(array)์ ์ ์ฉํ๊ฒ ํ์ฉํ ์ ์๋ join ํจ์ ๊ฐ๋ ๋ฐ ์ฌ์ฉ๋ฒ
๐คทโ๏ธ ๋ณธ๋ก ์ ์์๋ฐฐ์ด์ javascript์์ ๊ฐ์ฅ ์ค์ํ ๋ฐ์ดํฐ ์๋ฃ๊ตฌ์กฐ ์ค ํ๋์ ๋๋ค.๋ฐฐ์ด์ ๋ด์ฅํจ์๋ฅผ ํ์ฉํ๋ ๊ฒ์ javascript์์ ์ค์ํ ๋ถ๋ถ ์ค ํ๋์ด๋ฉฐ join() ๋ฐฐ์ด ๋ฉ์๋๋ ๋ฐฐ์ด์ ํฉ
cometruedream.tistory.com
๋ฐฐ์ด map(), forEach() ์ธ๊ธฐ ์๋ ๋ฉ์๋ ์ฌ์ฉ๋ฒ์ ๋ํด ์์๋ณด๊ธฐ
https://cometruedream.tistory.com/253
[์๋ฐ์คํฌ๋ฆฝํธ] ๋ฐฐ์ด(array)์ ์ฒ๋ฆฌํ๋ ์ธ๊ธฐ์๋ ๋ฉ์๋ map(), forEach() ๊ฐ๋ ๊ณผ ์ฐจ์ด์
๐คทโ๏ธ ๋ณธ๋ก ์ ์์์๋ฐ์คํฌ๋ฆฝํธ๋ ํ์ฌ ์น/์ฑ ๊ฐ๋ฐ ํธ๋ ๋์์ ํ์์ ์ผ๋ก ์ฌ์ฉ๋๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค. ์ฌ๋ฌ ์์ดํ ์ ์ ์ฅํ๋๋ฐ ์ฌ์ฉ๋๋ ๋ฐฐ์ด๊ณผ ์ด๋ฅผ ํ์ฑํ๋ฉฐ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ
cometruedream.tistory.com
ํ์ฉ๊ฐ์น๊ฐ ์ข์ every(), some() ํจ์ ์ฌ์ฉ๋ฒ์ ๋ํด ์์๋ณด๊ธฐ
https://cometruedream.tistory.com/250
[์๋ฐ์คํฌ๋ฆฝํธ] ํ์ฉ๊ฐ์น๊ฐ ์ข์ ๋ด์ฅํจ์์ every(), some() ํจ์์ ๊ฐ๋ ๋ฐ ํ์ฉ๋ฒ
๐คทโ๏ธ ์๋ฐ์คํฌ๋ฆฝํธ ๋ด์ฅ ํจ์๋?์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํจ์จ์ ์ผ๋ก ํ์ฉํ๋ ค๋ฉด ๋ด์ฅ ํจ์๋ฅผ ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.๋ด์ฅ ํจ์๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฏธ๋ฆฌ ์ ์ธ๋ ํจ์๋ก, ํธ์ถ๋ง์ผ๋ก ์ฌ์ฉํ ์ ์์ต
cometruedream.tistory.com
์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด ์์ฑ๊ณผ ์กฐ์, JSON, ๋ฉ์๋ ๊ฐ๋ ๊ณผ ์ฌ์ฉ๋ฒ
https://cometruedream.tistory.com/261
[์๋ฐ์คํฌ๋ฆฝํธ] ๊ฐ์ฅ ์ค์ํ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด ์์ฑ๊ณผ ์กฐ์, JSON, ๋ฉ์๋ ๊ฐ๋ ๊ณผ ์ฌ์ฉ๋ฒ
๐คทโ๏ธ ๋ณธ๋ก ์ ์์ ์ค์ํ ๋ฐฐ์ด ์ฌ์ ์ง์ ๊ณต๋ถํ๊ธฐ "> HTML ์ฝ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐํ ์ ์๋ ์์ค ๋ฐฐ์ด reduce() ํจ์ ์ฌ์ฉ๋ฒ์ ๋ํด ์์๋ณด๊ธฐhttps://cometruedream.tistory.com/259 HTML ์ฝ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐํ ์ ์๋
cometruedream.tistory.com
๐คทโ๏ธ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐฐ์ด push, pop, shift, unshift๋?
์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋จ์ด๋ฉฐ ์ ์ฐํ๊ณ ๊ฐ๋ ฅํ ์ธ์ด์ ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ๋ ๋์ ์ธ ์ธ์ด๋ก ๋ฐฐ์ด์ ์์๋ค์ ์ถ๊ฐ, ์ญ์ ๋ฅผ ํธ๋ฆฌํ๊ฒ ๋์์ฃผ๋ ์ ์ฉํ ๋ด์ฅํจ์๋ค์ด ๋ง์ต๋๋ค.
์ ์ฉํ ๋ฐฐ์ด ๋ด์ฅํจ์๋ค ์ค์์๋ push, pop, shift, unshift ํนํ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๋ฐฐ์ด์ ๋ด์ฅํจ์๋ค์ ๋๋ค.
์ด 4๊ฐ์ง ๋ฐฐ์ด ๋ด์ฅํจ์์ ๊ฐ๋ ๊ณผ ์์ ์ ๊ฐ๊ฐ ๋ด์ฅํจ์๋ค์ ์ฐจ์ด์ ์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค.
๐คทโ๏ธ ๋ฐฐ์ด์ ์ ์ฉํ ๋ด์ฅํจ์ ์์
1. ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๋ด์ฅํจ์ push()
- push() ํจ์๋ ๋ฐฐ์ด์ ๋์ ์๋ก์ด ์์์ ๊ฐ์ ์ถ๊ฐํฉ๋๋ค.
- push() ํจ์๋ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ฐํํฉ๋๋ค.
์์
let fruits = ["apple", "banana"];
console.log(fruits.push());
//๊ฒฐ๊ณผ๊ฐ: 2 ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ฐํํฉ๋๋ค.
let fruits = ["apple", "banana"];
fruits.push('orange');
console.log(fruits)
//๊ฒฐ๊ณผ๊ฐ: ["apple", "banana", "orange"]
์์ ์์ ์ฒ๋ผ push() ํจ์๋ง ์ ์ธํ๋ฉด ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ฐํํฉ๋๋ค.
push() ํจ์์ ๊ฐ์ ๋ฃ์ผ๋ฉด ๋ฐฐ์ด์ ๋งจ๋ค์ ์๋ก์ด ๊ฐ์ ๋ฐํํฉ๋๋ค.
2. ๋ฐฐ์ด ๋ด์ฅํจ์ pop()
- pop() ํจ์๋ ๋ฐฐ์ด์ ๋ง์ง๋ง ์์๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
- push() ํจ์๋ ์ ๊ฑฐ๋ ์์๋ฅผ ๋ฐํํฉ๋๋ค.
์์
let fruits = ["apple", "banana", "orange"];
let removed = fruits.pop();
console.log(fruits);
// ["apple", "banana"] ๋ฐฐ์ด์ ๋ง์ง๋ง ์์๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
console.log(removed);
// removed ๋ณ์์ ๋ฐฐ์ด์ ๋ง์ง๋ง ๊ฐ "orange" ๋ด์ต๋๋ค.
์์ ์์ ์ฒ๋ผ pop() ํจ์๋ฅผ ์ ์ธํ๋ฉด ๋ฐฐ์ด์ ๋ง์ง๋ง์์๋ฅผ ์ ๊ฑฐํ๊ณ ๋ณ์์ ์ ๊ฑฐํ ๋ง์ง๋ง ๊ฐ์ ๋ด์ ์ ์์ต๋๋ค.
3. ๋ฐฐ์ด ๋ด์ฅํจ์ shift()
- shift() ํจ์๋ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
- shift() ํจ์๋ ์ ๊ฑฐ๋ ์์๋ฅผ ๋ฐํํฉ๋๋ค.
์์
let fruits = ["apple", "banana", "orange"];
let removed = fruits.shift();
console.log(fruits);
// ["banana", "orange"] ๋ฐฐ์ด์ ์ฒซ๋ฒ์งธ ์์๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
console.log(removed);
// removed ๋ณ์์ ๋ฐฐ์ด์ ์ฒซ๋ฒ์งธ ๊ฐ "apple" ๋ด์ต๋๋ค.
pop() ๋ด์ฅํจ์ ๋ฐ๋๋ก ๋ฐฐ์ด์ ์ฒซ๋ฒ์งธ ๊ฐ์ ์ ๊ฑฐํ๊ณ ๋ณ์์ ์ ๊ฑฐํ ์ฒซ ๋ฒ์งธ ๊ฐ์ ๋ด์ต๋๋ค.
4. ๋ฐฐ์ด ๋ด์ฅํจ์ unshift()
- unshift() ํจ์๋ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- unshift() ํจ์๋ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ฐํํฉ๋๋ค.
์์
let fruits = ["apple", "banana", "orange"];
fruits.unshift("grape");
console.log(fruits.unshift())
//๊ฒฐ๊ณผ๊ฐ: 4
console.log(fruits);
//๊ฒฐ๊ณผ๊ฐ: ["grape", "apple", "banana", "orange"]
unshift() ํจ์๋ push() ํจ์์ ๋ฐ๋๋ก ๋งจ์์ ๋ฐฐ์ด์ ์์๋ฅผ ์ถ๊ฐํ๊ณ ๋น ํจ์๋ง ์คํํ๋ฉด ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ฐํํฉ๋๋ค.
5. push() vs unshift(
- push() ํจ์๋ ๋ฐฐ์ด์ ๋ง์ง๋ง์ ์๋ก์ด ์์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- unshift() ํจ์๋ ๋ฐฐ์ด์ ๋งจ์์ ์๋ก์ด ์์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
์์
let fruits = ["apple", "banana"];
fruits.push("orange");
console.log(fruits);
//๊ฒฐ๊ณผ๊ฐ: ["apple", "banana", "orange"]
fruits.unshift("grape");
console.log(fruits);
//๊ฒฐ๊ณผ๊ฐ: ["grape", "apple", "banana", "orange"]
unshift() ํจ์๋ push() ํจ์์ ๋ฐ๋๋ก ๋งจ ์์ ๋ฐฐ์ด์ ์์๋ฅผ ์ถ๊ฐํ๊ณ ๋น ํจ์๋ง ์คํํ๋ฉด ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ฐํํฉ๋๋ค.
6. pop() vs shift()
- pop() ํจ์๋ ๋ฐฐ์ด์ ๋ง์ง๋ง ์์๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
- shift() ํจ์๋ ๋ฐฐ์ด์ ์ฒซ๋ฒ์งธ ์์๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
์์
let fruits = ["apple", "banana", "orange"];
let removed = fruits.pop();
console.log(fruits); // ["apple", "banana"]
console.log(removed); // "orange"
removed = fruits.shift();
console.log(fruits); // ["banana"]
console.log(removed); // "apple"
shift() ํจ์ ์คํํ ๊ฐ์ด “banana” ๋จ์์ ์๋ชป๋ ๊ฐ์ด๋ผ๊ณ ์๊ฐํ์ค ์ ์์ง๋ง ๊น์ ๋ณต์ฌ์ ์์ ๋ณต์ฌ์ ๊ฐ๋ ์ด์ง๋ง ์๋ณธ์ ๋ฐฐ์ด์ ๊ฐ์ ์์ ํ๊ธฐ ๋๋ฌธ์ ๋ฐ์๋๋ ํ์์ ๋๋ค.
๐คทโ๏ธ ๋ง์ง๋ง์ผ๋ก
์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฐฐ์ด์ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌ์คํธ์ ํ๋ ์๋ฃ๊ตฌ์กฐ๋ก ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
๊ทธ๋์ ์ ์ฉํ ๋ฐฐ์ด ๋ด์ฅํจ์๋ค์ด ์กด์ฌํ๋ฉฐ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๊ณ ์ค์ํ 4๊ฐ์ง์ ๋ฐฐ์ด ๋ด์ฅํจ์์ ๋ํด์ ์์๋ดค์ต๋๋ค.
push(), pop(), shift(), unshift() ๋ด์ฅํจ์์ ๋ํด์ ์ฐจ์ด์ ๊ณผ ๊ฐ๋ ๊ณผ ์์ ์ ๋ํด์ ์ดํด๋ณด์์ต๋๋ค.
4๊ฐ์ง ๋ด์ฅํจ์๋ฅผ ํตํด์ ํ์ํ ์ํฉ์ ์ ์ฌ์ ์ํ๊ฒ ์ฌ์ฉํ๋ฉด ์ข์ ๊ฑฐ ๊ฐ์ต๋๋ค.
์ฌ๋ฐ๋ ์ค๋์ ๋ ๋ณ ์ด์ธ ๋ณด๊ณ ๊ฐ์ธ์!
https://cometruedream.tistory.com/247
[React] Tailwind ํ์ค, ๋์ค, ์ธ์ค ํจ๊ณผ className ์ปค์คํ
๐คทโ๏ธ Tailwind ํ์ค, ๋์ค, ์ธ์ค ํจ๊ณผํ๋ก์ ํธ ์งํ์ค ๋ฐฐ๋ ๋งํฌ์ URL ๊ธธ์ด๊ฐ ๋๋ฌด ๊ธธ์ด์ 3์ค ํจ๊ณผ ์ฒ๋ฆฌ๋ฅผ ํด์ผ ํ์ต๋๋ค. React + Tailwind CSS ์ ํ ๋ ํ๋ก์ ํธ ์ฌ์ CSS ํ์ผ & style ํ๊ทธ๋ฅผ ์ฌ์ฉํ
cometruedream.tistory.com
https://cometruedream.tistory.com/243
NestJS Lifecycle (์๋ช ์ฃผ๊ธฐ) ๊ฐ๋
๐คทโ๏ธ ๋ณธ๋ก ์ ์์ Nest JS ๊ฐ๋ ?Nest JS๋ Node JS ๊ธฐ๋ฐ์ผ๋ก ํ ์๋ฒ ์ดํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ ์ ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ์๋นํ ์ค๋ซ๋์ Express ๊ธฐ๋ฐ์ผ๋ก ์๋ฒ ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์์ ์๋์ ์ธ ์
cometruedream.tistory.com
https://cometruedream.tistory.com/242
๋ฆฌ์กํธ Vite Proxy ํ์ฉํ CORS ์ค๋ฅ ํด๊ฒฐ
๐คทโ๏ธ ๋ณธ๋ก ์ ์์ํ๋ก ํธ์๋ ๋ฒ๋ค๋ฌ ๊ฐ๋ ๊ณผ webpack vs vite ๋น๊ต์ ๋ํด์ ๊ณต๋ถ๋ฅผ ํ๊ณ ๊ธ์ ๋ณด์๋ฉด ๋ ๋ง์ ๋์์ด ๋ฉ๋๋ค^^ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ํ ๋ฒ๋ค๋ฌ ๊ฐ๋ ๊ณผ webpack vs vite ๋น๊ตhttps://comet
cometruedream.tistory.com
https://cometruedream.tistory.com/241
React ํด๋๊ตฌ์กฐ FSD ๊ธฐ๋ฅ ๋ถํ ์ค๊ณ ์ํคํ ์ฒ
๐คทโ๏ธ ๋ณธ๋ก ์ ์์ํ๋ก์ ํธ๋ฅผ ์์ํ๊ธฐ์ ์์ ํด๋ ๊ตฌ์กฐ, ์ค๊ณ์ ๋ํ ์ํคํ ์ฒ๋ฅผ ๋ง๋๋ ๊ฒ์ ์๋นํ ์ด๋ ต๋ค. ์ด๋ฒ ํ๋ก์ ํธ์ React FSD ํด๋๊ตฌ์กฐ ์ํคํ ์ฒ๋ฅผ ์ค๊ณํ ์์ ์ด๋ผ์ FSD ์ํคํ
cometruedream.tistory.com
https://cometruedream.tistory.com/244
์ฝ๊ฒ ์ดํดํ๊ณ ์ฌ์ฉํ ์ ์๋ Prisma ๋ช ๋ น์ด ์ ๋ฆฌ
๐คทโ๏ธ Prisma ๋ช ๋ น์ด ๋ณธ๋ก ์ ์์ Prisma๋?Nest JS ํ๋ ์์ํฌ์ Prisma ORM์ ํ์ฉํด์ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ Prisma๋ Node JS ๊ธฐ๋ฐ์ ํ๋ ์์ํฌ/๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ํธ์์ฉ์ด ์๋๋ฉฐ Prisma + DB ์ฐ๋์ผ
cometruedream.tistory.com