본문 바로가기

CS38

CS 스터디 43 - 테스트 및 디버깅 단위 테스트(Unit Test)와 통합 테스트(Integration Test)의 차이점을 설명해 주세요.단위 테스트는 함수·클래스 같은 "가장 작은 단위”의 로직을 외부 의존성(네트워크, DB, 파일 등) 없이 격리해 검증합니다. 빠르고 결정적이며 실패 지점이 명확해 회귀를 즉시 잡아냅니다. 반면 통합 테스트는 모듈 간 상호작용(예: 컨트롤러·서비스·리포지토리·DB)을 실제 또는 유사 환경에서 검증해 구성 오류, 트랜잭션, 설정 누락을 발견합니다. 단위 테스트는 빠른 피드백과 리팩터링 보호막, 통합 테스트는 “실제로 붙었을 때”의 안정성을 보장하므로 두 계층을 함께 운용하는 것이 좋습니다. TDD(Test Driven Development)가 무엇이며, 이를 적용한 경험이 있나요?TDD는 “실패하는 테.. 2025. 9. 8.
CS 스터디 42 - 분산 시스템 및 클라우드 로드 밸런싱(Load Balancing)이 무엇이며, 이를 통해 얻을 수 있는 이점은 무엇인가요?로드 밸런싱은 들어오는 요청을 다수의 서버 인스턴스에 지능적으로 분배해 처리율과 안정성을 높이는 기법입니다. 전송계층(L4)은 IP/포트 수준에서, 응용계층(L7)은 URL·헤더·쿠키 등 콘텐츠 정보를 이용해 분산하며, 정기적인 헬스 체크로 비정상 노드를 트래픽에서 제외합니다. 라운드로빈·가중치·최소 연결수·원지 기반 등의 알고리즘을 선택적으로 적용할 수 있고, 세션 일관성이 중요하면 스티키 세션이나 외부 세션 저장소를 병행합니다. 이점으로는 수평 확장, 장애 격리, 일관된 단일 엔드포인트 제공이 있으며, 단일 장애점 방지를 위해 로드밸런서 자체도 다중화하고 멀티 AZ/리전에 배치합니다. 무중단 배포 시에는 .. 2025. 9. 1.
CS 스터디 41 - 네트워크와 통신 HTTP와 HTTPS의 차이점을 설명해 주세요.HTTP는 암호화되지 않은 평문 통신 프로토콜이라 전송 과정에서 데이터가 노출될 수 있습니다. HTTPS는 HTTP 위에 TLS를 결합해 기밀성, 무결성, 서버 인증을 제공합니다. 클라이언트는 서버의 인증서를 PKI 체인으로 검증하고, 세션 키를 교환한 후 대칭 암호화로 데이터를 주고받습니다. 따라서 HTTPS는 중간자 공격과 도청을 방어할 수 있습니다. TCP와 UDP의 차이점을 설명해 주세요.TCP는 연결 지향형 프로토콜로, 3-way handshake를 통해 연결을 맺고 데이터 전송의 신뢰성을 보장합니다. 패킷 분할·재조립, 순서 보장, 오류 검출·재전송 기능이 있습니다. UDP는 비연결형 프로토콜로 빠르고 가볍지만 패킷 손실이나 순서 보장은 하지 않.. 2025. 9. 1.
CS 스터디 40 - 배포 및 운영 서버를 무중단 배포(Zero Downtime Deployment)하는 방법에 대해 설명해 주세요.무중단 배포는 사용자 요청이 항상 정상 인스턴스에 도달하도록 관리하는 기법입니다. Kubernetes에서는 Rolling Update를 사용해 Pod를 하나씩 교체하고, 새로운 Pod가 헬스 체크를 통과해야만 트래픽을 받게 합니다. 또 다른 방식으로는 Blue-Green 배포처럼 두 개의 동일한 환경을 구성해, 새 버전이 안정화되면 로드밸런서에서 트래픽을 전환하는 방법이 있습니다. 공통 원리는 새 버전이 준비되기 전까지 기존 버전이 서비스를 유지한다는 점입니다. CI/CD(Continuous Integration/Continuous Deployment) 파이프라인을 구축한 경험이 있나요? 사용한 도구를 설명.. 2025. 8. 28.
CS 스터디 39 - 보안 및 인증 서버 보안의 기본 원칙에 대해 설명해 주세요서버 보안은 시스템·데이터·사용자 보호를 위해 공격 면 최소화와 피해 제한을 목표로 하는 원칙과 절차를 말합니다. 최소 권한, 방어 심층, 안전한 기본값(deny-by-default), 불변 인프라·패치관리, 비밀 관리(KMS 등), 로깅·모니터링·경보, 실패-차단(fail-closed), 네트워크·권한·환경 분리를 핵심으로 설계합니다. 원칙 기반 접근은 위험 감소에 효과적이지만 초기 구현·운영 부담과 문화적 정착 비용이 있습니다. 실무에선 보안 헤더·HSTS·CSP를 기본 탑재합니다.http.headers(h -> h .httpStrictTransportSecurity(c -> c.includeSubDomains(true).preload(true)) .co.. 2025. 8. 26.
CS 스터디 38 - API 설계 및 통신 RESTful API의 설계 원칙을 설명해 주세요.RESTful API는 리소스를 URI로 표현하고, HTTP 메서드(GET, POST, PUT, DELETE 등)를 활용하여 상태를 조작하는 방식입니다. 무상태성(stateless)과 클라이언트-서버 분리, 캐시 가능성, 계층화 구조 같은 원칙을 기반으로 확장성과 유지보수성을 높입니다. REST와 SOAP의 차이점을 설명해 주세요.REST는 경량 프로토콜로 HTTP 기반의 단순한 요청/응답을 사용하며 JSON·XML 등 다양한 포맷을 지원합니다. SOAP은 XML 기반의 표준화된 메시징 프로토콜로 보안, 트랜잭션 등 무거운 기능이 내장되어 있습니다. 따라서 REST는 웹/모바일 서비스에, SOAP은 금융·기업 간 통신처럼 안정성과 표준이 중요한 곳에 적.. 2025. 8. 19.