일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Machine Learning
- NextJS
- CSS
- 개발공부
- docker
- 우선순위
- Til
- 스파르타코딩클럽
- multer
- 1일1문장
- 자료구조
- 자바스크립트
- reactnative
- HTTP
- Andrew Ng
- 끈기
- ES6
- 객체
- 리눅스
- coursera
- 러닝자바스크립트
- javascript
- 회고
- Linux
- nodejs
- 클로저
- React
- scope
- 데이터전송
- Sequence
- Today
- Total
목록javascript (12)
해나아부지 개발일지
지금까지 여러가지 비동기 액션을 처리할 때 Promise.all()만 쓰셨다면 주목! 1가지 메서드가 더 있다는 것 두 메서드의 차이점을 알아봅시다. 우선 MDN 공식 문서를 봅시다. Promise.all(iterable) Promise.allSettled(iterable) 1. Promise.all()은 input에 대한 결과값만을 담은 array result를 return 합니다. const promise1 = Promise.resolve(3); const promise2 = 42; const promise3 = new Promise((resolve, reject) => { setTimeout(resolve, 100, 'foo'); }); Promise.all([promise1, promise2, p..
싱글 스레드 환경인 자바스크립트 런타임을 멀티 스레드처럼 바꿔주는 자바스크립트의 비동기처리에 대해 알아보자. 싱글 스레드란? 일반적인 큐(Queue)로 예를 들어보면 큐에 일련의 작업들이 들어왔을 때 작업들은 들어온 순서대로 처리가 될 것이다. 1번과 2번이 동시에 처리가 된다거나 1번이 작업을 하다가 멈추고 2번이 시작을 하지 않는다는 이야기다. 우리가 프린트로 한글 문서들을 출력할 때 인쇄버튼을 누른 순서대로 출력이 될 것이다. 첫 번째 문서가 다 출력이 되야지만 두 번째 문서의 출력을 시작할 수 있다. 싱글 스레드에서는 현재 실행하고 있는 작업이 끝나기 전까지는 아무것도 할 수가 없다. 너튜브나 넷플릭스에서 동영상의 로딩이 동기적으로 실행된다면 우리는 로딩이 끝날때까지 아무것도 할 수 없을 것이다...
Object.create(), new(생성자 함수) 모두 객체의 속성들을 상속받은 새로운 객체를 만들어 주는 것처럼 보인다. Object.create 객체의 정의는 함수로부터 시작된다. 우리가 잘 아는 'object' ( { } ) 도 예외는 아니다. 함수가 정의될 때, constructor와 prototype도 함께 생성되는데 이것은 함수 내부의 접근을 도와주는 속성이다. // Shape - 상위클래스 function Shape() { this.x = 0; this.y = 0; } 개발자 콘솔에 Shape라는 class를 정의하고 prototype 속성을 보자! constructor 에는 Shape 자신이 함수로 정의되어 있고 __proto__에는 'Object'에서 상속받은 여러가지 메서드(함수)들이..
정의 배열과 마찬가지로 선형 구조를 가지는 자료구조. Linked List(연결 리스트)에서 Element는 'Node'라고 한다. 순차적으로 저장되는 배열과 달리 각 Node는 'Data(자료)'와 다음 Node를 가리키는 'Pointer'로 구성되어 있다. 위키백과 정의를 보자. 연결 리스트, 링크드 리스트(linked list)는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조이다. 이름에서 말하듯이 데이터를 담고 있는 노드들이 연결되어 있는데, 노드의 포인터가 다음이나 이전의 노드와의 연결을 담당하게 된다. 연결 리스트의 종류로는 단일 연결 리스트, 이중 연결 리스트 등이 있다. 연결 리스트는 늘어선 노드의 중간지점에서도 자료의 추가와 삭제가 O(1..
정의(Definition) 음식이 입으로 들어가면 항문으로 나온다. 먼저 들어간 것이 먼저 나온다. FIFO(First In First Out)인 자료구조 위키백과를 보시죠 큐(queue)는 컴퓨터의 기본적인 자료 구조의 한가지로, 먼저 집어 넣은 데이터가 먼저 나오는 FIFO (First In First Out)구조로 저장하는 형식을 말한다. 영어 단어 queue는 표를 사러 일렬로 늘어선 사람들로 이루어진 줄을 말하기도 하며, 먼저 줄을 선 사람이 먼저 나갈 수 있는 상황을 연상하면 된다. 나중에 집어 넣은 데이터가 먼저 나오는 스택과는 반대되는 개념이다. 프린터의 출력 처리나 윈도 시스템의 메시지 처리기, 프로세스 관리 등 데이터가 입력된 시간 순서대로 처리해야 할 필요가 있는 상황에 이용된다. 연..
정의(Definition) Data의 입구와 출구가 하나인 자료구조. 즉, 가장 나중에 들어온 Data가 나올때는 가장 먼저 나오는 LIFO(Last In First Out)의 구조를 가지는 자료구조이다. Push(넣기) & Pop(꺼내기)이라는 두가지 주요 작업으로 이루어지는 추상적인 데이터 유형이다. Push & Pop은 최근에 추가된 최상단 요소에서 일어난다. 위키백과의 설명을 보자 스택(stack)은 제한적으로 접근할 수 있는 나열 구조이다. 그 접근 방법은 언제나 목록의 끝에서만 일어난다. 끝먼저내기 목록(Pushdown list)이라고도 한다. 스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO - Last In First Out)으로 되어 있다. 자료를 넣는 것을 '밀어넣는..