Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
[DOM 완전 정복 Part 2] – 이벤트로 완성하는 동적 UI와 상태 반응형 웹의 시작
Rating: 5.0 out of 5(3 ratings)
32 students

[DOM 완전 정복 Part 2] – 이벤트로 완성하는 동적 UI와 상태 반응형 웹의 시작

정적인 구조에 생명을 불어넣는 실전 이벤트 마스터 클래스
Last updated 7/2025
Korean
Korean [Auto],

What you'll learn

  • 이벤트를 등록하고 해제하는 addEventListener와 removeEventListener의 실전 적용 방법
  • 이벤트가 흐르는 경로: 캡처링 단계부터 타겟, 버블링 단계까지의 전체 흐름 완벽 이해
  • event target, currentTarget, this의 동작 원리와 차이를 파악하고 상황별로 적절히 활용하는 방법
  • preventDefault와 stopPropagation이 실제로 브라우저 동작에 미치는 영향과 실무 활용 방식
  • 이벤트 위임(delegation)을 통해 반복적으로 생성되는 요소의 이벤트를 효율적으로 처리하는 전략
  • 입력값을 실시간으로 감지하고, 그에 따라 UX 개선을 위한 피드백을 즉시 제공하는 구조 설계
  • Proxy를 사용해 상태(state) 변화를 자동 감지하고 DOM과 연결하는 반응형 데이터 바인딩 구성
  • throttle과 debounce를 이용해 스크롤, 입력 등 고빈도 이벤트의 성능 저하를 방지하는 기법
  • DOM에 동적으로 추가되거나 제거되는 요소에도 이벤트를 안정적으로 연결하는 방법
  • SPA(Single Page Application) 환경에서 상태 변화와 사용자 이벤트 간의 연결을 유지하고 동기화하는 구조 설계

Course content

8 sections • 57 lectures • 3h 11m total length
  • 수업에 사용 될 예제 코드0:01

Requirements

  • HTML/CSS 기본 구조와 자바스크립트 기초 문법을 알고 계시면 원활하게 따라오실 수 있습니다.
  • 특히 addEventListener, if/else, forEach, 객체 접근 방식 정도는 알고 있는 것이 좋습니다.
  • Mac/Windows 환경 모두 수강 가능하며, 별도의 설치 없이 웹 브라우저만 있으면 실습할 수 있습니다.
  • 최신 크롬 브라우저 사용을 권장합니다.
  • (선택) Part 1: DOM 구조와 API의 기초 개념 수강 완료

Description

강의 설명

정적인 HTML만으로는 살아있는 웹을 만들 수 없습니다.
사용자의 클릭, 입력, 마우스 이동처럼 예측할 수 없는 행동에 반응하도록 만드는 것이 바로 웹의 진짜 시작입니다.
이 강의는 정적인 DOM 구조를 넘어서 사용자의 행동에 따라 변화하는 동적 UI, 그리고 그 중심에 있는 이벤트 시스템을 마스터하는 데 집중합니다.

단순히 버튼을 눌렀을 때 반응하는 코드를 넘어,
실시간 UX 개선, 성능 최적화, SPA(싱글 페이지 애플리케이션) 구조의 기초 설계까지 완성도 높게 다룹니다.

총 40개의 세부 강의는 이벤트의 탄생 배경과 종류부터 시작해
addEventListener의 다양한 사용법, 이벤트 흐름(캡처링 → 타깃 → 버블링),
실시간 입력 피드백 처리, 마우스 인터랙션, 동적 리스트 조작, 폼 검증,
그리고 핵심 고급 주제인 이벤트 위임, Proxy 기반 상태 관리,
상태와 DOM의 연결 방식까지 단계별로 구성되어 있습니다.

특히 실무에서 반드시 마주하게 되는 UX 최적화 문제를 해결하기 위해
debounce, throttle, form 유효성 검사, 자동 렌더링 구조 등의 기법을
실제 미션 중심으로 실습하며 자연스럽게 습득할 수 있도록 설계되어 있습니다.

반복되는 DOM 조작을 효율화하고, 변화하는 데이터를 화면에 자동으로 반영하는 흐름은
React, Vue 같은 프레임워크의 핵심 로직과도 맞닿아 있어,
앞으로의 프론트엔드 학습의 튼튼한 기초가 되어줄 것입니다.


이 강의에서 배우는 커리큘럼 핵심 항목

  • 이벤트의 개념과 필요성, 이벤트 객체 구조 완전 이해

  • addEventListener()의 다양한 옵션, 등록/제거 방식

  • 이벤트 흐름: 캡처링, 타깃, 버블링 단계 시각화

  • 실시간 input 이벤트 처리 및 UX 개선 구조

  • mouseover, mouseenter, mousemove 비교와 선택 전략

  • 동적 폼 유효성 검증과 시각적 피드백 구조 설계

  • 다수 버튼, 리스트 등 반복 구조에서의 이벤트 관리

  • 이벤트 위임(Event Delegation) 개념과 효율적 구현 방식

  • event target, currentTarget, closest() 활용법

  • throttle, debounce를 통한 실시간 입력 최적화

  • Proxy 객체를 활용한 상태-화면 연결 구조

  • 상태 변경 감지 후 자동 렌더링 구조 설계로 SPA 기초 구현


이 강의에서 실습하는 주요 미션들


  1. 실시간 유효성 검사와 시각적 피드백이 반영되는 로그인 폼 구현

  2. 이벤트 위임 기반의 버튼 제거 및 리스트 조작 UI 구현

  3. 키보드 방향키로 DOM 요소를 이동시키는 인터랙션 게임 만들기

  4. mouseover/mousemove 차이를 체험하며 툴팁 따라다니기 구현

  5. 하나의 addEventListener로 다수 버튼에 공통 동작 적용하기

  6. form checkValidity()를 활용한 최종 검증 구조 설계

  7. debounce를 활용한 실시간 검색창 구현과 성능 비교

  8. Proxy로 구현하는 반응형 상태 객체와 자동 DOM 업데이트

  9. 미니 To-do 리스트 앱을 상태 기반 구조로 만들어보기

  10. SPA 구조의 기초 흐름을 완성하는 렌더링 함수와 이벤트 통합


수강생이 얻을 수 있는 실전 포트폴리오 예시


  • 동적으로 필드를 검증하고 스타일까지 변경되는 로그인 폼

  • 마우스 위치에 따라 따라다니는 커스텀 툴팁 컴포넌트

  • 버튼을 누르면 리스트 항목이 제거되는 이벤트 위임 리스트

  • 키보드 입력으로 움직이는 블록 UI 인터랙션

  • Proxy로 구현한 반응형 UI: 카운터 앱 / 투두앱


수강 후에는


  • addEventListener의 모든 옵션과 흐름을 자유자재로 활용할 수 있습니다.

  • 마우스, 키보드, 입력창 등의 입력 이벤트를 완벽하게 제어할 수 있습니다.

  • target, currentTarget, stopPropagation 등의 헷갈리는 개념을 완전히 시각적으로 구분할 수 있습니다.

  • mouseover, mouseenter, mousemove의 차이점과 선택 기준을 정확히 설명할 수 있습니다

  • 이벤트 위임(event delegation) 구조를 실전 프로젝트에 설계할 수 있습니다.

  • 성능 최적화를 위한 debounce와 throttle 함수를 직접 구현하고 적용할 수 있습니다.

  • 실시간 입력 검증, 테두리 색 피드백, 동적 리스트 삭제 등 UX 중심 이벤트 구조를 구현할 수 있습니다.

  • Proxy 기반 자동 상태-UI 연결 구조를 직접 만들 수 있습니다.

  • 하나의 state로 여러 DOM 요소를 동시에 조작하는 SPA 기초 구조를 이해할 수 있습니다.

  • 전체 이벤트 구조를 디버깅하고 콘솔로 추적할 수 있는 눈과 감각이 생깁니다.


수강생을 위한 추가 혜택 (선택 사항)


  • PDF 정리 자료 제공

  • 실습용 코드 + 미션 정답 코드 전체 제공

  • 미션마다 추가 설명 영상 또는 챌린지 구조 제공

  • 미션별 퀴즈 및 문제 풀이 제공 예정 (선택사항)

Who this course is for:

  • 자바스크립트로 웹사이트를 더 동적으로 만들고 싶은 입문자
  • 버튼 클릭, 리스트 삭제처럼 UI를 설계하고 싶은 퍼블리셔
  • 단순 암기 대신 눈으로 확인하며 배우고 싶은 실습형 학습자
  • 이벤트는 다 아는 줄 알았지만 막상 쓰려면 막막한 모든 개발자
  • DOM과 이벤트를 디버깅하며 깊이 이해하고 싶은 중급 개발자
  • React, Vue는 배웠는데 이벤트 흐름이 헷갈리는 프론트엔드 학습자
  • 실전에서 자주 쓰는 UX 구조를 구현해보고 싶은 실무 지향 학습자
  • debounce와 throttle을 직접 구현해보고 싶은 성능 중심 개발자
  • 직접 만든 SPA 구조를 통해 프레임워크 이전의 개념을 마스터하고 싶은 개발자