JavaScript

[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] javascript ์ˆซ์ž ๊ธˆ์•ก ํ‘œ์‹œ 3์ž๋ฆฌ ๋งˆ๋‹ค ์ฝค๋งˆ ์‚ฌ์šฉ๋ฒ•

martinooo 2024. 7. 19. 08:21

 

 

 

 

๐Ÿคท‍โ™‚๏ธ ๋ณธ๋ก 


๊ฐœ๋ฐœ์„ ํ•˜๋‹ค ๋ณด๋ฉด ๊ฐ€๊ฒฉํ‘œ, ๊ธˆ์•ก์„ ํ‘œ์‹œํ•ด์•ผ ๋  ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

10000์› ๊ฐ€๊ฒฉ์„ ํ‘œ์‹œํ•ด์•ผ ๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด 10000 ๋ณด๋‹ค 10,000 ๊ฐ€๊ฒฉ ํ‘œ์‹œ๊ฐ€ ๊ฐ€๋…์„ฑ์ด ๋” ์ข‹์Šต๋‹ˆ๋‹ค.

๊ฐ€๊ฒฉํ‘œ์™€ ๊ธˆ์•ก์€ ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ ์ž์ฃผ ๋งˆ์ฃผํ• ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์ด๋ฉฐ ๋‹จ์ˆœํžˆ ์ˆซ์ž ๊ทธ๋Œ€๋กœ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์ฝค๋งˆ์™€ ํ•จ๊ป˜ ํ‘œ์‹œํ•ด ์ฃผ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ํŽธ์˜์„ฑ์„ ์œ„ํ•ด์„œ ๊ฐ€๊ฒฉํ‘œ, ๊ธˆ์•ก์„ ํ‘œ์‹œํ• ๋•Œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(javascript)์—์„œ ์ฝค๋งˆ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

๐Ÿคท‍โ™‚๏ธ 3์ž๋ฆฌ๋งˆ๋‹ค ์ฝค๋งˆ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•


 

 

1. toLocaleString() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

toLocaleString() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ˆซ์ž๋ฅผ ์ง€์—ญ๋ณ„ ํ˜•์‹์— ๋งž๊ฒŒ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฐฉ๋ฒ•์€ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” ๋ฐฉ๋ฒ•์ด๋ฉฐ ๊ฐ„๋‹จํ•˜๊ณ  ์ง๊ด€์ ์ž…๋‹ˆ๋‹ค.

 

const number = 10000;
const formattedNumber = number.toLocaleString('ko-KR'); 
//10,000
console.log(formattedNumber);

 

๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” locales ์–ธ์–ด

 

toLocaleString(en-US) // ์˜์–ด-๋ฏธ๊ตญ
toLocaleString(ko-KR) // ํ•œ๊ตญ์–ด-๋Œ€ํ•œ๋ฏผ๊ตญ
toLocaleString(ja-JP) // ์ผ๋ณธ์–ด-์ผ๋ณธ

 

 

 

2. ์ •๊ทœ ํ‘œํ˜„์‹ ์‚ฌ์šฉ

์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  replace ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•ด์„œ 3์ž๋ฆฌ๋งˆ๋‹ค ์ฝค๋งˆ๋ฅผ ์ฐ์Šต๋‹ˆ๋‹ค.

const number = 100000;
const formattedNumber = number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); 
//10,000
console.log(formattedNumber);

 

3. ์ •๊ทœ ํ‘œํ˜„์‹ ์‚ฌ์šฉ

์ง์ ‘ ์ปค์Šคํ…€ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ 3์ž๋ฆฌ ๋งˆ๋‹ค ์ฝค๋งˆ๋ฅผ ์ฐ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฐฉ๋ฒ•์€ ์ฝ”๋“œ์ค„์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚˜์ง€๋งŒ ์œ ์—ฐํ•˜๊ฒŒ ์›ํ•˜๋Š” ์ปค์Šคํ…€์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

function formatNumber(number) {
    const parts = number.toString().split('.');
    parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
    return parts.join('.');
}

const number = 100000;
const formattedNumber = formatNumber(number); 
//10,000
console.log(formattedNumber);

 

๐Ÿคท‍โ™‚๏ธ ๋งˆ์ง€๋ง‰์œผ๋กœ


๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด ๊ฐ€๊ฒฉํ‘œ, ๊ธˆ์•ก์„ ํ‘œ์‹œํ•ด์•ผ ๋˜๋Š” ๋ฐ์ดํ„ฐ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(javascript)์—์„œ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐ€๊ฒฉํ‘œ, ๊ธˆ์•ก์— ์ฝค๋งˆ๋ฅผ ์ฐ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„์— 3๊ฐ€์ง€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(javascript)์—์„œ ์ฒœ๋‹จ์œ„ ๋งˆ๋‹ค ์ฝค๋งˆ๋ฅผ ์ฐ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค.

์ €๋Š” toLocaleString ์ž์ฃผ ์‚ฌ์šฉํ•˜๋ฉฐ ์‚ฌ์šฉ์žํŽธ์˜๋ฅผ ๊ณ ๋ คํ•ด์„œ ๊ฐ€๊ฒฉํ‘œ์™€ ๊ธˆ์•ก์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•  ๋•Œ ์ฝค๋งˆ๋ฅผ ์ฐ์–ด์ฃผ๋ฉด ๊ฐ€๋…์„ฑ์— ๋” ์ข‹์Šต๋‹ˆ๋‹ค.

 


 

์žฌ๋ฐŒ๋Š” ์˜ค๋Š˜์˜ ๋ ๋ณ„ ์šด์„ธ ๋ณด๊ณ  ๊ฐ€์„ธ์š”! 

 

 

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

 

 

https://fnfentermagazine.com/%ec%9e%90%eb%b0%94%ec%8a%a4%ed%81%ac%eb%a6%bd%ed%8a%b8-%ec%88%ab%ec%9e%90-%ec%9e%90%eb%a3%8c%ea%b5%ac%ec%a1%b0%ec%9d%98-%ea%b0%9c%eb%85%90%ea%b3%bc-%eb%82%b4%ec%9e%a5%ed%95%a8%ec%88%98/

 

[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ 2ํƒ„] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ˆซ์ž ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๊ฐœ๋…๊ณผ ๋‚ด์žฅํ•จ์ˆ˜

์„ธ์ƒ์„ ํ–ฅํ•ด ๋‹ฌ๋ ค - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(javascript) ์ˆซ์žํ˜• ๋ฐ์ดํ„ฐ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์ˆ˜ํ•™์  ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ž…๋‹ˆ๋‹ค. [์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ 2ํƒ„] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ˆซ์ž ์ž๋ฃŒ๊ตฌ์กฐ์˜

fnfentermagazine.com