Frontend
relationship 옵션 ( eager relationships, Lazy relations)
eager relationships@ManyToMany(type => Category, category => category.questions, {eager: true})@JoinTable()categories: Category[];Eager relation은 데이터베이스에서 엔티티를 로드할 때마다 자동으로 relation 필드들을 로드한다.너무 많은걸 load 하면 서버 부하가 심하므로 주의해야 한다.// 나쁜예 - 많은 정보를 load 하고 있다.subscription { cookedOrders { restaurant { name } total customer { email restaurants { owner { email..
for...of와 forEach 차이
🧐 for...of 루프- 반복을 중간에 멈출 수 있다🧐 forEach 메서드- 중간에 반복을 멈출 수 없다.- 예외를 던지는 방법을 사용하면 멈출 수는 있지만 권장되지 않음 const items = [ { name: 'Pickle', extra: 1 }, { name: 'Size', choices: ['Small', 'Medium', 'Large'] }]; for...of 루프for (const item of items) { console.log(item.name);}for...of 루프는 배열이나 다른 이터러블 객체의 요소를 반복하는 데 사용된다.반복을 중간에 멈출 수 있다. forEach 메서드items.forEach(item => { console.log(item.name);});..
Mocking, 가짜 레파지토리, 함수 만들기
Mocking이란 테스트에서 실제 객체나 함수 대신에 가짜 객체나 함수를 사용하는 기법을 말한다. 주로 테스트 환경을 제어하고, 특정 상황을 시뮬레이션하며, 테스트의 정확성을 보장하기 위해 사용된다. Mock 란 가짜 함수의 실행, 가짜 클래스의 실행이다. Mocking의 주요 목적 TypeORM에서 진짜 유저 Repository를 불러오지 않고 유저 서비스를 단독으로 테스트하기 위해서이다. 의존성 제거: 테스트할 코드가 외부 시스템(예: 데이터베이스, API)과 상호작용할 때, 실제 시스템에 의존하지 않고 가짜 객체를 사용하여 독립적으로 테스트할 수 있다.예측 가능한 결과: 가짜 객체나 함수의 동작을 명확하게 정의함으로써, 테스트 결과를 예측하고 일관되게 유지할 수 있다.테스트의 안정성 향상: 외부 ..
Jest로 단위 테스트 코드를 구현할 때 자주 사용되는 API
Jest로 단위 테스트 코드를 구현할 때 자주 사용되는 API describedescribe('User Service', () => { // 여기서 User Service와 관련된 테스트 케이스를 작성합니다.});테스트할 대상에 대한 설명을 작성하는 데 사용한다. 그룹화된 테스트 케이스를 설명하여 어떤 기능이나 모듈을 테스트하고 있는지 명확하게 나타낸다. 하나의 테스트 케이스를 test()라고 한다면 describe()는 여러 개의 테스트 케이스를 하나의 그룹으로 묶어주는 역할을 한다. itit('should create a new user', () => { // 새로운 사용자가 생성되는지 테스트하는 코드}); 개별적인 테스트 케이스를 나타내며, 특정 상황이나 조건에서 코드가 어떻게 동작하는지 테..