Jest로 비동기 코드 테스트 작성하기

지난 포스트에서 Jest로 기본적인 테스트 코드 작성하는 방법에 대해서 알아보았습니다.자바스크립트 언어 특상 상 실제 프로젝트에서는 비동기(Asynchronus)로 돌아가는 코드를 테스트해야 할 일이 많은데요.Jest Runner가 비동기 코드에 대한 테스트라는 사실을 인지할 수 있도록 테스트를 작성해주지 않으면 예상치 못했던 테스트 결과에 당황할 수가 있

[알고리즘] 3 Sum

Leetcode의 3 Sum 문제를 풀어보도록 하겠습니다. 문제정수로 이뤄진 nums 배열이 주어졌을 때, a + b + c = 0을 만족하는 모든 부분 배열 [a, b, c]를 구하라.단, 리턴 값에는 중복된 부분 배열이 포함되어 있으면 안된다. 예를 들어, 배열 [-1, 0, 1, 2, -1, -4] 주어지면, -1 + 0 + 1 = 0, -1 + -

Jest로 기본적인 테스트 작성하기

Jest는 페이스북에서 만들어서 React와 더불어 많은 자바스크립트 개발자들로 부터 좋은 반응을 얻고 있는 테스팅 라이브러리입니다.출시 초기에는 프론트앤드에서 주로 쓰였지만 최근에는 백앤드에서도 기존의 자바스크립트 테스팅 라이브러리를 대체하고 있습니다. Jest: All-in-one 테스팅 라이브러리페이스북에서는 Jest를 단순한 테스팅 라이브러리가 아닌

[알고리즘] Two Sum

Leetcode의 Two Sum 문제를 풀어보도록 하겠습니다. 문제정수 값이 담긴 배열 nums와 특정한 정수 target이 주어졌다.nums 배열 안에 있는 숫자 중에서 두 개의 숫자를 더했을 때, target 값과 동일해지는 두 숫자의 배열 인덱스를 리턴하라. 예를 들어, nums가 [2, 7, 11, 15]이고 target이 9라면 [0, 1]을 리턴

[파이썬] heapq 모듈 사용법

데이터를 정렬된 상태로 저장하기 위해서 사용하는 파이썬의 heapq(힙큐) 내장 모듈에 대해서 알아보겠습니다. 힙 자료구조heapq 모듈은 이진 트리(binary tree) 기반의 최소 힙(min heap) 자료구조를 제공합니다.자바에 익숙하신 분이라면 PriorityQueue 클래스를 생각하시면 이해가 쉬우실 것 같습니다. min heap을 사용하면 원소

[자바스크립트] 비동기 처리 3부 - async/await

이전 두 개의 포스트를 통해서 기존에 자바스크립트로 어떻게 비동기 처리 코드를 작성해왔는지에 대해서 살펴보았습니다.이번 포스트에서는 좀 더 개선된 방식으로 비동기 처리를 할 수있도록 도와주는 async/await에 대해서 알아보도록 하겠습니다.async/await를 제대로 시용하려면 Callback과 Promise에 대한 이해가 무엇보다 중요하오니 아래 포

[자바스크립트] 비동기 처리 2부 - Promise

많은 분들이 자바스크립트 공부를 하시다가 프라미스(Promise)에 때문에 그만 두시곤 합니다.이번 포스트에서는 자바스크립트에서 비동기 처리를 위해 굉범위하게 사용되는 Promise에 대해서 알아보겠습니다. 콜백 함수를 통한 비동기 처리의 문제점ES6에서 Promise가 도입되어 지금처럼 널리 사용되기 이전에는 주로 콜백 함수를 다른 함수의 인자로 넘겨서

[자바스크립트] 비동기 처리 1부 - Callback

자바스크립트의 콜백 함수와 비동기 함수애 대해서 혼란스러워 하시는 분들이 주변에 많은 것 같아서 개념 정리를 해보고자 합니다.이번 포스트에서는 실제 프로젝트에서 자주 접할 수 있는 유저 데이터 조회 시나리오를 통해 콜백 함수를 이용한 비동기 처리에 대해서 알아보겠습니다. 콜백 함수유저 ID를 인자로 받아 DB나 API 연동 없이 임의의 유저 객체를 리턴하는

[Java] 객체 정렬하기 1부 - Comparable vs Comparator

자바와 같이 객체 지향 언어를 사용하여 프로그래밍을 하다보면 객체들을 정렬해야하는 경우가 생깁니다.예를 들면, 온라인 게임 서비스에서 게이머들을 높은 점수 순으로 보여주는 게이머 랭킹 페이지를 생각해볼 수 있겠습니다. 정렬 대상 클래스먼저, 각 게이머의 정보를 표현하기 위해 다음과 같은 간단한 클래스를 생각해보겠습니다. 1234567891011public

[Java] 객체 정렬하기 1부 - Comparable vs Comparator

자바와 같이 객체 지향 언어를 사용하여 프로그래밍을 하다보면 객체들을 정렬해야하는 경우가 생깁니다.예를 들면, 온라인 게임 서비스에서 게이머들을 높은 점수 순으로 보여주는 게이머 랭킹 페이지를 생각해볼 수 있겠습니다. 정렬 대상 클래스먼저, 각 게이머의 정보를 표현하기 위해 다음과 같은 간단한 클래스를 생각해보겠습니다. 1234567891011public