728x90 ๋ฐ์ํ TypeScript4 [Node.js] Prisma + MySQL ๋ค๋๋ค ๊ด๊ณ ๋ง๋ค๊ธฐ (MySQL Many to Many relationship using Prisma) ์๋ ํ์ธ์ Foma ์ ๋๋ค. ์์ฆ ์ฑํ ์ฑ์ ๋ง๋ค๋ฉด์ ์ ์ ์ ์ฑํ ๋ฐฉ์ ๊ด๊ณ๋ฅผ ์ค์ ํด์ผ ํ๋๋ฐ ์กฐ๊ธ ๋ณต์กํ ๊ฒ ์๋๋ผ๊ตฌ์. ๊ฐ๋จํ๊ฒ ์ค๋ช ํ๋ฉด ์ฑํ ์ฑ์ ๋ง๋๋๋ฐ User๋ ์ฌ๋ฌ ์ฑํ ๋ฐฉ์ ๊ฐ์ ธ์ผ ํ๊ณ , ์ฑํ ๋ฐฉ์ ์ฌ๋ฌ ์ ์ ๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋ค๋๋ค ๊ด๊ณ๋ฅผ ๋ง๋ค๊ณ ์ถ์๋๋ฐ์. ๊ณต์ ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํด๋น ๋ชจ๋ธ๊ณผ ๊ด๊ณ๋ฅผ ์ ๋ฆฌํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ Model User ์ ์ ๋ชจ๋ธ์ ์๋์ ๊ฐ์ด ๋ง๋ค์ด ์ค๋๋ค. model User { id String @id @default(uuid()) name String @unique profileImage String createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } ChatRoom ์ฑํ ๋ฐฉ ๋ชจ๋ธ์ ์.. 2022. 8. 18. [Node.js] Socket.io๋ก Room ๊ตฌํํ๊ธฐ (feat. TypeScript) ์๋ ํ์ธ์ Foma ์ ๋๋ค. ์ค๋์ Socket.io๋ฅผ ์ด์ฉํ์ฌ Room์ ๊ตฌํํด ํน์ Room์ ์๋ ์ ์ ๋ค์๊ฒ๋ง ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ผ ์ ์๋๋ก ๊ตฌํํด ๋ณด๊ฒ ์ต๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ Preview Install typescript, ts-node, express, socket.io ๋ฅผ ์ค์นํด ์ค๋๋ค. npm install typescript npm install ts-node npm install express npm install socket.io npm install @types/express npm install @types/socket.io Model ๋ฉ์ธ์ง ๋ชจ๋ธ์ ๋ง๋ค์ด ์ค๋๋ค. export interface Message { type: string; user: string; message: str.. 2022. 8. 10. [TS] Extends์ Implements ์ฐจ์ด (Difference between extends and implements) ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค. ์ค๋์ TS์์ ํด๋์ค ์์ extends์ implements๊ฐ ์๊ฐ ํท๊ฐ๋ ค์ ์ ํํ ๊ธฐ์ตํ๊ธฐ ์ํด ์ ๋ฆฌํ๋ ค๊ณ ํฉ๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ Extends ์์๋ฐ๊ณ ์ ํ๋ ๋ถ๋ชจ ํด๋์ค๋ฅผ ๋ช ์ํ๋ ๊ฒ. ์ฆ, extends์ ์ํ๋ ํด๋์ค๋ฅผ ๋ช ์ํ๋ฉด ํด๋น ํด๋์ค์ ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ๋ฐ๋ก ๊ตฌํํ์ง ์์๋ ์ธ์คํด์ค์์ ์์ ๋กญ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. ์ฝ๊ฒ ๋งํด "๋ถ๋ชจ๊ฐ ๊ฐ์ง ๊ฑฐ ๋ ๋ง๋๋ก ์จ๋ ๋ผ~" ๋ผ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ์๋์ ๊ฐ์ด ๋ถ๋ชจ ํด๋์ค๋ฅผ ๋ง๋ค์ด ์ค๋๋ค. class Parent { public lastName: string = "An"; public speakKorean() { console.log("์๋ ํ์ธ์"); } public eatWithChopsticks() { co.. 2022. 4. 2. [TS] ํ์ ์คํฌ๋ฆฝํธ(TypeScript)๋? (feat. ์จ์ผํ๋ ์ด์ ) ํ์ ์คํฌ๋ฆฝํธ(TypeScript)๋? ํ์ ์คํฌ๋ฆฝํธ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ํผ์ ์ธ ์คํ์์ค ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค. ๋ง์ดํฌ๋ก์ํํธ์์ ๊ฐ๋ฐ, ์ ์งํ๊ณ ์์ผ๋ฉฐ ์๊ฒฉํ ๋ฌธ๋ฒ์ ์ง์ํ๋ค. C#์ ๋ฆฌ๋ ์ํคํ ํธ์ด์ ๋ธํ์ด, ํฐ๋ณด ํ์ค์นผ์ ์ฐฝ์์์ธ Anders Hejlsberg๊ฐ ๊ฐ๋ฐ์ ์ฐธ์ฌํ๋ค. ํด๋ผ์ด์ธํธ ์ฌ์ด๋์ ์๋ฒ ์ฌ์ด๋๋ฅผ ์ํ ๊ฐ๋ฐ์ ์ฌ์ฉํ ์ ์๋ค. ํ์ ์คํฌ๋ฆฝํธ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์ฌ์ฉํ๋ฉด์ ์ปค๋ค๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์๊ฒ ์ค๊ณ๋ ์ธ์ด์ด๋ค.์๋ฐ์คํฌ๋ฆฝํธ์ ์ํผ์ ์ด๊ธฐ ๋๋ฌธ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ด ํ์ ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋จ์ผ๋ก๋ ๋์ํ๋ค. ํ์ ์คํฌ๋ฆฝํธ์์ ์์ ์ด ์ํ๋ ํ์ ์ ์ ์ํ๊ณ ํ๋ก๊ทธ๋๋ฐ์ ํ๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ปดํ์ผ๋์ด ์คํํ ์ ์๋ค. ํ์ ์คํฌ๋ฆฝํธ๋ ๋ชจ๋ ์ด์ ์ฒด์ , ๋ชจ๋ ๋ธ๋ผ์ฐ์ , ๋ชจ๋ ํธ์คํธ์.. 2022. 3. 8. ์ด์ 1 ๋ค์ 728x90 ๋ฐ์ํ