์ ๋ ๊ทธ๋ฅ ์ฝ๋ ๋ณต๋ถํด์ ์ฌ์ฉํ์ง ๋ง์๊ณ , ๊ผญ UUID์ ๋ํ ๊ฐ๋
๊ณผ ํด๋น ์ฝ๋์ ๋์์ ๋ํด์ ์์งํ์ ์ดํ์ ์ฌ์ฉํด์ฃผ์ธ์!!!
์ด ์ฝ๋๋ฅผ ์ฌ์ฉํ์ ๋ค๋ฉด ์ฝ๋ ๋ฆฌ๋ทฐ ์ฝ๋ฉํธ์ UUID์ ๋ํ ํด์ฆ๋ฅผ ๋ ๋ฆฌ๊ฒ ์ต๋๋ค ใ
ใ
ใ
ใ
ใ
/** * ๋๋คํ ๋ฌธ์ ๋๋ ์ซ์๋ก ๊ตฌ์ฑ๋ UUID v4๋ฅผ ์์ฑํด์ฃผ๋ ํจ์์ ๋๋ค. */ export function generateUUID(): string { // timeStmap let d = new Date().getTime(); return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { let r = Math.random() * 16; r = (d + r) % 16 | 0; d = Math.floor(d / 16); return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16); }); }
์ดํ๋ฆฌ์ผ์ด์
์ ๋ง๋ค๋ค๋ณด๋ฉด ํน์ ๋์์๊ฒ ๊ณ ์ ํ ID๋ฅผ ๋ถ์ฌํด์ค์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋จ์ํ integer๋ฅผ auto increasement ์์ผ๊ฐ๋ฉฐ ๋ง๋๋ ID๋ ๋จ์ํ ๋ง์ง๋ง ID์ +1 ์ฐ์ฐ์ ์ํํ์ฌ ์๋ก์ด ID๋ฅผ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ๋์์ฑ์ด ๋ณด์ฅ๋์ด์ผ ํ๋ ํ๊ฒฝ์์๋ ID๊ฐ ์ถฉ๋ํ ์๋ ์๋ค๋ ์ํ์ด ์กด์ฌํด, ๋์๋ก ๊ตฌ์ฑํ ์ ์๋ ID ์ฒด๊ณ๋ฅผ ์ฌ์ฉํ๋๋ฐ์.
ํด๋ผ์ด์ธํธ ์ดํ๋ฆฌ์ผ์ด์
์์๋ ๋์์ฑ์ด ๋ณด์ฅ๋์ด์ผ ํ๋ ํ๊ฒฝ์์ ID๋ฅผ ๋ง๋ค์ด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ง ์๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ์ํ์ด ์ ๊ธฐ๋ ํ์ง๋ง, ๊ทธ๋๋ ์ถฉ๋ ๊ฐ๋ฅ์ฑ์ด ๋ฎ์ ID๋ฅผ ๋ง๋ค์ด์ผ ํ๋ ์ํฉ์ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์ด๋ด ๋ UUID ๊ฐ๋
์ด ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. (ex. ์ ์ ๋๋ฐ์ด์ค๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํ ID๋ฅผ ๋ถ์ฌํด์ ์๋ฒ๋ก ๋ณด๋ด์ผ ํ๋ค๋๊ฐโฆ์ด๋ฐ ID๋ ๋ฌผ๋ฆฌ์ ํด๋ผ์ด์ธํธ ๋จธ์ ์ ๋ํ ๊ตฌ๋ถ์ด ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์๋ฒ์์ ๋ชป ๋ง๋ฆ.)