일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자료구조
- react 기초
- 알고리즘
- Python
- 개발공부
- 파이썬
- Computer Science
- 글또
- 컴퓨터공학
- java
- 코드스테이츠
- JavaScript
- context switching
- 자바스크립트
- node.js
- 비동기
- Zerobase
- REACT
- algorithm
- OS
- codestates
- Operating System
- typeScript
- 프로그래머스
- 운영체제
- 자바
- 파이썬 알고리즘 인터뷰
- python algorithm
- execution context
- useState
- Today
- Total
목록분류 전체보기 (108)
Back to the Basics
삭제 연산 동작 길이가 5인 리스트에서 index 1에 있는 요소를 지우고 싶은 경우 인덱스 1 뒤에 있는 데이터를 모두 한 칸씩 앞으로 밀어서 저장한다. 인덱스 1에 인덱스 2에 있는 요소를 저장한다 인덱스 2에 인덱스 3에 있는 요소를 저장한다 인덱스 3에 인덱스 4에 있는 요소를 저장한다 동적 배열에서 접근할 수 있는 인덱스 범위도 1을 줄여준다동적 배열은 배열의 크기와 개발자가 사용하는 인덱스들의 범위를 따로 관리한다. 삭제 연산 시간 복잡도 삭제 연산도 아무 위치에 있는 데이터를 삭제할 때와 맨 뒤 데이터를 삭제할 때, 두 경우도 나눠서 생각할 수 있다. 최악의 경우 : 맨 앞의 데이터를 지울 때 삭제 연산은 최악의 경우 삭제할 데이터가 맨 앞에 있는 경우이다. 인덱스 1부터 끝까지 모든 요소들..
Node.js - fetch API How to use 기초 편 이번 포스팅에는 Node.js의 API 중 하나인 fetch API에 대해 간단히 알아본 내용과 기본적인 사용법에 대한 내용을 정리하였다. 참고 사이트들 MDN How to use Fetch Fetch API는 URL을 통해 network 요청을 해주는 API이다. Fetch API를 통해 network resource에 접근이 가능하고 HTTP 요청, 파일 다운로드 및 업로드 등의 작업을 가능하게 해 준다. // ! Syntax const fetchResponsePromise = fetch(resource [, init]) Parameters resource : URL 또는 Request object options : request에 추가..
appen는 동적 배열의 끝에 요소를 추가해주는 반면 insertion은 원하는 위치에 요소를 삽입한다. 추가 연산의 시간 복잡도 appen와 마찬가지로 아래 두 경우로 볼 수 있다. 경우1 : 정적 배열에 남는 공간이 있을 때 : 배열 중간에 새로운 요소를 넣을 경우, 가장 뒤의 요소부터 insertion 할 위치까지의 요소들을 하나씩 뒤로 밀어준다. 그 후 빈 공간에 요소를 저장한다. 시간 복잡도 : 최악의 경우 index 0에 요소를 추가할 경우엔 모든 index를 하나씩 뒤로 밀어주게 된다. index로 요소에 접근하는 경우 O(1)이며 n번 반복하므로 O(n)이 된다. 경우 2 : 정적 배열이 찼을 때 : 새로운 배열을 만든 후 기존 데이터를 복사하여 저장한다. 그 후 위와 비슷하게 인덱스를 뒤..
정적 배열 : 배열의 길이가 정해져서 변하지 않는 배열 동적 배열 (dynamic array) : 배열의 길이가 동적으로 변하는 배열: 배열이 꽉 찼을 때 다른 메모리 공간에 기존 배열 크기의 두 배의 공간을 할당하고, 기존 배열을 복사하는 형식으로 내부적으로 공간을 늘린다 동적 배열은 내부적으로는 정적 배열을 기반으로 한 자료구조라고 한다. 그림출처 추가 연산 (append operation) 시간 복잡도 append는 아래의 그림과 같이 배열의 끝에 요소를 추가해주는 연산이다. 그림출처 동적 배열에 값을 추가할 때 시간 복잡도를 알아보자 경우 1 : 정적 배열 남는 공간 있을 때 단순히 index를 이용하여 접근하므로 O(1)이다. 겨우 2: 정적 배열이 꽉 찼을 때 값을 추가하기 위해 현재 사용 중..
Async 이번 포스팅은 이번 주 진행했던 Pair Programming으로 진행한 Async Sprint에 대한 리뷰로 작성하였다. 이번 Sprint의 목표는 1. Node.js의 fs module을 사용하여 비동기 코드를 Callback , Promise, Asyn키워드로 코드를 작성하는 것과 2. fetch API를 활용한 Network 요청과 처리에 대한 간단한 코드를 짜보는 것이다. 구글링이나 강의를 통해 이해했던 것보다 훨씬 공부가 되었던 시간이었다. 1. 비동기 - fs 모듈을 사용한 파일 읽기 이번 Sprint에서 사용 할 Node.js 모듈인 fs.readFile에 대해 간단히 정리해보자. fs.readFile 공식문서 를 참고하였다. fs.readFile(path[, options], ..
이번 포스팅은 Node.js란 무엇이고 모듈을 사용하는 방법에 대한 공부한 내용에 대한 정리 포스팅이다. 1. Node.js란?? Node.js 의 정의 Node.js는 로컬 환경에서 JavaScript를 실행할 수 있는 자바스크립트 런타임이다. 런타임이란? Wikipedia에 따르면 , "In computer science, runtime, run time, or execution time is the final phase of a computer program's life cycle, in which theon the computer's central processing unit as machine code." 이라고 한다. 간단하게 해석을 해보면 CPU에서 기계어 코드가 실행되고 있는 단계하고 보면..
Asynchronous 이번 포스팅에서는 JavaScrit에서 Asynchronous 흐름을 구현하는 방법들에 대해 정리해 보겠다. JavaScript의 비동기 흐름은 callback, promise, async/await 중 하나의 문법으로 구현이 가능하다. 비동기 함수 전달 패턴 1: callback 패턴 비동기 함수 전달 패턴 2 : 이벤트 등록 패턴 1. Callback pattern callback 함수를 동기적으로 사용하는 경우와 비동기 적으로 사용하는 경우에 대해 비교해보자. 동기적으로 사용하는 경우 (이전에 예시로 사용했던 코드가 잘못되어 다시 수정했습니다ㅜ) 아래의 코드를 실행하면 sleep함수는 3초 후에 cb함수를 실행한다. 그리고 나서야 222를 출력한다. 즉, 222를 출력하는 코..
Asynchronous Achievement Goals Synchronous의 개념에 대해 이해한다. Asynchronous의 개염에 대해 이해한다. Asynchronous를 왜 사용하는지 이해한다. 1. 비동기 호출이란? 1. 동기(Synchronous) 비동기를 이해하기 위해 동기(Synchronous)를 먼저 알아보자. 실행 완료 시점과 실행 시작 시점이 같은 것을 동기적(Synchronous)이다 라고 한다. 요청에 대한 결과가 동시에 일어난다. 요청에 blocking이 있다. blocking이란, "A process that is blocked is one that is waiting for some event" 앞의 실행이 끝날 때까지 다른 작업을 하지 못함을 의미한다. 상당리 long-run..