๐คทโ๏ธ UUID ๊ฐ๋
UUID(Universally Unique Identifier)๋ ์ ์ธ๊ณ์์ ๊ณ ์ ํ ์๋ณ์๋ฅผ ์์ฑํ๋ ํ์ค ๋ฐฉ๋ฒ์ ๋๋ค.
๊ณ ์ ํ ์๋ณ์๋ฅผ ๋ง๋ค๊ธฐ ์ํด์ UUID ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ ๊ฒฝํ๋ค์ด ์์ผ์ค๊ฒ๋๋ค.
PostgreSQL์์๋ UUID ๋ฐ์ดํฐ ํ์ ์ ์ฌ์ฉํ์ฌ ๊ณ ์ ํ ์๋ณ์๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
PostgreSQL ์ฌ์ฉํด์ผ ํ๋ ์ด์ ?
๊ฐ์ฅ ํซํ DB postgresql ๊ฐ๋ ๊ณผ ์ฌ์ฉํด์ผ ํ๋ ์ด์
์๋ ํ์ธ์! ITibiza์ ๋๋ค. ์์ฆ ๋ง์ ๊ธฐ์ ์์ ์ฌ์ฉํ๋ RDBMS postgresql์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. ์๋น์ค๊ฐ ์ปค์ง๋ฉด ๋๊ท๋ชจ ๋ฐ์ดํฐ ๊ด๋ฆฌ์ ๋ณต์กํ ์ฟผ๋ฆฌ ์ฒ๋ฆฌ๋ ํ์์ ์ผ๋ก ํ์ํฉ๋๋ค.์๋ง๋ ์ด
itibiza.tistory.com
๐คทโ๏ธ uuid-ossp ๊ฐ๋
PostgreSQL์์ UUID๋ฅผ ์์ฑํ๊ธฐ ์ํด์ ์ ๊ณตํ๋ ํ์ฅ(Extension) ํ๋ก๊ทธ๋จ์ ์ ๊ณตํฉ๋๋ค.
uuid-ossp ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ๋ฒ์ ์ UUID๋ฅผ ์์ฑํ ์ ์๋ ํจ์๋ฅผ ์ ๊ณตํฉ๋๋ค.
PostgreSQL uuid-ossp ๊ณต์ ๋ฌธ์
https://www.postgresql.org/docs/current/uuid-ossp.html
F.49. uuid-ossp — a UUID generator
F.49. uuid-ossp — a UUID generator # F.49.1. uuid-ossp Functions F.49.2. Building uuid-ossp F.49.3. Author The uuid-ossp module provides functions to …
www.postgresql.org
๐คทโ๏ธ uuid-ossp ์ค์น ๋ฐ ์ฌ์ฉ๋ฒ
uuid-ossp ํ์ฅ ์ค์น
PostgreSQL์์ uuid-ossp ํ์ฅ์ ์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค์น๋ฅผ ํด์ผ ํฉ๋๋ค.
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
์ด ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด uuid-ossp ํ์ฅ์ด ์ค์น๋ฉ๋๋ค.
uuid-ossp ๋ฒ์
- uuid_generate_v1(): ํ๋์จ์ด ์ฃผ์(MAC ์ฃผ์)์ ํ์ฌ ์๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก UUID๋ฅผ ์์ฑํฉ๋๋ค.
- uuid_generate_v4(): ์์์ ๋์๋ฅผ ์ฌ์ฉํ์ฌ UUID๋ฅผ ์์ฑํฉ๋๋ค. ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๋ฒ์ ์ ๋๋ค.
- uuid_generate_v3(namespace UUID, name text): MD5 ํด์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด UUID๋ฅผ ์์ฑํฉ๋๋ค.
- uuid_generate_v5(namespace UUID, name text): SHA-1 ํด์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด UUID๋ฅผ ์์ฑํฉ๋๋ค.
์ฌ์ฉ ์์
SELECT uuid_generate_v4();
์ด ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด uuid๋ฅผ ์์ฑํฉ๋๋ค.
550e8400-e29b-41d4-a716-446655440000
์์์ ๋์์ ๊ฐ์ ์์ฑํฉ๋๋ค.
ํ ์ด๋ธ์ UUID ์ฌ์ฉ๋ฒ
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
name VARCHAR(100),
email VARCHAR(100)
);
ํ ์ด๋ธ์ ๋ฐ์ดํฐ ์ฝ์ ์ฌ์ฉ๋ฒ
INSERT into main."users" ("id", "name", "email")
VALUES
(uuid_generate_v4(), "hello", "123@gmail.com")
์ด ๋ช ๋ น์ด๋ฅผ ํตํด์ id ์ปฌ๋ผ์ ๊ณ ์ ํ key ๊ฐ์ ์๋์ผ๋ก UUID ๊ฐ์ด ์์ฑ๋ฉ๋๋ค.
uuid-ossp ํ์ฅ์ ์ฌ์ฉํ๋ ์ด์
- ๊ณ ์ ์ฑ ๋ณด์ฅ: ์ ์ธ๊ณ์์ ์ค๋ณต๋์ง ์๋ ๊ณ ์ ํ ์๋ณ์๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
- ๋ถ์ฐ ์์คํ ์ ์ ํฉ: ์ค์ ์ง์ค์ ์๋ฒ ์์ด๋ ๊ณ ์ ํ ์๋ณ์๋ฅผ ์์ฑํ ์ ์๊ธฐ ๋๋ฌธ์, ์ฌ๋ฌ ์๋ฒ์์ ๋ ๋ฆฝ์ ์ผ๋ก UUID๋ฅผ ์์ฑํ ๋ ์ ์ฉํฉ๋๋ค.
- ๋ณด์: UUID๋ ์์ธกํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ณด์์ด ํ์ํ ์ํฉ์์ ์ฌ์ฉํ๊ธฐ ์ ํฉํฉ๋๋ค.
uuid-ossp ํ์ฅ๊ณผ ๊ทธ ์ฌ์ฉ๋ฒ์ ํตํด PostgreSQL์์ ๊ณ ์ ํ ์๋ณ์๋ฅผ ์์ฝ๊ฒ ์์ฑํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
์ฌ๋ฐ๋ ์ค๋์ ๋ ๋ณ ์ด์ธ ๋ณด๊ณ ๊ฐ์ธ์!
wtemplate
์ฑ๊ณต์ ์ธ ์จ๋ผ์ธ ๋น์ฆ๋์ค๋ฅผ ์ํ ์ฒซ๊ฑธ์, ์ ๋ฌธ ๋๋ฉ ํ์ด์ง ์ ์, SEO ๊ตฌ๊ธ GA ์ ํ ,ํธ๋ฆฌ๊ฑฐ, ์ ๋๋ฆฌ์คํฑ ์ ํ
wtemplate.qshop.ai
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