🤔 E2E 테스트는 왜 필요할까?E2E(End-to-End) 테스트는 사용자가 실제로 웹 서비스를 사용하는 흐름을 그대로 자동화하는 테스트 방식이에요. 단위 테스트나 통합 테스트로는 잡히지 않는 실제 UI와 API, 라우팅, 상태 관리가 모두 연동된 전체 플로우의 안정성을 확인할 수 있다는 점에서 매우 중요해요.E2E 테스트는 다음 문제를 조기에 발견할 수 있어요:UI에서는 버튼이 보이지만 실제로 클릭이 안 되는 경우로그인 후 특정 페이지 이동이 정상적으로 작동하지 않는 경우API 응답은 올바르지만 클라이언트 렌더링이 깨지는 경우폼 제출 후 예상한 페이지로 이동하지 않는 라우팅 문제 등즉, "유저가 직접 경험하는 버그를 배포 전에 막는 가장 강력한 테스트 방식"이에요.🔧 e2e 테스팅 라이브러리대표적..
코딩 테스트에서 자주 만나는 문제들의 뿌리는 대부분 그래프 탐색이에요. 그중에서도 DFS와 BFS는 다른 알고리즘의 기반이 되는 핵심 개념이라 한 번 정리해 두면 여러 문제를 훨씬 편하게 풀 수 있어요.↘️ DFS (깊이 우선 탐색)DFS는 한 경로를 따라 가장 깊은 노드까지 탐색했다가 갈 곳이 없으면 다시 돌아와 다른 경로를 탐색하는 방식이에요.⚙️ 동작 과정스택(또는 재귀)과 visited 배열을 준비해요.시작 노드를 스택에 넣어요.스택이 빌 때까지 아래를 반복해요:스택에서 노드를 pop해요.pop한 노드를 아직 방문하지 않았다면:노드를 처리해요. (출력 / 완료 조건 체크)visited를 true로 바꿔요.인접 노드들을 스택에 push해요.📌 어디에서 사용할까?미로와 같은 경로 탐색순열, 조합, ..
API를 설계할 때 가장 먼저 부딪히는 선택지가 바로 REST, GraphQL, gRPC예요. 세 가지 모두 데이터를 주고받는 방법을 정의하지만 구조와 철학이 달라요. 각 방식을 비교하면서 언제 어떤 기술을 선택하면 좋은지 알아보아요!🌐 REST APIREST(Representational State Transfer)는 웹의 기본 언어라고 할 수 있어요. 리소스를 URI로 식별하고, HTTP 메서드(GET, POST, PUT, DELETE 등)를 통해 CRUD를 수행하는 구조예요.✨ 특징요청마다 고정된 엔드포인트를 사용하고, 필요한 데이터를 모두 받아야 해요.JSON, XML 등 다양한 포맷을 지원하지만 대부분 JSON을 사용해요.캐싱, 상태 코드, 헤더 등 HTTP의 기본 기능을 활용할 수 있어요.?..