| 기술 | 역할 | 설명 | 비유 |
|---|---|---|---|
| HTML | 구조 (Structure) | 웹 페이지의 뼈대를 잡고, 콘텐츠의 의미를 정의합니다. | 건물의 골조, 사람의 뼈 |
| CSS | 스타일 (Presentation) | HTML로 만들어진 구조에 디자인과 레이아웃을 입힙니다. | 건물의 인테리어, 사람의 옷 |
| JavaScript | 동작 (Behavior) | 사용자의 상호작용에 반응하고, 콘텐츠를 동적으로 변경합니다. | 건물의 엘리베이터, 사람의 움직임 |
[HTML] 구조 설계:
<header>, <main>, <footer> 등)를 사용하여 의미론적으로 올바른 HTML 구조를 작성합니다.id나 class를 부여합니다.[CSS] 스타일링:
box-sizing: border-box;를 적용하여 예측 가능한 레이아웃을 만듭니다.[JavaScript] 동적 기능 구현:
querySelector)를 사용하여 동작을 추가할 HTML 요소를 선택합니다.addEventListener)를 등록하여 사용자의 행동(클릭, 입력 등)을 감지합니다.textContent, classList 등) UI에 즉각적인 피드백을 주거나, fetch API를 사용하여 서버와 통신합니다.document.querySelector() 등을 사용하여 조작하고 싶은 HTML 요소를 JavaScript 변수에 할당합니다.element.addEventListener('click', handlerFunction)을 사용하여, 특정 요소에 발생하는 이벤트(e.g., 'click')를 감지하고, 이벤트 발생 시 실행될 함수(핸들러)를 등록합니다.textContent), 클래스(classList), 스타일(style) 등을 변경하여 사용자에게 즉각적인 시각적 피드백을 줍니다.fetch API와 async/await를 사용하여, 페이지 새로고침 없이 서버로부터 데이터를 가져오거나(GET) 서버에 데이터를 전송(POST)합니다.createElement)하고, 화면에 추가(appendChild)하여 콘텐츠를 동적으로 업데이트합니다.<input>), 전송 버튼(<button>), 댓글 목록(<ul>)을 작성합니다.querySelector로 위 세 요소를 모두 선택합니다.click 이벤트 핸들러를 등록합니다.input.value)을 가져옵니다.fetch를 사용하여 서버의 "댓글 생성 API"에 입력값을 POST 방식으로 전송합니다.createElement('li')로 새로운 <li> 요소를 만듭니다.<li>의 textContent를 입력값으로 설정하고, 댓글 목록 <ul>에 appendChild하여 화면에 즉시 새로운 댓글을 추가합니다.fetch API) 기술을 사용하여 페이지 새로고침 없이 서버와 JSON 데이터를 주고받고, 그 결과를 바탕으로 DOM을 동적으로 변경하는 것이 현대적인 인터랙티브 웹 페이지의 핵심 동작 원리입니다.