Auth.js(Next-Auth.js v5) 사용 시 네이버가 올바른 형식을 반환하지 않아 생기는 에러 인터셉터로 해결하기
Vite로 제작한 프로젝트를, vercel로 배포 후, lighthouse 테스트를 진행하던 도중, 메인 페이지(루트)는 제대로 뜨지만, 서브 페이지로 바로 접속을 시도하거나, 새로고침을 할 시에는 404 에러가 발생했다. 에러가 발생한 이유는, Vercel은 정적
리액트-리덕스와 연결되어 있는 리액트 컴포넌트를 테스트해 보자. 먼저, 테스트 코드 작성에 필요한 라이브러리들을 설치해 준다. 함수 단위(Unit) 테스팅 기본적으로 통합 테스트를 작성하는 것이 좋지만, 단위 테스트를 작성해야 할 때도 있다. 단위 테스트는 이전 상태에 액션을 적용한 후, 새로운 상태를 반환하는 순수 함수다. 대부분의 경우, 명시적인 테...
리덕스는 이전 상태와 액션을 기반으로 상태를 업데이트하는 순수 함수로, state를 직접 변경해서는 안된다. 로직 작성 React-toolkit의 createSlice를 사용하면 immer가 적용되기 때문에, 그냥 할당해도 순수성을 유지하면서 업데이트가 되기 때문에, 일일히 아래처럼 작성해줄 필요는 없다. 그렇지만 Immer를 사용하지 않고 순수하게 업...
전역 관리 중인 state들을 초기화할 필요가 있었다. 처음에는 state에 initialState를 할당시켜주는 방법을 생각했지만, Redux는 불변성을 유지해주어야 하기 때문에 직접적으로 state를 변경해서는 안된다.
React testing library에서 이벤트를 발동시키는 방법에는 아래 두 가지가 있다.fire-eventuser-event테스팅 라이브러리에 내장된 fire-event는 DOM 이벤트를 전송한다. 개발자가 모든 요소에서 모든 이벤트를 트리거할 수 있도록 해준다.
새로운 프로젝트에 TDD를 사용하여 진행하기 위해, 테스트 코드를 작성하던 도중, render에서 계속 오류가 발생했다.
객체 지향 프로그래밍(클래스)의 핵심은 코드를 현실 세계와 유사한 형식을 사용하여, 로직을 논리적으로 분리해 개발자가 이해하기 쉽도록 하는 데에 있다.
퀵 정렬은 배열 내에서 무작위로 숫자를 하나 선택하고 그걸 기준(피벗)으로 잡는다. 그리고 나머지 숫자들을 비교하여 피벗보다 큰 숫자는 피벗의 오른쪽으로, 작은 숫자들은 피벗의 왼쪽으로 이동시킨다.
병합 정렬은 큰 배열을 더 작은 하위 배열로 나누어 정렬하는 `분할 정복(Divide and Conquer)` 패턴을 사용한 정렬 방법이다.
삽입 정렬은 버블 정렬, 선택 정렬과 유사한 정렬 알고리즘 패턴이다. 삽입 정렬은 배열을 순회하면서 이미 정렬된 부분과 비교하여 올바른 위치에 삽입하면서 정렬하는 패턴이다.
선택 정렬은 버블 정렬과 유사하지만, 배열을 순회하면서 가장 작은 값을 찾고 그 값의 위치를 교환하면서 정렬하는 방식이다.
슬라이딩 윈도우 패턴은 배열 등의 항목을 순차적으로 검사하면서 고정된 크기의 하위 집합의 값을 구할 때 유용한 패턴이다.