목록전체 글 (20)
JS Dev Blog
MERN stack은 Javascript 생태계에서 인기 있는 프레임워크인 MongoDB, Express, React Node를 말한다. 이 중에서 Express.js는 Node.js 환경에서 웹 서버, 또는 API 서버를 제작하기 위해 사용되는 인기 있는 프레임워크이다. Express로 구현한 서버가 http 모듈로 작성한 서버와 다른 점 - 미들웨어 추가가 편리하다 - 자체 라우터를 제공한다. Express 설치 및 서버 만들기 공식 문서 링크 : https://expressjs.com/ko/ Express - Node.js 웹 애플리케이션 프레임워크 Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크 $ npm install express --save expressjs.com 순수 node...
삽입정렬은 한 번에 한 항목씩 정렬 된 배열을 작성한다. 시간 복잡도 O(N^2) 장점 안정적인 정렬 알고리즘 배열이 대부분 정렬되어 있는 경우 매우 효율적 단점 배열 안의 요소들의 이동이 많다. 배열이 큰 경우 비효율 적이다. 예제 코드 const insertionSort = function (arr) { // TODO: 여기에 코드를 작성합니다. for ( let i =0; iarr[index]){ let temp = arr[index-1]; arr[index-1] = arr[index]; arr[index]=temp; index--; } } return arr; ..
그래프의 탐색은 하나의 정점에서 시작해서 모든 정점들을 한 번씩 탐색하는 것이 목적이다. 대표적인 방법 BFS, DFS는 데이터를 탐색하는 순서만 다를 뿐, 모든 자료를 하나씩 확인해 본다는 점은 같다. 장단점이 분명하기 떄문에 상황에 맞는 탐색 방법을 사용해야 한다. BFS(Breadth-First Search) 너비우선탐색. 가까운 정점부터 탐색한다. 주로 두 정점 사이의 최단 경로를 찾을 때 사용한다. 만약 경로를 하나씩 전부 방문한다면 최약의 경우에는 모든 경로를 다 살펴봐야 한다. DFS(Depth-Frist Search) 깊이 우선 탐색. 하나의 경로를 끝까지 탐색한 후, 찾는 정점이 없다면 다음 경로로 넘어가 탐색한다. 하나의 경로를 끝까지 들어가서 확인하고 다음으로 넘어가기 때문에 운이 좋..
클로저는 함수와 함수가 선언된 어휘적 환경의 조합이다. function init() { var name = "Mozilla"; // name은 init에 의해 생성된 지역 변수이다. function displayName() { // displayName() 은 내부 함수이며, 클로저다. alert(name); // 부모 함수에서 선언된 변수를 사용한다. } displayName(); } init(); displayName()은 자신만의 지역 변수가 없다. 그런데 함수 내부에서 외부 함수에 변수에 접근할 수 있기 때문에 displayName() 역시 부모 함수 init()에서 선언된 변수 name에 접근할 수 있다. 이는 어휘적 범위 지정(Lexical scoping)의 예이다. 변수가 어디에서 사용 가능..
배열 내장 고차함수중 대표적으로 filter, map, reduce가 있다. 배열 내장함수를 사용하면 for문이 가진 순회를 별다른 코드를 작성하지 않고도 사용할 수 있기 때문에 매우 유용하디. filter 모든 배열의 요소 중에서 특정 조건을 만족하는 요소를 걸러내는 메소드. const numbers = [1, 2, 3, 4, 5]; const result = numbers.filter((number) => number < 3); console.log(numbers); // [1, 2, 3, 4, 5]; console.log(result); // [1, 2] map 주어진 배열의 값들을 callback function을 통해 새로운 값으로 정의하고 신규 배열을 만들어 반환함 const numbers =..
프로그래밍 언어에서 특정언어의 일급 객체(first-class object)란 보통 다른 객체들에게 적용 가능한 연산을 모두 지원하는 객체를 말한다. 대표적인 특징으로는, 변수에 할당 할 수 있다. 다른 함수의 인자로 전달될 수 있다. 다른 함수의 결과로서 리턴될 수 있다. 자바스크립트에서는 함수를 일급객체로 다룬다. 즉 함수를 string, number, boolean ,array, object 처럼 다룰 수 있다는 것이다. 함수를 일급객체로 다루면 할 수 있는 일은? 대표적으로 고차함수와 콜백함수가 있다. 고차함수 함수를 인자로 받거나 함수를 결과로 리턴하는 함수 콜백함수 인자로 받는 함수를 말한다. //일반 함수 const func = function(a) { return console.log(a)..