[멀티미디어] - 멀티미디어 개요
·
💻 Computer Science/멀티미디어
멀티미디어의 정의 멀티미디어는 "멀티(Multi)"와 "미디어(Media)"의 합성어로, 텍스트, 이미지, 그래픽, 애니메이션 뿐만 아니라 오디오와 비디오를 이용하여 정보가 표현되는 것을 말한다. 멀티미디어는 인간의 시각과 청각 등에 기반한 매체를 이용하여 정보를 전달하기에 이해하기 쉽고 자연스럽게 느껴진다. 다만, 오디오, 비디오 등의 데이터는 텍스트에 비해서 훨씬 크고 처리하는 내용도 복잡하다. 미디어 데이터는 "원시 미디어"와 "디지털 미디어"로 구분된다. 원시 미디어: 물리적 요소인 실제 도구들에 의해 표현되는 미디어 디지털 미디어: 컴퓨터에 의해 데이터 형태로 표현되는 미디어 멀티미디어 데이터는 다양하게 표현 가능한 미디어를 컴퓨터가 읽을 수 있는 형태로 표현된 텍스트, 사운드, 그래픽, 이미지..
[프로그래밍 언어론] - 프로그래밍 언어란 무엇인가
·
💻 Computer Science/프로그래밍 언어론
프로그래밍 언어의 정의 프로그래밍 언어는 프로그램 작성에 사용되는 언어로, 컴퓨터가 수행할 수 있고 사람이 읽을 수 있는 형태로 계산을 나타내는 표기 체계이다. 프로그래밍 언어의 특징은 다음과 같다. 프로그래밍 언어는 말이 아닌 글 형태로 사용된다. 프로그래밍 언어는 엄밀한 규칙을 따르고 있다. 프로그래밍 언어는 기계에 명령을 전달하는 단방향성을 띤다. 그러나 최근에는 사람이 읽기 쉬운 프로그램 언어를 작성하는 능력이 요구된다. 즉, 가독성을 고려해야 하기에 양방향성의 특성도 지닌다. 프로그래밍 언어의 기능 프로그래밍 언어가 제공하는 기본 기능은 크게 3가지가 있다. 작성력(Writability): 프로그래머의 의도를 나타낼 수 있도록 하는 충분한 구성 요소를 갖춰야 한다. 가독성(Readability)..
[JavaScript] - 함수와 일급 객체 (Function and First-Class Object)
·
📜 Web Programming/JavaScript
일급 객체 다음의 조건을 만족시키는 객체를 "일급 객체"라고 한다. 함수는 다음의 조건을 모두 만족하기에 일급 객체이다. 무명의 리터럴로 생성 가능하다. 변수나 자료구조 등에 저장할 수 있다. 함수의 매개변수에 전달 가능하다. 함수의 반환값으로 사용할 수 있다. 함수는 일급 객체이기에 함수의 매개변수에 함수를 전달할 수 있고, 반환값으로 사용 가능하다. 이것이 일급 객체로서 함수가 가지는 가장 큰 특징이다. 함수 객체는 호출이 가능하며, 일반 객체에는 없는 함수 고유의 프로퍼티를 소유한다. 함수 객체의 프로퍼티 함수 또한 객체이기에 프로퍼티를 가질 수 있는데, 함수만이 가지는 특별한 프로퍼티가 존재한다. arguments, caller, length, name, prototype 프로퍼티들이다. 함수 객..
[JavaScript] - 생성자 함수에 의한 객체 생성
·
📜 Web Programming/JavaScript
객체 생성 방법은 여러 가지가 있다. 이번에는 객체 리터럴로 생성하는 방법이 아닌, 생성자 함수를 사용하여 객체를 생성하는 방식에 대해 알아보도록 하겠다. 이때, 생성자 함수란 new 연산자와 함께 호출하여 객체를 생성하는 함수를 말한다. 생성자 함수에 생성된 객체를 인스턴스라고 한다. (빌트인)생성자 함수의 종류로는 Object, String, Number, Boolean, Function, Array, Date, RegExp, Promise 등이 있다. Object 생성자 함수 new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체가 생성되고, 빈 객체를 생성한 이후에는 프로퍼티와 메서드를 추가할 수 있다. // 빈 객체 생성 const person = new Object(); // 프로퍼..
[JavaScript] - 프로퍼티 어트리뷰트 (Property Attribute)
·
📜 Web Programming/JavaScript
내부 슬롯과 내부 메서드 내부 슬롯과 내부 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위한 의사 프로퍼티와 의사 메서드로 [[ ... ]] 방식으로 이중 대괄호로 감싼 이름들이 내부 슬롯과 내부 메서드이다. 내부 슬롯과 내부 메서드는 개발자가 직접 접근하거나 호출할 수는 없다. 다만 일부 내부 슬롯과 내부 메서드에 한해 간접적으로 접근할 수 있다. 프로퍼티 어트리뷰트 자바스크립트 엔진은 프로퍼티를 생성할 때 프로퍼티의 상태(프로퍼티 값, 값의 갱신 가능 여부, 열거 가능 여부, 재정의 가능 여부)를 나타내는 프로퍼티 어트리뷰트를 기본값으로 자동 정의한다. 즉, 프로퍼티 어트리뷰트는 자바스크립트 엔진이 관리하는 내부 슬롯(프로퍼티의 상태를 나타낸다)이다. 프로퍼티 어트리뷰트는 다음과 같다. [[..
[JavaScript] - let, const 키워드와 블록 레벨 스코프
·
📜 Web Programming/JavaScript
var 키워드의 문제점 ES5까지에서는 var 키워드를 사용해야만 변수를 선언할 수 있었다. 그러나 var 키워드에는 여러 가지 문제점들이 있는데 그 문제점들에 대해서 알아보도록 하겠다. 변수 중복 허용 var 키워드로 선언한 변수는 중복 선언이 가능하다. 초기화문이 있는 변수 선언문은 자바스크립트 엔진에 의해 var 키워드가 없는 것처럼 동작하고, 초기화문이 없는 변수 선언문은 그대로 무시된다. 즉, 에러를 발생시키지 않고 자바스크립트 엔진이 자체적으로 재할당하거나 무시해버리는 것이다. 이는 예기치 못한 부작용을 발생시킬 수 있다. 함수 레벨 스코프 var 키워드로 선언한 변수는 오로지 함수의 코드 블록만을 지역 스코프로 인정한다. 함수 외부에서 var 키워드로 선언한 변수는 모두 전역 변수가 된다. ..
[JavaScript] - 전역 변수의 문제점
·
📜 Web Programming/JavaScript
변수의 생명 주기 변수는 생성되고 소멸되는 생명 주기(Life Cycle)가 있다. 전역 변수의 생명 주기는 프로그램의 생명 주기와 같으며, 지역 변수의 생명 주기는 그 지역 변수가 선언된 함수가 호출되면 생성되고 함수가 종료되면 소멸한다. 지역 변수의 생명 주기는 함수의 생명 주기와 일치한다. 전역 변수의 문제점 프로그램을 설계할 때 전역 변수를 사용하지 않는 것이 좋다. 그 이유는 다음과 같다. 암묵적 결합: 모든 코드가 전역 변수를 참조하고 변경할 수 있는 것을 말한다. 변수의 유효 범위가 클수록 오류의 가능성도 높아진다. 긴 생명 주기: 전역 변수는 생명 주기가 길고, 메모리 리소스도 오랫동안 차지하게 된다. 이는 전역 변수의 상태를 변경할 수 있는 시간도 길다는 것을 의미한다. 이로 인해 의도치..
loading