prototype based language라 불릴만큼prototype은 자바스크립트를 지탱하는 기반자바스크립트 동작 원리를 이해하기 위해서 prototype의 개념을 잘 이해하고 있어야함OOP 프로그래밍의 상속화를 구현하는데 사용자바스크립트 모든 객체는 자신의 부모
OOP OOP 특징 추상화 캡슐화 상속 다형성 이 글을 마무리하며
미리 모든 페이지에 필요한 js파일들을 받아두고 이후 페이지 요청에 따라(페이지 이동 시) 갱신에 필요한 데이터만 받고 JS 실행해 컴포넌트를 렌더링하고 화면 업데이트클라이언트 사이드 라우팅새로고침 시 불필요한 부분까지 화면이 깜빡이며 새로고침되는 것이 비효율적이라 등
앞선 글에서 브라우저의 동작원리와 함께 CRP 5단계가 나왔다.DOM에 어떤 변화가 생기면 Reflow 나 Repaint가 실행된다.어떤 변화라고 했는데 Reflow와 Repaint를 모두 발생시키는 것도 있고 Repaint만 발생 시키는 것도 있고 다양하다. 그래서
앞의 브라우저 동작 원리, Reflow, Repaint, Layer, Composite 글에서 언급했던 내용이다. Virtual DOM이 왜 등장했는지 이해하려면 DOM이 어떻게 화면에 그려지고 변화가 발생할 때 어떻게 내부적으로 동작하는지 알면 이해하기 수월하다.옛날
Imperative(명령형) HOW 어떻게 해야할지 기술 목표를 달성하는데 필요한 절차 작성 Declarative(선언형) WHAT 무엇을 원하는지 기술 달성하고자 하는 결과 작성 > 하지만 선언형 프로그래밍은 여전히 보이지 않는 곳에서 명령형 프로그래밍을 사용하
모든 프로그래밍 언어에는 내장된 자료구조가 존재함JS에서 사용할 수 있는 내장 자료구조와 그 속성에 대해서 알아보자객체가 아니면서 메서드, 속성도 가지지 않는 데이터stringnumberbigintbooleanundefinedsymbolnull모든 원시 값은 불변하여
하나의 값을 저장하기 위해 확보한 메모리 공간, 그 메모리 공간을 식별하기 위해 붙인 이름.개발자는 직접 메모리 주소를 이용하지 않고 변수를 통해 접근하면 JS엔진에서는 해당 변수에 지정된 Address로 접근해 value를 가져온다.아래 이미지에서 Identifier
함수 내부의 선언들을 최상단으로 끌어올려 선언하는 것선언과 초기화가 동시에 이루어지는 경우(var, 함수선언문)도 있음호이스팅되며 선언, 초기화 동시에 이루어짐흠.. 함수선언문은 할당까지 같이 이루어지는게 또 달라서 이해가 잘안된다. 관련해서 검색해봤는데 별로 내용이
콜스택이란 현재 실행중인 함수의 정보를 저장하는 메모리 영역주로 함수 호출, 반환을 관리하는 메모리 영역으로 LIFO(Last In First Out) 방식을 따름예제 코드로 보면main은 기본적으로 최초 실행 시 생기는 함수로 크롬에서는 anonymous로 표시됨av
자바스크립트의 런타임 모델은 코드의 실행, 이벤트의 수집과 처리, 큐에 대기 중인 하위 작업을 처리하는 이벤트 루프에 기반함앞서 Call stack 글로 작성함.함수의 호출들은 '프레임' 스택을 형성객체는 힙에 할당. 힙은 단순히 메모리의 큰 영역을 지칭하는 용어자바스
쓰레기를 수집한다. 수거한다.도달 가능성(reachability) 라는 개념을 사용해 메모리 관리도달 가능한 값은 메모리에서 삭제 되지 않음아래의 값을 태생부터 도달 가능하기 때문에 삭제 되지 않음1\. 현재 함수의 지역 변수, 매개 변수2\. 중첩 함수의 체인에 있는
변수 이름, 함수 이름, 클래스 이름과 같은 식별자가 본인이 선언된 위치가 따라 다른 코드에서 자신이 참조 될 수 있을지 없을지 결정 되는 것 스코프 레벨 블록 함수 상위스코프 함수가 호출되는 시점 (동적 스코프) 함수가 선언되는 시점 (정적 스코프 == 렉시컬 스
Exeuction context(실행 컨텍스트)아주 모호하다. 처음에 이 단어를 들었을 때 JS 엔진이 코드를 어떻게 읽고 실행해 나가는지에 대한 흐름을 얘기하는 줄 알았는데 다른 개념이었다.실행 컨텍스트에 걸쳐있는 다른 개념들도 많다보니실행 컨텍스트를 잘 이해하려면
개발 입문한지 얼마 안됐을 때 분명 child element를 클릭했는데 parent element의 event까지 발생해서 한참헤매고 stopPropagation이라는 이해할 수 없지만, 일단 넣으라고하는 코드를 넣어서 이해하지 못하고 일단 해결했던 기억이 난다.그리
IIFE(Immediately Invoked Function Expresssion) 즉시 실행 함수 표현 >말 그대로 선언과 동시에 즉시 실행되는 함수
callback이 비동기를 처리하는 방법을 칭하는 것은 아니다.먼저 callback에 대해서 간단하자함수도 객체이므로 함수의 파라미터로 전달될 수 있다.아래 예시를 보자sum은 세번째 파라미터로 function을 받으려하고 있고 함수호출 단계에서 매개변수로 print라
OAuth >웹 및 모바일 애플리케이션에서 안전하게 서드파티 애플리케이션에 대한 접근을 관리하기 위한 개방형 표준 인증 및 권한 부여 프로토콜 - ChatGPT 주변에서 가장 흔히 볼 수 있는 사례로 예를 들어 네이버(카카오, 구글)로 로그인 과 같이 다른 서비스의
이전에 Openlayers를 사용해서 프로젝트 수행할 때 리액트를 처음으로 써봤다. 그때 당시 Vue3만 써봤었는데 (Vue3를 먼저 쓰게된건 나의 이 홍대병때문에..) 한국의 개발 시장에 전반적으로 리액트가 높은 비중으로 요구되는 것을보고 리액트도 한번 써보자해서 리
1996년 HTTP가 등장한 후 웹 기술이 고도화되며 다양한 해킹 방법이 등장했고, 그에 따라 더욱 안전하게 데이터를 주고 받을 수 있는 방법이 필요해졌다.HTTPS는 HTTP 뒤에 'S' 한 글자가 추가된 형태로 풀어쓰면 Secure이다.즉, 보안이 추가된 Hyper
Destructuring assignment(구조분해할당)배열이나 객체의 속성을 해체해 그 값을 개별 변수에 담을 수 있게하는 JS 표현식 - MDN알다시피 객체 및 배열 리터럴 표현식을 사용하면 new Array, new Object 같은 구문 없이 배열, 객체를
SHA = Secure Hash Algorithm해시란 임의 값을 넣어도 고정된 길이의 값으로 매핑하는 알고리즘이다.고정된 출력 크기 : 예를 들면, 2자리를 입력하든 1억자리 암호를 입력하든 256 비트 크기의 고정된 길이의 해시 값으로 변환된다.입력 데이터가 조금만
"배포(deployment)"는 소프트웨어나 애플리케이션을 사용 가능한 상태로 만들어 사용자가 이용할 수 있도록 하는 과정을 말합니다. 이는 개발한 소프트웨어를 실제 운영 환경에 설치하고 실행하는 것을 의미합니다. 배포는 개발주기 마지막 단계로 안정적인 서비스 제공을
작년에 2주 해커톤 할 때 마음이 급해서 .env 파일을 그냥 올렸던 프로젝트가 있다. 기존엔 프라이빗 리포지토리라서 상관 없었으나 최근에 취업준비하면서 퍼블릭으로 전환하면서 .env 파일을 삭제해야겠다 생각했다 그리고 당연히 히스토리도 지워서 볼 수 없어야겠지