클로저를 알기 위해서는 스코프의 개념을 이해해야 함 스코프: 변수의 유효범위, 변수가 참조될 수 있는 범위 ex) 전역에 변수 선언 → 전역 변수 a는 어디서든지 참조할 수 있는 전역스코프를 가진다. var 함수레벨 스코프 let,const 블록레벨 스코프
클래스, 생성자 (constructor), 객체, 멤버변수(속성,프로퍼티), 멤버 메서드(기능), 인스턴스.class 와 function 의 다른점객체지향적 프로그래밍을 하기 위해 이해해야 하는 개념class의 구조를 이해하고 정의한 방법 공부하기특정 객체를 생성하기
: 사물이나 표상을 어떤 성질, 공통성, 본질에 착안하여 그것을 추출하여 파악하는 것객체지향 프로그래밍에서는 부모 클래스의 멤버 변수와 메소드를 자식 클래스가 재사용하는 개념.하위클래스를 정의하는데 상위 클래스를 사용한 것 <->추상화기존 클래스들의 공통적인 요소

OOP에서 객체의 필드와(속성) 메서드를(기능) 하나로 묶고, 외부로부터 데이터를 보호하기위해, 외부에는 불필요하거나 내부적으로만 사용되는 부분을 감추기 위해 특정 속성이나 메서드를 사용자가 사용할 수 없도록 은닉화한것이다.멤버 변수를 직접 변경할 수 없도록 캡슐처럼

서버와 클라이언트가 데이터를 주고 받는 통신 방법connectionless 연결을 유지하지 않는다.서버와 클라이언트가 한 번 통신이 일어나고 나면 그 연결이 유지되지 않고 바로 끊어진다.stateless 상태를 유지하지 않는다.서버와 클라이언트가 첫번째 통신을 끝내고

작업의 완료 유무와 상관 없이 동시에 다음 작업을 수행하는 처리 방식비동기처리를 수행하기 위해 콜백,프라미스,async await를 사용한다.특정 조건에서 실행되는 함수특정 시간에 도달하거나 특정 이벤트가 실행됐을때 시스템에서 호출하는 함수비동기처리는 잘 되지만 코드가

브라우저 동작원리웹 브라우저 : html,css,JS를 해석하고 실행해주는 엔진. 이 실행 순서가 일반적인 프로그래밍 관점에서는 이해가 안될때가 있다. 그 이유에 대해 알아보자브라우저 내부힙: 변수들 담아두는 곳스택: 코드를 넣고 한줄한줄 실행해준다. 자바스크립트는 스
http와 웹소켓 프로토콜의 정의, 차이, 왜 다르게 사용해야하는지, 어떻게 사용해야할지 웹소켓 Full-Duplex(전이중 방식): 동시에 송수신을 하며 양방향 통신을 할 수 있다. 클라이언트와 서버를 연결하고 실시간으로 통신이 가능하도록 하는 통신 프로토콜. so
핵심 개념들 TCP / IP 패킷 세그멘트 메모리/버퍼(청크) [DOD] user- 커널(TCP,IP)-sw(드라이버)-hw server process 와 DOD 사이에 socket (읽어줘 써줘~등등 명령, process가 socket에게 operate) ⇒
전개 연산자(Spread Operator) 는 객체나 배열, 함수의 인자 등 나열형 자료를 연결하거나 추출하는 데 사용되는 문법으로, 배열이나 객체 또는 함수 인자의 표현식 내부에서 배열이나 객체, 변수명 앞에 ... 을 붙여 사용한다용도 원하는 객체 뽑아쓰기objec
Q. 인터페이스, 타입은 무엇이며, 언제 사용할까? 인터페이스랑 클래스 레벨이 같음. 타입은 클래스랑 같은 레벨이 아님. 클래스는 구현체가 존재, 인터페이스는 구현체가 아니라 그냥 명세. 타입은 클래스와 같은 레벨이 아니기때문에 의존성 제어가 불가능하다.인터페이스 -
값을 복사를 해서 처리하냐, 아니면 직접 참조를 하느냐의 차이call by value (값에 의한 호출): 값이 그대로 복사되는 것을 의미. 자바스크립트(JS)에서는 원시 데이터/원시 값의 경우 값의 복사 call by value가 발생장점 : 복사하여 처리하기 때문에

api를 get 해왔을때 많은 데이터가 정렬 없이 한 배열 안에 담겨오는 상황 난 두가지 기준에 의해 데이터를 정렬 & 그리고싶었는데 기준 하나로만 map을 돌려봤기때문에 생각보다 오래 걸렸고 그 과정에서 새로 써본 기능들이 많았기 때문에 정리해놓음 통으로 오는 데
next.js로 socket.io를 이용해 채팅을 연결해가는 과정socket.io의 트래픽 격리 구분소켓을 연결하고 소켓state에 담는다. (서버와 최초 연결)첫 연결 시 서버에서 알려준 url로 먼저 연결하고 방이름에 따라 이후 분기처리인지, 아니면 처음부터 방이름
next.js로 socket.io를 이용해 채팅을 연결해가는 과정socket.io의 트래픽 격리 구분소켓을 연결하고 소켓state에 담는다. (서버와 최초 연결)첫 연결 시 서버에서 알려준 url로 먼저 연결하고 방이름에 따라 이후 분기처리인지, 아니면 처음부터 방이름
next.js로 socket.io를 이용해 채팅을 연결해가는 과정socket.io의 트래픽 격리 구분소켓을 연결하고 소켓state에 담는다. (서버와 최초 연결)첫 연결 시 서버에서 알려준 url로 먼저 연결하고 방이름에 따라 이후 분기처리인지, 아니면 처음부터 방이름

프론트엔드 개발은 모듈 단위로 파일을 엮어서 개발하는 방식이다.기존 회사에서는 Webpack을 사용했었는데, 새로운 회사에서 Vite를 사용하게 되었다. 그 김에 둘 사이에 무슨 차이점이 있는지 정리해보려고 한다모듈 시스템 : 목적이나 기능에 따라 코드를 분리하는 것모
Linux는 커널을 기반으로 하는 운영체제이고, Ubuntu는 Linux의 배포판이다.리눅스(Linux)는 1991년 9월 17일 리누스 토르발스가 처음 출시한 운영 체제 커널인 리눅스 커널에 기반을 둔 오픈 소스 유닉스 계열 운영 체제안정한 운영체제이다.사용자의 수가