- [로드맵] CDN2024-11-27 09:56:07콘텐츠 전송 네트워크(CDN) 서비스는 웹사이트의 고가용성 및 성능 개선을 목표로 한다. 이는 일반적으로 클라이언트 요청에 지리적으로 더 가까운 엔드포인트를 통해 웹사이트 자산 및 콘텐츠를 빠르게 전송하여 달성한다.기존의 상업용 CDN(Amazon CloudFront, Akamai, CloudFlare 및 Fastly)은 이 목적으로 사용할 수 있는 전 세계의 서버를 제공한다. CDN을 통해 자산과 콘텐츠를 제공하면 웹사이트 호스팅의 대역폭이 줄어들고 잠재적인 중단을 줄이기 위한 추가 캐싱 계층이 제공되며 웹사이트 보안도 개선할 수 있다.
- [로드맵] Client Side2024-11-26 10:14:09클라이언트 측 캐싱은 웹 브라우저나 애플리케이션이 성능을 개선하고 서버 부하를 줄이기 위해 사용자 기기에 로컬로 데이터를 저장하는 기술이다. 이는 후속 방문 시 더 빠르게 액세스할 수 있도록 클라이언트 시스템에 웹 페이지, 이미지, 스크립트 및 기타 리소스의 사본을 저장하는 것을 포함한다. 최신 브라우저는 HTTP 캐싱(Cache-Control 및 ETag와 같은 헤더 사용), 오프라인 기능을 위한 서비스 워커, 로컬 스토리지 API를 포함한 다양한 캐싱 메커니즘을 구현한다. 클라이언트 측 캐싱은 네트워크 트래픽과 로드 시간을 크게 줄여 특히 느린 연결에서 사용자 경험을 향상시킨다. 그러나 향상된 성능과 최신 콘텐츠에 대한 필요성 간의 균형을 맞추기 위해 신중한 관리가 필요하다. 개발자는 적절한 캐시 무..
- [로드맵] Caching2024-11-25 09:18:51캐싱은 컴퓨팅에서 자주 액세스하는 데이터를 빠르게 저장하고 검색하여 원래의 느린 소스에서 반복적으로 페치할 필요성을 줄이는데 사용되는 기술이다. 기본 저장소보다 액세스 속도가 빠른 위치에 데이터 사본을 보관하는 것을 포함한다. 캐싱은 브라우저 캐싱, 애플리케이션 수준 캐싱, 데이터베이스 캐싱을 포함한 다양한 수준에서 발생할 수 있다. 대기 시간을 줄이고, 네트워크 트래픽을 줄이며, 서버 또는 데이터베이스의 부하를 낮춰 성능을 크게 향상시킨다. 일반적인 캐신 전략에는 시간 기반 만료, 가장 최근에 사용(LRU) 알고리즘, 쓰기-통과 또는 쓰기-다시 쓰기 정책이 있다. 캐싱은 속도와 효율성을 향상시키지만 데이터 일관성과 신선도를 유지하는데 어려움이 있다. 효과적인 캐시 관리가 동적 시스템에서 성능 향상과 최..
- [로드맵] API 설계 원칙2024-11-24 22:50:22HATEOAS(Hypermedia As The Engine Of Application State)HATEOAS는 RESTful 아키텍처의 제약 조건으로, 클라이언트가 응답에서 제공된 하이퍼미디어 링크를 통해 API를 동적으로 탐색할 수 있도록 한다. URL이나 엔드포인트를 하드 코딩하는 대신, 클라이언트는 웹 브라우저가 웹페이지의 링크를 따라가는 것처럼 이러한 링크를 통해 사용 가능한 작업을 발견한다. 이를 통해 더 큰 유연성을 제공하고 클라이언트를 서버 측 변경 사항에서 분리하여 기존 클라이언트를 중단하지 않고도 시스템을 보다 적응적이고 확장 가능하게 만든다.이는 REST의 무상태 원칙과 자체 설명적 메시지의 핵심 요소이다. OpenAPI Specification(OAS) OpenAPI Specifi..
- [로드맵] 인증 및 권한 부여 메커니즘2024-11-23 18:26:02AuthenticationAPI 인증은 API에 액세스하려는 클라이언트의 신원을 확인하고 권한이 있는 사용자 또는 애플리케이션만 API 리소스와 상호 작용할 수 있도록 하는 프로세스이다. 일반적인 방법으로는 API 키, OAuth 2.0 JSON 웹 토큰(JWT), 기본 인증 및 OpenID Connect가 있다. 이러한 기술은 간단한 토큰 기반 접근 방식에서 인증과 권한 부여를 모두 처리하는 보다 정교한 프로토콜에 이르기까지 복잡성과 보안 수준이 다양하다. API 인증은 민감한 데이터를 보호하고, 무단 액세스를 방지하고, 사용 추적을 가능하게 하며, 리소스 액세스에 대한 세부적인 제어를 제공할 수 있다. 인증 방법의 선택은 보안 요구 사항, 클라이언트 유형, 구현 용이성 및 확장성 요구 사항과 같은 요..
- 일급 컬렉션이 무엇인가요?2024-11-22 09:55:15일급 컬렉션(First-Class Collection)은 하나의 컬렉션을 감싸는 클래스를 만들고, 해당 클래스에서 컬렉션과 관련된 비즈니스 로직을 관리하는 패턴을 말합니다. 아래 코드 중에서 Order의 List 자료구조를 감싼 Orders가 일급 컬렉션의 예시입니다.// 일급 컬렉션public class Orders { private final List orders; public Orders(List orders) { validate(orders); // 검증 수행 ... } public void add(Order order) { if (order == null) { throw new IllegalArgumentExcepti..
- [로드맵] API 접근 방식2024-11-21 09:16:01REST REST API(Representational State Transfer Application Programming Interface)는 네트워크 애플리케이션을 설계하기 위한 아키텍처 스타일이다. 리소스와 상호 작용하기 위해 표준 HTTP 메서드(GET, POST, PUT, DELETE)를 사용하며, 리소스는 URI(Uniform Resource Identifiers)로 표현된다. REST API는 무상태이므로 클라이언트에서 서버로 보내는 각 요청에는 요청을 이해하고 처리하는 데 필요한 모든 정보가 포함되어야 한다. 표준 HTTP 상태 코드를 사용하여 요청의 결과를 나타내고 JSON 또는 XML과 같은 형식으로 통신하는 경우가 많다. REST API는 단순성, 확장성, 웹 서비스 및 애플리케이션..
- [로드맵] Learn about APIs2024-11-20 09:37:04API(Application Programming Interface)는 서로 다른 소프트웨어 애플리케이션이 서로 통신하고 상호 작용할 ㅅ ㅜ있도록 하는 정의된 규칙과 프로토콜의 집합이다. 개발자가 내부 작동 방식을 이해할 필요 없이 서비스, 애플리케이션 또는 플랫폼의 기능이나 데이터에 액세스하고 조작할 수 있는 표준화된 방법을 제공한다. API는 공개 또는 비공개일 수 있으며 일반적으로 서로 다른 시스템을 통합하고 타사 개발을 용이하게 하며 애플리케이션 간 상호 운용성을 가능하게 하는데 사용된다.일반적으로 엔드포인트, 요청 방법(GET, POST, PUT 등) 및 상호 작용할 데이터 형식(JSON 또는 XML 등)이 포함된다.ref) API에 대한 다양한 접근 방식들ref) API 설계 원칙ref) 인증..