본문 바로가기

개발자정보

웹 개발자 알아두면 쓸데없는 지식

반응형

HTML5 데이터 저장

- Cookie

- Web Storage

- Indexed DB

- WebSQL DB

 

https://developer.mozilla.org/ko/docs/Learn/JavaScript/Client-side_web_APIs/Client-side_storage

 

Client-side storage - Web 개발 학습하기 | MDN

That's it for now. We hope you've found our rundown of client-side storage technologies useful.

developer.mozilla.org

 

크롬  Sqllite  파일 : C:\사용자\계정명\AppData\Local\Google\chrome\userData\Default\LocalStorage

IE XML파일 :C:\사용자\계정명\AppData\Local\Microsoft\InternetExplorer\DOMStore

 

https://docs.python.org/ko/3/library/sqlite3.html

 

sqlite3 — SQLite 데이터베이스용 DB-API 2.0 인터페이스 — Python 3.10.5 문서

컨텍스트 관리자로 연결 사용하기 연결 객체는 트랜잭션을 자동으로 커밋하거나 롤백하는 컨텍스트 관리자로 사용할 수 있습니다. 예외가 발생하면, 트랜잭션이 롤백 됩니다; 그렇지 않으면 트

docs.python.org

https://www.sqlite.org/index.html

 

SQLite Home Page

SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is the most used database engine in the world. SQLite is built into all mobile phones and most computers and comes bu

www.sqlite.org

 

 

https://developer.mozilla.org/ko/docs/Web/API/Web_Workers_API/Using_web_workers

 

웹 워커 사용하기 - Web API | MDN

웹 워커는 웹 컨텐츠를 위해서 백그라운드 스레드에서 스크립트를 실행할 간편한 방법을 제공합니다. 워커 스레드는 사용자 인터페이스(UI)를 방해하지 않고 작업을 수행할 수 있습니다. 또한

developer.mozilla.org

웹 워커(Web Worker)  정의

HTML 페이지에서 스크립트를 실행하면 스크립트가 완료될 때까지 페이지가 응답하지 않습니다.
웹 작업자는 페이지의 성능에 영향을 주지 않고 다른 스크립트와 독립적으로 백그라운드에서 실행되는 JavaScript입니다. 웹 작업자가 백그라운드에서 실행되는 동안 클릭, 항목 선택 등 원하는 작업을 계속할 수 있습니다.

 

if ( !!window.Worker ) {
    alert('웹 워커를 지원하는 브라우저입니다.');
} else {
    alert( '웹 워커를 지원하지 않는 브라우저입니다.' );
}

 

// worker 메시지 수신 listener
self.onmessage = function( e ) {
    console.log( 'Worker가 받은 메시지 ', e.data );

    // 1초 후에 호출한 페이지에 데이터를 보낸다.
    setTimeout( function() {
        postMessage( 'Worker Value' );
    }, 1000 );
};

 

var worker = new Worker( 'worker.js' );
worker.postMessage( '워커 실행' );  // 워커에 메시지를 보낸다.

// 메시지는 JSON구조로 직렬화 할 수 있는 값이면 사용할 수 있다. Object등 
// worker.postMessage( { name : '302chanwoo' } );

// 워커로 부터 메시지를 수신한다.
worker.onmessage = function( e ) {
    console.log('호출 페이지 - ', e.data );
};
worker.terminate();

1초마다 워커로부터 데이터를 전달받는 sample

 

worker.js

var i = 0; // 1씩 증가시켜서 전달할 변수

// 메시지 수신
self.onmessage = function( e ) {
    loop();
};

// 호출한 페이지에 1씩 증가시킨 i를 1초마다 전달한다.
function loop() {

    // 1씩 증가시켜서 전달
    postMessage( ++i ); 

    // 1초뒤에 다시 실행
    setTimeout( function() {
        loop();
    }, 1000 );

}

HTML

 <button id="btnStartWorker" class="btn">워커 시작</button>
<button id="btnStopWorker" class="btn">워커 중지</button>
<div id="output"></div> 

Javascript

    var btnStartWorker = document.getElementById( 'btnStartWorker' );     // worker 실행 버튼
    var btnStopWorker = document.getElementById( 'btnStopWorker' );       // worker 중지 버튼
    var output = document.getElementById( 'output' );                     // 받은 메시지 출력
    var worker;                                                           // worker

    btnStartWorker.addEventListener( 'click', startWorker );
    btnStopWorker.addEventListener( 'click',stopWorker );

    // worker 실행
    function startWorker() {

      // Worker 지원 유무 확인
      if ( !!window.Worker ) {

        // 실행하고 있는 워커 있으면 중지시키기
        if ( worker ) {
          stopWorker();
        }

        worker = new Worker( 'worker.js' );
        worker.postMessage( '워커 실행' );    // 워커에 메시지를 보낸다.

        // 메시지는 JSON구조로 직렬화 할 수 있는 값이면 사용할 수 있다. Object등
        // worker.postMessage( { name : '302chanwoo' } );

        // 워커로 부터 메시지를 수신한다.
        worker.onmessage = function( e ) {
          console.log('호출 페이지 - ', e.data );
          output.innerHTML += e.data;
        };
      }

    }

    // worker 중지
    function stopWorker() {

      if ( worker ) {
        worker.terminate();
        worker = null;
      }

    }

 

웹소켓(WebSocket)은 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜이다. 웹소켓 프로토콜은 2011년 IETF에 의해 RFC 6455로 표준화되었으며 웹 IDL의 웹소켓 API는 W3C에 의해 표준화되고 있다. 웹소켓은 HTTP와 구별된다.

https://ko.javascript.info/websocket

 

웹소켓

 

ko.javascript.info

 

웹 메시징

Server-sent events

https://developer.mozilla.org/ko/docs/Web/API/Server-sent_events/Using_server-sent_events

 

Server-Sent Events 사용하기 - Web API | MDN

Server-Sent Events를 사용하는 웹 애플리케이션 개발은 매우 간단하다. 웹 애플리케이션으로 스트림 이벤트를 보내는 약간의 코드가 서버 상에 필요하지만, 웹 애플리케이션 측은 웹 소켓에서 이벤

developer.mozilla.org

 

 

반응형

'개발자정보' 카테고리의 다른 글

웹 개발자 Geolocation  (0) 2022.06.12
웹 개발자 drag & drop  (0) 2022.06.12
웹 개발자 Javascript 정리  (0) 2022.06.12
웹 개발자 CSS 정리  (0) 2022.06.11
웹 개발자 HTML 태그 정리  (0) 2022.06.10