목록IT 지식 기록 (106)
쑤쑤_CS 기록장
동기식 처리 모델(Synchronous processing model) 직렬적으로 task를 수행 태스크는 순차적으로 실행되며 어떤 작업이 수행 중이면 다음 작업은 대기한다. 서버에서 데이터를 가져와서 화면에 표시할 때, 서버에 데이터를 요청하고 데이터가 응답될 때까지 이후 태스크들은 블로킹(blocking, 작업 중단)된다. 비동기식 처리 모델(Asynchronous processing model) 병렬적으로 task를 수행 태스크가 종료되지 않은 상태라 하더라도 대기하지 않고 다음 태스크를 실행한다. 서버에서 데이터를 가져와서 화면에 표시할 때, 서버에 데이터를 요청한 후 서버로부터 데이터가 응답될 때까지 대기하지 않고(Non-Blocking) 즉시 다음 태스크를 수행한다. 이후 서버로부터 데이터가 ..
#1. DOM ( Document Object Model ) DOM 브라우저의 렌더링 엔진 : 웹 문서를 로드 -> 파싱하여 웹 문서를 브라우저가 이해할 수 있는 구조로 구성 ->메모리에 적재 모든 요소와 어트리뷰트, 텍스트를 각각의 객체로 만들고 이를 부자 관계로 표현할 수 있는 트리구조로 구성한 것 DOM API (Application Programming Interface) 웹 문서의 동적 변경을 위해 일반적으로 프로퍼티와 메소드를 갖는 자바스크립트 객체로 제공 정적인 웹페이지에 접근하여 동적으로 웹페이지를 변경하기 위한 방법 : DOM 변경 DOM에 접근하고 변경하는 프로퍼티와 메소드의 집합 : DOM API - HTML 문서에 대한 모델 구성 : 브라우저는 HTML 문..
고차 함수 (Higher order function) : 함수를 인자로 전달받거나 함수를 결과로 반환하는 함수 - 인자로 받은 함수를 필요한 시점에 호출하거나 클로저를 생성하여 반환한다. // 함수를 인자로 전달받고 함수를 반환하는 고차 함수 function makeCounter(predicate) { // 자유 변수. num의 상태는 유지되어야 한다. let num = 0; // 클로저. num의 상태를 유지한다. return function () { // predicate는 자유 변수 num의 상태를 변화시킨다. num = predicate(num); return num; }; } // 보조 함수 function increase(n) { return ++n; } // 보조 함수 function dec..
밀집 배열(dense array) 동일한 크기의 메모리 공간이 빈틈없이 연속적으로 나열된 자료구조 요소는 하나의 타입으로 통일되어 있으며, 서로 연속적으로 인접 인덱스를 통해 임의의 요소에 접근할 수 있다. (이는 매우 효율적이며 고속으로 동작한다.) 단점 정렬되지 않은 배열에서 특정한 값을 탐색하는 경우, 모든 배열 요소를 처음부터 값을 발견할 때까지 차례대로 탐색(선형 탐색(linear search), 시간 복잡도 O(n))해야 한다. 배열에 요소를 삽입하거나 삭제하는 경우, 배열 요소를 연속적으로 유지하기 위해 요소를 이동시켜야 한다. // 선형 검색을 통해 주어진 배열(array)에 주어진 값(target)이 요소로 존재하는지 확인하여 // 존재하는 경우 해당 인덱스를 반환하고 존재하지 않는 경우..
배열(array) 1개의 변수에 여러 개의 값을 순차적으로 저장할 때 사용한다. 자바스크립트에서 배열은 객체이며 유용한 내장 메소드를 포함하고 있다. Array 생성자로 생성된 Array 타입의 객체이며, 프로토타입 객체는 Array.prototype이다. #1. 배열의 생성 #1.1 배열 리터럴 0개 이상의 값을 쉼표로 구분하여 대괄호([])로 묶는다. 존재하지 않는 요소에 접근하면 undefined 반환한다. const emptyArr = []; console.log(emptyArr[1]); // undefined console.log(emptyArr.length); // 0 const arr = [ 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 's..
String 객체 원시 타입인 문자열을 다룰 때 유용한 프로퍼티와 메소드를 제공하는 레퍼(wrapper) 객체이다. 문자열을 값으로 가지고 있다면 String 객체의 별도 생성없이 String 객체의 프로퍼티와 메소드를 사용할 수 있다. 원시 타입이 wrapper 객체의 메소드를 사용할 수 있는 이유는, 원시 타입으로 프로퍼티나 메소드를 호출할 때 원시 타입과 연관된 wrapper 객체로 일시적으로 변환되어 프로토타입 객체를 공유하게 되기 때문이다. const str = 'Hello world!'; console.log(str.toUpperCase()); // 'HELLO WORLD!' #1. String Constructor String 객체는 String 생성자 함수를 통해 생성할 수 있다 전달된 인..
#1. 정규표현식(Regular Expression) 정규표현식(Regular Expression) : 문자열에서 특정 내용을 찾거나 대체 또는 발췌하는데 사용한다. - 반복문과 조건문을 사용한 복잡한 코드도 정규표현식을 이용하면 매우 간단하게 표현할 수 있다. - 정규표현식은 리터럴 표기법으로 생성할 수 있다. 정규표현식을 사용하는 메소드 const targetStr = 'This is a pen.'; const regexr = /is/ig; // RegExp 객체의 메소드 console.log(regexr.exec(targetStr)); // [ 'is', index: 2, input: 'This is a pen.' ] console.log(regexr.test(targetStr)); // true ..
Date 객체 날짜와 시간(년, 월, 일, 시, 분, 초, 밀리초)을 위한 메소드를 제공하는 빌트인 객체이면서 생성자 함수이다. 생성자 함수로 생성한 Date 객체는 내부적으로 숫자값을 갖는다. #1. Date Constructor Date 객체는 생성자 함수이다. Date 생성자 함수는 날짜와 시간을 가지는 인스턴스를 생성한다. 이는 기본적으로 현재 날짜와 시간을 나타내는 값을 가진다. 현재 날짜와 시간이 아닌 다른 날짜와 시간을 다루고 싶은 경우, Date 생성자 함수에 명시적으로 해당 날짜와 시간 정보를 인수로 지정한다. Date 생성자 함수로 객체를 생성하는 방법(4) new Date() 인수를 전달하지 않으면 현재 날짜와 시간을 가지는 인스턴스를 반환한다. const date = new Date..