전체 글

MongoDB 소개 및 설치하기 MongoDB의 특징과 설치하는 방법에 대해 알아보겠습니다. 1. MongoDB MongoDB는 C++로 작성된 문서지향적(Document-Oriented) NoSQL(Not Only SQL) 오픈 소스 데이터베이스입니다. MongoDB에서 사용되는 데이터 형태는 다음과 같습니다. { _id: ObjectId("5099803df3f4948bd2f98391"), userName: "freestrokes", name: { first: "Harry", last: "Kim" } } MongoDB의 데이터 구조를 RDBMS와 비교하여 정리하면 다음과 같습니다. Field RDBMS의 column과 유사한 개념입니다. Document RDBMS의 row(record)와 유사한 개념입..
JavaScript 배열 메서드 JavaScript 배열에서는 다양한 빌트인 메서드를 제공합니다. 배열의 메서드는 원본 배열을 변경하는 메서드(Mutator Method)와 새로운 배열을 생성하는 메서드(Accessor Method)가 있는데, 원본 배열을 변경하지 않는 메서드의 사용이 권장됩니다. 배열의 메서드 중에서 사용 빈도가 높은 메서드들을 정리하였습니다. 1. 정적 메서드 (Static Method) Array() 생성자 함수에서 제공하는 정적 메서드입니다. 1.1. Array.isArray() isArray() 메서드는 전달된 파라미터의 배열 여부를 판별하여 true/false를 반환합니다. console.log(Array.isArray([])); // true console.log(Array..
JavaScript 배열 배열은 여러 개의 요소들을 순차적으로 나열한 자료구조입니다. JavaScript에서는 배열은 다루기 위한 유용한 메서드들을 제공합니다. 1. 배열의 특징 화살표 함수는 ES6에서 도입된 문법입니다. function 키워드를 사용하는 것보다 간결하고 항상 익명으로 동작합니다. 1.1. JavaScript의 배열 JavaScript의 배열은 우리가 일반적으로 알고있는 배열처럼 요소(element)라고 부르는 값을 가지며 배열의 요소는 위치를 나타내는 index를 가지고 있습니다. JavaScript에서 배열은 객체 타입으로 분류되지만, 배열은 값의 순서와 length 프로퍼티를 갖는 특징으로 인하여 일반 객체와 구분됩니다. const arr = ['macbook', 'iphone',..
JavaScript 상수와 리터럴 상수와 리터럴은 대부분의 언어에서 많이 사용하지만 분명한 차이가 있는 개념입니다. JavaScript를 기준으로 각각의 차이점에 대해 정리해봤습니다. 1. 상수 상수는 일종의 변수이며 변수처럼 값을 저장하기 위한 메모리 공간을 필요로 합니다. 일반적인 변수는 재할당을 통하여 값을 변경할 수 있지만 상수로 사용하는 변수에는 값의 재할당을 할 수 없다는 차이점이 있습니다. 상수는 상태 유지, 가독성, 유지보수의 편의성 등을 위해 사용하는 것이 좋습니다. JavaScript에서 상수는 const 키워드를 사용하여 선언합니다. const 키워드로 선언한 변수는 재할당을 할 수 없게 됩니다. 하지만 상수에 primitive type의 값이 아닌 객체를 할당한 경우엔 값의 변경이 ..
JavaScript 객체 JavaScript의 객체는 0개 이상의 프로퍼티(key, value) 또는 메서드로 구성된 집합체입니다. JavaScript는 객체 기반의 스크립트 언어이며 JavaScript의 거의 모든 것들이 객체로 구성되어 있습니다. 따라서 JavaScript에서 사용 가능한 모든 값은 프로퍼티 값으로 사용이 가능합니다. 프로퍼티 (property) key와 value로 구성되어 객체의 상태를 나타내는 값 메서드 (method) 프로퍼티의 value가 함수로 구성된 경우이며, 프로퍼티를 참조하고 조작할 수 있는 동작을 정의 또한 원시 타입(primitive type)은 하나의 값만 나타내는 변경 불가능한 값이지만, 객체 타입(object type)은 다양한 타입의 여러 값을 하나의 단위로..
JavaScript Math 객체 JavaScript의 Math 객체는 수학적인 연산을 위한 함수와 상수를 위한 프로퍼티와 메서드를 제공합니다. 빌트인 객체이며 생성자 함수가 아니기 때문에 프로퍼티와 메서드는 static으로 제공됩니다. 1. Math 객체의 Property 1.1. Math.PI Math 객체의 PI 프로퍼티는 원주율 값을 반환합니다. 1 2 3 4 // Math.PI const pi = Math.PI; console.log(pi); // 3.141592653589793 cs 2. Math 객체의 Method 2.1. abs() abs() 메서드는 파라미터로 전달된 숫자값의 절대값을 반환합니다. 반환되는 절대값은 0 또는 양수이며 그 외의 경우는 NaN으로 반환됩니다. 1 2 3 4 5..
JavaScript 배열 고차 함수 JavaScript 배열 고차 함수에 대해 알아보겠습니다. JavaScript 배열의 고차 함수로는 Map, Set, Reduce, Sort, Filter 등이 있습니다. 고차 함수는 함수를 파라미터로 전달받거나 연산의 결과로 반환해주는 역할을 합니다. JavaScript는 다양한 고차 함수를 지원하고 있는데 그 중 Array 객체의 유용한 고차 함수에 대해 정리해보겠습니다. 1. Array.forEach() forEach() 메서드는 for문을 대체하는 고차 함수입니다. 반복문을 추상화하여 구현된 메서드이고 내부에서 주어진 배열을 순회하면서 연산을 수행합니다. for문과는 다르게 break, continue를 사용할 수 없어서 배열의 모든 요소를 중단없이 순회한다는 ..
JavaScript Moment.js 라이브러리 Moment.js 라이브러리는 날짜와 시간에 관련된 데이터의 파싱, 검증, 조작 등을 위해 만들어진 유용한 라이브러리입니다. 이전에 Date 객체를 이용하여 날짜와 시간에 관련된 연산을 할 때는 별도의 공통 함수를 만들어 사용해야 했지만, Moment.js를 사용하면 내장된 함수를 이용하여 간단하게 처리할 수 있습니다. https://momentjs.com/docs/ 1. Moment.js 라이브러리 사용하기 1.1. Node.js Node.js에서 Moment.js 라이브러리는 다음과 같이 사용합니다. 1 npm install moment cs 1 2 var moment = require('moment'); // require moment().format..
MySQL SQLException: Zero date value prohibited 해결하기 MySQL에서 datetime 타입의 컬럼의 값을 조회할 때 다음과 같은 exception이 발생하는 경우가 있습니다. ERROR o.h.e.jdbc.spi.SqlExceptionHelper - Zero date value prohibitedERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.orm.jpa.J..
freestrokes
FREESTROKES DEVLOG