๋ฐ˜์‘ํ˜•

๐Ÿฐ nanoid

nanoid๋Š” ๋ฌด์ž‘์œ„๋กœ ์ƒ์„ฑ๋œ ๊ณ ์œ  ์‹๋ณ„์ž(ID)๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” Javascript ๋ฐ TypeScript์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ธŒ๋ผ์šฐ์ € ๋ฐ Node.js์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

nanoid๋Š” URL์— ์•ˆ์ „ํ•œ ์•ŒํŒŒ๋ฒณ(์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž ๋ฐ ์ˆซ์ž)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌด์ž‘์œ„ ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•œ๋‹ค.

์ด๋Ÿฌํ•œ ๋ฌธ์ž์—ด์€ ์ถฉ๋ถ„ํžˆ ๊ธด ๊ธธ์ด(๊ธฐ๋ณธ๊ฐ’: 21)๋ฅผ ๊ฐ€์ง€๋ฏ€๋กœ ์ถฉ๋Œ ๊ฐ€๋Šฅ์„ฑ์ด ๋งค์šฐ ๋‚ฎ๋‹ค.

 

๐Ÿฐ nanoid ์„ค์น˜ ๋ฐฉ๋ฒ•

npm install nanoid

 

์„ค์น˜ ํ›„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด nanoid๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌด์ž‘์œ„ ์‹๋ณ„์ž๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค:

 

const { nanoid } = require('nanoid')

const id = nanoid() // e.g. "5w3qCfBb5VgKkR9XHfOzN"

nanoid๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋œ ID๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 21์ž๋ฆฌ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ธธ์ด๋ฅผ ์ง€์ •ํ•˜์—ฌ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ๋‹ค:

 

 

const id = nanoid(10) // e.g. "yXr9DfTg5h"

์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ nanoid๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌด์ž‘์œ„ ์‹๋ณ„์ž๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ID๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ธฐ๋ณธ ํ‚ค, URL์˜ ๋‹จ์ถ• URL, ์„ธ์…˜ ID ๋“ฑ ๋‹ค์–‘ํ•œ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜์‘ํ˜•