본문 바로가기
반응형

전체 글281

[js] 동기적(synchronous)? 비동기적(Asynchronous)? JavaScript에서 동기적 / 비동기적의 차이 및 예제, 비동기적 실행 방식 등 자바스크립트(Javascript)는 동기적이다. 호이스팅(hoisting) 후 코드 블록을 순서대로 실행한다. 호이스팅이란? 2023.02.04 - [개발 용어 정리] - [js] hoisting(호이스팅) [js] hoisting(호이스팅) javascript_호이스팅(hoisting) 이란? = 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것이다. (var, 함수의 경우가 있다) 변수의 선언과 초기화를 분리한 후, 선언만 코드의 최상단으로 옮기는 kfdd6630.tistory.com 동기적(Synchronous)이란? 1. 어떤 작업을 요청했을 때 그 작업이 종료되고 다음 작업을 수행하는 방식이다. 2. 프로.. 2023. 3. 21.
[MongoDB] 인덱스 교차 (Index Interserction) [MongoDB] 인덱스 교차 (인덱스 접두사 교차, 인덱스 교차 및 정렬, 인덱스 교차 및 복합 인덱스) 인덱스 교차(Intersection)란? 인덱스 교차는 MongoDB 2.6부터 제공한다. 이 용어는 인덱스의 종류가 아니라 인덱스의 작동 방식을 지칭한다. 지금까지 알아본 ‘단일 인덱스’와 ‘컴파운드 인덱스’를 하나의 컬렉션 내에서 별개로 지정하더라도 쿼리가 구동 될 때에는 내부에서 교집합처럼 동작하여 성능을 높힌다. 다음과 같이 단일 인덱스 두 가지를 선언해준다. db.collection.createIndex({ qty: 1 }) db.collection.createIndex({ item: 1 }) 단일 인덱스가 별개로 두 개를 정의했다. db.orders.find({ item: 'abc123'.. 2023. 3. 20.
[MongoDB] 접두사 인덱스, 등치 (Index Prefix, Equality)란? [MongoDB] 접두사 인덱스, 동치 상태 (Index Prefix, Equality State)란? 인덱스 Prefix란? MongoDB의 인덱스 관련 메뉴얼을 읽다 보면 자주 나오는 용어 중에 Index Prefix라는 말이 있다. 접두사 인덱스 / 선행 인덱스 / 앞쪽 인덱스 해석하면 약간 어색해진다. 일단 아래 예제 코드로 살펴보자. db.collection.createIndex({ a: 1, b: 1, c: 1 }) { a: 1 } { a: 1, b: 1 } { a: 1, b: 1, c: 1 } 정의 된 인덱스의 앞 쪽부터 포함하는 부분집합의 인덱스들을 인덱스 Prefix라고 말한다. 컴파운드 인덱스는 첫 번째 인덱스는 단일 인덱스처럼 일렬로 나열되어 있다. 두 번째 인덱스는 동일한 첫 번째 .. 2023. 3. 20.
[MongoDB] 인덱스 검색, 인덱스 정렬 방식에 따른 검색속도 차이 [MongoDB] 인덱스 검색, 인덱스 정렬 방식에 따른 검색 및 정렬 빠르게 하는 방법 각 명령어의 출력시간은 explain.executionStats를 사용하여 실행속도를 확인하였다. 2023.03.06 - [데이터베이스/MongoDB] - [MongoDB] 빠른 탐색을 위한 인덱싱(indexing) [MongoDB] 빠른 탐색을 위한 인덱싱(indexing) NestJS(typegoose)에서 MongoDB를 빠르게 탐색하기 위해 인덱스를 사용하는 방법, explain.executionStats를 사용하여 실행속도 확인 아래와 같이 십만개(100,000)의 더미 유저 데이터가 있다. 데이터의 형식은 1 kfdd6630.tistory.com 1. 인덱스 순서와 검색에 있어서 검색은 정렬에 비해 인덱스.. 2023. 3. 20.
자료구조 및 자료구조의 유형, 자료구조를 알아야 하는 이유 데이터 구조(DSA_Data Structure Architecture) 및 데이터 구조의 유형, 알고리즘에서 데이터 구조를 왜 알아야 할까? 데이터 구조란 무엇인가? 1. 데이터 구조는 데이터를 저장하고 구성하는 데 사용되는 저장소이다. 2. 효율적으로 접근하고 변경할 수 있도록 컴퓨터에서 데이터를 할당하는 방법이다. 3. 요구 사항 및 프로젝트에 따라 프로젝트에 적합한 데이터 구조를 선택하는 것이 중요하다. 4. 예를 들어 데이터를 메모리에 순차적으로 저장하려는 경우 배열 데이터 구조로 이동할 수 있다. 5. 데이터 구조와 데이터 유형은 약간 다르다. (데이터 유형은 type이라고 생각하면 편하다) 6. 데이터 구조는 특정 순서로 정렬된 데이터 유형의 모음이다. 알고리즘에서 데이터 구조를 왜 알아야 할.. 2023. 3. 19.
알고리즘이란 무엇이고 예시와 좋은 알고리즘은 뭘까? 알고리즘이란?, 알고리즘의 예, 좋은 알고리즘이란? 알고리즘이란? 1. 컴퓨터 프로그래밍 용어에서 알고리즘은 특정 문제를 해결하기 위한 잘 정의된 명령 집합이다. 2. 일련의 입력을 받아 원하는 출력을 생성한다. 알고리즘의 예) 두 숫자를 사칙연산으로 계산하는 알고리즘은 다음과 같다. 1. 두 개의 숫자 입력 받기 2. 덧셈(+), 뺄셈(-), 곱셈(×, *), 나눗셈(÷, /) 연산자를 사용하여 숫자 추가 3. 결과 표시 위와 같은 순서로 이루어진게 두 숫자를 더하는 알고리즘이다. 2번의 로직부분뿐만 아니라 1번의 입력과 3번의 출력 또한 굉장히 중요하다. 좋은 알고리즘이란? 1. 입력과 출력은 정확하게 정의되어야 한다. 2. 알고리즘의 각 단계는 명확해야 하고 어떤 사람이 보더라도 모호하지 않아야 한.. 2023. 3. 19.
[React, Next.js] useEffect 정리 (마운트, 언마운트, 값 변경) useEffect Hook 정리 1. useEffect를 사용 할 때에는 첫번째 파라미터에는 함수, 두번째 파라미터에는 의존값이 들어있는 배열 (deps)을 넣는다. 2. deps 배열을 비우게 된다면, 컴포넌트가 처음 나타날때에만 useEffect 에 등록한 함수가 호출된다. 3. useEffect 에서는 함수를 반환 할 수 있는데 이를 cleanup함수라고 부른다. * cleanup함수는 useEffect 에 대한 뒷정리를 해주는 개념으로 렌더링이 될 때, 이전에 남은 함수가 실행되어 메모리 누수가 일어나는 일을 막을 수 있다. 마운트 시에 하는 작업들 - props 로 받은 값을 컴포넌트의 로컬 상태로 설정 - 외부 API 요청 (REST API 등) - 라이브러리 사용 (D3, Video.js 등.. 2023. 3. 18.
[DB] 정규화(Normalization) 관련 정리 [DB] 정규화, 이상, 1NF, 2NF, 3NF, BCNF, 4NF, 5NF, 정규화의 장, 단점 정리 정규화란?1. 데이터의 중복과 중복으로 인한 이상(Anomaly)을 최소한으로 줄이기 위한 방법이다.2 .이상현상이 존재하는 릴레이션을 분해하여 여러 개의 릴레이션을 생성하게 된다.3. 이를 단계별로 구분하여 정규형이 높아질수록 이상현상은 줄어들게 된다. 이상(Anomaly)이란? - 삽입 이상(Insertion Anomaly) : 튜플 삽입시 불필요한 데이터가 함께 삽입되거나 데이터가 부족해 삽입이 되지 않는 현상이다. - 갱신 이상(Modification Anomaly) : 중복 튜플 중 일부만 변경되어 데이터가 불일치가 발생하는 현상이다. - 삭제 이상(Deletion Anomaly) : 튜플 .. 2023. 3. 17.
[React, Next.js] useEffect를 사용해서 값이 변경될 때 코드실행 [React, Next.js] useEffect라는 Hook을 사용해서 값이 변경될 때 제어코드 React 값이 변경될 때, 일부 코드를 실행해야 할때 사용하는 코드 function HookComponent(data) { useEffect(() => { // 렌더링 이후 실행할 코드 console.log('data 값이 설정'); return () => { // 컴포넌트가 사라질 때 실행되는 코드 console.log('data 값이 설정 전'); } }, [data]); return ( 컴포넌트 HTML 구성부 ); } 위 코드는 1. 처음에 페이지가 렌더링 됐을 때 L4의 콘솔이 찍힌다. 2. props로 받은 data값이 변경될 때 L4의 콘솔이 찍힌다. 3. data값이 변경되기 직전에 L7의 콘.. 2023. 3. 17.
[React, Next.js] useEffect를 사용해서 컴포넌트가 사라질 때 코드실행 [React, Next.js] useEffect라는 Hook을 사용해서 컴포넌트가 사라질 때 제어코드 React 구성 요소가 사라질 때, 일부 코드를 실행해야 할때 사용하는 코드 function HookComponent() { useEffect(() => { return () => { // 컴포넌트가 사라질 때 실행되는 코드 } }, []); return ( 컴포넌트 HTML 구성부 ); } 위 코드는 컴포넌트가 사라질 때(컴포넌트가 언마운트 될 때) L4주석부분의 코드가 실행된다. 2023. 3. 17.
반응형