frontend34 Virtual Dom에 대해 문서 객체 모델(DOM)은 HTML 및 XML 문서를 위한 프로그래밍 인터페이스입니다. DOM은 문서의 구조를 노드 트리로 표현하며, 스크립트가 문서의 내용과 구조에 접근하고 조작할 수 있는 방법을 제공합니다. 초기 렌더링 : 앱이 시작될 때, 전체 UI는 가상 DOM(Virtual DOM)으로 표현됩니다. React 요소가 생성되어 가상 구조로 렌더링 됩니다.상태와 Props 변경 : 앱 내에서 상태(state)와 props가 변경되면, React는 가상 DOM에서 해당되는 컴포넌트를 다시 렌더링 합니다.차이 비교 (Diff 알고리즘 사용) : React는 차이(diff)를 확인하기 위해 현재 가상 DOM과 이전 버전을 비교하는 diff 알고리즘을 사용합니다. 이 과정에서 두 버전 간의 차이점을 식별합.. 2024. 10. 10. Client-side Rendering vs Server-side Rendering 클라이언트 사이드 렌더링(CSR)은 JavaScript를 사용하여 웹사이트나 애플리케이션을 브라우저에서 렌더링 하는 방식입니다. CSR에서는 콘텐츠의 처리 및 렌더링이 서버가 아닌 브라우저에서 이루어집니다. 서버는 페이지의 기본 HTML 컨테이너만 렌더링하고, 나머지 콘텐츠는 클라이언트에서 처리됩니다.CSR은 동적 콘텐츠가 많고 높은 수준의 인터랙티브 기능이 필요한 애플리케이션, 예를 들어 채팅 앱이나 소셜 미디어 플랫폼에 자주 사용됩니다. 또한, 단일 페이지 애플리케이션(SPA) 에도 적합합니다. 유저가 웹 페이지 요청 : 브라우저로부터 유저의 웹페이지 요청을 받습니다서버가 요청을 받습니다 : 서버로 GET 요청 발송서버가 CSS와 JavaScript 파일이 있는 링크를 HTML 페이지 통해 전달 :.. 2024. 10. 9. Single Page Application (SPA) 싱글 페이지 애플리케이션은 웹 브라우저가 전체 페이지를 새로 로드하는 기본 방식 대신, 웹 서버로부터 새로운 데이터를 받아 현재 웹 페이지를 동적으로 다시 작성하는 웹사이트 또는 웹 애플리케이션입니다. 따라서 사용자는 서버에서 새로운 페이지를 로드하지 않고도 웹사이트를 사용할 수 있어, 성능이 향상되고 보다 인터랙티브한 경험을 얻을 수 있습니다. 반면 A 페이지를 만들면 A html 템플릿, B 페이지를 만들면 B html 템플릿 방식은 전통적인 웹 사이트를 만들 때 사용하는 Multi-Page Application 입니다. 동적 상호작용 : 전체 페이지를 다시 로드하지 않고 빈번한 사용자 상호작용이 필요한 애플리케이션의 경우실시간 업데이트 : 원활한 사용자 경험을 위해 실시간 응답성이 중요한 경우풍.. 2024. 10. 8. 리액트란 (React) 무엇인가? React는 사용자 인터페이스를 만들기 위한 Javascript 라이브러리입니다. 리액트는 인터렉션이 많은 웹 앱을 개발하기 위해서 주로 사용됩니다. 물론 React와 비슷한 역할을 하는 Angular나 Vue 가 존재하지만 이들은 라이브러리가 아닌 프레임워크입니다. - 프레임워크는 어떠한 앱을 만들기 위해 필요한 대부분의 것을 가지고 있는 것입니다. (프레임 워크 안에 다양한 라이브러리가 포함되어 있습니다). 저희가 작성한 소스 코드를 호출합니다. - 라이브러리는 어떠한 특정 기능을 모듈화 해놓은 것입니다. 소스 코드는 어떤한 기능을 구현하기 위해서 라이브러리를 호출하게 됩니다. 리액트가 라이브러리인 이유는 리액트는 전적으로 UI를 렌더링 하는 데 관여하기 때문입니다. 리액트는 라이브러리이지만, 다.. 2024. 10. 4. 여백 상쇄 (Margin Collapse) 여러 블록의 위쪽 및 아래쪽 바깥 여백 (margin)은 경우에 따라 제일 큰 여백의 크기를 가진 단일 여백으로 병합됩니다. 이러한 현상은 좌우 여백에서는 발생하지 않으며, 오직 위쪽과 아래쪽 (top & bottom) 여백에서만 발생합니다. ** 플로팅 요소와 절대 위치를 지정한 요소의 여백은 절대 상쇄되지 않습니다. 인접 형제 요소간의 바깥 여백은 서로 상쇄됩니다. div.element2 요소의 마진이 더 크기 때문에 둘 사이의 간격은 40px가 되고 겹치게 됩니다. 부모 블록에 테두리 또는 패딩이 설정되지 않은 경우 자손을 분리할 여백이 존재하지 않는 경우 부모와 자손의 여백이 상쇄됩니다. 상쇄된 여백은 부모 블록 바깥에 위치하게 되고, 이 문제 해결하기 위해선 부모에 inline 콘텐츠, bo.. 2024. 9. 20. CSS : 박스 모델 (Box Model) CSS의 박스 모델은 여백, 테두리, 패딩, 및 콘텐츠등 자체를 포함한 다양한 속성을 담고 있는 컨테이너입니다. 이러한 속성들은 함께 요소의 크기와 간격을 결정하여 페이지에서 볼 수 있는 박스를 생성하게 됩니다. - 콘텐츠 (Content) : 콘텐츠가 표시되는 영역으로 그 크기를 width (넓이) & height (높이)와 같은 속성을 사용해서 정할 수 있습니다. - 패딩 (Padding) : 콘텐츠 주변을 마치 공백처럼 공간을 만들어줍니다. 패딩의 크기는 padding과 관련 속성을 사용해 제어할 수 있습니다. - 테두리 (Border) : 콘텐츠와 패딩까지 둘러싸고, 테두리의 크기, 색상, 테두리 넓이, 스타일등은 border와 관련 속성을 사용하여 제어할 수 있습니다. - 여백 (Margin.. 2024. 9. 20. 이전 1 2 3 4 5 6 다음