cookie
쿠키란 하이퍼 텍스트의 기록서(HTTP)의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일을 일컫는다. HTTP 쿠키, 웹 쿠키, 브라우저 쿠키라고도 한다. 이 기록 파일에 담긴 정보는 인터넷 사용자가 같은 웹사이트를 방문할 때마다 읽히고 수시로 새로운 정보로 바뀐다. 이 수단은 넷스케이프의 프로그램 개발자였던 루 몬툴리(Lou Montulli)가 고안한 뒤로 오늘날 많은 서버 및 웹사이트들이 브라우저의 신속성을 위해 즐겨 쓰고 있다.
쿠키는 소프트웨어가 아니다. 쿠키는 컴퓨터내에서 프로그램처럼 실행될 수 없으며 바이러스를 옮길 수도, 악성코드를 설치할 수도 없다. 하지만 스파이웨어를 통해 유저의 브라우징 행동을 추적하는데에 사용될 수 있고, 누군가의 쿠키를 훔쳐서 해당 사용자의 웹 계정 접근권한을 획득할 수도 있다.
웹사이트에 접속할 때 자동적으로 만들어지는 임시 파일로 이용자가 본 내용, 상품 구매 내역, 신용카드 번호, 아이디(ID), 비밀번호, IP 주소 등의 정보를 담고 있는 일종의 정보파일
클라우드 컴퓨팅
[ Cloud Computing ]
- 인터넷상의 서버를 통하여 데이터 저장, 네트워크, 콘텐츠 사용 등 IT 관련 서비스를 한번에 사용할 수 있는 컴퓨팅 환경이다.
정보가 인터넷 상의 서버에 영구적으로 저장되고, 데스크톱·태블릿컴퓨터·노트북·넷북·스마트폰 등의 IT 기기 등과 같은 클라이언트에는 일시적으로 보관되는 컴퓨터 환경을 뜻한다. 즉 이용자의 모든 정보를 인터넷 상의 서버에 저장하고, 이 정보를 각종 IT 기기를 통하여 언제 어디서든 이용할 수 있다는 개념이다.
다시 말하면 구름(cloud)과 같이 무형의 형태로 존재하는 하드웨어·소프트웨어 등의 컴퓨팅 자원을 자신이 필요한 만큼 빌려 쓰고 이에 대한 사용요금을 지급하는 방식의 컴퓨팅 서비스로, 서로 다른 물리적인 위치에 존재하는 컴퓨팅 자원을 가상화 기술로 통합해 제공하는 기술을 말한다. 클라우드로 표현되는 인터넷상의 서버에서 데이터 저장, 처리, 네트워크, 콘텐츠 사용 등 IT 관련 서비스를 한번에 제공하는 혁신적인 컴퓨팅 기술인 클라우드 컴퓨팅은 ‘인터넷을 이용한 IT 자원의 주문형 아웃소싱 서비스’라고 정의되기도 한다.
클라우드 컴퓨팅을 도입하면 기업 또는 개인은 컴퓨터 시스템을 유지·보수·관리하기 위하여 들어가는 비용과 서버의 구매 및 설치 비용, 업데이트 비용, 소프트웨어 구매 비용 등 엄청난 비용과 시간·인력을 줄일 수 있고, 에너지 절감에도 기여할 수 있다.
또 PC에 자료를 보관할 경우 하드디스크 장애 등으로 인하여 자료가 손실될 수도 있지만 클라우드 컴퓨팅 환경에서는 외부 서버에 자료들이 저장되기 때문에 안전하게 자료를 보관할 수 있고, 저장 공간의 제약도 극복할 수 있으며, 언제 어디서든 자신이 작업한 문서 등을 열람·수정할 수 있다. 하지만 서버가 해킹당할 경우 개인정보가 유출될 수 있고, 서버 장애가 발생하면 자료 이용이 불가능하다는 단점도 있다.
구글·다음·네이버 등의 포털에서 구축한 클라우드 컴퓨팅 환경을 통하여 태블릿컴퓨터나 스마트폰 등 휴대용 IT기기로도 손쉽게 각종 서비스를 사용할 수 있게 되었다. 이용편리성이 높고 산업적 파급효과가 커 차세대 인터넷 서비스로 주목받고 있는 클라우드 컴퓨팅은 2000년 대 후반에 들어 새로운 IT 통합관리모델로 등장하였다.
애플릿
[ applet ]
- Java 언어로 구성된 간단한 기능의 소규모 프로그램을 의미하거나 웹 페이지에 포함되어 작은 기능을 수행하는 프로그램을 말한다. 용량과 속도에 구애 받지 않고 서버에 대한 별도의 요청 없이 단순한 작업을 수행한다.
애플릿은 Java 언어로 구성된 작은 응용 프로그램을 의미한다. Java 언어는 인터넷 기반의 언어이므로 용량과 속도의 한계로 프로그램을 크게 만들 필요가 없으므로 소규모 애니메이션, 그림 그리기, 날씨 변화 표시하기, 주가정보 표시 등의 간단한 기능을 처리하는 작은 프로그램을 만들어 사용하는 데 이를 의미한다.
월드 와이드 웹이 나오기 이전에도 윈도와 함께 기본으로 제공되던 작은 프로그램들, 예를 들어 메모장이나 그림 그리기 등을 '애플릿'이라고 부른 적이 있었다.
웹 상에서는 자바와 같이 객체지향 프로그래밍 언어를 써서 웹 페이지와 함께 사용자에게 보낼 수 있도록 작게 만든 프로그램을 애플릿이라고 부른다. 자바 애플릿은 애니메이션이나, 간단한 계산 그리고 사용자가 서버에 별도의 요청을 하지 않고서도 수행할 수 있는 단순한 작업들을 수행할 수 있다.
자바
[ Java ]웹 브라우저인 넷스케이프에서 사용할 수 있는 객체 지향 프로그래밍 언어로서 보안성이 뛰어나며 컴파일한 코드는 다른 운영 체제에서 사용할 수 있도록 클래스(class)로 제공된다. 객체 지향 언어인 C++ 언어의 객체 지향적인 장점을 살리면서 분산 환경을 지원하며 더욱 효율적이다.
<자바 특징>
① 자바는 간단하다 (simple)
① 하나의 소프트웨어가 제작될 때는 소프트웨어를 제작하는 비용도 많이 들지만 유지 보수하는 비용도 어마어마하다. 자바 언어는 이러한 점을 고려하여 디자인되었다. 자바 언어는 C++를 기반으로 개발되었음에도 C++에서 혼란을 일으키는 부분을 제거했다. 예를 들면 연산자 오버로딩, 다중 상속 같은 것들이다. 그리고 C++에서 문제가 되는 기억 장소 경영 문제를 자동 쓰레기 회수와 할당(auto garbage collection)으로서 극복했다. 그러므로 프로그래머는 이것에 더이상 신경을 쓸 필요가 없다.
② 자바는 객체 지향 언어이다 (object-oriented)
요즘의 컴퓨터 언어는 객체 지향 언어로 개발된다. 자바도 객체 지향 언어이다. 객체 지향 언어에 대해 여기서 자세히 언급할 수는 없고 간단한 일례를 들면 상속이라는 것이 있다. 부모 객체로부터 자식 객체는 상속을 한다. 자식 객체가 부모 객체로부터 상속을 받으면 부모 객체의 데이터와 메소드를 사용할 수 있음을 의미한다. 따라서 소프트웨어를 개발할 때 재활용 측면에서 많은 장점을 가진다.
③ 자바는 보안에 강하다 (secure)
자바는 원래부터 네트워크 분산 처리 환경에서 사용하기 위해 디자인된 언어이다. 네트워크 환경은 다른 환경보다 보안의 측면이 강조되는 환경인 만큼 자바는 보안에 중점을 두고 있다. 자바는 바이러스가 침투하지 못하는 구조를 가지고 메모리에서 데이터 접근을 제한할 수 있다. 접근을 허용하지 않으면, 애플리케이션의 데이터 구조 또는 데이터에 대한 접근은 불가능하다.
④ 자바 아키텍처는 중립적이다 (architecture neutral)
네트워크는 다양한 기종의 컴퓨터와 다양한 플랫폼(예를 들면, 윈도 NT, 솔라리스, 매킨토시 OS 등의 운영 체제를 일컫는 말이다)과 다양한 하드웨어로 이루어져 있다. 자바는 자바 코드 소스를 컴파일하여 바이트 코드를 만들어내며 이 바이트 코드는 다양한 플랫폼에 설치된 자바 인터프리터에 의해 해석되기 때문에 어떠한 플랫폼에서도 실행 가능하다. 따라서 새로운 기계라도 자바 인터프리터만 설치되어 있으면 바이트 코드를 해석할 수 있다.
⑤ 자바는 이식성이 높다 (portable)
기존의 언어는 각각의 플랫폼마다 수치 연산 문제 등으로 인하여 약간씩 다른 코드를 사용한다. 그러나 자바는 이식성이 강하여 다른 운영 체제, 다른 CPU에서도 같은 코드를 사용할 수 있다. 이식성이 높을 때의 단점은 각각의 시스템의 특성을 고려하지 않기 때문에 최적의 성능을 얻어낼 수 없는데, 자바는 이러한 것을 극복한 언어이다.
<자바와 자바스크립트의 차이>
① 자바스크립트는 사용자 컴퓨터에 의해 인터프리트(interpreted)되는 언어이다(마치 HTML과 같이). 그러나 자바는 일단 서버측에서 컴파일해야 하고, 프로그램의 실행은 사용자측에서 이루어진다.
② 두 언어 모두 객체 지향적 언어이다. 하지만 자바스크립트에는 상속성이나 클래스는 존재하지 않는다.
③ 자바스크립트는 HTML 코드에 끼워져서(embedded)사용되지만 자바는 HTML과 독립적으로 사용 가능하다. 단, HTML을 이용해야 자바 프로그램에 접근할 수 있다.
④ 흔히 루즈 타입(loose type)이라는 변수형을 선언할 필요가 없다. 반면에 자바는 항상 변수형을 선언해야 한다. 이 경우 스트롱 타입(strong type)이라 한다.
⑤ 자바스크립트는 동적 연결(dynamic binding)이기 때문에 객체에 대한 참조는 실행시에만 한다. 그러나 정적인 연결(static binding)을 취하는 자바는 컴파일시에 객체에 대한 참조가 이루어진다.
⑥ 두 언어 모두 안전하다. 그러나 자바스크립트의 경우는 HTML 코드에 직접 끼워져 있기 때문에 누구든지 볼 수가 있다. 그러나 자바의 경우는 다르다. 자바 소스 코드를 컴파일하면 바이트 코드로 불리는 클래스 파일이 생성된다. 따라서 프로그램 작성자가 디렉토리 안에 소스 코드를 지워도 HTML에서 부르는 것은 자바 클래스 파일이기 때문에 다른 사람이 그 소스를 보지 못한다는 점에서 차이가 있다.
아바타
[ Avatar ]
- 가상사회에서 자신의 분신을 의미하는 시각적 이미지로 산스크리트어 '아바따라(avataara)'에서 유래되었다. 인터넷 채팅, 쇼핑몰, 온라인 게임 등에서 자신을 대신하는 가상육체로 각광받고 있으며 상업적으로 이용가치가 급증하고 있다.
아바타는 분신(分身)·화신(化身)을 뜻하는 말로, 사이버공간에서 사용자의 역할을 대신하는 애니메이션 캐릭터이다. 원래 아바타는 산스크리트 '아바따라(avataara)'에서 유래한 말이다. 아바따라는 '내려오다'라는 뜻을 지닌 동사 '아바뜨르(ava-tr)'의 명사형으로, 신이 지상에 강림함 또는 지상에 강림한 신의 화신을 뜻한다. 산스크리트 '아바따라'는 힌디어에서 '아바따르'로 발음되는데, '아바타'는 힌디어 '아바따르'에서 맨 끝의 '르'발음이 탈락된 형태이다.
고대 인도에선 땅으로 내려온 신의 화신을 지칭하는 말이었으나, 인터넷시대가 열리면서 3차원이나 가상현실게임 또는 웹에서의 채팅 등에서 자기 자신을 나타내는 그래픽 아이콘을 가리킨다.
아바타는 그래픽 위주의 가상사회에서 자신을 대표하는 가상육체라고 할 수 있다. 현재 아바타가 이용되는 분야는 채팅이나 온라인게임 외에도 사이버 쇼핑몰·가상교육·가상오피스 등으로 확대되었다. 최근 가장 각광받는 분야는 온라인채팅서비스로, 아이콘채팅, 3차원 그래픽채팅 등의 아바타를 이용한 채팅서비스가 도입되었다.
기존의 아바타는 2차원으로 된 그림이 대부분이었다. 머드게임이나 온라인채팅에 등장하는 아바타는 가장 초보적인 수준이었고 이러한 현실감이 떨어지는 문제점을 보완하여 등장한 것이 3차원 아바타다. 3차원 캐릭터는 입체감과 현실감을 함께 지닌 것이 장점이다.
아바타는 현실세계와 가상공간을 이어주며, 익명과 실명의 중간 정도에 존재한다. 과거 네티즌들은 사이버공간의 익명성에 매료되었지만 이제는 자신을 표현하려는 욕구를 느끼게 되어 이 두 가지를 모두 충족시켜주는 아바타가 생겼다.
대부분의 게임이나 채팅서비스에는 주로 몇 가지의 캐릭터를 조합하거나 이미 완성된 아바타를 제공하지만 그래픽기술이 향상되면서 서비스 제공자가 이미 만들어놓은 기성품(ready-made)을 이용하는 것이 아니라 문자ID처럼 사용자가 자신만의 개성있는 아바타를 직접 만들 수 있는 나만의 아바타도 등장하였다.
웹 2.0
[ Web 2.0 ]
- 데이터의 소유자나 독점자 없이 누구나 손쉽게 데이터를 생산하고 인터넷에서 공유할 수 있도록 한 사용자 참여 중심의 인터넷 환경. 인터넷상에서 정보를 모아 보여주기만 하는 웹 1.0에 비해 웹2.0은 사용자가 직접 데이터를 다룰 수 있도록 데이터를 제공하는 플랫폼이 정보를 더 쉽게 공유하고 서비스 받을 수 있도록 만들어져 있다. 블로그(Blog), 위키피디아(Wikipedia), 딜리셔스(del.icio.us) 등이 이에 속한다.
2004년 10월 오라일리미디어사(O’reilly Media, Inc.,)의 대표인 팀 오라일리(Tim O’reilly)에 의해 도입된 개념이다. 웹2.0은 기술을 뜻하는 용어가 아니라 웹이 곧 플랫폼이라는 의미로, 인터넷만 있다면 어느 곳에서도 데이터를 생성, 공유, 저장, 출판 및 비즈니스가 가능하다. 2006년 타임지가 선정한 올해의 인물로 '유(You)'가 뽑히며 세계적인 트랜드로 인정받은 UCC(User Created Content)가 웹2.0의 대표작이라 할 수 있다.
사용자들이 붙이는 태그(사용자들이 자료마다 직접 붙이는 꼬리표)인 플리커(Flickr)나 딜리셔스(del.icio.us), 사용자 인터페이스인 검색창의 추천 검색어, 검색로봇이 수많은 웹 페이지를 돌아다니며 링크를 읽어들여 이를 바탕으로 데이터의 우선 순위를 나타내 주는 구글의 페이지 랭크나 아마존의 도서 리뷰 시스템, 이베이(e-Bay)의 평판(reputation) 시스템도 웹2.0의 특징을 나타내 주는 대표적인 예이다.
또한 사용자가 직접 만들어가는 미디어인 블로그(Blog)와 위키피디아(Wikipedia), 두 개의 블로그를 서로 연결하는 링크를 만들어주는 트랙백(track back), 관심있는 블로그의 최신 글 목록을 몇백 개든 한꺼번에 받아볼 수 있게 해주는 RSS(Really Simple Syndication)와 아마존, 아이튠스, 구글의 애드센스 등도 웹2.0의 개념을 잘 반영하여 준다.
웹2.0 의 공개 개념이 잘 나타나 있는 Open API 경우 구글의 '구글맵'서비스를 비롯 네이버(nhn)가 2006년 3월 검색 관련 API를 공개했으며, 다음(daum)도 신지식, 디앤샵 등의 API를 공개하여 개방형 구조의 서비스를 지향하는 스텝을 밟고 있다.
웹 브라우저
[ web browser ]
웹의 정보를 검색하기 위해서는 사용자의 컴퓨터에 웹 서버가 제공하는 정보를 검색하여 그래픽으로 화면에 나타내주는 프로그램이 필요하다. 이러한 프로그램을 웹 브라우저라고 하는데, 웹 브라우저란 윈도 기반의 소프트웨어로서 문자는 물론, 이미지와 사운드 파일, 동영상 등을 지원하는 멀티미디어 검색 프로그램이다.
유명한 웹 브라우저로는 모자이크(mosaic), 넷스케이프(netscape), 익스플로러(explorer), 첼로(chello), 링스(lynx ; 도스용), 핫자바(윈도 95, 윈도 NT) 등이 있다. 웹 브라우저 프로그램은 웹 서버의 정보뿐만 아니라 문자 방식으로 정보를 제공하는 고퍼서버(gopher server), 아치서버(archie server), FTP 서버(FTP server), 뉴스 그룹 서버(news group server) 같은 서버의 문자 정보도 이용할 수 있는 토털 솔루션(total solution)을 제공한다
웹디자이너
[ web designer ]
- 인터넷 홈페이지를 디자인하고 웹사이트를 구축하는 작업을 하는 사람.
홈페이지의 문자·그림·동화상·음성 등을 재가공하고 다듬어서 이용자들이 알기 쉽도록 만드는 작업을 한다. 세련되고 생동감 있는 화면을 디자인하고 연출하는 것이 목표인데, 정해진 용량 안에서 디자인해야 하므로 간결하고 생생하게 만드는 것이 중요하다. 디자인 감각과 함께 통신 분야의 전반적인 지식을 갖추고 있어야 하며, 컴퓨터에 대한 지식도 물론 필요하다. 구체적으로는 자료를 압축해서 최대 효과를 발휘하는 기술이 필요하고 HTML·XML·자바 등의 프로그래밍 언어와 다이내믹 HTML플래시·가상현실(VR) 등의 그래픽 기법을 활용할 수 있어야 한다. 홈페이지 제작 대행사,인터넷 접속 서비스업체,기업체 홍보실 등에서 일하거나 프리랜서로 일할 수 있다
웹마스터
[ webmaster ]
- 웹서버 구축 및 관리와 홈페이지 운영 전반에 걸쳐 실무적인 책임을 가진 사람(또는 팀).
웹서버를 구축하고 홈페이지를 운영하려면 기술 부분과 내용 부분을 잘 관리하지 않으면 안 된다. 특히, 홈페이지는 외부와 연결되기 때문에 외부 사용자나 고객으로부터 문의가 있을 경우 이를 신속하게 처리해야 한다. 이러한 일의 책임을 맡고 있는 사람을 웹마스터라 한다.
웹마스터를 개념적으로 조금 더 세분하면, 웹서버 구축 및 운영에 대한 기술적 책임을 지고 새로운 웹 기술을 적용을 주로 책임지는 웹엔지니어, 홈페이지 운영과 컨텐트 선택 및 디자인 전반에 대한 책임을 웹프로듀서로 나눌 수 있다.
웹엔지니어는 웹의 신기술을 습득하여 적용하고 테스트하는 일을 하며, 기본적인 프로그래밍 능력을 갖추고 있는 사람이다. 웹프로듀서는 기술 부분을 직접적으로 적용하기 보다는 확인된 기술을 어떻게 활용하고, 어떤 컨텐트를 어떠한 모습으로 보여줄 것인가를 기획·결정하며, 제공되는 정보를 계속적으로 갱신함으로써 웹사이트의 구축 목적에 맞게 발전하도록 관리하는 사람이다. 그러므로 디자인과 컨텐트에 대한 안목이 필요하고 고객관리 능력을 갖추어야 한다.
일반적으로 웹프로듀서만 있는 사이트에서는 기술 부분은 외부 인력을 활용하기도 한다. 그리고 웹프로듀서 중에서 특별히 디자인 능력을 갖추고 디자인에 책임을 가진 사람을 웹디자이너라고 부른다. 일반적으로 인터넷 전문기관에서는 웹엔지니어가 웹마스터의 역할을 수행 하고, 일반 기업체의 경우는 웹프로듀서가 웹마스터의 역할을 수행하고 있다. 웹디자이너는 웹마스터라기 보다는 팀조직으로 구성된 웹마스터의 일원이라고
웹 페이지
[ web page ]
인터넷 상의 웹 문서들을 총칭한 말로 이 문서 속에는 다양한 텍스트는 물론 그림, 소리, 동영상 파일도 내장할 수 있다. 다른 인터넷 상의 문서와 서로 연결할 수 있게 해주는 강조된(highlighted) 글자나 그림 등이 있다는 것이 특징이다. 이러한 부분들은 주로 밑줄로 구분할 수 있으며, 파란색의 바탕선이 그려져 있기도 하다.
서버
[ server ]
- 근거리통신망(LAN)에서 집약적인 처리기능을 서비스하는 서브시스템.
일반적으로 서버 프로그램이 실행되고 있는 컴퓨터 하드웨어를 서버라고 부르며 다른 프로그램에게 서비스를 제공하는 컴퓨터 프로그램을 말하기도 한다.
서버는 프린터 제어나 파일 관리 등 네트워크 전체를 감시·제어하거나, 메인프레임이나 공중망을 통한 다른 네트워크와의 연결, 데이터·프로그램·파일 같은 소프트웨어 자원이나 모뎀·팩스·프린터 공유, 기타 장비 등 하드웨어 자원을 공유할 수 있도록 도와주는 역할을 한다.
서버는 사용자(클라이언트)의 요청에 의하여 서비스를 하는데 이와 같이 구성된 시스템을 클라이언트/서버 시스템이라고 하며, 이는 하나 이상의 응용 프로그램을 상호 협력적인 환경에서 운용하는 분산처리 형태를 의미한다.
즉, 서비스를 요청하는 클라이언트와 클라이언트의 요청을 처리하는 서버와의 협동작업을 통해서 사용자가 원하는 바람직한 결과를 얻는 처리방식이 클라이언트/서버 시스템이다.
클라이언트의 수가 5~20대 정도인 소규모 LAN의 경우에는 한 대의 서버로 충분히 모든 서비스를 소화할 수 있으나, 대규모 LAN의 경우에는 여러 대의 서버를 배치하고, 파일 관리는 파일 서버, 프린터 제어는 프린터 서버, 인터넷 등의 외부와의 교환은 커뮤니케이션 서버가 담당하는 등 각각 역할을 세분하게 된다.
인터넷에서 서버는 특수한 형태로 자신의 하드디스크에 담겨진 정보들을 외부에 공개해주는 컴퓨터를 이른다. 일반적으로 인터넷에서는 여러 정보들을 서버에서 관리하고, 일반 사용자들은 자신들의 컴퓨터(클라이언트)를 이용하여 서버에 접속하고 서버에서 제공하는 정보를 이용하게 된다.
웹 서버
[ web server ]
웹 페이지가 들어 있는 파일을 사용자들에게 제공하는 프로그램. 웹 사이트를 통해 서비스를 하려면 웹 서버 프로그램을 설치해야 한다. 대표적인 웹 서버로는 아파치(Apache)와 인터넷 정보 서버(IIS), 엔터프라이즈 서버 등이 있다. 이 웹 서버들은 이메일, 파일 전송 규약(FTP) 파일의 내려받기, 홈 페이지 구축, 전자 상거래 등에 필요한 인터넷 및 인트라넷과 관련된 프로그램들의 패키지의 일부로 나온다
웹사이트
[ web site ]
- 웹서버에 정보를 저장해 놓은 집합체.
인터넷에서 사용자들이 정보가 필요할 때 언제든지 그것을 제공할 수 있도록 웹서버에 정보를 저장해 놓은 집합체를 말한다. 인터넷에 들어가는 관문으로 간략히 사이트(site)라고도 하며, 흔히 홈페이지 주소로 되어 있다. 주제별로 원하는 사이트 목록들을 나열한 사이트들이 많은데, 이를 인터넷 포털사이트(portal site)라고 한다. 포털사이트들은 정보검색 서비스나 커뮤니티와 같이 사용자가 정기적으로 이용할 수 있는 서비스를 제공함으로써, 고정 방문객을 확보하여 인터넷 비즈니스로 연결된다.
대표적인 포털사이트로는 정보검색을 기반으로 하는 야후와 라이코스, 커뮤니티를 기반으로 하는 네티앙·아이팝콘 등이 있다.
소프트웨어
[ software ]
- 약어
S/W
물리적 실체인 하드웨어의 반대어로 만들어진 용어. 컴퓨터 프로그램과 같은 뜻으로 해석되는 경우도 있으나 프로그램 자신 외에 그 프로그램 자신의 설명서, 그 프로그램에 의해 업무를 수행할 때의 사무 상의 규정이나 절차, 이들을 문서화한 설명서나 색인서도 모두 포함한 전체를 가리킨다.
또한 컴퓨터 시스템을 가동시키는 데 필수가 되는 시스템 소프트웨어(system software)와 이용자 측의 업무에 특유한 응용 프로그램(applications program)을 구별해 왔으나 현재는 양자를 포함하여 소프트웨어라고 하며, 시스템 개발(system development)과 소프트웨어 개발(software development)은 동의어로 취급되고 있다.
하드웨어
[ hardware ]
- 약어
H/W
컴퓨터를 구성하는 기계적, 전기적, 전자적(電子的) 기능을 대상으로 하는 장치 그 자체.
(1) 데이터 처리 시스템(data processing system)을 구성하는 유형의 전기·전자·기계 등의 기구나 장치. 예를 들면, 주기억 장치(main storage), 연산 제어 장치(arithmetic and control unit), 입출력 장치(input/output unit) 등의 총칭이다. 혹은 이들 개개의 장치나 기기를 가리킨다. 무형의 소프트웨어(software)와 대비된다. 판독 전용 메모리인 ROM은 그 자체는 소프트웨어이지만 내부는 하드웨어로 되어 있다. 이러한 경우는 특히 펌웨어(firmware)라 부르는 경우가 있다.
(2) 하드웨어는 원래 「금속물」이라든가 금속제 제품을 말한다. 이런 의미에서는 자동차, 공작 기계, TV 등도 모두 하드웨어라 할 수 있다.
펌웨어
[ firmware ]
일반적으로 롬(ROM)에 기록된 하드웨어를 제어하는 마이크로프로그램의 집합.
펌웨어는 일반적으로 롬(ROM)에 저장된 하드웨어를 제어하는 마이크로 프로그램을 의미한다. 프로그램이라는 관점에서는 소프트웨어와 동일하지만 하드웨어와 밀접한 관계를 가지고 있다는 점에서 일반 응용소프트웨어와 구분되어 펌웨어는 소프트웨어와 하드웨어의 특성을 모두 가지고 있다고 할 수 있다.
예를 들어 어떤 기능을 발휘하는 하드웨어를 만든다고 할 때, 그것을 제어하는 모든 회로를 하드웨어로만 만들면, 그 구조도 대단히 복잡해지고 심지어는 논리적인 표현을 하기가 어려운 부분도 발생한다.
이런 경우 상당부분을 소프트웨어로 대체하되 그 소프트웨어가 저장된 기억장치를 하드웨어의 제어 회로중의 중심부분으로 구성하면, 매우 간단하면서도 적은 비용으로 문제를 해결할 수 있게 된다. 이렇게 만든 하드웨어적인 소프트웨어를 펌웨어라 한다.
이렇게 할 경우 하드웨어의 입장에서는 별도의 논리회로를 가진 것이 아니기 때문에 소프트웨어적인 특성을 가지고 있지만, 소프트웨어 입장에서는 마이크로 프로그램이 하드웨어를 제어하기 때문에 하드웨어적인 특성을 가진다고 설명할 수 있다.
소프트웨어의 기능을 펌웨어로 변경할 수 있으면 속도가 현저하게 증대되어 고속 처리가 필요한 프로그램은 펌웨어로 만들어 사용하기도 한다. 또한 하드웨어의 기능을 펌웨어로 변경하면 속도는 느려지지만, 그 기능을 위한 논리 회로를 설계하여 사용하는 것 보다 저렴하고, 편리하게 구현하여 사용할 수 있는 장점을 가지기도 한다.
스크립트
[ Script ]
① 스크립트(Script)는 게임 프로그램(Program)에서 간단한 프로그래밍(Programming)을 위해 프로그램 언어(Program Language) 외의 간단한 언어로 작성한 명령어(Instruction, 命令語)를 의미한다. 주로 보조적인 프로그래밍을 위해 사용한다.
스크립트는 특히 다른 프로그램보다 게임에서 더욱 적극적으로 사용하는데, 이유는 개발 편의성을 위함이다. 대부분의 비디오 게임(Video Game)은 각종 데이터(Data) 및 사소한 애니메이션(Animation) 하나까지도 모두 프로그램으로 동작하기 때문에 프로그래머(Programmer)가 아닌 개발인력이라고 해도 프로그램을 조작할 필요가 있다. 따라서 게임 기획자(Game Designer)나 게임 아티스트(Game Artist)도 간단하게 배워서 쓸 수 있는 스크립트를 적극적으로 사용한다.
게임에서 스크립트를 활용하는 방법은 다양하다. 보통 게임을 이루는 일부분만 스크립트로 작성하는데, 파티클 이펙트(Particle Effect)나 애니메이션을 위해 게임 클라이언트(Game Client)가 스크립트를 참조하거나 호출해 동작하는 등의 방법을 활용하기도 한다.
게임 개발에 자주 쓰이는 스크립트 언어로는 루아 스크립트(Lua Script) 등이 있다. 내부 스크립트 언어를 탑재한 개발 도구(Development Tool)도 있는데, 대표적으로 액션 스크립트(Action Script)를 사용하는 플래시(Flash)나 언리얼 스크립트(Unreal Script)를 내장한 언리얼 엔진(Unreal Engine)이 있다.
상용 게임 엔진인 언리얼 엔진이나 유니티3D 엔진(Unity3D Engine) 등은 플러그인 등의 형태라도 스크립트 언어를 사용할 수 있도록 지원하고 있다.
② 스크립트는 게임 내 대사나 시나리오(Scenario) 등을 담은 지문을 뭉뚱그려서 부르는 용어다. 캐릭터의 대사뿐 아니라 퀘스트(Quest)에 관련된 지문 등을 스크립트에 포함하기도 한다. 게임에서는 이런 스크립트를 일종의 텍스트 파일(Text File)로 저장해 프로그램에서 참조하는 식으로 사용한다.
루아 스크립트로 실제 작성한 내용의 예시루아 스크립트는 프로그램 언어에 비해 배우는 난이도가 훨씬 낮기 때문에, 전문 프로그래머가 아닌 개발자라고 해도 어느 정도 교육을 받으면 익혀서 사용할 수 있다.
컴퓨터 프로세서나 컴파일러가 아닌 다른 프로그램에 의해 번역되고 수행되는 명령문의 집합.
프로그래밍 언어가 아닌 언어로 작성한 짧은 프로그램이나 명령어들을 의미한다. 컴파일러로 작성된 C나 C++와 같은 언어들에 비해 제한된 능력을 지니고 실행속도도 느리지만 프로그램을 쉽고 빠르게 작성할 수 있다. 주로 제한된 능력을 가진 프로그램이나 컴파일된 기존 프로그램과 연결하여 재사용되는 프로그램들을 만드는 데 적당하다. 용도가 유용하여 기능이 꾸준히 업그레이드되고 있으며, 새로운 것도 계속적으로 개발되고 있다.
유닉스 중심의 펄(PERL)과 넷스케이프의 자바스크립트(JavaScript), 마이크로소프트의 VBSscript 등이 유명하며, IBM의 REE와 선마이크로시스템즈의 Tcl/Tk 등도 잘 알려져 있다. 웹클라이언트와 웹서버 환경에서 보면 펄은 웹서버에서, 자바스크립트는 클라이언트에서, VBSscript는 서버와 클라이언트에서 동시에 실행된다.
이 가운데 자바스크립트는 선마이크로시스템즈가 1996년 개발한 자바의 기능을 그대로 사용하면서도 프로그래밍을 쉽고 간편하게 할 수 있게 해 준다. 마이크로소프트의 인터넷 익스플로러 3.0에서도 지원되어 가장 많이 쓰이는 언어이다. VBSscript는 자바스크립트와 유사한 언어로 인터넷 환경에서 동작할 수 있게 설계된 것이다. 비주얼베이식 계열의 프로그래밍 언어로 인터넷 익스플로러에서 작동한다.
query<쿼리>
- 쿼리란 데이터베이스에 정보를 요청하는 것이다. 쿼리를 하는데 에는 일반적으로 3가지 방법이 있다.
- 메뉴에서 매개변수를 선택 : 이 방법에서는 데이터베이스 시스템이 사용자가 선택할 수 있는 매개변수 목록을 제시한다. 이것은 메뉴가 사용자를 이끌어주므로 아마 쿼리를 하는 가장 쉬운 방법이겠지만, 또 가장 유연하지 못한 방법 중 하나이다.
- 예제에 의한 쿼리 (QBE) : 이 방법에서, 시스템은 비어있는 레코드를 제시하고, 사용자가 쿼리를 정의하기 위해 필드 값을 채워 넣도록 한다.
- 쿼리 언어의 사용 : 많은 데이터베이스 시스템이, 사용자에게 특별한 쿼리 언어로 쓰여진 정형화된 쿼리 문장의 형태로 정보를 요청하도록 한다. 이것은 사용자가 특수한 언어를 배워야하므로 가장 복잡한 방법이지만, 가장 강력한 방법이기도 하다.
- 쿼리는 웹 서버에 특정한 정보를 보여달라는 웹 클라이언트 요청(주로 문자열을 기반으로 한 요청이다)에 의한 처리이다. 쿼리는 대개 데이터베이스로부터 특정한 주제어나 어귀를 찾기 위해 사용된다. 주제어가 검색엔진의 검색필드 내에 입력된 다음, 그 내용이 웹 서버로 넘겨진다.
코덱[ Codec ]
음성 또는 영상의 신호를 디지털 신호로 변환하는 코더와 그 반대로 변환시켜 주는 디코더의 기능을 함께 갖춘 기술.
코더(coder)와 디코더(decoder), 또는 컴프레서(Compressor)와 디컴프레서(Decompressor)의 합성어로, 음성이나 비디오 데이터를 컴퓨터가 처리할 수 있게 디지털로 바꿔 주고, 그 데이터를 컴퓨터 사용자가 알 수 있게 모니터에 본래대로 재생시켜 주기도 하는 소프트웨어이다.
동영상처럼 용량이 큰 파일을 작게 묶어주고 이를 다시 본래대로 재생할 수 있게 해준다. 파일을 작게 해주는 것을 인코딩(encoding), 본래대로 재생하는 것을 디코딩(decoding)이라고 한다.
또 데이터 압축 기능을 사용하여 압축하거나 압축을 푸는 소프트웨어도 코덱에 포함된다.
코덱의 종류는 매우 다양하다. 동영상 코덱으로는 가장 많이 사용되는 MPEG(MPEG1, MPEG2, MPEG4)을 비롯하여 인텔의 Indeo, DivX, Xvid, H.264, WMV, RM, Cinepak, MOV, ASF, RA, XDM, RLE 등이 있다.
오디오 코덱으로는 가장 잘 알려진 MP3를 비롯하여 AC3, AAC, OGG, WMA, FLAC. DTS 등이 있다.
압축 소프트웨어로는 알집, 반디집, FilZip, 7-Zip, WinRAR, WinZip 등이 있다. 이들 각 코덱은 표준화가 이루어지지 않아서 압축방법이나 화질, 압축률 등이 서로 다르고 호환성이 없기 때문에 필요한 코덱을 개별적으로 설치하여야 한다.
이러한 번거로움을 피하기 위하여 여러 종류의 코덱을 한꺼번에 설치해주는 것을 통합코덱이라 한다.
컴퓨터 그래픽(Computer Graphics, CG, , 콤퓨터화상처리)..calligraphy
컴퓨터 그래픽(Computer Graphics, CG, 콤퓨터화상처리)은 컴퓨터를 이용해 실제 세계의 영상을 조작하거나 새로운 영상을 만들어내는 기술을 가리킨다.
최근에는 일반적으로 3차원 컴퓨터 그래픽을 컴퓨터 그래픽으로 부르기도 한다.
컴퓨터 그래픽에는 가상 세계에 구축된 모델로부터, 계산에 의해서, 씬을 시뮬레이션 하는 경우, 실세계의 화상 정보를 가공해 화상을 조작하는 경우, 화상과는 직접 관계가 없는 데이터 등을 가시화하는 경우가 있다.
모양과 색을 수치로 변화하여 디지털로 나타내는 논리적 표현 방법이다. 확대, 축소, 회전 등의 변환이 가능하고 색의 변경이 쉽고, 3차원 공간에서 자유자재로 이동하면서 다각도에서도 볼 수 있다.
광원의 위치에서 물체 각 면의 밝기를 나타낼 수 있고, 표면의 재질감과 투명감 등 다양하고 섬세한 묘사가 가능하다. 이렇듯 시간과 공간을 자유롭게 조작할 수 있다는 점이 강점이다.
컴퓨터 그래픽은 1961년에 처음으로 등장하였으며 1970년대 후반부터는 매우 빠른속도로 발전하기 시작하였다.
이후 1982년 제작된 영화 TRON에서는 최초로 CG 기술을 도입하여 제작하었으며, 그 이후 일부 영화들이 특수 효과에 컴퓨터 애니메이션 및 영상 처리 기술을 이용했다.
당시의 기술 수준으로 구성한 장면은 미니어쳐에 의해 구성된 장면보다 훨씬 현실감이 없었기 때문에 주로, 폭발을 강조해줄 추가적인 시각 효과나 그림 합성, 변형등에 주로 이용되었다. 그리고 1995년 세계 최초로 3차원 모델링, 3차원 렌더링에 의해 생성된 CG로만 구성된 영화인《토이 스토리》가 픽사에서 제작되었다.
컴퓨터 게임, 가상 현실에서의 CG 사용 또한 CG 기술 발전에 큰 역할을 했다.
게임, 가상현실의 초창기인 1970년대 후반부터 1990년대 초반까지는 장면 생성에 필요한 모든 계산이 중앙 처리 장치(CPU)를 통해 이루어 졌기때문에 간단한 3차원 영상 및 2차원 영상들이 주로 사용되었지만, 1990년대 중반이후부터는 그래픽 처리 장치(GPU)가 보편화 되기 시작하면서, 보다 정교하고 현실 적인 3차원 영상을 보여줌과 동시에 다양한 효과를 제공할 수 있게 되었다.
컴퓨터 기하학[편집]
디지털 공간에서 3차원 물체를 표현하는 여러가지 방법을 다룬다. 물체의 모양을 변형시키거나 단순화하는 기법도 컴퓨터 기하학에 포함된다.
컴퓨터 애니메이션[편집]
움직이는 영상을 컴퓨터로 제작하는 기법을 다룬다. 3차원 공간에서 움직이는 물체나 사람을 표현하는 기법을 연구하므로 이 분야의 연구결과는 컴퓨터 게임이나 영화 제작에서 많이 응용된다. 실제 배우의 3차원 움직임을 포착하여 컴퓨터로 저장하는 기법인 모션 캡처 또한 이 분야의 연구 대상이다.
물이나 공기 등의 유체의 움직임을 시뮬레이션하는 것 또한 크게 분류하면 이 범주에 포함된다.
렌더링[편집]
렌더링은 그래픽 데이터를 실제 이미지로 나타내는 과정을 연구한다. "사실적 묘사"(Photorealistic)와 "비사실적 묘사"(Non-Photorealistic)로 나누는데, 사실적 묘사 기법 중 Radiosity 기법은 1950년에 알려진 "열-전달"(Heat-Transfer)에 관한 생각을 광자에 도입한 것으로 코넬 대학교 연구진에 의해 1984년에 발표되었다. 이 기법은 계산해야 할 정보가 많아 당시의 컴퓨터로는 상용화하기 힘들었다. 최근의 3차원 장면 생성 프로그램(예: 3ds Max, Maya, Softimage, Rhino 등)은 Radiosity 기법뿐만 아니라 정확한 정반사에 의한 조도 표현을 위한 레이-캐스팅(Ray-Casting) 기법, 부드러운 그림자를 표현하기 위한 그림자 맵핑 기법 등을 함께 사용할 수 있도록 만들어져 있다.
컴퓨터 그래픽은 3차원 물체의 렌더링만을 다루는 것은 아니며, 과거의 유명 화가들의 채색 기법을 표현해 내기도 하는 등 2차원 사진이나 그림의 렌더링 기법 또한 연구한다.
실시간 렌더링[편집]
실시간 렌더링은 3차원 이미지를 빠른 시간에 렌더링하여 사용자의 입력에 즉시 반응하는 애니메이션을 만들어내는 기술이다. 컴퓨터 게임 등 인터랙티브 응용 프로그램에 주로 사용된다. 최근에는 그래픽 처리 장치의 발전으로 그 품질이 나날이 좋아지고 있다.
CG로 제작한 영화나 애니메이션 등은 보다 정교한 이미지를 렌더링하기 위해 실시간 렌더링과는 다른 분야의 기술이 많이 사용되므로, GPU는 별로 사용하지 않는다.
응용 분야[편집]
시뮬레이션 분야에서, 시뮬레이션과 관련된 각종 매개 변수들을 가시화해 주는 용도로 이용된다. 이러한 시뮬레이션으로는 상태의 변화, 유체 안에서의 물체의 운동, 음파의 전파, 객체간 충돌 등이 있다.
영화에서는 실세계에 존재하지 않는 사물이나 사람을 장면에 인위적으로 삽입하거나, 폭발 등 특수 효과로 이용되기도 하며, 현대에는 장면 전체를 CG로 구성한 CG 애니메이션으로도 이용된다.
캘리그래피
펜, 붓 등의 도구를 이용해 아름답게 쓴 글자 혹은 그 기술.
'아름다운 서체'란 뜻을 지닌 그리스어 'Kalligraphia'에서 유래했다.
캘리(Calli)는 미(美)를 뜻하며, 그래피(Graphy)는 화풍·서풍·서법 등의 의미를 갖고 있다 동양에서는 서화, 곧 해서·행서·초서를 의미한다. 붓이나 펜을 이용해 종이나 천에 글씨를 쓰는 것으로, 비석 등에 끌로 파서 새기는 에피그래피(epigraphy)와는 구분된다.
유럽에서 본격적으로 캘리그래피 디자인을 전파한 사람은 타이포그래퍼로도 활동한 영국의 에드워드 존스턴으로, 10세기 후반 영국에서 사용됐던 필사본체를 응용해 캐롤라인 왕조시대의 캐롤라인 서체와 르네상스 시대의 필사체 중간 지점에 위치한 양식을 창안했다.
이 캘리그래피는 후에 '할리(harly) 2904'라는 서체로 태어났다. 캘리그래피의 또 다른 말이기도 한 '캘리그램'(calligrames)이란 용어를 본격적으로 사용한 사람은 프랑스의 시인 기욤 아폴리네르이다. 1918년 자신의 시집 제목을 고민하다 캘리그램이란 단어를 고안하게 되었다고 하는데, 캘리(calli)는 접두사로 '아름답다'라는 뜻을 가지고 있으며, 그램(grames)은 '형태'라는 뜻이다. 한편, 이란의 폰트는 우리나라나 동양의 서예와는 다른 관점에서 독자적인 형태의 캘리그래피 디자인을 발달시켜 왔다.
현대적인 의미의 캘리그래피는 붓이나 펜으로 쓴 듯 질감이나 필력이 느껴지는 글씨을 말한다. 보통 긴 장문(읽기 위한 글)에는 적합하지 않고 인용문이나 제목처럼 글자 속의 메시지·이미지·분위기 등을 전달해야 하거나 제품명 또는 기업 심볼(워드마크)로 사용하는 경우가 많다.
동서양을 막론하고 마케팅 전략의 하나로 영화 포스터, 드라마 타이틀, 북커버, 패키지, CI(Corporate Identity), BI(Brand Identity), 현판, 거리의 간판 등에서 널리 사용되고 있다
'工 夫 房 > PC.Inter.Smart.' 카테고리의 다른 글
SWF음악 소스에서 음악주소 교체하는 방법 (0) | 2014.03.24 |
---|---|
다음에서 얻은 음악 소스 네이버에 올리기 (0) | 2014.02.26 |
장치 드라이버( device driver)- 하드웨어 제어를 위한 필수 프로그램 (0) | 2013.11.21 |
블루투스페어링 (0) | 2013.11.17 |
tethering 하기 (0) | 2013.10.30 |