Sequelize는 Node.js용으로 성숙하고 널리 쓰이는 promise 기반 ORM입니다. TypeScript 시대 이전에 나왔기에 실전에서 검증되었고 기능이 풍부하지만, 타이핑 이야기와 장황함이 약점입니다.
sequelize-cli).const User = sequelize.define("User", {
email: { type: DataTypes.STRING, unique: true },
});
User.hasMany(Post);
const users = await User.findAll({
where: { email: "[email protected]" },
include: [Post], // association을 eager 로드
});
sequelize-typescript나 수동 제네릭을 통해) 덧붙여진 것이라, 모델은 흔히 느슨하게 타입이 지정되고 오류가 나기 쉽습니다.sync()을 둘러싼 몇몇 날카로운 부분이 있었습니다.include는 신중히 구성하지 않으면 크고 느린 join을 생성할 수 있습니다.JavaScript(비 TS) 프로젝트, 폭넓은 데이터베이스 지원을 갖춘 검증되고 안정적인 ORM을 원하는 팀, 그리고 끝에서 끝까지의 타입 안전성보다 생태계 성숙도와 문서가 더 중요한 앱.
Sequelize는 흔히 "안전하고 지루한" 선택입니다 — 그리고 그것은 최첨단 타이핑보다 안정성과 깊은 생태계를 중시하는 팀에게 정당한 강점입니다. 면접관은 당신이 그 성숙도를 실제 비용 — 더 약한 TypeScript 편의성, boilerplate, 복잡한 SQL에서 새는 추상화 — 과 저울질할 수 있는지 보고 싶어 합니다. 그 트레이드오프를 짚어내는 것은 당신이 평판만이 아니라 프로젝트의 제약에 따라 도구를 고른다는 것을 보여줍니다.
주니어부터 시니어까지 상세한 답변이 포함된 IT 면접 질문 라이브러리.
후원하기