์ธํŒŒ

You Can Become A

P

๋Šฆ๊ฒŒ ์‹œ์ž‘ํ•ด๋„ ๋ˆ„๊ตฌ๋“ ์ง€ ๋…ธ๋ ฅํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ ์ˆ˜ ์žˆ์–ด์š” !

Node Package

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค
Node Package

[NODE] ๐Ÿ“š Sharp ๋ชจ๋“ˆ ์‚ฌ์šฉ๋ฒ• - ์ด๋ฏธ์ง€ ๋ฆฌ์‚ฌ์ด์ง• / ์›Œํ„ฐ๋งˆํฌ ๋„ฃ๊ธฐ

Sharp ๋ชจ๋“ˆ ๋…ธ๋“œ ์ง„์˜์—๋Š” ๋งŽ์€ ์ด๋ฏธ์ง€ ๋ฆฌ์‚ฌ์ด์ง• ํŒจํ‚ค์ง€๋“ค์ด ์žˆ์—ˆ์ง€๋งŒ, ๋๊นŒ์ง€ ์‚ด์•„๋‚จ์€ ๋ชจ๋“ˆ์ด shap ์ด๋‹ค. ์ด๋ฏธ์ง€ ๋ฆฌ์‚ฌ์ด์ง• ๋™์ž‘ ์ž์ฒด๊ฐ€ cpu์™€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์žก์•„๋จน๋Š” ์ฃผ๋ฒ”์ด๋ผ, ๊ฐ€๋” out of memory๋กœ node๊ฐ€ ์ฃฝ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋Ÿฐ ๊ด€์ ์—์„œ sharp ๋ชจ๋“ˆ์€ ๋ฆฌ์‚ฌ์ด์ง• ์†๋„๋„ ๋น ๋ฅด๋ฉฐ ๋ฉ”๋ชจ๋ฆฌ๋„ ๋‹ค๋ฅธ ๋™์ข… ๋ชจ๋“ˆ ๋Œ€๋น„ ๋งŽ์ด ์žก์•„ ๋จน์ง€ ์•Š๋Š”๋‹ค. Sharp ์‚ฌ์šฉ๋ฒ• ์•„๋ž˜ ๊ณต์‹ ๋ฌธ์„œ ํ™ˆํŽ˜์ด์ง€์— ๋“ค์–ด๊ฐ€๋ณด๋ฉด ์˜ต์…˜์— ๋Œ€ํ•ด ์•„์ฃผ ์ž˜ ์ •๋ฆฌ๋˜์–ด์žˆ๋‹ค. sharp - High performance Node.js image processing sharp.pixelplumbing.com > npm install sharp sharp ๋ชจ๋“ˆ ์„ค์น˜์‹œ ์ฃผ์˜์‚ฌํ•ญ โš ๏ธ sharp๋Š” OS์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์ด์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œˆ๋„์šฐ,..

category_image
์ธํŒŒ_
2022.08.15
(0)
Node Package

[NODE] ๐Ÿ“š NVM ๋ชจ๋“ˆ ์‚ฌ์šฉ๋ฒ• - ๋…ธ๋“œ ๋ฒ„์ „ ์Šค์œ„์นญ

NVM (Node.js Version Manager) ๋ชจ๋“ˆ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ Node.js์˜ ๋ฒ„์ „์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ํ•œ ๋ฒˆ์ฏค์€ ๊ผญ ์˜จ๋‹ค. ํ˜‘์—…์„ ํ•  ๋•Œ, ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋™์‹œ์— ์ง„ํ–‰ํ•ด์•ผ ํ•  ๋•Œ ๋‹ค์–‘ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ / ํ”„๋ ˆ์ž„์›Œํฌ / ๊ฐœ๋ฐœํˆด์˜ ๋ฒ„์ „ ํ˜ธํ™˜ ๋ฌธ์ œ๋ฅผ ๊ฒช๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋Ÿฐ ํ™˜๊ฒฝ์—์„œ ๊ทธ๋•Œ๋งˆ๋‹ค Node.js๋ฅผ ์žฌ์„ค์น˜ ๋ฐ ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๊ณ  ๋ถˆํŽธํ• ๋ฟ๋”๋Ÿฌ ์žก์•„๋จน๋Š” ์‹œ๊ฐ„๋„ ์•„๊น๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ Node.js ๋ฒ„์ „์„ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝํ•ด ๊ฐ€๋ฉด์„œ ์‚ฌ์šฉํ•˜๊ฒŒ๋” ๋„์™€์ฃผ๋Š” ๊ฒƒ์ด NVM์ด๋‹ค. NVM ์€ Node Version Manager๋กœ์จ Node.js์˜ ๋„๊ตฌ์ด๋ฉฐ, ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ฒ„์ „์„ ๋ณ€๊ฒฝํ•ด ๊ฐ€๋ฉด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์ผ๋ฐ˜ ์†Œํ”„ํŠธ์›จ์–ด ์„ค์น˜ํ•˜๋“ฏ์ด exe ํŒŒ์ผ์„ ๋ฐ›์•„ ์ผ์ผํžˆ ํด๋ฆญํ•˜์—ฌ ์—…๋ฐ์ดํŠธ ..

category_image
์ธํŒŒ_
2022.07.08
8
Node Package

[NODE] ๐Ÿ“š Color-Hash ๋ชจ๋“ˆ - ๋žœ๋ค ์ƒ‰์ƒ์ฝ”๋“œ

Color-Hash ๋ชจ๋“ˆ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ ์žˆ์–ด ๋žœ๋ค ์ˆซ์ž๊ฐ€ ํ•„์š”ํ•˜๋“ฏ์ด, ๋งŒ์ผ ๋žœ๋ค ์ƒ‰๊น”(color)๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด ์ด ๋ชจ๋“ˆ์„ ์“ฐ๋ฉด ๋œ๋‹ค. Color-Hash ๋ชจ๋“ˆ ์‚ฌ์šฉ๋ฒ• color-hash Generate color based on the given string (using HSL color space and SHA256).. Latest version: 2.0.1, last published: a year ago. Start using color-hash in your project by running `npm i color-hash`. There are 91 other projects in the npm registry using col www.npmjs.com > npm install color-hash ..

category_image
์ธํŒŒ_
2022.06.26
(0)
Node Package

[NODE] ๐Ÿ“š Winston ๋ชจ๋“ˆ ์‚ฌ์šฉ๋ฒ• - ์„œ๋ฒ„ ๋กœ๊ทธ ๊ด€๋ฆฌ

Winston ๋ชจ๋“ˆ ์–ด๋–ค ์„œ๋ฒ„๋“ ์ง€ ์‹ค์ œ๋กœ ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๋ ค๋ฉด ๋กœ๊ทธ๋ฅผ ๊ผผ๊ผผํžˆ ๋‚จ๊ธฐ๋Š” ๊ฒƒ์€ ํ•„์ˆ˜์ด๋‹ค. Log๋Š” ์—๋Ÿฌ๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋Š” ์—ด์‡ ์ด๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„๋ฅผ ์šด์˜ํ•œ๋‹ค๊ณ  ํ•˜๋ฉด ๋กœ๊ทธ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•ด์„œ ์‹œ์Šคํ…œ์„ ์šด์˜ํ•ด์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ์–ด๋–ค ์‚ฌ๋žŒ์ด, ์–ด๋–ค ์ด๋ฒคํŠธ, ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ–ˆ๋Š”์ง€, ์–ด๋–ค ๋™์ž‘์„ ํ•˜๋‹ค๊ฐ€, ์–ด๋–ค ํŠธ๋žœ์žญ์…˜์„ ๋Œ๋ฆฌ๋‹ค๊ฐ€, ์–ด๋–ค ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋Š”์ง€ ์ด๋ฅผ ์ •๋ฐ€ ๊ด€๋ฆฌํ• ์ˆ˜ ์žˆ๋‹ค. Node.js์—์„œ๋Š” log๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ๋ชจ๋“ˆ์ธ winston.js๊ฐ€ ์•˜๋‹ค. ์œˆ์Šคํ†ค(winston.js)๋Š” ์‹ค์ œ ์„œ๋ฒ„๋ฅผ ์šด์˜ํ•  ๋•Œ console.log ์™€ console.error ๋ฅผ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“ˆ์ด๋‹ค. console.log ์™€ console.error ๋„ ๊ฐœ๋ฐœ ์ค‘์—๋Š” ํŽธ๋ฆฌํ•˜๊ฒŒ ์ฝ˜์†” ๋กœ๊ทธ๋กœ ์„œ๋ฒ„์˜ ์ƒํ™ฉ์„ ..

category_image
์ธํŒŒ_
2022.06.14
11
Node Package

[NODE] ๐Ÿ“š PM2 ๋ชจ๋“ˆ ์‚ฌ์šฉ๋ฒ• - ํด๋Ÿฌ์Šคํ„ฐ / ๋ฌด์ค‘๋‹จ ์„œ๋น„์Šค

Node.js ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ Node.js๋Š” Chrome์˜ V8 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์œผ๋กœ ๋นŒ๋“œ๋œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฐํƒ€์ž„(runtime)์œผ๋กœ โ€˜Event Drivenโ€™, โ€˜Non-Blocking I/Oโ€™ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด ๊ฐ€๋ณ๊ณ  ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚˜ ๋†’์€ ํ‰๊ฐ€๋ฅผ ๋ฐ›๊ณ  ์žˆ๋‹ค. Node.js๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ(thread)๋กœ ๋Œ์•„๊ฐ„๋‹ค. Node.js ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋‹จ์ผ CPU ์ฝ”์–ด์—์„œ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— CPU์˜ ๋ฉ€ํ‹ฐ์ฝ”์–ด ์‹œ์Šคํ…œ์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ž˜์„œ ๋งŒ์•ฝ ์„œ๋ฒ„์˜ ์‚ฌ์–‘์ด 8์ฝ”์–ด์ด๋ฉฐ 16์“ฐ๋ ˆ๋“œ๋ฉด, ํ”„๋กœ๊ทธ๋žจ์„ ๋Œ๋ฆฌ๋Š”๋ฐ ์ตœ๋Œ€ 16๊ฐœ ์ฝ”์–ด๋ฅผ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋…ธ๋“œ๋Š” ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ์ฝ”์–ด๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•ด ์ตœ๋Œ€ ์„ฑ๋Šฅ์„ ๋‚ด์ง€ ๋ชปํ•˜๋Š”, ์ฆ‰ ์ž์›์„ ์ œ๋Œ€๋กœ ํ™œ์šฉํ•˜์ง€ ๋ชปํ•œ๋‹ค. ๊ทธ๋ž˜์„œ Node.js๋Š” ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„..

category_image
์ธํŒŒ_
2022.06.09
4
Node Package

[NODE] ๐Ÿ“š cross-env ๋ชจ๋“ˆ ์‚ฌ์šฉ๋ฒ•

๋…ธ๋“œ env ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ • ๋ณดํ†ต ๋…ธ๋“œ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœ(development)ํ•˜๊ณ  ๋ฐฐํฌ(production)ํ•  ๋•Œ env ๊ฐ’์„ ์ด์šฉํ•ด์„œ ๊ตฌ์„ฑํ•œ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ๋ฐฐํฌ ๋ชจ๋“œ ์ผ ๋•Œ์—๋Š” ํŒŒ์ผ ์บ์‹ฑ, ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ๊ฐ์ถ”๊ธฐ ๋“ฑ ๋ฐฐํฌ์— ์ ํ•ฉํ•œ ํ™˜๊ฒฝ ์„ค์ •์„ ํ•˜๊ณ , ๊ฐœ๋ฐœ ๋ชจ๋“œ ์ผ ๋•Œ์—๋Š” ํŒŒ์ผ ์บ์‹ฑ ๋ฐฉ์ง€, ๋””๋ฒ„๊ทธ๋ฅผ ์œ„ํ•œ ์ƒ์„ธํ•œ ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ๋ณด์ด๊ธฐ ๋“ฑ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ํ™˜๊ฒฝ ์„ค์ •์„ ํ•œ๋‹ค. ์‹ค๋ฌด ์ฝ”๋“œ๋ฅผ ๋“ค์ž๋ฉด ๋Œ€ํ‘œ์ ์œผ๋กœ ๋…ธ๋“œ ์„œ๋ฒ„์˜ ๋กœ๊ทธ๋ฅผ ์ฐ์–ด์ฃผ๋Š” morgan ๋ฏธ๋“ค์›จ์–ด์ผ ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋กœ๊ทธ ๋ ˆ๋ฒจ์„ ๊ฐœ๋ฐœ์ผ๋–„๋Š” 'dev', ๋ฐฐํฌ์ผ๋–„๋Š” 'combined' ๋กœ ์„ค์ •ํ•˜์—ฌ ์ ์šฉ์‹œํ‚จ๋‹ค. // ๋…ธ๋“œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •์— ๋”ฐ๋ผ morgan ์„ค์ •์„ ๋‹ฌ๋ฆฌํ•จ if (process.env.NODE_ENV === 'production') { app.use(mo..

category_image
์ธํŒŒ_
2022.06.08
5
Node Package

[NODE] ๐Ÿ“š Chalk ๋ชจ๋“ˆ - ๋…ธ๋“œ ์ฝ˜์†” ๋กœ๊ทธ๋ฅผ ์ปฌ๋Ÿฌํ’€ํ•˜๊ฒŒ โœจ

๋ธŒ๋ผ์šฐ์ € console.log ๊พธ๋ฏธ๊ธฐ ๋ธŒ๋ผ์šฐ์ € ์ฝ˜์†”์€ CSS ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ธˆ ๋ฒˆ๊ฑฐ๋กญ๊ธด ํ•˜์ง€๋งŒ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต์ง€๋Š” ์•Š๋‹ค. console.log('%cHello, world!', 'color: #a4f644; background-color: red;'); %c ์ดํ›„์˜ ๊ธ€์ž์—๋Š” ๋ชจ๋‘ ๊ฐ™์€ ์Šคํƒ€์ผ์ด ์ž…ํ˜€์ง€๊ฒŒ ๋œ๋‹ค. ์ƒˆ๋กœ์šด ์Šคํƒ€์ผ์„ ์”Œ์šฐ๊ณ  ์‹ถ์œผ๋ฉด %c๋ฅผ ๋˜ ์“ฐ๋ฉด ๋œ๋‹ค. ํ”„๋ก ํŠธ์•ค๋“œ์—์„œ๋Š” ์ „ํ˜€ ์–ด๋ ค์šด ์ž‘์—…์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋‹น์—ฐํžˆ ๋ฐฑ์•ค๋“œ์—์„œ๋„ ๋˜๋Š” ๊ฒƒ์œผ๋กœ ์ƒ๊ฐํ•˜๋Š” ๋ถ„๋“ค์ด ๋งŽ์€๋ฐ ์•„๋‹ˆ๋‹ค. ์œ„ ์ฝ”๋“œ์ฒ˜๋Ÿผ css๊ฐ’์„ ์ฃผ์–ด๋„ ์—ฌ์ „ํžˆ ๋ฐ๋‘ฅ๋งน๋‘ฅํ•œ ํ•˜์–€๊ธ€์”จ๋งŒ ๋‚˜์˜ฌ ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ, ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ์ ์šฉ์„ ํ•ด์•ผ ํ•œ๋‹ค. ๋…ธ๋“œ console.log ๊พธ๋ฏธ๊ธฐ ํ„ฐ๋ฏธ๋„์—์„œ๋Š” ์ƒ‰๊น”์„ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด์„œ ANSI escape code๋ฅผ ..

category_image
์ธํŒŒ_
2022.01.17
5
Node Package

[NODE] ๐Ÿ“š cors ๋ชจ๋“ˆ - CORS ๊ฐ„ํŽธ ์„ค์ •ํ•˜๊ธฐ

CORS ํ—ˆ์šฉ ์„ค์ • ํ•˜๋Š” ๋ฐฉ๋ฒ• Node.js ์„œ๋ฒ„ ํ”„๋กœ์ ํŠธ์—์„œ cors(cross origin resource sharing) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ํ•˜๋‚˜๋Š” ์ง์ ‘ ํ—ค๋”๋ฅผ ๋ช…์‹œํ•ด์„œ ์ถœ์ฒ˜(origin)์„ ํ•„ํ„ฐ๋งํ•˜๋Š” ๊ฒƒ์ด๊ณ , ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” cors ๋…ธ๋“œ ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•ด ์ข€๋” ๊ฐ„ํŽธํ•˜๋ฉด์„œ ์œ ๊ธฐ์ ์œผ๋กœ ์ถœ์ฒ˜๋ฅผ ํ•„ํ„ฐ๋ง ํ• ์ˆ˜ ์žˆ๋‹ค. 1. ์ง์ ‘ ํ—ค๋”์— ๋ช…์‹œ CORS ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‘๋‹ต ํ—ค๋”์— Access-Control-Allow-Origin ํ—ค๋”๋ฅผ ๋„ฃ์–ด์•ผ ํ•œ๋‹ค. ์ด ํ—ค๋”๋Š” ํด๋ผ์ด์–ธํŠธ ๋„๋ฉ”์ธ์˜ ์š”์ฒญ์„ ํ—ˆ๋ฝํ•˜๊ฒ ๋‹ค๋Š” ๋œป์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. //^ CORS ํ—ˆ์šฉ res.setHeader('Access-Control-Allow-origin', '*'); res.setHeader('Access-Contro..

category_image
์ธํŒŒ_
2022.01.16
3
Node Package

[NODE] ๐Ÿ“š UUID ๋ชจ๋“ˆ ์‚ฌ์šฉ๋ฒ•

UUID ๋ž€? UUID๋Š” Universally Unique IDentifier์˜ ์•ฝ์ž๋กœ, ์ „์„ธ๊ณ„์— ํ•˜๋‚˜๋ฐ–์— ์—†๋Š” ID๋ผ๋Š” ๋œป์ด๋‹ค. ์ด๋Ÿฐ ID๋Š” ๊ณ ์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ์ž๋“ค์— UUID๋ฅผ ๋ถ™์—ฌ์„œ ๊ตฌ๋ถ„ํ•˜๋Š” ๋“ฑ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฉด์—์„œ ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ผ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด, DB๋ฅผ ๋‹ค๋ฃฐ ๋•Œ PK๋ฅผ ์ฃผ๋กœ auto increment ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€๋งŒ, URL์ด๋‚˜ ํ™”๋ฉด์ƒ์— ๋…ธ์ถœ ์‹œํ‚ค๋ฉด ํฌ๋กค๋ง์ด๋‚˜ ์ธ์ ์…˜ ๊ณต๊ฒฉ์— ์ทจ์•ฝํ•˜๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. ๋•Œ๋ฌธ์— publicํ•œ ํ™”๋ฉด๋‹จ์—์„œ๋Š” ramdom ํ•œ UUID๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•˜๋Š” ํŽธ์ด๋‹ค. UUID๋Š” 16์ง„์ˆ˜ 8์ž๋ฆฌ-4์ž๋ฆฌ-4์ž๋ฆฌ-4์ž๋ฆฌ-12์ž๋ฆฌ ํŒจํ„ด์œผ๋กœ ํ‘œํ˜„๋œ๋‹ค. // UUID ํŒจํ„ด ์˜ˆ์‹œ 1604b772-adc0-4212-8a90-81186c57f598 UUID๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์˜ ..

category_image
์ธํŒŒ_
2022.01.14
2
Node Package

[NODE] ๐Ÿ“š bcrypt ๋ชจ๋“ˆ ์•”ํ˜ธํ™” ์›๋ฆฌ & ์‚ฌ์šฉ๋ฒ•

์•”ํ˜ธํ™” ๋ชจ๋“ˆ ์•”ํ˜ธํ™” ์ข…๋ฅ˜ SHA-2(Secure Hash Algorithm 2) ๋ฏธ๊ตญ NSA์—์„œ ์„ค๊ณ„ํ•œ ์•”ํ˜ธํ™” ํ•ด์‹œ ํ•จ์ˆ˜. digest size๋Š” 224, 256, 512 bit๋กœ ํ•ด์‹œํ•จ์ˆ˜๋กœ ๊ตฌ์„ฑ๋˜์–ด์กŒ์Œ. GPU๋ฅผ ์ด์šฉํ•œ ์—ฐ์‚ฐ์†๋„๊ฐ€ ๋งค์šฐ ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— password ์•”ํ˜ธํ™”์— ๊ถŒ์žฅ๋˜์ง€ ์•Š์Œ GPU ์—ฐ์‚ฐ์†๋„๊ฐ€ ๋น ๋ฅผ์ˆ˜๋ก ๊ณต๊ฒฉ์ž์˜ ํ•˜๋“œ์›จ์–ด๋ฅผ ํ†ตํ•œ ์˜คํ”„๋ผ์ธ brute force์— ๋” ์ทจ์•ฝํ•˜๋‹ค. ๋น ๋ฅธ ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ™”๋ฅผ ์ง„ํ–‰์‹œ ๊ณต๊ฒฉ์ž๋Š” ์˜คํ”„๋ผ์ธ ๊ณต๊ฒฉ์œผ๋กœ ์ดˆ๋‹น ์ˆ˜์‹ญ์–ต๊ฐœ์˜ ํ•ด์‹œ๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค. PBKDF2 pbkdf2_hmac(ํ•ด์‹œํ•จ์ˆ˜(sha256..), password, salt, iteration, DLen) ํ•ด์‹œํ•จ์ˆ˜์˜ ์ปจํ…Œ์ด๋„ˆ ์—ญํ• ์„ ํ•œ๋‹ค. ๊ฒ€์ฆ๋œ ํ•ด์‹œํ•จ์ˆ˜๋งŒ์„ ์‚ฌ์šฉํ•œ๋‹ค. ํ•ด์‹œํ•จ์ˆ˜์™€ salt๋ฅผ ์ ์šฉ ํ›„ ..

category_image
์ธํŒŒ_
2021.12.03
4
Node Package

[NODE] ๐Ÿ› ๏ธ ๋ฐ”๋ฒจ(Babel) ์„ค์น˜ & ์‚ฌ์šฉ๋ฒ•

๋ฐ”๋ฒจ(Babel) ์›น ์ฝ”๋”ฉ์„ ํ•  ๋•Œ ๊ฐ€์žฅ ๊นŒ๋‹ค๋กœ์šด ๊ฒƒ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์›น ํ‘œ์ค€์˜ ํ•˜์œ„ํ˜ธํ™˜์„ฑ์„ ๋งž์ถ”๋Š” ๊ฒƒ์ด๋‹ค. โ€‹html์ด๋‚˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ์— ์ตœ์‹  ๊ธฐ์ˆ ๋“ค๋งŒ ์“ฐ๋ฉด ๊ตฌ์‹ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ํ™•๋ฅ ์ด ํฌ๊ณ , ๊ทธ๋ ‡๋‹ค๊ณ  ์ฃ„๋‹ค ๊ตฌ๋‹ฅ๋‹ค๋ฆฌ ์ฝ”๋“œ๋ฅผ ์“ฐ์ž ํ•˜๋ฉด ๋˜ ๋ถˆํŽธํ•˜๊ณ  ์ฐ์ฐํ•ด์ง„๋‹ค. โ€‹ ์ด๊ฒƒ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ ๊ฒƒ์ด ๋ฐ”๋กœ ๋ฐ”๋ฒจ์ด๋ผ๋Š” ํˆด์ด๋‹ค. ์ด ํˆด์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ฝ”๋“œ๋ฅผ ๊ตฌ๋ฒ„์ „์— ๋งž๊ฒŒ๋” ๋ณ€ํ™˜์‹œ์ผœ์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ํ–‰๋™์„ ํŠธ๋žœ์ŠคํŒŒ์ผ๋ง ์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ์šด๋‹ค. BABEL PACKAGE ์„ค์น˜ ํ”„๋กœ์ ํŠธ์— ๋”ฐ๋ผ ์„ค์ •์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ „์—ญ์œผ๋กœ ์„ค์น˜ํ•˜์ง€ ๋ง๊ณ  ๋กœ์ปฌ๋กœ ์„ค์น˜ํ•˜๋„๋ก ํ•˜์ž. npm install --save-dev @babel/core @babel/cli @babel/node @babel/preset-env @bab..

category_image
์ธํŒŒ_
2021.11.01
(0)
Node Package

[NODE] ๐Ÿ› ๏ธ nodemon ์„ค์น˜ & ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ์ •๋ฆฌ

nodemon ๋ชจ๋“ˆ Node.js ๊ฐœ๋ฐœ ์‹œ ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ๋“ค์„ ์ˆ˜์ • ํ• ๋•Œ๋งˆ๋‹ค ๋งค๋ฒˆ ctrl+c๋ฅผ ํ†ตํ•ด node๋ฅผ ์ข…๋ฃŒ ํ›„ ๋‹ค์‹œ ์‹คํ–‰ํ•ด์ค˜์•ผ ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€ ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํŒŒ์ผ๋“ค์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€ ์ˆ˜์ •๋  ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ์„œ๋ฒ„๋ฅผ ์žฌ์‹คํ–‰์‹œ์ผœ์ฃผ๋Š” ์Šคํฌ๋ฆฝํŠธ ๋ชจ๋‹ˆํ„ฐ๋ง ์œ ํ‹ธ๋ฆฌํ‹ฐ nodemon๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์ƒ๋‹นํžˆ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค. nodemon ์„ค์น˜ npm 1.0์ด์ƒ์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ nodemon์€ ์ปค๋งจ๋“œ๋ผ์ธ์—์„œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— -g ์˜ต์…˜์„ ๋ถ™ํ˜€์„œ ๊ธ€๋กœ๋ฒŒ๋กœ ์„ค์น˜๋ฅผ ํ•ฉ๋‹ˆ๋‹ค. $ npm install nodemon -g nodemon ์‚ฌ์šฉ๋ฒ• ๊ธฐ์กด์— node.js ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•  ๋•Œ node app.js์™€ ๊ฐ™์ด ์‹คํ–‰ํ•ด ์ฃผ์—ˆ๋‹ค๋ฉด nodemon ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹คํ–‰ํ•ด ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค...

category_image
์ธํŒŒ_
2021.11.01
1