일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ...args
- .toLocalString()
- 1주차
- 2020년 준비
- 2주차
- 4주차
- 5주차
- array
- array method
- async
- authentication
- AWS
- codestates
- commit
- Cookie
- CSS
- Data Structre
- Data Structure
- DataSturcutre
- Date.now()
- DB에 사진 저장하기
- Dev log
- DOM
- EC2
- EC2로 웹 만드는 방법
- EC2와 S3 연결하기
- element
- Es5
- ES6
- event 객체
- Today
- Total
souvenir
Async and promise_Part2 node.js module 사용법 브라우저에서 사용할 수 있는 비동기 흐름은 타이머 혹은 DOM 이벤트와 관련된 상황으로 다소 한정적이지만, node.js의 경우 많은 부분의 API가 비동기로 작성되어 있음. node.js 소개 문서의 첫 단락은 "비동기 이벤트 기반 자바스크립트 런타임"이라는 정의로부터 시작함. node.js 내장 모듈을 사용하는 방법 : 가장 먼저는 해당 모듈을 불러오는 과정이 필요함. 1) 브라우저의 경우 등으로 불러올 수 있음. 2) node.js의 경우 const fs = require('fs') // 파일 시스템 모듈을 불러옵니다 const dns = require('dns') // DNS 모듈을 불러옵니다 // 이제 fs.readFi..
나는 미친듯이 멀티태스킹이 안되는 사람이다. 그래서 학교 다닐 때 자신이 좋아하는 노래를 들으면서 공부하는 친구들을 보면 그렇게 부럽고 대단하였다. 물론 시간이 지나 연습해보면서 어느정도의 멀티 태스킹이 가능하게 되었지만 여전히 쉽지 않다... (강제로 모든 것에 올인해야함) Why Async? 갑자기 멀티테스킹을 이야기 하는 이유는 내가 공부하고 있는 JavaScript라는 언어도 멀티태스킹이 안되는 언어이기 때문이다. call Stack에 함수를 쌓아서 stack의 순서대로 함수를 실행하는, C나 다른 언어들에 비하면 참으로 심플한 언어이다. 문제는 JS가 주로 웹에서 사용된다는 것이다. 이렇게 한번에 하나의 일만 하게 되면 어떻게 될까? 극적인 예시로 유튜브에서 영상을 보기위해 영상을 클릭했다고 하..
여기서 시간복잡도의 종류에 대해 간단하게 복습해보자면 (위에서 아래로 갈수록 worst한 복잡도이다) 시간복잡도 constant : 특정 상수로 '한번' 실행했을 때 결과가 나오는 경우 O(1) logarithmic : log n의 시간복잡도를 가지는 경우이다. 초반에는 다소 급격하게 증가하지만 이후로는 거의 복잡도가 증가하지 않는 형태를 보이고 있다. O(log n) linear : 선형 그래프를 그린다. 흔히 보는 y =x의 그래프의 형태로 시간복잡도가 증가한다. 대표적인 예로는 linked list의 탐색의 경우이다. O(n) quadratic : n^2의 형태로 복잡도가 증가하는 형태이다. 흔히 보는 y=x^2의 2차 방정식의 그래프 형태를 띄고 있다. 여기서부터는 알고리즘을 짤 때 피해야하는 시..
오답노트 2. Linked List의 시간 복잡도를 Big-O 표기법으로 나타낸 것 중 틀린 것은? Access - O(1) 내가 작성한 답 : Insert - O(n) ⇒ 연결 리스트의 경우 접근은 전체 리스트를 순회해야 하므로 O(n)이 맞다. 이전 문제에서는 O(1)로 선택했기에 어려웠다. 제일 끝에 추가해야 하거나 추가해야하는 위치를 모르는 경우 insert도 O(n)의 시간복잡도를 가질 수 있다. 그 외의 답 Search - O(n) Delete - O(n) 사실 이 문제는 그리 정확한 문제는 아닌 것 같다. '가장' 옳지 않은 답을 고르는 문제였던 것 같다. 5. 다음의 시간 복잡도를 가지는 알고리즘들이 있을 때, 가장 느린 것과 가장 빠른 것을 모두 고르면? (단, n ≥ 10,000) O(..
Linked List(연결 리스트) Linked List(연결 리스트)는 크기가 '동적'인 자료구조로서, Node(노드)의 연결로 이루어졌습니다. 여기까지는 배열과 유사해 보일 수 있습니다. 대신 배열과의 차이점이 있습니다. 바로 특정한 인덱스를 가지고 있지 않다는 것이지요. 대신, 포인터를 통해 각각의 노드를 연결짓고 있습니다. 그렇기 때문에 배열의 경우, 특정 인덱스를 통해 해당 인덱스의 값을 호출할 수 있지만 연결 리스트(Linked List)의 경우는 특정 노드를 확인하기 위해서는 전체 연결 리스트를 훑어야만 합니다. 포인터를 가지고 있기에 특이한 점은 첫 노드를 삭제하면 다음을 가리키는 포인터가 사라지므로, 연결이 끊어져 연결 리스트 자체가 삭제되게 됩니다. 마치 뱀의 머리를 자르면 뱀이 죽어버..