Home
marshmel.log
Cancel

리액트 Hook에 대해 알아보자

React hooks Hook은 React 16.8에 새로 추가된 기능입니다. Hook은 class를 작성하지 않고도 state와 다른 React의 기능들을 사용할 수 있게 해줍니다. -react 공식 문서- Hook을 사용하면 계층의 변화 없이 상태 관련 로직을 재사용 가능하게 도와준다. 많이 사용되는 React Hook을 알아본다. u...

async와 await

비동기(asynchronous) Javascript는 single thread 이므로 서버 요청을 기다려야 하는 경우 사용자는 멈춰있는 브라우저를 보게 된다. 그러므로 동기 처리가 아닌 비동기 처리가 필요하다. 비동기는 코드의 순서와 다르게 실행되는 것을 말한다. 비동기 처리 코드를 감싸고 있는 블럭은 task queue에 넣어진다. Main thr...

다이나믹 프로그래밍 (이것이 취업을 위한 코딩 테스트다)

이것이 취업을 위한 코딩 테스트다를 정리한 글입니다. 다이나믹 프로그래밍 메모리를 적절히 사용해서 수행 시간을 향상시키는 방법이다 한 번 계산한 문제는 다시 계산하지 않도록 구현된다. 완전 탐색보다 시간 복잡도를 줄일 수 있다. 탑 다운과 바텀 업 방식 두가지가 있다 동적 계획법이라고도 한다 최적 부분 구조 ...

Middleware에 대해 알아보자

Middleware Express.js 동작의 핵심인 미들웨어는 Http 요청과 응답 사이에서 단계별 동작을 수행해주는 함수이다. middleware의 동작 원리 Express.js의 미들웨어는 HTTP 요청이 들어온 순간부터 시작된다. 미들웨어는 HTTP 요청과 응답 객체를 처리하거나, 다음 미들웨어를 실행할 수 있다. middleware 작...

Node js 프로젝트 시작하기 (npm과 모듈 사용하기)

NPM npm은 node package manager로 프로젝트의 의존성을 관리할 수 있다. package.json 생성하기 npm init 프로젝트 디렉토리 안에서 위 명령어를 사용하면 package.json파일을 생성되고 Node js프로젝트가 된다. 파일에서는 프로젝트의 정보를 알 수 있다. 의존성 관리하기 npm install [p...

그래프 (Python Algorithm interview 12장)

파이썬 알고리즘 인터뷰 책을 정리한 포스트 입니다. DFS(깊이 우선 탐색) BFS(너비 우선 탐색) def iter_BFS(start_v): discovered = [start_v] queue = [start_v] while queue: v = queue.pop(0) for w in gr...

이진 탐색 (이것이 취업을 위한 코딩 테스트다)

이것이 취업을 위한 코딩 테스트다를 정리한 글입니다. 순차 탐색 순차 탐색은 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법이다. 리스트를 단순히 for문으로 돌면서 원하는 값을 찾는 경우도 순차 탐색이라고 볼 수 있다. 이진 탐색 이진 탐색은 배열 내부의 데이터가 정렬되어 있어야 사용할 수...

Hash map (Python Algorithm interview 11장)

파이썬 알고리즘 인터뷰 책을 정리한 포스트 입니다. 해시맵 디자인 다음의 기능을 제공하는 해시맵을 디자인하라. put(key, value): 키, 값을 해시맵에 삽입한다. 이미 존재하는 키라면 업데이트 한다. get(key): 키에 해당하는 값을 조회한다. 만약 키가 존재하지 않는다면 -1을 리턴한다. remove(key): ...

javascript 내장 함수 (문자열 다루기, map, filter, reduce)

이 포스트는 엘리스 AI 트랙 4기 강의를 듣고 정리한 내용입니다. 문자열 조작하기 문장에서 각 알파벳이 몇개 존재하는지 출력하는 알고리즘을 구현해 보았다. Javascript의 문자열을 조작할 수 있는 내장함수를 사용했다. const stringControll = "hi my name is marshmello!!"; const alph...

deque, 우선순위 큐 (Python Algorithm interview 10장)

파이썬 알고리즘 인터뷰 책을 정리한 포스트 입니다. K개 정렬 리스트 병합 k개의 정렬된 리스트를 1개의 정렬된 리스트로 병합하라. 입력 [ 1->2->5, 1->3->4, 2->6 ] 이 문제에서는 우선순위 큐로 해결할 수 있으며 PriorityQueue모듈을 사용하지 않고 heapq모듈을 사용한다....