본문 바로가기

Coding/Javascript38

Javascript - 비동기처리 Javascript는 다른 언어들과 다르게 single thread 이다. 싱글쓰레드라는 것은 사전적인 의미로는 한줄 나사인데 프로그램적으로 보면 한번에 한개만 실행할 수 있는 것이라 생각하면 된다. 이전에 callback 내용을 다루면서 비동기처리를 다룬적이 있다. 비동기 처리는 Javascript에서 매우 중요한 역할을 한다. 현실에서 비동기 처리가 일어나지 않는다고 생각을 하면... - 별다방에 커피를 사먹으로 갔다. 내 앞에 있는 2사람 정도가 주문을 기다리고 있다. 이때, 동기적으로 일이 일어난다면...내 앞에 앞 사람이 주문을 하고 커피를 받고, 내 앞사람이 커피 주문을 하고 커피를 받고, 그 다음이 내 차례가 될 것이다. 동기적으로 일 처리를 한다면 뒷사람들은 더 많은 시간을 기다려야 한다... 2020. 7. 7.
Javascript - Graph, Tree (데이터구조)(4) 내용이 너무 밀려서 큰일이지만, 하루하루 쌓아 조금씩 채워 가야겠다. GraphGraph는 노드와 연결선으로 구성 되어 있다. 글보단 그림으로 설명이 더 좋을 것 같다.Node가 있고, Edge로 다음을 연결되어 있는 구조이다.Graph는 한쪽방향으로만 연결 할 수도 있지만, 양방향으로도 연결할 수 있다.(양방향은 상, 하 관계가 없다) 예시를 들면, 현실에서는 주로 지하철 노선을 찾을 때, 많이 사용이 된다. 지금 있는 위치를 A라고 한다면, Node로 지정이 되고 D가 목적 지라면 가는 방법은 분명 다양할 것이다. A - B - D로 갈수도 있고, A-C-D로 갈수 있다. 이와 같이 Graph는 길을 찾을 때, 많이 사용된다. Node가 있으면 다음 노드를 Edge로 연결해서 다음 값을 가르켜 줘야한.. 2020. 7. 6.
Javascript - Hash Table(데이터 구조)(3) 이번 포스트는 data constructure 중에 Hash Table이다. hash 는 뜻이 해시(고기와 감자를 잘게 다져서 섞어 요리하여 따뜻하게 차려 낸 것)이라고 한다. 프로그래밍에서 hash table은 hash 함수를 거쳐서 함수에 들어오는 인자를 하나의 고유의 값으로 바꾸어 data를 table에 기록한것처럼 저장한다. Hash Table 특징 - 장점 1. hash table은 주로 배열을 사용하는데, hash table 크기는 배열을 벗어나지 않는다. 2. 인자로 들어오는 값(key)는 해시 함수를 거쳐서 특정 index를 값을 부여받고 여기에 value를 저장한다. 즉, 항상 같은 값을 출력할 수 있다. *원하는 데이터 값을 빠르게 찾을 수 있다. *두 개 이상의 값에 하나의 키를 사용.. 2020. 6. 16.
Javascript - 재귀함수(2) Call stack 재귀함수를 이해하는데 있어서 중요한 부분 중에 call stack 이라는 것이 있다. call stack은 함수를 몇번 호출 했느냐를 뜻하는데, 이부분이 헷갈리면 재귀함수 사용에 있어서 어려움이 있을 것이다. 작일 codestates review 시간에 모르는 개념이 나와서...이해하는데 어려움 있었다. 우선 하기 코드를 실행 했을 때(foo(4)), console.log(num)에 의해 console이 어떻게 출력이 될지 추측 한다면... callstack의 개념을 모르면다면 아마 결과를 4 3 2로 추측을 많이 했을 것이다. 하지만, 위의 코드를 실행했을 때 결과는 다음과 같다. Call stack을 모를 때, 이렇게 생각하기 쉽상이다. Call stack의 개념을 보면...Call stack으로 인.. 2020. 6. 13.
반응형