본문 바로가기

개발11

Caching for Web Service 캐싱은 웹 서비스에서 성능을 향상하고 응답 시간을 줄이는 데 있어 필수적인 기술이다. 데이터를 일시적으로 저장하는 방식을 통하여 서비스가 각 요청마다 데이터를 재생성하지 않고도 빠르게 데이터를 검색/제공할 수 있도록 한다. 이는 서버의 부하를 줄일 뿐 아니라 사용자 경험의 향상도 이끌어낸다. 웹 서비스에 사용되는 캐시는 여러 유형이 있으며 각각 고유한 장점을 갖는다. 빠른 액세스를 위해 서버의 램에 데이터를 저장하는 메모리 캐시부터 서버를 향하는 요청 수를 줄이기 위해 사용자의 장치에 데이터를 저장하는 브라우저 캐시까지 각 유형의 캐시는 성능 향상을 위해 중요한 역할을 한다. 먼저, 웹 서비스에서 사용되는 메모리 캐시, 디스크 캐시, CDN 캐시 그리고 브라우저 캐시에 대해 알아본다. 그리고 속도와 효율.. 2023. 2. 7.
CORS 1. CORS란 무엇인가? Cross-Origin Resource Sharing(CORS, 교차 출처 리소스 공유)는 추가 HTTP 헤더를 이용하여 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제이다. 웹 애플리케이션은 자원이 자신의 출처와 다를 때 CORS HTTP 요청을 실행한다. 여기서 출처(Origin)가 의미하는 것은 무엇일까? 출처는 세 가지 요소로 구성된다. 각각 Scheme(사용하는 프로토콜, http or https), Hostname(서버(가상 호스팅)의 이름 혹은 IP), Port(서버와의 연결을 위한 TCP 포트 번호로, 입력되지 않았을 시 서비스의 기본 포트가 이용된다)이다. 따라서, 동일한 출처라면 두 URL.. 2023. 1. 31.
Recoil State Management Library Recoil [https://recoiljs.org/ko/] state management tool을 이용하는 이유 - props가 이용되지 않는 components에서 불필요하게 prop을 받아 전해줘야 한다. (Traveling prop problem) - 그에 따라 수정 소요 발생 시 오류가 발생할 가능성이 높은 등의 문제가 발생할 수 있다. 다른 State management tools? React 자체가 가지고 있는 Context, Redux 등이 존재함. Recoil의 state 저장은 atom이라 부름 - root를 RecoilRoot로 감싸주어야 한다 - atom을 생성하고 보관하는 파일을 만드는 편이 좋다. atom의 생성 // atom의 생성.. 2022. 8. 25.
Typescript + styled-components styled-components는 JS 라이브러리로 typescript 환경에서 사용하기 위해서는 DefinitelyTyped를 이용해야 한다. npm install --save-dev @types/styled-components yarn add @types/styled-components -D styled components의 타입을 설명해주는 라이브러리를 불러오면 TS 환경에서 이용이 가능해진다. DefinitelyTyped는 인기있는 수많은 npm 라이브러리에 대한 타입 설명을 포함하고 있으니 이용할 일이 많을 것. -------------------------------------------------------------------------------------------------------.. 2022. 8. 12.