이터러블과 이터레이터
[Archive] 이 글은 2022년에 다른 플랫폼에서 작성한 글을 이전한 것입니다. 내용 중 일부는 현재 기준과 맞지 않을 수 있습니다. 프로토콜 이터레이이션 프로토콜은 ES6에서 도입되었다. 순회가 가능한 데이터 자료구조를 만들기 위해 ECMAScript 사양에 정의해 약속한 규칙. ES6 이전의 순회 가능한 데이터 자료구조들(배열, 문...
[Archive] 이 글은 2022년에 다른 플랫폼에서 작성한 글을 이전한 것입니다. 내용 중 일부는 현재 기준과 맞지 않을 수 있습니다. 프로토콜 이터레이이션 프로토콜은 ES6에서 도입되었다. 순회가 가능한 데이터 자료구조를 만들기 위해 ECMAScript 사양에 정의해 약속한 규칙. ES6 이전의 순회 가능한 데이터 자료구조들(배열, 문...
[Archive] 이 글은 2022년에 다른 플랫폼에서 작성한 글을 이전하며 재구성한 것입니다. 내용 중 일부는 현재 기준과 맞지 않을 수 있습니다. 프로토타입(prototype) 이 글은 JavaScript의 객체 모델 관점에서의 프로토타입에 집중한다. 1) prototype 이란? JavaScript는 전통적인 class 기반 객체지향 언...
[Archive] 이 글은 2022년에 다른 플랫폼에서 작성한 글을 이전하며 재구성한 것입니다. 내용 중 일부는 현재 기준과 맞지 않을 수 있습니다. 렌더링(Rendering) 웹 프로그래밍에서의 렌더링이란 서버로부터 HTML파일을 받아 브라우저에 뿌려주는 일련의 과정을 뜻한다. 렌더링 과정은 다음과 같다. 1) 브라우저(Loader)가 ...
[Archive] 이 글은 2022년에 다른 플랫폼에서 작성한 글을 이전하며 재구성한 것입니다. 내용 중 일부는 현재 기준과 맞지 않을 수 있습니다. 무한 스크롤 IntersectionObserver 채택 이유 IntersectionObserver를 간편하게 사용할 수 있는 React Hook인 react-intersection-observer...
비동기 함수와 실행 시점 비동기 함수는 호출한 쪽에서 실행 결과를 기다리지 않아도 되는 함수. 싱글 스레드 환경에서 동작하는 언어에서 비동기 처리는 UI 응답성을 유지하는 데 중요한 역할을 한다. 하지만 비동기 함수는 인간에게 직관적이지 않게 느껴질 수 있다. 비동기 함수란 무엇인가 비동기 함수는 호출되더라도 즉시 실행이 완료되지 않는다. 대신...
[Archive] 이 글은 2021년에 다른 플랫폼에서 작성한 글을 이전하며 재구성한 것입니다. 내용 중 일부는 현재 기준과 맞지 않을 수 있습니다. 라우터와 라우팅 라우터(router)는 말 그대로 라우팅(routing)을 수행하는 역할을 한다. 일반적으로 라우팅은 ‘어떤 네트워크 안에서 통신 데이터를 보낼 경로를 선택하는 과정’으로 정의할 ...
[Archive] 이 글은 2021년에 다른 플랫폼에서 작성한 글을 이전한 것입니다. 내용 중 일부는 현재 기준과 맞지 않을 수 있습니다. markdown언어 특징 markdown은 텍스트 기반의 마크업 언어. README 파일은 관례적으로 markdown으로 작성되는 경우가 많다. 텍스트 기반으로 작성되므로 파일 사이즈가 작다. 텍...
[Archive] 이 글은 2021년에 다른 플랫폼에서 작성한 글을 이전하며 재구성한 것입니다. 내용 중 일부는 현재 기준과 맞지 않을 수 있습니다. 리액트에서 불변성이 중요한 이유 React는 상태 변경 자체를 감지하는 것이 아니라, 이전 렌더 트리와 다음 렌더 트리를 비교(reconciliation) 하여 참조 동일성이 깨진 지점부터 다시 렌...