본문 바로가기

Programming

(25)
객체 - 프로토타입(Prototype) 1. 프로토타입(Prototype) 1-1. 프로토타입(Prototype)이란? : 프로토타입은 원형이라는 뜻으로 객체의 프로토타입(원형)을 가지고 새로운 객체를 생성해가는 프로그래밍 방식이다. 함수 객체에는 프로토타입이라는 특수한 유형의 객체 프로퍼티(속성)가 존재한다. 이러한 prototype의 프로퍼티를 통해 생성자 함수는 인스턴스에게 프로토타입 객체에 있는 데이터 메소드를 상속한다. Prototype 객체는 new 연산자에 의해서 생성된 객체들에게 공유된 프로퍼티, 메서드 등을 제공하기 위해서 사용된다. 자바스크립트는 프로토타입 기반의 언어로 기존에는 클래스(Class)가 존재하지 않았기때문에 객체의 원형인 프로토타입을 아용하여 객체의 확장과 재사용, 상속등을 구현했다. const fruit = ..
ES6 심볼(Symbol) 타입 1. 심볼(Symbol) 타입이란? : ES6에서 새롭게 도입된 원시형 타입 중 하나로 객체의 속성으로 사용한다. - 유일한 식별자(unique identifier)를 만들고 싶을 때 사용한다. - 유일무이한 값을 갖는다. - 변경 불가능한 불변 값이다. ※원시형과 참조형 1. 원시형 : 객체가 아니면서 메서드를 가지지 않는 타입들로 원시형은 모두 하나의 정보 즉, 데이터를 담고 있다. 원시 자료형이 할당될 때에는 변수에 값(value) 자체가 담긴다 원시형 종류 - Number, String, Boolean, Undefined, Null, Symbol(ES6) 2. 참조형 : 원시형이 아닌 모든 타입들로 원시형 데이터의 집합이다. 참조 자료형이 할당될 대는 보관함의 주소(reference)가 담긴다. ..
ES6 set() 반복 1. 반복문 : 같은 명령을 반복하여 수행해야 할 경우 일정 횟수만큼 수핼할 수 있도록 제어하는 실행문이다. 1-1. for() : 고전적인 for 반복문 let arr = ['A', 'B', 'C', 'D', 'E']; for (let i = 0; i < arr.length; i++) { console.log(i);// 0: 'A', 1: 'B', 2: 'C', 3: 'D', 4: 'E' } 1-2. forEach() : 배열 순회 전용 forEach() 메서드를 사용한 반복문 - element 요소가 하나씩 입력되어 반복하여 실행 arr.forEach(function(x) { console.log(x);// 0: 'A', 1: 'B', 2: 'C', 3: 'D', 4: 'E' }); /* 화살표를 이..
Javascript - ES6 set() 자료구조 1. 데이터 자료구조 : 대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조(집합)이다. - Javascript의 자료 구조로는 배열(Array), 스택(Stack), 큐(Queue), 해시 테이블(Hash Table), 연결 리스트(Linked List), 트리(Tree), 그래프(Graph), Map, Set이 존재한다. Map과 Set은 ES6부터 추가된 자료구조이다. 1-1. Set : key가 없는 값이 저장되며 중복된 값을 허용하지 않는 특징을 제외하면 배열과 유사하다. 1-2. Set의 특징 : value들의 집합 또는 컬렉션으로 key가 존재하지 않는다. 배열은 같은 값을 가질 수 있지만 set은 같은 값을 중복해서 가질 수 없다. 중복해서 같은 값을 추가해도 처음 추가한 하나의 값만..
SQL(Structured Query Language)이란? 1. SQL(Structured Query Language)이란? : Database를 사용할 때 Database에 접근할 수 있는 데이터베이스 하부 언어로 데이터베이스용 질의언어(Query Language)의 일종이다. 2. SQL 명령어 종류 DDL(Data Definition Language, 데이터 정의어) DML(Data Manipulation Language, 데이터 조작어) DCL(Data Control Language, 데이터 제어 언어) TCL(Transaction Control Language, 트랜잭션 제어 언어) 3. DDL(Data Definition Language, 데이터 정의어) : 데이터베이스를 구조 또는 스키마(Schema)를 정의하는 언어 CREATE: 테이블 생성 AL..
React.js - Babel과 JSX의 특징 1. Babel이란? : ES6로 작성된 code를 ES5로 변환해주는 것이다. 웹 사이트를 만들 때 여러가지 브라우저를 호환해야하는데 최신 브라우저인 chrome, firefox는 ES6를 지원하지만 구 버전 브라우저와 internet explorer를 지원하지 않기 때문에 변환이 필요하다. 2. ES6 Class : 클래스는 ES6에 새로 도입된 문법으로 클래스를 선언할 경우에는 아래와 같이 선언할 수 있다. 클래스에는 생성자와 메소드가 존재하고, 자바스크립트 안에서는 메소드만 생성할 수 있다. class className { constructor(height, width) { this.height = height; this.width = width; } } 3. JSX란? : JavaScript 코..
Node.js 란? - 특징 및 장단점 1. Node.js란?: Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임으로 웹 브라우저 환경이 아닌 곳, 외부에서 자바스크립트를 사용하여 연산할 수 있게 해주는 플랫폼이다.※런타임: 프로그래밍 언어가 구동되는 환경 2. Node.js의 특징- V8 엔진 : 프로퍼티에 빠르게 접근한다. V8은 객체에 새로운 프로퍼티를 추가할 때 hidden class를 생성하고 hidden class에 프로퍼티의 정적인 위치(offset)를 지정함으로써 실제 데이터가 저장되어 있는 위치에 대한 Pointer를 제공한다. - Non blocking I/O: Node.js 라이브러리의 모든 API는 비동기식(Async)이다. Node.js 기반의 서버는 API가 실행되었을 때, 데이터를 반환..
개발환경 셋팅 - STS4 (Spring Tools Suite4) for Eclipse IDE 설치 1. STS4 설치하기 1-1. Spring 사이트에 접속한다. http://spring.io/tools Spring Tools 4 is the next generation of Spring tooling Largely rebuilt from scratch, Spring Tools 4 provides world-class support for developing Spring-based enterprise applications, whether you prefer Eclipse, Visual Studio Code, or Theia IDE. spring.io 1-2. 자신의 운영체제에 해당하는 파일을 선택 후 다운 받는다. 1-3. 다운로드 받은 파일을 클릭하여 설치가 완료되면 설치된 폴더의 SpringTo..