본문 바로가기

백엔드개발5

Express.js에서 CORS 처리 방법 웹 애플리케이션을 개발하다 보면, 다른 도메인에서 API를 호출해야 하는 상황이 자주 발생합니다. 그러나 웹 보안 정책인 SOP(Same-Origin Policy)에 의해 다른 출처의 리소스에 접근하는 것이 제한됩니다. 이러한 상황에서 CORS (Cross-Origin Resource Sharing)가 등장하며, 이를 통해 웹 브라우저가 안전하게 다른 도메인의 리소스에 접근할 수 있게 해줍니다. 이번 글에서는 CORS에 대한 기본적인 이해와 함께 Express.js에서 CORS를 처리하는 방법에 대해 자세히 알아보겠습니다.CORS란?CORS (Cross-Origin Resource Sharing)는 한 웹 페이지가 자신의 도메인과 다른 도메인에 있는 리소스에 접근할 수 있도록 허용하는 메커니즘입니다. 이.. 2024. 12. 3.
MySQL에서의 예외 처리: 저장 프로시저 vs 프로그램 단의 예외 처리 데이터베이스 작업을 할 때 우리는 종종 예외 상황을 만나게 됩니다. 특히, 대규모 트랜잭션을 처리하거나 중요한 비즈니스 로직을 다룰 때 예외 처리는 안정성을 보장하는 중요한 요소 중 하나입니다. MySQL을 사용할 때 예외 처리를 다루는 방법은 크게 두 가지로 나뉩니다. 하나는 저장 프로시저 내에서 직접 예외를 처리하는 방법 이고, 다른 하나는 프로그램 단(TypeScript)에서 예외를 처리하는 방법 입니다.이 글에서는 두 방법에 대해 각각 살펴보고, 각 방법이 가지는 장점과 단점에 대해 설명하겠습니다. 또한, 실제로 사용할 수 있는 예제 코드도 함께 제공하여 이해를 돕고자 합니다.1. MySQL 저장 프로시저에서 예외 처리저장 프로시저는 데이터베이스 내에서 복잡한 로직을 한 번에 처리할 수 있도록 해.. 2024. 12. 2.
Express.js HandlerInterceptor: 개념 소개 HandlerInterceptor는 Express.js의 기본 기능은 아니지만, 미들웨어와 핸들러 래퍼를 사용하여 인터셉터와 유사한 동작을 구현할 수 있습니다. 이를 통해 요청이 컨트롤러에 도달하기 전과 응답이 준비된 후에 요청을 가로채는 기능을 구현할 수 있으며, 전처리, 후처리, 오류 처리 등의 작업을 수행할 수 있습니다.Middleware와 HandlerInterceptor의 차이점특징MiddlewareHandlerInterceptor실행 방식라우트에 걸쳐 순차적으로 실행전처리와 후처리를 제공적용 범위전역 또는 특정 라우트에 적용 가능특정 핸들러에 밀접하게 연결사용 사례로깅, 인증, 파싱 등의 일반 작업요청/응답 변환, 예외 처리 등Express.js에서 HandlerInterceptor 구현하기E.. 2024. 11. 26.
Express.js 미들웨어의 역할 (TypeScript 버전) Express.js는 Node.js를 기반으로 하는 웹 프레임워크로, 라우팅, 미들웨어 관리, 요청 및 응답 처리 등의 기능을 제공합니다. 그중 미들웨어는 Express.js의 핵심 개념으로, 애플리케이션의 요청-응답 주기에 관여하는 코드 조각입니다. 이 글에서는 미들웨어의 역할, 종류, 그리고 TypeScript로 미들웨어를 작성하는 방법에 대해 자세히 알아보겠습니다.1. 미들웨어란 무엇인가?미들웨어는 HTTP 요청과 응답 사이에서 특정 작업을 수행하는 함수입니다. 클라이언트 요청이 들어오면 미들웨어는 이를 처리하고 다음 단계로 넘어가거나 응답을 종료할 수 있습니다. 미들웨어는 아래와 같은 특징을 가집니다.요청 및 응답 객체에 접근: req, res 객체를 통해 요청 데이터와 응답을 조작할 수 있습니다.. 2024. 11. 19.
효율적인 데이터베이스 관리를 위한 MySQL 이벤트 사용법 MySQL 이벤트는 일정한 시간 간격이나 특정 조건에서 자동으로 실행되는 작업을 설정할 수 있게 해주는 유용한 기능입니다. 이는 주로 반복적으로 수행해야 하는 작업이나 정기적으로 관리해야 할 데이터에 적합한 방식으로, 트리거와는 달리 지정된 스케줄에 따라 작업이 수행된다는 특징이 있습니다. 다음은 MySQL 이벤트의 개념, 기본 사용법, 설정 방법, 그리고 실제 활용 예제를 다룬 글입니다.1. MySQL 이벤트란?MySQL 이벤트는 특정 시간이나 주기에 따라 자동으로 실행되는 SQL 구문이나 저장 프로시저입니다. 예를 들어, 일일 보고서 생성, 정기적인 데이터 백업, 만료된 데이터 삭제와 같은 작업을 MySQL 이벤트를 통해 자동화할 수 있습니다. 이는 애플리케이션 코드의 변경 없이 데이터베이스 수준에서.. 2024. 11. 7.