본문 바로가기

전체49

[Node.js / Javascript] console에 대하여 - console 종류 Console 개발할 때 가장 많이 사용하는 것이 바로 console.log()이다. 백엔드에서 새롭게 받은 request의 결과값을 확인한다거나 내가 짠 함수의 동작을 확인한다거나 등등 많은 동작에 사용된다. 아마 나뿐만 아니라 많은 웹개발자들이 사용중일 것이다. 오늘은 이렇게 자주 사용하는 console! Node.js에서의 이 console에 대해서 알아보자. console.log 가장 잘알려진 console.log이다. 주어진 인자를 출력한다. console.log('🍎'); // 출력: 🍎 console.log(1 + 2); // 출력: 3 console.log(1,2,3); // 출력: 1,2,3 위의 console.log(1,2,3) 처럼 여러 인자를 받아 출력할수도 있다. console.i.. 2023. 2. 21.
[알고리즘] 이분 검색 / 이진 탐색 Binary Search - Javascript 예제 이분 검색 Binary Search 이분 검색은 이진 검색 알고리즘이라고도 한다. 오름차순으로 정렬된 배열에서 특정한 값의 위치를 찾아내는 알고리즘이다. 처음엔 중간값을 기준으로 중간값이 타겟값보다 큰 경우 중간값 기준 배열의 왼쪽을 탐색하고 그 반대의 경우 중간값 기준 배열의 오른쪽을 탐색한다. 만약 중간값이 타겟값일 경우엔 중간값의 위치가 반환되어진다. 시간 복잡도는 O(log n)이다. 글로 보면 어려우니 밑의 그림과 함께 설명을 보자! (전체 코드는 맨 밑에 있습니다.) 예제: 찾아야할 숫자는 51이고 주어진 배열은 [12, 38, 3, 64, 28, 11, 43, 51] 이다. 변수 설정 start: 탐색을 할 배열의 시작 위치이다. end: 탐색을 할 배열의 끝 위치이다. mid: 탐색 시 기.. 2023. 1. 23.
[Jest] 비동기 코드 테스트하기 Testing Asynchronous Code return Promise test 코드 안에서 Promise를 return 하고 Jest가 Promise가 resolve될때까지 기다린다. Promise가 reject될 경우에 테스트 결과는 실패로 나오게 된다. test('promise-return', () => { return fetchData().then(data => { expect(data).toEqual({ name: 'Jinyoung', birthYear: 1994 }); }) }) fetchData 라는 { name: 'Jinyoung', birthYear: 1994 } object를 반환하는 promise함수를 가정해보면 위와 같이 테스트를 작성할 수 있다. Async/Await test('await', async () => { cons.. 2022. 10. 7.
CI/CD란 무엇인가? CI/CD 개발 단계를 자동화하여 코드 통합시 생기는 문제 Integration Hell을 해결하기 위한 솔루션이다. CI CI는 Continuous Intergration 즉, 지속적인 통합이라는 뜻이다. 코드의 수정이나 새로운 기능추가가 repository에 주기적으로 빌드, 테스트 후에 merge 되는 것을 의미한다. 코드 변경사항을 주기적으로 merge해야한다. 한명의 개발자가 아닌 여러명의 개발자가 같은 프로젝트를 진행할 경우 주기적으로 merge 하지 않으면 나중에서야 코드를 merge하려할때 발생한 코드간의 충돌을 해결하기가 힘들다. 나도 한번 겪어봤던터라 git에 코드를 주기적으로 merge하는 습관을 들였다. 😅 이러한 충돌을 막기위해서 기능 개발시 작은단위로 쪼개어 역할을 분담해 개발하.. 2022. 10. 7.