TDD(Test-Driven Development)는 소프트웨어 개발 방법론 중 하나입니다.테스트를 먼저 작성한 후 실제 코드를 작성하는 방법을 일컫습니다. TDD는 여러 장점이 있습니다.디버깅 시간을 단축할 수 있다.자동화된 테스트를 통해 오작동하는 영역을 쉽게 좁혀나갈 수 있다.리팩토링이 용이해진다.작성된 테스트가 리팩토링 후에도 코드가 올바르게 동작하는지 확인해 주기 때문에 코드를 수정하는 데 자신감을 가질 수 있다.좋은 설계가 유도된다.테스트를 통해 요구 사항을 명확하게 이해하고, 이를 바탕으로 더 나은 설계를 할 수 있다.
1️⃣ 개념정리✅ 웹서버(Web Server)란?웹서버는 정적(Static) 콘텐츠를 클라이언트(브라우저)에 제공하는 역할을 한다.HTML, CSS, JavaScript, 이미지, 동영상 등의 정적인 파일을 처리HTTP요청(Request)을 받고, HTTP응답(Response)을 반환대표적인 웹서버 : Apache HTTP Server, Nginx, Microsoft IIS예제- 사용자가 웹사이트 주소를 입력하면, 웹서버가 HTML, CSS, JavaScript 파일을 브라우저에 전달- 사용자가 이미지를 요청하면, 웹서버가 해당 이미지파일을 제공✅ WAS(Web Application Server)란?WAS는 동적(Dynamic) 콘텐츠를 생성하고 처리하는 역할을 한다.웹서버의 기능 + 비즈니스로직처리, ..
소프트웨어 개발 과정에서 테스트는 크게 단위테스트(Unit Test)와 통합테스트(Integration Test)로 구분됩니다. 단위테스트(Unit Test)란?단위 테스트는 소프트웨어 개발과정에서 가장 작은 단위, 즉 개별 메서드나 함수의 기능을 검증하는 테스트입니다.특정 기능이 정상적으로 작동하는지 확인하기 위함이며 독립적이고 빠르게 실행됩니다. 통합테스트(Integration Test)란?통합테스트는 개별 모듈들이 결합되어 전체 시스템이 올바르게 동작하는지 검증하는 테스트입니다.모듈 간의 상호작용이 올바르게 동작하는지 확인하기 위함이며 실제 데이터베이스, 네트워크 등의 외부 시스템과 통합을 테스트합니다. 테스트 코드를 작성해야하는 이유테스트 코드를 작성하면 버그를 조기에 발견할 수 있으며, 리팩터..
안녕하세요 인터럽트입니다.이번 포스팅에서는 DB의 트랜잭션 격리 수준에 대해서 정리해보려고 합니다.개념은 알고 있지만 미리 정리를 함으로 써 면접 시 좀 더 깔끔한 답변을 할 수 있겠죠? 데이터베이스는 트랜잭션이라는 작업 단위로 묶어서 데이터를 처리합니다.작업도중 문제가 발생하면 모든 작업을 원래 상태로 rollback 할 수 있어서 데이터의 일관성과 신뢰성을 유지할 수 있습니다.이 과정에서 동시에 여러 트랜잭션이 수행될 때 발생할 수 있는 문제를 제어하기 위해 필요한 개념이 격리수준(Isolation Level)입니다.트랜잭션 격리 수준이란?트랜잭션 격리 수준은 데이터베이스가 동시에 실행되는 여러 트랜잭션 간의 상호작용을 제어하는 방식입니다.격리 수준에 따라 트랜잭션 간에 발생할 수 있는 읽기오류, ..