GitHub - lurgi/jestprac: Jest를 배워봅시다 Jest를 배워봅시다. Contribute to lurgi/jestprac development by creating an account on GitHub. github.com Jest Basic jest사용시 유용한 것 npm i @types/jest 타입 설치 가능 단일 파일 테스트 하는 법 pm i -g jest -cli jest 파일명 or jest 파일명.test.js 단일 테스트만 실행 test.only(description, callback)으로 실행 단일 테스트 스킵 test.skip(description, callback)으로 실행 테스트 전 후 작업 beforeEach() : 각 테스트(test()) 실행 이전 실행 af..
오버로딩과 오버라이딩을 알아봅시다. 프론트엔드를 공부하기 때문에 타입스크립트를 기준으로 글을 적습니다. 우선 오버로딩과 오버라이딩을 알아보기 앞서 Call signature와 다형성(Polymorphism) 이 무엇인지 알아봅시다. 🤔Call signature 함수의 타입을 정의하는 방법 중 하나입니다. type CallSignature = {(a:number, b:number): number}; const add:CallSignature = (a,b) => a+b 🤔다형성 (Polymorphism) 다형성은 객체 지향 프로그래밍(OOP)에서의 개념 중 하나로, 여러 객체나 클래스가 동일한 인터페이스 또는 추상 클래스를 공유하면서 각각의 객체나 클래스가 다르게 동작할 수 있는 능력을 의미합니다. 쉽게 말..
🤔Zod 가 무엇인가요? Zod is a TypeScript-first schema declaration and validation library. Zod는 타입스크립트 우선 스키마 선언 및 검증 라이브러리 입니다. 🤔왜 Zod를 사용하나요? 타입스크립트는 컴파일 시점에서 타입을 검사합니다. 런타임에 동적으로 생성되는 값과 타입스크립트의 타입 간의 불일치가 발생하여 에러가 발생할 수 있는데요, 이를 방지할 수 있는 라이브러리가 바로 Zod입니다. 아래와 같은 상황이 런타임에 동적으로 생성되는 값과 타입스크립트 타입 간의 불일치가 발생하는 코드의 예 입니다. interface User { id: number; name: string; } const Json = '{"id": 1323, "username":..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 😉문제 풀이 설명 이 문제는 이분탐색 문제 입니다. 이분 탐색 문제를 많이 접하지 않아서 이분 탐색 문제임을 알아차리는게 어려웠습니다. 1부터 2억까지 숫자 중 하나의 값을 찾는 문제임을 캐치 한다면 이분 탐색으로 접근하는 방법을 떠올리지 않았을 까 생각합니다. 이분 탐색임을 인지한다면 문제 자체가 어렵진 않습니다. 아래의 코드를 확인해 주세요 😎문제 풀이 코드 function solution(stones, k) { let str = 1; let end = 200000000; while(str !== end)..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 😉문제 풀이 설명 개인적으로 조금 어려웠던 문제였습니다. 이 문제는 Map 객체를 쓰지 않고는 어떻게 풀 방법이 생각나지 않네요. 이번에 배웠던 점은 map.value().next() 함수를 통해서 Map을 Queue와 같은 형태로 사용할 수 있다는 점입니다. Map 객체를 Queue의 형태로 사용할 수 있으면서 동시에 key값으로 원하는 값을 가질 수 있어 데이터를 찾는데 배열을 순회하는 형식O(n)이 아닌 한번에 찾을 수 있는 점O(1)을 배울 수 있었습니다. Map.prototype.values() - ..