본문 바로가기

study_IT/개발 용어 사전

[ 141 ~ 150 ] Rendering, REST API, CDN, Element, Tag, DOM, Ajax, Propagation, Reloadable, On-Demand

728x90
반응형

141. Rendering

서버로부터 받은 데이터나 템플릿을 가지고 웹 페이지의 최종 HTML, CSS, JavaScript 코드를 생성하는 과정웹 브라우저는 이 코드를 해석하여 웹 페이지를 사용자에게 표시한다. 원본 데이터나 모델을 실제로 화면에 시각적으로 표시하는 과정을 나타낸다.

 

142. REST API (Representational State Transfer Application Programming Interface)

웹 서비스를 위한 아키텍처 스타일 중 하나. REST는 HTTP 프로토콜을 기반으로 데이터를 주고받는 형식을 정의한다.

 

REST API 특징 : 자원 (Resources), 표현 (Representation), 상태 전달 (Stateless), 유니폼 인터페이스 (Uniform Interface), 자체 표현 (Self-descriptive), 하이퍼미디어 (HATEOAS) 등

 

REST API는 웹 서비스의 디자인과 개발을 간소화하고 확장성을 높이는 데 도움을 준다. 클라이언트와 서버 간의 통신을 표준화하고 명확하게 정의함으로써 서로 다른 시스템 간의 상호작용을 용이하게 만든다.

 

143. CDN (Content Delivery Network / Content Distribution Network)

컨텐츠 전송 네트워크. CDN은 인터넷 상에서 컨텐츠를 더 빠르고 효율적으로 전달하기 위해 사용되는 기술 및 네트워크 시스템을 지칭. 일반적으로 웹 사이트나 애플리케이션에서 사용되는 정적 파일(이미지, 비디오, 스크립트, 스타일 시트 등)은 사용자가 웹 페이지를 요청할 때 서버로부터 가져와야 한다. 그러나 이러한 파일들은 전세계의 다양한 지역에 위치한 사용자들에게 빠르게 전송되어야 하는 경우도 많다. 이때 CDN은 다음과 같은 목적으로 사용된다.

 

CDN의 특징 : 속도 향상, 트래픽 분산, 보안 강화, 캐싱, 강력한 네트워크 등

 

보통 CDN 서비스 제공업체들은 여러 데이터 센터를 운영하며, 이 데이터 센터는 원본 서버로부터 컨텐츠를 복제하고, 지역 사용자에게 더 빠르게 제공하기 위해 최적화되어 있다. 대표적인 CDN 서비스로는 Akamai, Cloudflare, Amazon CloudFront 등이 있다.

 

144. Element

웹 페이지의 HTML 문서에서 특정 요소. 예를 들어, <div>, <p>, <span>과 같은 태그로 둘러싸인 영역들이 HTML 요소이다.

 

145. Tag

HTML 문서에서 사용되는 태그를 의미. 예를 들어, <div>, <p>, <span>은 모두 HTML 태그이다. 이러한 태그를 사용하여 웹 페이지의 구조와 콘텐츠를 정의하게 된다.

 

146. DOM (Document Object Model)

DOM은 웹 페이지의 구조와 콘텐츠를 나타내는 계층 구조. 각 HTML 요소는 DOM의 노드로 표현되며, DOM은 웹 페이지를 프로그래밍적으로 조작할 수 있는 API를 제공한다. jQuery는 이 DOM API를 사용하여 웹 페이지 요소를 선택하고 조작하는 데 도움을 준다. jQuery를 사용하면 HTML 요소를 선택하고 조작하는 것이 훨씬 간단하고 효율적으로 이루어진다. $() 함수를 사용하여 원하는 EL을 통해 HTML 요소를 선택하고, 선택한 요소에 대해 다양한 동작을 수행할 수 있다. 이를 통해 웹 페이지의 상호작용과 동적인 기능을 구현할 수 있다.

 

147. Ajax (Asynchronous JavaScript and XML)

웹 페이지에서 Ajax를 사용하면 데이터를 서버로 보내거나 서버로부터 데이터를 받는 과정이 비동기적으로 이루어진다. 이것은 웹 페이지의 다른 부분이나 기능이 작동하는 동안에도 데이터 통신이 백그라운드에서 발생할 수 있음을 의미한다. Ajax는 JavaScript를 사용하여 클라이언트 측에서 웹 페이지와 상호작용한다. JavaScript는 웹 브라우저에서 실행되며, 사용자 인터페이스를 조작하고 데이터 통신을 처리하는 데 사용된다. Ajax는 XML 또는 JSON을 사용하여 데이터를 서버와 클라이언트 간에 주고받아 처리한다. Ajax를 사용하면 웹 페이지에서 실시간 업데이트, 동적 콘텐츠 로딩, 인터랙티브 요소 (예: 자동 완성, 무한 스크롤, 실시간 검색 등)를 구현할 수 있다. 이러한 기능들은 사용자에게 더 풍부한 경험을 제공하며 웹 애플리케이션을 더욱 유용하게 만든다. 또한 Ajax를 이용하면 웹 애플리케이션을 대화형으로 만들 수 있다. 이는 사용자가 데이터를 제출하고 결과를 즉시 볼 수 있게 해주며, 웹 애플리케이션의 사용자 상호작용을 강화한다.

Ajax를 사용하면 필요한 데이터만 서버로 보내고 받을 수 있으므로 서버 부하를 줄일 수 있다. 이는 웹 서버의 성능을 최적화하고 대규모 트래픽을 처리하는 데 도움이 된다.

 

148. Propagation

트랜잭션 메소드가 이미 실행 중인 트랜잭션 내에서 실행될 때 어떻게 동작해야 하는지를 정의한다. Spring에서는 여러 가지 전파 옵션을 제공한다. 예를 들어, REQUIRED, REQUIRES_NEW, SUPPORTS, 등이 있다.

 

"REQUIRED" (필수) : 메소드가 현재 실행 중인 트랜잭션 내에서 실행되어야 함을 나타낸다. 만약 현재 실행 중인 트랜잭션이 없다면 새로운 트랜잭션을 시작한다. 이미 있는 트랜잭션이 있다면 해당 트랜잭션 내에서 실행된다. 예를 들어, @Transactional(propagation = Propagation.REQUIRED)으로 설정된 메소드는 현재 실행 중인 트랜잭션이 없다면 새로운 트랜잭션을 시작하고 해당 메소드를 실행한다. 이미 실행 중인 트랜잭션이 있다면 해당 트랜잭션 내에서 메소드를 실행한다. 이렇게 함으로써, REQUIRED 전파 속성은 트랜잭션 관리를 자동화하고, 메소드 호출마다 트랜잭션을 시작하거나 기존 트랜잭션을 사용할 수 있게 해준다.

 

149. Reloadable

@Transactional 어노테이션에서 Reloadable 속성은 Spring의 트랜잭션 관리와 관련된 옵션 중 하나이다. 

Reloadable 속성을 false로 설정하면 해당 어노테이션이 리로드될 때 트랜잭션 관련 설정이 변경되지 않음을 의미한다. 일반적으로 Spring은 애플리케이션 컨텍스트를 리로드할 때 변경된 설정을 반영하려고 시도한다. 그러나 Reloadable 속성을 false로 설정하면 트랜잭션 설정이 리로드되지 않는다. 이것은 애플리케이션을 동적으로 다시 로드할 때 트랜잭션 관련 설정을 변경하지 않도록 하려는 경우에 유용할 수 있다.

예를 들어, 애플리케이션을 실행 중인 동안 트랜잭션 관련 설정을 변경하지 않아야 하는 경우 @Transactional(reloadable = false)를 사용하여 해당 설정을 고정시킬 수 있다. 이렇게 하면 리로드 시에 의도치 않은 설정 변경을 방지할 수 있다.

 

150. On-Demand

필요한 순간에 필요한 만큼의 자원을 사용할 수 있는 모델을 나타낸다. 클라우드 컴퓨팅에서 "on-demand" 서비스는 사용자나 기업이 필요할 때 컴퓨팅 리소스를 동적으로 확장하고 축소할 수 있게 해준다. 이는 필요한 만큼의 가상 서버, 스토리지, 네트워크 대역폭 등을 요청하고 지불하는 방식으로 동작한다. 사용자는 리소스를 예약하거나 사전에 구매하지 않아도 된다.

 

728x90
반응형