본문 바로가기

typescript

(3)
TypeScript 인터페이스 확장: Declaration Merging과 Module Augmentation Next.js에서 NextAuth를 사용하여 인증 시스템을 구축하던 중, 다음과 같은 TypeScript 에러를 만났습니다.async session({ session, token }) { if (session.user) { session.user.id = token.id as string; // ❌ 에러! // Property 'id' does not exist on type } return session;}session.user에 id 속성을 추가하려고 했지만, TypeScript는 이 속성이 존재하지 않는다고 불평합니다. NextAuth의 기본 타입에는 name, email, image만 있고 id가 없기 때문이죠.이 문제를 해결하면서 TypeScript의 ..
Sequelize vs Prisma: Node.js ORM 비교 분석 Node.js 생태계에서 가장 많이 사용되는 두 ORM인 Sequelize와 Prisma를 비교합니다. 두 도구는 근본적으로 다른 철학과 접근 방식을 가지고 있습니다.핵심 요약Sequelize: 모델 클래스를 직접 작성 (Active Record 패턴)Prisma: Schema 파일만 작성 → 코드 자동 생성 (Schema-first 접근)Trade-off: - Prisma: 자동화, 타입 안전성 우선- Sequelize: 유연성, 레거시 지원, 큰 커뮤니티Sequelize의 모델 정의 방식Sequelize는 Laravel의 Eloquent처럼 모델 클래스를 직접 작성하는 방식입니다.파일 구조project/├── models/│ ├── User.js│ ├── Post.js│ └── Catego..
Vue 3.0에서 타입스크립트 사용하기 타입스크립트는 정적 타입을 지원하여 개발자가 더욱 안정적이고 예측 가능한 코드를 작성할 수 있게 도와줍니다. Vue 3.0은 기본적으로 타입스크립트를 지원하므로, 이제는 더욱 간편하게 타입스크립트를 사용할 수 있습니다. 1. 프로젝트 설정 Vue CLI를 사용하여 Vue 3.0 프로젝트를 생성합니다. 터미널에서 다음 명령어를 실행하세요: vue create my-vue-app 생성된 프로젝트 폴더로 이동한 후, 타입스크립트 옵션을 선택합니다. 이후 필요한 설정을 입력하면 타입스크립트가 자동으로 프로젝트에 추가됩니다. 2. 컴포넌트 작성 타입스크립트로 작성된 Vue 컴포넌트를 생성해보겠습니다. `HelloWorld.vue` 파일을 생성하고 다음과 같이 작성합니다: {{ greeting }} Click me..

반응형