본문 바로가기

웹개발6

TypeScript에서 Interface와 Type Alias의 차이점과 적절한 사용법 TypeScript에서는 코드의 안전성과 유지보수성을 높이기 위해 다양한 타입 정의 방법을 제공합니다. 그 중 interface와 type alias는 매우 중요한 도구입니다. 이 두 가지는 유사한 목적을 가지고 있지만, 사용 방법과 적용 방식에 있어서 차이가 있습니다. 이번 글에서는 interface와 type alias의 차이점, 장단점, 그리고 적절한 사용 시나리오를 상세히 알아보겠습니다.1. Interface와 Type Alias의 기본 개념Interface란?interface는 객체의 구조를 정의하는 데 주로 사용되며, 클래스나 함수, 변수 등에서 사용할 타입을 미리 정의할 수 있습니다. 인터페이스는 주로 객체지향 프로그래밍(OOP) 스타일의 코드에서 유용하며, 클래스와 상호작용할 때 사용하기 .. 2024. 12. 30.
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.
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.
비동기 처리: 콜백, 프로미스, 그리고 async/await (TypeScript) 비동기 처리(asynchronous processing)는 자바스크립트 및 TypeScript에서 필수적인 개념으로, 시간 소요가 긴 작업(예: 네트워크 요청, 파일 읽기 등)을 처리할 때 사용됩니다. 프로그램이 해당 작업을 기다리지 않고 다른 작업을 수행할 수 있게 함으로써 효율성을 높입니다. 이번 글에서는 TypeScript를 사용한 비동기 처리 방식으로 콜백, 프로미스, 그리고 async/await에 대해 설명하겠습니다.1. 콜백 (Callback)1.1 콜백의 정의콜백은 비동기 작업이 완료된 후 실행할 함수를 다른 함수에 전달하는 방식입니다. 이 방식은 비동기 작업의 완료 여부에 따라 호출되는 함수를 지정합니다.1.2 콜백의 예시 (TypeScript)import { readFile } from .. 2024. 10. 22.
JWT(JSON Web Token)의 이해와 활용: 1편 안녕하세요, 오늘은 현대 웹 개발에서 중요한 역할을 하는 JWT(JSON Web Token)에 대해 자세히 알아보겠습니다. 이 글에서는 JWT의 기본 개념부터 구조, 그리고 실제 사용 방법까지 다룰 예정입니다.1. JWT란 무엇인가?JWT의 정의 및 개요JWT는 JSON Web Token의 약자로, 당사자 간에 정보를 안전하게 전송하기 위한 개방형 표준(RFC 7519)입니다. 이 토큰은 JSON 객체로 인코딩되어 있으며, 디지털 서명이 되어 있어 신뢰성을 보장합니다.JWT는 주로 인증(Authentication)과 정보 교환에 사용됩니다. 웹 애플리케이션에서 사용자가 로그인하면, 서버는 JWT를 생성하여 클라이언트에게 전달합니다. 이후 클라이언트는 이 토큰을 사용하여 서버에 요청을 보낼 때마다 자신의 .. 2024. 10. 14.