Language/Javascript

[javscript] 자바스크립트 테스트코드, Jest 란?

저번 시간에는 TDD가 무엇인지, 장점이 뭔지, 사람들이 왜 쓰는지에 대해서 알아봤다. 나는 주로 Node.js나 Nest.js를 사용해서 백앤드 개발을 하는데 둘 다 자바스크립트 기반의 프레임워크이다. 이번 시간에는 자바스크립트에서 사용할 수 있는 테스트 툴인 Jest에 대해서 공부해보려고 한다. Jest 란? 제스트(Jest)는 페이스북에서 만든 자바스크립트 테스팅 라이브러리이다. 말 그래도 내가 작성한 코드가 제대로 동작하는지 테스트할 때 사용한다. 여러 가지 상황들을 설정하고, 그 상황에 맞는 결과가 나오는지 자동으로 테스트해준다. Jest 설치 및 사용 방법 아래 명령어를 통해 jest와 babel-jest를 설치해준다. (babel은 JavaScript 엔진에서 실행할 수 있는 이전 버전과 호..

2021.08.13 게시됨

자료구조 & 알고리즘/백준(Baekjoon)

[백준] 2407(파이썬) - 조합

https://www.acmicpc.net/problem/2407 2407번: 조합 n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n) www.acmicpc.net 이 문제는 조합 공식을 그대로 파이썬으로 구현하면 되는 문제지만 다른 방법이 뭐가 있을까 하다가 아래와 같이 구현했다. math.factorial을 사용해서 조합 공식을 그대로 적용해도 같은 답이 나온다. import sys input = sys.stdin.readline n,m = map(int,input().split()) data = [i for i in range(1,n+1)] ans1 = 1 ans2 = 1 for i in data[-m:]: ans1 *= i for i in data[:m]: ans2 ..

2021.08.12 게시됨

자료구조 & 알고리즘/백준(Baekjoon)

[백준] 2023(파이썬) - 신기한 소수

https://www.acmicpc.net/problem/2023 2023번: 신기한 소수 수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다. 7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수 www.acmicpc.net 이 문제는 먼저 소수를 판별해야 하기 때문에 에라토스테네스의 체로 소수인지 아닌지 확인하는 함수를 하나 만들었다. 그다음에 계속 삽질을 했던 부분인데, 나는 숫자를 하나씩 소수 판별을 해주기 위해 10으로 나눠 주고, 그 숫자들이 소수인지 아닌지를 확인했는데 이렇게 되면, 어떤 숫자들을 판별해줄 것인가?라는 생각을 하게 된다. 예시를 보면 4일 때 4자리 수 들 중 다음 조건과 같은 수..

2021.08.11 게시됨

글/개발

[개발]TDD / 테스트코드 란?

최근에 개발을 하면서 TDD, 테스트 케이스 등의 단어를 자주 접했다. 코드를 짜면서 점점 테스트 코드의 중요성을 알게 되었고 테스트 코드, 테스트 케이스 등 테스트를 이용한 개발이 무엇인지, 왜 중요한지에 대해서 정리해보려고 한다. TDD란 무엇인가? TDD란 Test Driven Development의 약자로 '테스트 주도 개발'이라고 한다. 반복 테스트를 이용한 소프트웨어 방법론으로, 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현한다. 테스트 주도 개발은 말그대로 테스트 코드를 먼저 작성하는 것부터 시작하면 되고 순서는 아래와 같다. 먼저, 항상 실패하는 테스트를 먼저 작성하고 테스트를 통과 시키기 위한 실제 코드를 작성한다. 다음으로 테스트가 통과하면 중..

2021.08.10 게시됨