본문 바로가기

기초 개념5

RESTful API란? REST(Representational State Transfer)는 웹의 장점을 최대한 활용할 수 있는 아키텍처로, 2000년 로이 필딩이 제안했습니다.RESTful API는 이 REST 아키텍처의 제약 조건과 설계 원칙을 준수하는 API를 의미합니다.이번 글 에서는 설계 원칙을 위주로 다루어 볼 예정입니다.RESTful API의 핵심 설계 원칙1. 리소스 중심의 URL 설계URL Path에는 동작이아닌 리소스의 위치와 계층 관계만을 나타내도록 합니다.리소스에 가해질 행동(Operation)은 HTTP Method를 세멘틱 하게 사용하여 표현 합니다. (아래에 자세하게 설명.)# RESTful하지 않은 기존 API 설계GET /getUser/123POST /createOrderPUT /updatePro.. 2024. 12. 12.
제네릭<Generic> 제네릭은 프로그래밍에서 타입(Type)의 안전성을 높이고 코드의 재사용성을 향상시키는 강력한 도구입니다. 제네릭을 사용함으로써, 개발자는 타입을 보다 유연하게 처리할 수 있으며, 동시에 컴파일 시간에 타입 체크를 강화할 수 있습니다. 제네릭이란 무엇인가? 제네릭은 클래스, 인터페이스, 또는 메소드가 다양한 타입의 객체들을 처리할 수 있도록 해줍니다. 이것은 코드를 작성할 때 구체적인 타입을 명시하지 않고, 타입 파라미터를 사용하여 나중에 해당 타입을 지정할 수 있게 해줍니다. 제네릭의 장점: 타입 안전성: 제네릭은 잘못된 타입의 객체가 사용되는 것을 컴파일 시점에서 방지합니다. 이는 런타임 오류를 줄여줍니다. 코드 재사용성: 동일한 코드를 다양한 타입에 대해 사용할 수 있어, 중복을 줄이고 재사용성을 높.. 2023. 11. 22.
`withCredentials`에 대한 설명 HTTP 요청에서 withCredentials 속성은 주로 AJAX 요청에서 사용되며, 이는 웹 브라우저의 Same-Origin Policy(같은 출처 정책)를 준수하면서도 쿠키, HTTP 인증, 클라이언트 SSL 인증 같은 자격 증명 정보를 포함한 요청을 보낼 수 있게 합니다. 기본적으로, XMLHttpRequest와 fetch는 크로스 도메인 요청에서 자격 증명 정보를 포함하지 않지만, withCredentials를 true로 설정하면 포함하게 됩니다. 예를 들어, 도메인 A에서 도메인 B로 AJAX 요청을 보낼 때 도메인 B의 쿠키를 전송하려면 withCredentials를 true로 설정해야 합니다. 이렇게 설정하면 응답에도 Access-Control-Allow-Credentials 헤더가 포함되.. 2023. 9. 12.
Eval 함수와 보안 문제 컴퓨터과학에서 코드는 일련의 명령어로 구성되어 컴퓨터에게 특정 작업을 지시합니다. 일반적으로 코드는 개발자에 의해 미리 작성되며, 프로그램 실행 시에는 해당 코드만 수행됩니다. 그런데 프로그래밍 언어 중 일부에는 "실행 시점"에 동적으로 코드를 평가하고 실행하는 기능을 제공하는데, 이를 eval 함수라고 합니다. 1. Eval 함수란? Python과 JavaScript에서 eval은 문자열 형태의 코드를 받아 해당 코드를 실행하는 함수입니다. # Python 예시 x = 10 y = 20 result = eval("x + y") print(result) # 30 // JavaScript 예시 let x = 10; let y = 20; let result = eval("x + y"); console.log.. 2023. 8. 29.
728x90