본문 바로가기

728x90

FE

(4)
[Type Challenges] Pick 풀이 문제 설명T에서 K 프로퍼티만 선택해 새로운 오브젝트 타입을 만드는 내장 제네릭 Pick을 이를 사용하지 않고 구현하세요.interface Todo { title: string description: string completed: boolean}type TodoPreview = MyPickconst todo: TodoPreview = { title: 'Clean room', completed: false,}풀이Pick 타입은 타입스크립트에서 일반적으로 타입 변환을 쉽게 해주기 위해 제공하는 유틸리티 타입 중 하나이다.Pick 형식으로 작성한다.Type에서 프로퍼티 Keys의 집합을 선택해서 타입을 생성하는데, keys 값에는 문자열 리터럴이나 유니온 형식의문자열 리터럴이 올 수 있다. ..
프론트에서 Transaction을 ? 회사 인턴면접 도중 프론트에서 트랜잭션 처리를 어떻게 할거냐는 질문을 받았고 이를 잘 알지 못했어서 잘 모르지만 백엔드 단에서 자주 발생하는 이슈인걸로 알고있다고 이에대해 더 공부하겠다고 대답했다.  우선 트랜잭션은 백엔드에서 주로 일어나며 DB를 변경할때 하나의 요구사항이지만 여러개의 DB나 API를 수정해야할 때 중간에 에러가 나는 경우를 대비해서 하나의 완결된 작업이 될 수 있도록 결과적으로 모두 성공하거나 모두 실패할 수 있도록 하는 것이다.(즉, 한꺼번에 수행되어야 할 일련의 연산을 말한다.)  대표적인 예시로 송금과 출금을 할 때 한쪽의 값을 줄이고 한쪽의 값을 올리는 행위중 하나만 성공하고 하나만 실패할 때 어떻게 롤백을 처리할지 등을 포함한다. 면접 당시에는 프론트에서 트랜잭션을 처리할게 ..
[ Jest ] toBeCalledWith vs toEqual toBeCalledWith : jest.fn()과 같은 Mocking Function에서 사용된다.해당 함수가 몇번 호출되었는지 검사하거나 호출된 인수를 검사하는데 사용되고 주로 함수가 어떤 인수로 호출되었는지에 관심이 있을 때 사용한다.toEqual: jest에서 객체나 값의 동등성을 검사할 때 사용되고, 주어진 두 값이 완전히 동일한지 확인할 때 사용한다.예를들어 ,exports.isLoggedIn = (req, res, next) => { if (req.isAuthenticated()) { next(); } else { **res.status(403).send('로그인 필요');** }};위와같은 함수가 있을때 jest를 사용해서 테스트 할 경우 아래와 같이 작성할 수 있다.test..
[Error : Warning: Each child in a list should have a unique "key" prop ] 코드 {mainCategory.map((category: Category) => ( {category.title} ))} export default index;리액트 환경에서 위와같이 작업중이었고 각 자식요소에 고유한 key 속성이 없다는 에러가 발생했다.해당 에러가 발생해도 기능은 잘 작동했으나 어디가 잘못 됐는지 궁금했다.원인React는 위 코드에서 종속트리를 그대로 유지하는 대신 모든 자식을 변경(리렌더링)하게되는데 이는 비효율적인 일이고 이를 해결하기 위해 key속성이 존재하는 것이다. 즉, key를 통해 기존 트리와 이후 트리의 자식들이 일치하는..

728x90