일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- create-next-app
- 귤 고르기
- Google 애널리틱스
- 자바스크립트
- Leetcode #javascript #알고리즘 #Algorithms #js
- mutationobserver
- 테이블 해시 함수
- 통신망분석
- mock date
- 구름톤
- 구름톤 챌린지
- 호텔 대실
- nextjs
- 구름톤챌린지
- Hermes Engine
- Jest uuid syntax
- 최솟갑 구하기
- 리액트네이티브
- 리액트네이티브 엔진
- nextjs-performance
- 테스트 Date
- 중첩 점
- 날짜 테스트
- 헤르메스 엔진
- 과제 진행하기
- JavaScript
- jest
- ResizeObserver
- 연결 요소 제거하기
- 프로그래머스
- Today
- Total
목록Javascript&Typescript (15)
나만보는개발공부블로그
- ECMAScript2015(ES6)에 추가된 Protocol(규약) Iterable protocol 반복 가능한 객체를 Iterable Obeject라 부르고 줄여서 iterable이라고 한다. 그리고 이러한 객체를 iterable protocol을 만족한다고 말한다. Iterable을 만족하기위해서는 object에 @@iterator 메소드를 구현해야 한다. 즉 Symbol.iterator key 속성을 가져야 한다. const CustomIteratorObj = { [Symbol.iterator]: function* () { for (let i = 1; i
Object Oriented Programming - 장점 1. 객체의 기본개념을 이해하기 쉽고 메서드 호출의 의미를 해석하기 쉽다. 2. Declaritive보다는 imperative하다. -> 컴퓨터가 따라야할 간단한 설명서처럼 읽는다. - 단점 1. 일반적으로 shared State에 의존성이 있다. 2. 객체와 동작들은 일반적으로 같은 entity에 묶여있고 임의의 함수에 의해 접근될 수 있으며 그게 에러를 만들어낼 수 있다. Functional Programming - 장점 1. 여러가지 함수들이 같은 자원에 대해서 에러를 낼 수 있는 shared State와 side-effect를 피한다. 2. point-free style(aka tacit programming)같은 특징을 가진다. -> 재..
제목과 같은 classical한 상속과 ingeritance한 상속에 관한 패러다임에 대해서 알아보자. 자바스크립트에서의 OOP같은 code들을 사용할떄는 전부 Prototypal Inheritance라고 할 수 있다. 아래의 그림처럼 단계로 쉽게 나눠볼 수 있다. Inheritance | +-----------------------------+ | | v v Prototypal Classical | +------------------------------+ | | v v Prototypal Pattern Constructor Pattern -Classical Inheritance의 대표적인 언어로는 C++,Java 그리고 c#이 있다. -Prototypal Inheritance의 대표적인 언어로는 Se..
Delcarative 선언형 프로그래밍 제어 흐름(control flow)를 설명하지않고 표현하는 프로그래밍 패러다임 무엇을 할 것인가와 가깝다. ex) 친구에게 풍경그림을 요청하는데 친구가 어떤물감을 사용하고 어떤 기법을 사용해서 그림을 그리는지에 대해 상관하지않는경우. Imperative 명령형 프로그래밍 프로그램의 상태를 변경하는 statement를 사용하는 프로그래밍 패러다임 무엇을 어떻게 할 것인가와 가깝다. ex) 친구에게 풍경그림을 요청하는데 원하는 결과를 얻기위해서 단계별로 그림기법이나 물감에 대해서 알려주는경우. - 메모리의 내용으로 정의되고 구문들은 기계어의 명령어로 정의되는 대부분의 컴퓨터 하드웨어는 명령형으로 구현되어있다. 선언형 프로그래밍과 명령형 프로그래밍의 실제 예시 -명령형 ..
클로저란? 주변 state들이 lexical environment에 대한 참조와 함께 묶이거나 또는 포함되어 있는 함수의 조합이다. 다른말로 클로저는 내부함수에서 외부 함수의 scope에 접근할 수 있다. 자바스크립트에서는 함수가 생성될때 마다 클로저가 생성된다. 클로저를 사용하기 위해서는 함수내에 다른함수를 정의하고 그 함수를 반환하거나 다른함수로 전달하면 된다. 내부 함수에서 외부함수가 반환되도 그 외부함수의 변수를 사용할 수 있다. 클로저의 특징 무엇보다도 클로저는 일반적으로 객체의 데이터 프라이버시(보호)를 제공하는 데 사용된다. - data privacy 데이터 프라이버시는 인터페이스를 구현하는데에 필수 속성이다. 이러한 개념들은 더 견고한(?) 소프트웨어를 구축하는데 있어서 중요하다. 왜냐하면..

Node.js가 시작되면 event loop를 초기화하고 입력값들을 처리하여 비동기 API를 수행하거나 타이머를 예약하고 process.nextTick()을 호출한다. Event loop의 작업 순서는 다음의 그림과 같다. 각 stage들은 실행할 콜백의 FIFO구조의 Queue를 가지고 있다. 이벤트루프가 각 stage에 들어가게 될때 해당 stage의 명시된 작업을 수행하고 Queue가 비어지거나 최대 제한 콜백 갯수까지 도달할때까지 해당 stage에서 콜백을 실행한다. 그래서 콜백 제한이나 큐가 비어지는 시점에 이벤트 루프는 다음 단계로 이동하게 되고 이러한 과정이 반복된다. 또한 각 작업들은 더 많은 작업들을 스케줄링 하거나 poll stage에서 처리되는 새로운 이벤트가 커널에 의해 큐에 추가될..