반응형 typescript21 [TypeScript] dto enum 값 as const + 유니온 조합으로 설정하기 프로젝트 진행 도중 dto 값 중 하나의 필드가 ai 혹은 user만 들어가야 되는 상황이였다. 여기서 전통적인 타입스크립트에서의 방법은 바로 enum을 사용하는 것이다. export enum Role { USER = 'user', AI = 'ai',}export class CreateChatDto { @IsEnum(Role) role: Role;} 타입스크립트에서의 enum은 편리하지만 문제가 있어 요새는 잘 쓰이지 않는다고 하는데 이유는 다음과 같다.런타임 시 js 코드로 남음(컴파일 후 객체가 됨)예시→ 컴파일 후var Role;(function (Role) {Role["User"] = "user";Role["Ai"] = "ai";})(Role || (Role = {}));enum Role.. 2025. 7. 11. [Prisma] $executeRawUnsafe와 $queryRawUnsafe() 차이 $executeRawUnsafe()와 $queryRawUnsafe()는 둘 다 Prisma에서 raw query를 직접 실행할 때 사용하는 함수이다. 하지만 당연히 차이가 있기 때문에 나눠진게 아니겠는가? 그 차이를 알아보자. $executeRawUnsafe()이 함수는 INSERT/UPDATE/DELETE 같은 실행만하고 결과를 받지 않는 쿼리에서 사용이 된다. 이 함수의 리턴 값은 쿼리에 의해 영향 받은 row의 수를 리턴하게 된다. 따라서 결과 데이터는 받을 수 없다. const count = await prisma.$executeRawUnsafe( `UPDATE "User" SET active = false WHERE last_login $queryRawUnSafe() 이 함수는 SELECT.. 2025. 4. 22. [Prisma] Promise.all과 transaction 동시 사용 시 Transaction API error: Unable to start a transaction in the given time. 에러 발생. 외주 작업을 하면서 추가 의뢰를 받은 기능을 개발하던 중이였다. 해당 기능은 주문이 들어온지 두 달이 지났는데 아직 연결이 안된 접수 건을 조회 해서 취소된 항목 변경해달라는 것. 나는 cron으로 이미 스케줄링 작업을 돌리고 있었기 때문에 cron을 사용하기로 했고 매일 정해진 시간에 조회를 해 업데이트를 하면 된다고 생각했다. 또 이미 주문 취소 함수가 구현이 되어 있었기 때문에 해당 함수를 사용하면 된다고 생각했다. 그리고 문제의 그 코드... @Cron('0 50 23 * * * ', { timeZone: 'Asia/Seoul' }) async deleteOldOrder() { //예전 데이터 삭제 // 기준 날짜: 현재 날짜에서 2개월 전 const .. 2024. 12. 8. [자료구조] Stack Stack Data StructureA stack is a linear data structure that follows the principle of Last In First Out (LIFO).This means the last element inserted inside the stack is removed first.You chan think of the stack data struccture as the pile of plates on top of another. Here, you can:Put a new plate on top.Remove the top plate.And, if you want the plate at the bottom, you must first remove all the p.. 2024. 6. 18. 이전 1 2 3 4 ··· 6 다음 반응형