Group Study (2022-2023) 83

[Algorithm] 1주차 스터디 - 브루트 포스와 백트래킹

주제 : 시간복잡도와 Big-O 표기법, 브루트 포스와 백트래킹 Big-O 표기법 알고리즘의 성능을 수학적으로 표기해주는 방법. 시간과 공간 복잡도를 표기할 수 있다. O (1) > O (logn) > O (n) > O (nlogn) > O (n^2) > O (n^3) > O (2^n) 위와 같은 성능 순서를 가지고 있다. 브루트 포스 가능한 모든 경우를 다 파악하는 경우 보통 브루트 포스라고 한다. (for문으로 전수조사..) 반복문이 쌓일 수록 지수의 성능을 가지게 된다. 백트래킹 현재 상태에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘. 이름 그대로 이 경우가 아니다 싶으면 다시 돌아가서 다른 경우를 찾는 것. 브루트 포스보다 경우의 수가 줄어들 수 있지만, 최악의 경우 성능이 브루트 포..

[Node.js] 1주차 스터디 : JS 문자열 리터럴, 호이스팅, JS와 Node에서의 모듈

먼저 1주차 강의(구름에듀 섹션 02)를 듣던 중…. 강사님이 var를 쓰시는 것을 보고야 말았다. 그래서 모듈만 적으려고 했는데 호이스팅에 대해서도 적고 싶어졌다. 자바스크립트에서는 변수를 3가지 형태로 선언할 수 있는데, 이는 var, let, const이다. 여기서 const는 상수로 선언하는것이고 var와 let은 변수로 선언한다. 그렇다면 왜 기존에 var가 있는데도 ES6부터 let을 추가했을까? 바로 이유는 var에 호이스팅이라는 아주 치명적인 단점이 있기때문이다. 물론 var, let, const는 이외에도 스코프 차이등 여러 차이점이 존재하지만 가장 큰 주안점인 호이스팅에 대해 주로 말하려고 한다. 호이스팅(hoisting)이란? 인터프리터가 변수와 함수의 메모리 공간을 선언전에 미리 할..

[React] 1주차 스터디 - React 프로젝트 생성하기 & JSX / Redux 시작하기

1 React 1) 리액트는 무엇인가? A JavaScript library for building user interfaces 라이브러리: 자주 사용되는 기능들을 정리해 모아 놓은 것 사용자 인터페이스(User interface, UI): 사용자와 컴퓨터 프로그램이 서로 상호작용을 하기 위해 중간에서 서로 입력과 출력을 제어해 주는 것 ex) 버튼, 텍스트 입력창 2) 프레임워크 vs 라이브러리 프레임워크: 프로그램에 흐름에 대한 제어 권한을 프레임워크가 가지고 있음 라이브러리: 개발자가 필요한 부분만 필요할 때마다 사용하는 형태 3) 리액트의 장점 빠른 업데이트 & 렌더링 속도 - Virtual DOM: 가상의 돔, 빠른 업데이트를 위해 React에서 사용함 - DOM(Document Object M..