본문 바로가기

WEB

(5)
[자바스크립트] 비동기 함수 비동기 프로그래밍 자바스크립트는 싱글스레드이기 때문에 한 번에 하나의 작업만 수행할 수 있다. 하나의 작업이 끝날 때 까지 기다려야하는 문제를 해결하기 위해 비동기를 사용한다. 비동기는 특정 코드의 처리가 끝나기 전에 다음 코드를 실행할 수 있다. 비동기 방식 자바스크립트에는 콜백함수, Promise, async await 의 3가지 비동기 방식이 존재한다. Callback 함수 함수의 매개변수에 다른 콜백 함수가 중첩되어 사용된다면 코드가 복잡해지고 유지보수가 힘들어진다. 이 경우 들여쓰기 수준이 깊어지는 현상인 '콜백 지옥'을 마주하게 된다. Promise를 사용하여 '콜백 지옥'을 벗어날 수 있다. Promise Promise는 latency, delay 때문에 현재 당장 얻을 수 없지만 가까운 미..
[Web] JavaScript -2 AJAX AJAX(Asynchronous JavaScript and XML) : 구현하는 방식이다. 웹에서 화면을 갱신하지 않고 데이터를 서버로부터 가져와 처리하는 방법을 의미 비동기 방식으로 결과를 조회한다. 동적으로 DOM을 구성해야하므로 구현이 복잡 AJAX는 다른 도메인과의 통신이 기본적으로 불가능하다. · 일반 요청에 대한 응답 - data 입력 후 이벤트 발생 - 일반 요청은 서버에서 data를 이용하여 logic 처리 - logic 처리 결과에 따라 응답 page를 생성하고 client에 전송(화면전환) · Ajax 요청에 대한 응답 - data 입력 후 이벤트 발생 - ajax 적용 시 이번트가 발생하면 서버에서 요청을 처리한 후 데이터로 응답 (Text, XML또는 JSON) - clie..
[Web] JavaScript JavaScript 자바 스크립트는 인터프리터(JavaScript Engine)이 코드를 바로 해석한다. ※인터프리터를 사용하는 언어는 실행속도가 빠르지만 최적화에 용이하지 않다. HTML, CSS와 함께 웹을 구성하는 요소 중 하나로 웹 브라우저에서 작동하는 유일한 프로그래밍 언어이다. HTML : 구조/ CSS : 디자인 / JavaScript : 기능 HTML에서 JavaScript를 사용하려면 태그 사용 · 변수 호이스팅(Variable Hoisting) : var 선언문이나 function 선언문 등 모든 선언문이 해당 Scope의 처음으로 옮겨진 것처럼 동작하는 특성, 선언되기 이전에 참조 가능 var 키워드를 사용한 변수는 중복해서 선언 가능 not defined : 변수 자체 생성 X un..
[Web] HTML, CSS HTML5 기본 HTML은 구조이다. HTML은 마크업 언어로 웹 문서를 작성하며 tag를 사용하여 문서의 구조를 기술하는 언어이다. · HTML 문서 구조 - 은 현재 문서가 HTML 문서임을 나타냄 - 시작tag()와 종료tag()가 있으며 tag 사이에 문서 내용을 정의 · 시작tag와 종료 tag로 쌍을 이루거나, 시작 tag만 존재하는 경우도 있다 · 시작 tag와 종료tag는 /로 구분한다. - 각 tag는 고유의 의미를 가지고 있다. 이 의미에 따라 문서를 화면에 표시한다. - HTML문서의 전체 구성은 html, head, body tag로 구성되어 있다. · tag와 속성 - tag(=element) ex) 네이버 a : tag href : 속성 · 주석 · Head 요소 - , - · ..
[Web] Web Architecture Web Architecture Network · TCP(Transmission Control Protocol) /IP - TCP는 연결지향 프로토콜이다 - IP가 실제로 데이터의 배달을 처리한다 - TCP는 IP가 처리할 수 있도록 메시지를 여러 개의 패킷으로 나누고, 반대편에서는 받은 패킷을 재조립하여 완전한 메시지로 만든다. ※ 패킷 : 하나의 바구니 ※ 패킷은 보낼 때 순서 보장이 되지 않는다. · UDP(User Datagram Protocol) - TCP와 달리 메시지를 패킷으로 나누고 재조립하는 등의 서비스를 제공하지 않는다. - 도착하는 데이터 패킷들의 순서를 제공하지 않는다. - 순서에 상관없이 빠른 시간 내 전송을 위해 주로 사용한다. - 실시간 전송에는 UDP를 사용한다. Servlet..