본문 바로가기

개발/Javascript

Event

1. 이벤트

  ㅇ 미리 정해지지 않은 시간에 발생되는 것

  ㅇ [전산] 
     - [전산 일반] 
        . 외부환경으로부터 시스템전해지는 메세지 전달,예외(인터럽트,트랩),자극,정보흐름 등 
          처리가 필요한 사건발생 및 상태변화의 통지를 총칭
        
        . 주로, GUI 환경에서 프로그램과 사용자와의 상호작용에 의해 발생되는 것을 지칭

     - [데이터베이스]
        . 주로, 테이블 수정시 또는 시간 스케쥴링에 의해 활성화됨

  ㅇ [확률/통계]  ☞ 확률적 사건 참조
     - 시간 관점이 아닌 확률실험에서 특정 조건에 만족하는 결과(Outcome,Element)들의 집합
  

2. [전산]  이벤트 중심(Event-Driven)의 프로그램 이란?GUI 상호작용으로 발생한 이벤트에 따라 순서가 결정되는 그러한 프로그램 방식

  ※ 콘솔형 프로그램 및 윈도우형 프로그램 비교
     - 콘솔형 프로그램   : 주어진 순서대로 이벤트의 순서를 결정
     - 윈도우형 프로그램 : 이벤트 발생에 따라 제각각 다르게 작동
        . 일반적으로, GUI 어플리케이션 또는 웹 어플리케이션 등을 말함


3. [전산]  이벤트의 생성

  ㅇ 이벤트 생성기
     - 운영체제, 윈도우관리자, 장치구동기, 응용프로그램(어플리케이션) 등

  ㅇ 생성 주체 
     - 사용자 활동, 네트워크 활동, 상태 변화 등

  ㅇ 웹브라우저에서 사용자 이벤트 例)                      ☞ 자바스크립트 이벤트 종류 참조
     - 마우스 이벤트     : click, dblclick, mousemove, mouseover 등
     - 키보드 이벤트     : keydown, keyup, keypress 등
     - 폼 이벤트         : submit, reset, change, focus, blur 등
     - 문서(document)/창(window) 이벤트 : load, resize, scroll, unload 등
     - 마우스 휠 이벤트, 드래그 앤 드롭 이벤트, 텍스트 입력 이벤트 등


4. [전산]  이벤트의 파악, 전달

  ㅇ 대상 파악 및 전달
     - 메뉴를 클릭하거나 마우스를 움직이는 것과 같은 이벤트를,
       운영체제 등이 파악하고 있다가, 이를 해당 프로그램에게 알려주게 됨

  ㅇ 전달 표현 형식
     - 이벤트(사건)은 통상 다음과 같은 형태들로 표현되어 해당 프로그램에게 알려줌
        . 사건을 생성하는 주어
        . 사건을 묘사하는 목적어
        . 행위를 나타내는 동사


5. [전산]  이벤트의 처리

  ㅇ 이벤트 처리 과정
     - 작성 : 원하는 수행 기능을 갖도록 이벤트 핸들러/이벤트 리스너라는 함수를 작성
     - 등록 : 이벤트 핸들러 함수를 등록
     - 지정 : 해당 요소의 이벤트 속성이벤트 핸들러 함수를 지정
     - 호출 : 특정 이벤트 발생시 지정된 함수를 호출함

  ㅇ 이벤트 핸들러 (Event Handler)
     - 비동기적으로 발생되는 이벤트에 대한 응답으로 이벤트 핸들러 함수가 호출됨
        . 이벤트 발생시 이로부터 실제의 실행 코드로 연결하는 작업과
        . 그 이벤트에 대해 수행할 적절한 실행 함수(처리기)를 호출하게 됨

  ㅇ 이벤트에 대한 전문적/집단적 관리
     - 게시자 (publisher)
        . 특정 이벤트 발생시에 미리 등록해 놓은 실행 코드를 호출하는 역할
     - 구독자 (subscriber)
        . 이벤트 대응 실행 코드(이벤트 핸들러)를 준비하여두고, 
        . 미리 게시자에 이를 등록시켜 놓고, 
        . 해당 이벤트 발생시 이를 실행시키는 역할