프로그래밍 언어49 싱글스레드와 멀티스레드의 장단점 금방 쓰고 버릴게 아니라면 프로그램이 돌아가게끔 빨리 만드는게 중요한게 아니라 운영시점에서 성능이나 심각한 오류 사항이 발생이 안하도록 초기에 진단해서 잡는게 좋지 않을까?? 싱글 쓰레드라고 하면 한번에 하나의 작업만 수행하는 것인데 자바스크립트로 만든 웹 사이트를 보면 여러 요청이 오가는 경우가 많은데 왜? 자바스크립트는 싱글 쓰레드 방식인가? 싱글 쓰레드로 어떻게 한번에 여러 요청을 처리 하는지?? 비동기 작업을 통해 여러 요청들을 처리함 Call Stack : 자바스크립트에서 수행해야 할 함수들을 순차적으로 처리하는 공간 Web API : 웹 브라우저에서 제공하는 API로 AJAX나 Timeout 등의 비동기 작업을 실행 Task Queue : Web API에서 넘겨받은 CallBack 함수를 저장.. 2022. 3. 3. 자바에서 지역변수가 초기화 되지 않는 이유? 변수의 종류) 1. 클래스 변수 : static이 붙은 변수로 모든 인스턴스가 공통된 저장공간(변수)을 공유하게 된다. 2. 인스턴스 변수 : 인스턴스를 생성할 때 만들어지는 변수로 인스턴스마다 고유한 상태를 유지해야하는 속성의 경우 인스턴스 변수로 선언한다. 3. 지역변수 : 클래스 영역 이외의 영역에 위치되는 변수로 메서드 영역, 반복문 영역, {}(블럭) 영역안에 선언한 변수를 지역변수라고 부른다. 4. 멤버변수 : 클래스 변수와 인스턴스 변수를 묶어서 멤버변수라고 부른다. static 붙은 것은 클래스 변수를 의미하며 static 붙지 않은 것은 인스턴스 변수이다. 변수의 생성시기) 1. 클래스 변수 : 클래스가 메모리에 올라갈 때 2. 인스턴스 변수 : 인스턴스가 생성되었을 때 3. 지역변수 :.. 2022. 3. 2. 자바스크립트 입문 1 (async,defer) 목차 브라우저가 HTML, CSS, JS 등을 읽는 순서 async defer use strict 1.브라우저가 HTML, CSS, JS 등을 읽는 순서 브라우저가 맨위에서 부터 HTML 태그를 하나씩 parsing(분석) 하던 중에 자바스크립트 태그를 만나면 HTML 태그를 parsing 하는 것을 중단(blocked)하고 해당 자바스크립트 태그들을 서버에서 다운(fetching) 받아서 실행(executing)을 한 다음 나머지 HTML 태그들을 parsing 하게 된다. -> 이렇게 하면 발생할 수 있는 문제점은 무엇일까? : 다운 받을 JS 파일의 용량이 크고 사용자의 인터넷 환경이 열악하다면, 사용자는 웹사이트를 보는데까지 많은 시간이 걸릴 것이다. ex) HTML 파싱(1초) -> JS 파일 .. 2021. 5. 20. websocket Websocket 개념 : 서버와 클라이언트간의 연결을 유지한 상태로 데이터를 교환 가능 (전이중 통신) HTTP는 하나의 요청을 서버한테 보내면 응답을 하고 연결이 끊어지는 식으로 작동하게 되는데 즉, 10번의 요청을 보내면 10번 응답을 하고 연결이 끊어지는 과정이 10번 생기게 됨으로써 실시간으로 상호작용을 하는데 있어서 비효율적이다. HTTP 기반으로 채팅,온라인 게임과 같은 실시간 프로그램을 만들기가 어려웠기 때문에 WebSocket 이라는 통신 프로토콜이 등장하게 되었다. 웹소켓 HandShake 과정 ) : 웹소켓을 초기화하기 위한 과정 (서버와 브라우저간의 통신을 웹소켓 프로토콜로 하기 위한 작업) 웹소켓 프로토콜 : 웹소켓은 HTTP를 기반(웹소켓 연결을 맺는 과정에 HTTP가 개입함)으.. 2021. 3. 16. 이전 1 2 3 4 5 6 7 8 ··· 13 다음