본문 바로가기

분류 전체보기90

[Javascript 강의]19강 에러 처리 에러 처리 에러 처리의 필요성 에러가 발생하지 않는 코드를 작성하는 것은 불가능하다. 따라서 에러는 언제나 발생할 수 있다. 발생한 에러에 대해 대처하지 않고 방치하면 프로그램은 강제 종료된다. 예제1) 에러 처리를 하지 않는 경우 console.log('[Start]'); foo(); //ReferenceError: foo is not defined console.log('[End]'); //에러에 의해 프로그램이 종료되어 코드가 실행되지 않는다. 예제2) try...catch문을 사용해 에러 처리를 하면 계속해서 코드를 실행시킬 수 있다. console.log('[Start]'); try{ foo(); }catch(error){ console.error('[에러발생]',error); //[에러발생] .. 2022. 2. 6.
[Javascript 강의] 18강 Set과 Map Set과 Map Set Set 객체는 중복되지 않는 유일한 값들의 집합이다. 배열과 유사하지만 다음과 같은 차이가 있다 1. 동일한 값을 중복하여 포함할 수 없다 2. 요소 순서에 의미가 없다 3. 인덱스로 요소에 접근할 수 없다. Set 객체의 특성은 수학적 집합의 특성과 일치한다. Set은 수학적 집합을 구현하기 위한 자료구조다. 따라서 Set을 통해 교집합, 합집합, 차집합, 여집합 등을 구현할 수 있다. #Set 객체의 생성 const set = new Set(); console.log(set); //Set(0){} const set1 = new Set([1,2,3,3]); console.log(set1); //Set(3)[1,2,3] //배열의 중복 요소 제거 const uniq = array .. 2022. 2. 5.
[Javascript 강의] 17강. use strict, Symbol, 스프레드 문법, 디스트럭처링 할당 use strict, Symbol, 스프레드 문법, 디스트럭처링 할당 strict mode ES5부터 strict mode(엄격모드)가 추가되었다. strict mode는 자바스크립트 언어의 문법을 좀 더 엄격히 적용하여 오류를 발생시킬 가능성이 높거나 자바스크립트 엔진의 최적화 작업에 문제를 일으킬 수 있는 코드에 대해 명시적인 에러를 발생기킨다. 예제1) 'use strict'; function foo(){ x = 10; // ReferenceError: x is not defined } foo(); 예제2) function foo(){ 'use strict'; x = 10; // ReferenceError: x is not defined } foo(); 예제3) function foo(){ x = .. 2022. 2. 4.
SQL 옵티마이저 SQL 옵티마이저 통계정보와 비용 계산 원리 #선택도(Selectivity) 전체 레코드 중에서 조건절에 의해 선택되는 레코드 비율을 말한다. 선택도 = 1 / NDV (Number of Distinct Value, 컬럼 값 종류 개수) 상품분류 컬럼에 가전, 의류, 식음료, 생활용품 4개의 값이 있을 때 선택도는 1/4 = 25% 이다. #카디널리티(Cardinality) 전체 레코드 중에서 조건절에 의해 선택되는 레코드 개수 카디널리티 = 총 로우 수 * 선택도 = 총 로우 수 / NDV 전체 레코드가 10만건이면, 카디널리티는 10만 / 4 = 2만 5천이다. 옵티마이저는 이렇게 카디널리티를 구하고, 그만큼의 데이터를 액세스하는 데 드는 비용을 계산해서 테이블 액세스 방식, 조인 순서, 조인 방식 .. 2022. 1. 30.