목록매일메일 (63)
종식당

Grace Shutdown이란 애플리케이션이 종료될 때 바로 종료하는 것이 아니라, 현재 처리하고 있는 작업을 마무리하고 리소스를 정리한 이후 종료하는 방식을 의미한다. 서버 애플리케이션에서 일반적인 Graceful Shutdown은 SIGTERM 신호를 받았을 때, 새로운 요청은 차단하고 기존 처리 중인 요청을 모두 완료한 뒤에 프로세스를 종료한다. 만약, 서버 애플리케이션이 요청을 처리하는 중에 즉각적으로 애플리케이션을 종료한다면 트랜잭션 비정상 종료, 데이터 손실, 사용자 경험 저하 문제가 발생할 수 있다.SIGTERM과 SIGKILL의 차이점은 무엇인가요? 🤓SIGTERM과 SIGKILL은 유닉스 및 리눅스 운영체제에서 사용되는 프로세스 종료 시그널이다. 그중에서 SIGKILL은 프로세스를 강제..

시스템은 크게 상태 변경 기능과 조회 기능을 제공한다. 주문 취소, 결제 기능은 상태 변경에 해당되며, 주문서 조회, 사용자 조회 등이 조회에 해당된다. 명령 쿼리 책임 분리 패턴(Command Query Responsibility Segregation)은 상태를 변경하기 위한 명령을 위한 모델과 상태를 제공하는 조회를 위한 모델을 분리하는 패턴을 의미한다.예를 들어, Order라는 리소스를 Order(명령용), OrderData(조회용) 2개의 모델로 나누어서 관리할 수 있다. 이때, OrderData를 이용해서 표현 계층에 데이터를 출력하는 데 사용하고, 애플리케이션에서는 Order를 활용해 변경을 수행할 수 있다.CQRS 패턴의 장단점은 무엇인가요? 🤔CQRS 패턴을 따르면, 소프트웨어의 유지보수..

URI (Uniform Resource Identifier)URI는 인터넷에서 자원을 식별하기 위한 문자열이다. URI는 URL과 URN을 포함하는 상위 개념이다. 즉, 특정 자원을 식별하기 위한 포괄적인 방법을 제공하며, 자원의 위치나 이름을 나타낼 수 있다.URL (Uniform Resource Locator)URL은 URI의 한 형태로, 인터넷상에서 자원의 위치를 나타내는 방식이다. 자원이 어디에 있는지를 설명하는 데 사용되며, 자원에 접근하기 위한 프로토콜을 포함한다. 예를 들어, 웹페이지의 URL은 해당 페이지가 위치한 서버의 주소와 접근방법(HTTP)을 포함한다. ex) https://www.example.com/path/to/resourceURN (Uniform Resource Name)UR..

CI/CD는 애플리케이션 배포 과정을 자동화하여 더 짧은 주기로 고객에게 서비스를 제공하는 방식이다. 먼저, CI는 Continuous Integration의 약어로 지속적 통합을 의미한다. CD는 Continuous Delivery(지속적 전달) 또는 Continuous Deployment(지속적 배포)를 의미한다. 먼저, CI는 개발자들이 코드 변경사항을 주기적으로 메인 브랜치에 병합하는 과정을 자동화한 것이다. 이 과정에서 코드 변경사항이 발생할 때마다 자동으로 빌드와 테스트를 수행하여 문제를 조기에 발견할 수 있다. 예를 들어, 여러 개발자가 함께 작업할 때 한 개발자의 변경사항이 다른 개발자의 작업과 충돌하거나 전체 애플리케이션에 문제를 일으킬 수 있는데, CI를 거치면 이러한 문제를 병합 이전..

JWT(Json Web Token)JWT는 통신 정보를 JSON 형식을 사용하여 안전하게 전송하기 위해 사용된다. JWT는 토큰 자체에 정보가 포함되어 있는 클레임 기반 토큰이다. 일반적인 애플리케이션에서 JWT는 주로 인증과 인가를 구현하기 위해 사용된다. JWT는 헤더, 페이로드, 시그니처로 구분된다. 헤더에는 토큰의 암호화 알고리즘이나 타입을 가지며, 페이로드에는 데이터(만료일, 사용자 정보 등)을 가진다. 시그니처는 헤더와 페이로드가 변조되지 않았는지 판단하기 위해 사용되는데 헤더와 페이로드를 비밀 키를 사용하여 헤더에 명시된 암호화 알고리즘으로 암호화하여 시그니처가 만들어진다. JWT를 사용하여 인가를 구현하는 경우, 클레임 기반 토큰의 특성 덕분에 세션 기반 인증에 비해서 사용자 정보를 조회하..