javascript 4

WebSocket과 SSE(Server-Sent Events)의 차이점

1. WebSocket이란?WebSocket은 브라우저와 서버 간에 양방향 통신을 가능하게 하는 프로토콜입니다. HTTP 연결 이후 업그레이드를 통해 별도의 통신 채널을 생성하며, 지속적인 연결을 유지하면서 데이터 전송이 가능합니다. 특징양방향 통신: 클라이언트와 서버가 자유롭게 메시지를 주고받을 수 있음지속적인 연결: 연결을 유지한 채 실시간 데이터 전송 가능낮은 오버헤드: HTTP Header가 반복적으로 전송되지 않음바이너리 데이터 전송 가능JavaScript 클라이언트Spring Boot 서버 2. SSE (Server-Sent Events)란?SSE는 서버가 클라이언트에 일방적으로 데이터를 푸시하는 방식입니다. HTTP 기반의 단방향 스트리밍 방식이며, 브라우저에서 기본적으로 지원합니다. 특징..

Network 2025.06.26

자바스크립트(JavaScript)의 스프레드 문법

스프레드 문법(Spread Syntax)은 ...를 사용하여 배열, 객체 등의 데이터를 확장하거나, 복사할 때 유용하게 활용되는 기능입니다. ES6(ECMAScript 2015)부터 도입되었습니다.1. 배열에서의 스프레드 문법배열의 요소를 쉽게 복사하거나 새로운 배열로 결합할 수 있습니다.배열 복사const original = [1, 2, 3];const copy = [...original];console.log(copy); // [1, 2, 3]위 코드에서 copy는 original과 별개의 새로운 배열입니다.배열 결합const arr1 = [1, 2, 3];const arr2 = [4, 5, 6];const combined = [...arr1, ...arr2];console.log(combined);..

Back_End/Java 2024.12.18

자바스크립트 클로저(Closure)란?

1. 클로저란 무엇인가요? 🤔**클로저(Closure)**란 함수와 그 함수가 선언될 당시의 **렉시컬 환경(Lexical Environment)**을 함께 기억하는 구조를 말합니다. 간단히 말해, 함수가 자신이 생성될 때의 외부 변수에 접근할 수 있는 기능입니다.function outer() { let outerVar = "I am from outer"; function inner() { console.log(outerVar); // 외부 함수의 변수에 접근 가능 } return inner;}const myClosure = outer();myClosure(); // 출력: I am from outer위 코드에서 inner 함수는 outer 함수가 종료된 이후에도 outerVar에 접근할 ..

Front-End 2024.12.09

자바스크립트 호이스팅 (Hoisting)이란?

1. 호이스팅이란 무엇인가요? 🤔자바스크립트의 실행 컨텍스트에서 **호이스팅(Hoisting)**은 변수 선언과 함수 선언이 실제 코드에서 나타나는 위치와 관계없이 최상단으로 끌어올려지는 동작을 의미합니다. 하지만 끌어올려지는 것은 "선언" 부분이며, "할당"은 포함되지 않는다는 점을 명심해야 합니다. 호이스팅의 기본 개념을 코드로 살펴보겠습니다:console.log(myVar); // 출력: undefinedvar myVar = 10;console.log(myVar); // 출력: 10위 코드는 아래와 같이 동작합니다:var myVar;console.log(myVar); // undefinedmyVar = 10;console.log(myVar); // 10이처럼 변수 선언이 코드의 상단으로 끌어올려지..

Front-End 2024.12.09