๐คทโ๏ธ ๋ณธ๋ก ์ ์์ ์ค์ํ ๋ฐฐ์ด ์ฌ์ ์ง์ ๊ณต๋ถํ๊ธฐ
๋ฐฐ์ด 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
๐คทโ๏ธ filter ํจ์๋?
javascript์ filter() ํจ์๋ ๋ฐฐ์ด์ ์ํํ๋ฉด์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์๋ง ์ถ์ถํ์ฌ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํ๋ ํจ์์ ๋๋ค.
filter() ํจ์๋ ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์ฃผ์ด์ง ์ฝ๋ฐฑ ํจ์๋ฅผ ์คํํ๊ณ ์ฝ๋ฐฑ ํจ์์ ๋ฐํ ๊ฐ์ด true์ธ ์์๋ง ๋ชจ์์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค.
filter() ๋ฉ์๋์ ๋ํด ์์ธํ ์ดํดํ๋ฉด
๐ก ๋ฐฐ์ด์ ์๋ฃ๊ตฌ์กฐ์์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฐ๋ง ์๋ก์ด ๋ฐฐ์ด๋ก ๋ฐํ๋ฐ๊ธฐ๋ฅผ ์ํ ๋ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๋ฐฐ์ด ๋ด์ฅํจ์์ ๋๋ค.
๐คทโ๏ธ filter() ํจ์์ ์์
๋ค์๊ณผ ๊ฐ์ ๋ฐฐ์ด์ด ์์ต๋๋ค.
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
๋ค์๊ณผ ๊ฐ์ ๋ฐฐ์ด์์ ์ง์์ ๊ฒฐ๊ณผ๊ฐ๋ง ๋์ถํ๊ณ ์ถ์ ๋ filter() ํจ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
const evenNumbers = numbers.filter(function (number) {
return number % 2 === 0;
});
console.log(evenNumbers);
//๊ฒฐ๊ณผ๊ฐ [2, 4, 6, 8]
์์ ์ฝ๋์์ ์ง์์ ๋ง์กฑํ๋ ์์๋ง ์ถ์ถํด์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค.
์ต์ ๋ฌธ๋ฒ ํ์ดํ ํจ์๋ก ๋ ๊ฐ๊ฒฐํ ์ฝ๋๋ก ๊ฐ์ ํ ์ ์์ต๋๋ค.
const evenNumbers = numbers.filter((number) => number % 2 === 0);
console.log(evenNumbers);
//๊ฒฐ๊ณผ๊ฐ [2, 4, 6, 8]
ํ์ดํ ํจ์๋ก ์์ ํ๊ณ ์ฝ๋๋ฅผ ๋ ๊ฐ๊ฒฐํ๊ฒ ์ค์ผ ์ ์์ต๋๋ค.
๋ฐ๋๋ก ํ์๊ฐ๋ง ๋์ถํ๊ณ ์ถ์ ๋๋ filter() ํจ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
const evenNumbers = numbers.filter((number) => number % 2 !== 0);
console.log(evenNumbers);
//๊ฒฐ๊ณผ๊ฐ [1, 3, 5, 7, 9]
ํ์ดํ ํจ์์ ํ ์ค๋ก ์ฝ๋๋ฅผ ๊ฐ๊ฒฐํ๊ฒ ๊ตฌํํด์ ํ์์ ๋ง์กฑํ๋ ์์๋ง ์ถ์ถํด์ ์๋ก์ด ๋ฐฐ์ด๋ก ๋ฐํํฉ๋๋ค.
๐คทโ๏ธ filter() ํจ์์ ์์ 2
์ฃผ์ด์ง ๋ฐฐ์ด์์ 5 ์ด์์ ์ซ์๋ง ์ถ์ถํ๊ธฐ
const numbers = [1, 5, 10, 15, 20];
const greaterThanFive = numbers.filter(number => number > 5);
console.log(greaterThanFive); // [10, 15, 20]
filter() ํจ์๋ฅผ ์ด์ฉํด์ ๊ฐ๊ฒฐํ ์ฝ๋๋ก ์ํ๋ ๊ฒฐ๊ณผ ๊ฐ์ ๋์ถํ ์ ์์ต๋๋ค.
๐คทโ๏ธ filter() ํจ์์ ์์ 3
์กฐ๊ธ ๋ ๋์ด๋๋ฅผ ๋์ฌ์ ๊ฐ์ฒด ๋ฐฐ์ด์ age 18 ์ด์์ธ ๊ฐ์ฒด๋ง ์ถ์ถํ๊ธฐ
const users = [
{ name: "Kim", age: 16 },
{ name: "Lee", age: 25 },
{ name: "Park", age: 30 },
{ name: "Choi", age: 14 },
{ name: "Jeon", age: 19 },
];
const adults = users.filter(user => user.age >= 18);
console.log(adults);
// ๊ฒฐ๊ณผ๊ฐ
[
{
"name": "Lee",
"age": 25
},
{
"name": "Park",
"age": 30
},
{
"name": "Jeon",
"age": 19
}
]
๊ฐ์ฒด ๋ฐฐ์ด์์ age 18 ์ด์์ธ ๊ฐ์ฒด๋ง ์ฐพ์์ ์๋ก์ด ๊ฐ์ฒด ๋ฐฐ์ด๋ก ๋ฐํํฉ๋๋ค.
๐คทโ๏ธ ๋ง์ง๋ง์ผ๋ก
์์ ์์ ๋ค์ ํตํด์ filter() ํจ์๋ฅผ ์ฌ์ฉํด์ ์ํ๋ ๋ฐฐ์ด๋ก ํํฐ๋งํด์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
filter() ํจ์๋ฅผ ์ ํ์ฉํ๋ฉด ๋ณต์กํ๊ณ ์ฑ๋ฅ์ ์ ์ข์ for๋ฌธ, ๋ฐ๋ณต๋ฌธ ์์ด๋ ๊ฐ๊ฒฐํ๊ณ ์ํ๋ ์กฐ๊ฑด์ผ๋ก ์ํ๋ ๊ฒฐ๊ณผ๊ฐ๋ง ์ถ์ถํ ์ ์์ต๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ์ ๋ฐฐ์ด ๋ด์ฅํจ์๋ฅผ ์ ํ์ฉํ๋ฉด ์ฝ๋๋ฅผ ๊ฐ์ํํ๊ณ ์ฑ๋ฅ์ธก๋ฉด์์๋ ์ข์ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
์ฌ๋ฐ๋ ์ค๋์ ๋ ๋ณ ์ด์ธ ๋ณด๊ณ ๊ฐ์ธ์!
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