๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ”‘Code/TypeScript2

TypeScript | ๊ฒŒ์‹œํŒ ๋ฆฌ์ŠคํŠธ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„(+๋ฆฌ์ŠคํŠธ๋ฒˆํ˜ธ ๋งค๊ธฐ๊ธฐ) ๊ฒŒ์‹œํŒ ๋ฆฌ์ŠคํŠธ ์ถ”๊ฐ€ํ•˜๊ธฐ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋กœ ๊ฒŒ์‹œํŒ ๋ฆฌ์ŠคํŠธ ์ถ”๊ฐ€ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ์—ฐ์Šตํ•˜๊ณ  ์žˆ๋Š”๋ฐ ๋ฌธ์ œ์ ์ด ์žˆ์—ˆ๊ณ  ํ•ด๊ฒฐ๊ณผ์ •์—์„œ ์‚ฌ์ˆ˜๋‹˜์˜ ๋„์›€๋„ ๋“ค์–ด๊ฐ€์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ณด๊ณ  ์ ์–ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. BoardItemType.tsx 'boardItemType' ์ด ๋‚˜์—ด๋˜์–ด ์žˆ๋Š” ๋ชฉ๋ก ์ „์ฒด(๋ฐฐ์—ด)๋ฅผ recoil์ƒํƒœ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด 'list' ์— ํ• ๋‹นํ•ด์ฃผ์—ˆ๋‹ค. ๋Š” boardItemType ์œผ๋กœ ๋œ ๊ฐ์ฒด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋ฐฐ์—ด ํƒ€์ž…์œผ๋กœ ์ง€์ •ํ•ด์ค€๋‹ค๋Š” ๊ฑฐ๋‹ค. Atom์€ ์ƒํƒœ์˜ ์ผ๋ถ€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š”๋ฐ, Atom์— ์–ด๋–ค ๋ณ€ํ™”๊ฐ€ ์žˆ์œผ๋ฉด Atom ์„ ๊ตฌ๋…ํ•˜๋Š” ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์žฌ๋ Œ๋”๋ง๋œ๋‹ค. list.ts ‘BoardDetail’ ์€ ๊ธ€์“ฐ๊ธฐ ํŽ˜์ด์ง€๋กœ 'boardItemType' ์ด ๋‚˜์—ด๋˜์–ด ์žˆ๋Š” ๋ฐฐ์—ด์ธ 'list' ๋ฅผ ๊ฐ€์ ธ์™”๋‹ค. ‘list.. 2023. 5. 20.
TypeScript | UUID๋กœ ๊ณ ์œ  ์ŠคํŠธ๋ง ํƒ€์ž… id๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ ์ฒ˜์Œ์—” input์— ์ ๋Š” ํ•  ์ผ๊ณผ ํ•จ๊ป˜ ํƒ€์ž…์ด ์ˆซ์ž์ธ id ๋ฅผ ๊ฐ™์ด ๊ฐ์ฒด์— ๋‹ด์•„ ํ™œ์šฉํ•˜๋ ค๊ณ  ํ–ˆ์—ˆ๋‹ค.๊ทผ๋ฐ ํŽผ์นจ์—ฐ์‚ฐ์ž๋ฅผ ๋˜ ์“ฐ๊ฒŒ ๋˜๊ณ , id๋ฅผ ์ˆซ์ž๋กœ ๊ฐ€์ ธ์˜ค๋ฉด +1 ์ด๋Ÿฐ์‹์œผ๋กœ ๋„ฃ๋‹ค๋ณด๋‹ˆ ๋ณต์žกํ•ด์ง์„ ๋А๋ผ๊ณ  ๊ณ ๋ฏผํ•˜๋˜ ๋์— ๋™๊ธฐ ๋ถ„์ด ์ถ”์ฒœํ•ด์ค€ uuid ๋ฐฉ์‹์„ ์ ์šฉํ•ด๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. UUID(Universally Unique IDentifier) ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” id๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ํ‘œ์ค€ ๊ทœ์•ฝ์ด๋‹ค. UUID ๋Š” 8-4-4-4-12 ํ˜•ํƒœ์˜ ๋ฌธ์ž์ด๊ณ , ๊ฐ ๋ฌธ์ž๋Š” 16์ง„์ˆ˜ ์ˆซ์ž๋‹ค. UUID ๋ฒ„์ „์€ 1, 3, 4, 5 ๊ฐ€ ์žˆ๋Š”๋ฐ, ๋žœ๋ค์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” 4๋ฒ„์ „์ด ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ธ๋‹ค๊ณ  ํ•œ๋‹ค. npm install --save @types/uuid ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” UUID๊ฐ€ npm ํŒจํ‚ค์ง€์ด๊ธฐ ๋•Œ๋ฌธ์—, ์„ค์น˜ํ•ด์ค€๋‹ค. (๋‚˜๋Š” ํƒ€.. 2023. 5. 14.