Development/JavaScript
Javascript의 병렬 처리에 관한 견해(동기, 비동기, blocking, non-blocking) 개념 정리
개요 Javascript를 공부해본 사람이라면 단일 쓰레드, 콜백, 비동기, 병렬처리에 대한 내용을 접해본 경험이 있을 것이다. 위의 용어 자체가 추상적이기도 하고, 쉽게 와닿지 않기 때문에 단번에 이해하기에는 꽤 어려운 개념일수도 있는데, 사실 위에서 언급 내용은 모두 연관성이 있기 때문에 Javascript의 동작 방식을 이해하고 나면 전체적인 그림이 그려질 것이라 생각한다. 이번 글은 100% 정확한 사실에 기반한 내용을 정리한 것이 아니라는 점을 참고하기 바란다. 병렬처리에 대한 주관적인 생각 구글링을 하다보면, 'Javascript는 병렬적으로 수행된다'라는 내용을 가끔 확인할 수 있다. 이 내용을 처음 보았을 때에는 '그런가보다'하며 넘어갔었는데, 단일 쓰레드, 콜..
Algorithm/개념정리
탐색 알고리즘(Search Algorithm)의 이진 탐색(Binary Search) 개념 정리
이진 탐색 탐색 알고리즘에는 크게 순차(Linear) 탐색과 이진 탐색(Binary Search)으로 구분된다. 순차 탐색은 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 확인하는 방법이고, 이진 탐색은 정렬되어 있는 리스트에서 시작점, 끝점, 중간점으로 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법이다. 예시 이미 정렬된 10개의 데이터 중에서 이진 탐색을 통해 값이 4인 원소를 찾는 과정을 살펴보자. [ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18 ]탐색 과정 Step 1 시작점: arr[0], 끝점: arr[9], 중간점: arr[4] (소수점 이하 제거) * * * [ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18 ]찾고자 하는 값(4)이 중간점의 값(8..
Development/Web
Nest JS #3 - PostgresSQL에서의 TypeORM(Entity, Repository) 생성
들어가며 이전까지는 Nest JS의 기능을 알아보는데 더 중점을 두기 위해 로컬 메모리 방식의 데이터베이스를 사용하였다. 지금부터는 애플리케이션에 실제 데이터베이스를 연결하고, TypeORM, Entity, Repository에 대해서 정리해보겠다. PostgresSQL 설치 PostgresSQL은 객체-관계형 데이터베이스 시스템으로 전 세계 사용자가 4번째(OracleDB, MySQL, MsSQL, PostgresSQL)로 많은 RDBMS이다. 이는 MySQL에 비해 SQL 표준을 더 많이 지워하며, 쿼리가 복잡할수록 성능면적으로 더 우수하다는 특징이 있다. 영상에서는 로컬에 PostgresSQL을 설치했지만, 나는 Docker Container 환경에서 PostgresSQL을 실행해주었고, DBeav..