몇 년 전 운영 프로젝트 설정 시 자세하게 봤던 내용이지만, 트래픽이 대폭 증가하고, DBMS에 연결된 프로젝트와 모듈이 늘어남에 따라 재설정을 위해 개념을 다시 정리하게 되었다.1. 기본적인 데이터베이스 연결과정DB Connection 열기- 데이터베이스 드라이버를 사용하여 데이터베이스 서버와의 연결TCP 소켓 열기 - 데이터베이스 전송을 위해 TCP 소켓을 생성하고 데이터베이스 서버와 통신채널을 설정데이터 통신 수행 - 생성된 소켓을 통해 SQL 쿼리를 전송하고 데이터를 Read / WriteDB연결 닫기 - 데이터 통신이 완료되면 데이터베이스와의 연결을 종료TCP 소켓 닫기 - 사용한 TCP 소켓을 닫아 통신 채널 해제웹 어플리케이션은 클라이언트의 HTTP 요청이 들어오면 스레드를 생성한다. 각 요..
1. Bastion 서버란?Bastion 서버란 클라우드 환경, 네트워크 환경에서 보안 게이트웨이 역할을 하는 서버로, 외부 네트워크에서 private 서버로 접속할 때 보안을 강화해 주고 접근제어를 구현해 준다. 외부 사용자가 특정 IP에서만 Bastion 서버에 접속하도록 설정할 수 있으며, private 서버들은 Bastion 서버를 통해서 트래픽을 철저하게 관리할 수 있다. 이번 포스트에선 Bastion서버의 설정 방법과, 다중 서버를 Bastion 서버에서 관리할 시 접속상태를 한눈에 구분할 수 있는 방법에 대해 알아보자.2. Bastion 서버 설정 방법2-1.aws 인스턴스 생성 t2 micro~t3 micro - 소규모 개발팀t3 small - 중간 규모팀T3.medium, M5.larg..
4. HOW DEEP - 얼마나 깊게 테스트 코드를 작성해야 하는가?4.1 테스트 깊이를 결정하는 기준테스트 깊이를 설정할 때는 다음과 같은 기준을 고려해야 합니다:테스트 피라미드(Test Pyramid): 테스트 피라미드는 테스트 종류에 따른 계층 구조를 보여줍니다. 일반적으로 단위 테스트가 가장 많고, 그다음으로 통합 테스트, 시스템 또는 E2E(End-to-End) 테스트가 위치합니다.단위 테스트(Unit Tests): 가장 많은 비중을 차지하며, 작은 코드 단위를 독립적으로 테스트합니다.통합 테스트(Integration Tests): 여러 모듈이 상호작용하는지 테스트합니다.E2E 테스트(End-to-End Tests): 실제 사용자 관점에서 전체 시스템이 잘 작동하는지 확인합니다.위험 기반 테스트..