'분류 전체보기'에 해당되는 글 185건

  1. [IT용어] ㅈ
  2. [IT용어] ㅇ
  3. [IT용어] ㅅ
  4. [IT용어] ㅂ
  5. [IT용어] ㅁ
  6. [IT용어] ㄹ
  7. [IT용어] ㄷ
  8. [IT용어] ㄴ
  9. [IT용어] ㄱ
  10. [JSP] 커넥션 풀 2

[IT용어] ㅈ



GPKI [Government Public Key Infrastructure , 政府公開-基盤構造 ] 

전자 정부 구축을 위해 행정 기관 간 전자 문서 교환 또는 일반 국민을 대상으로 전자 행정 서비스 제공 시 해당 공무원의 신원 확인 또는 행정 전자 문서의 신뢰성을 제고하기 위한 체계. 우리나라의 경우 전자 정부법에 의해 정부가 정책 및 최상위 인증 기관을 담당하고 있고 각 부처에서 인증 기관의 역할을 수행한다. 현재 정부 공개 키 기반 구조(GPKI)의 업무 범위는 행정 기관에서 금융 기관 및 공공 기관으로 확대되고 있는 추세이다.

cf.)

최근 국공 기관에서 사용하고 있는 공인인증 로그인에 대해서 알아보겠습니다.

인증서를 이용해서 로그인을하겠다는 말인데........... 

인증서는 NPKI 와 GPKI 방식이 있습니다. NPKI는 일반 은행과 같은 기관에서 배포하는 사설 인증서고 GPKI는 국가기관에서 배포하는 인증서 입니다.

일단 인증서 로그인을 이용하기 위해서는 국내 인증서 암호화 모듈을 판매하고 있는 제품을 사용해야 하며 TerraceMailSuite 와 연계하여 그 기능을 구현 할수 있습니다.

내부 네트웍에서는 ID / PASSWD 로 외부 네트웍에서는 공인인증서 로그인으로  로그인하는 방법을 변경합니다.

'IT용어' 카테고리의 다른 글

[IT용어] ㅋ  (0) 2014.12.20
[IT용어] ㅊ  (0) 2014.12.20
[IT용어] ㅇ  (0) 2014.12.20
[IT용어] ㅅ  (0) 2014.12.20
[IT용어] ㅂ  (0) 2014.12.20

[IT용어] ㅇ



인터페이스 [interface] 

(1) 두 가지 시스템 또는 장치(equipment)가 결합해 있는 경계(boundary)이며, 하드웨어적으로도 소프트웨어적으로도 사용되는 용어이다. 하드웨어적인 것만을 가리킨다든지 소프트웨어적인 것만을 가리킨다든지 또는 그들 모두를 규정하고 있는 것이 있다. 여기서 말하는 하드웨어적인 것이란 물리적 조건, 회로의 조건, 전기적 조건 등을 말하며, 소프트웨어적인 것이란 논리적 혹은 프로그램 간의 조건을 말한다.

(2) 복수의 구성 요소. 예를 들면, 중앙 처리 장치(CPU)와 입출력 장치(input-output unit)를 결합하여 공유할 수 있도록 한 장치 또는 복수의 프로그램이 공유하고 있는 레지스터(register) 등이다. 여러 가지의 컴포넌트를 조합하여 하나를 구축할 때 접속하는 상호의 컴포넌트 간에서는 미리 접속 조건을 정하지 않으면 잘 접속할 수 없고, 때로는 오동작을 한다. 

이와 같이 인터페이스란 컴포넌트를 잘 접속 하기 위한 규격을 말한다. 인터페이스는 장치뿐만 아니라 LSI를 사용한 인터페이스 회로(interface circuit)도 있고, 여러 가지 기기와 접속할 수 있도록 설계되어 있는 범용형과 어떤 특정 기기밖에 접속할 수 없는 전용의 것이 있다. 인터페이스의 기본적 기능은 동작 타이밍(timing of operation), 신호 전압 (signal voltage), 데이터 표현 형식 등의 차이를 제어하는 것이다. 동일한 기능을 갖거나 다른 기능을 갖고 있는 두 개의 시스템 또는 구성 요소 사이의 상호 연결을 위한 장치이다. 인터페이스에서는 위와 같은 장치의 논리적, 전기적, 물리적 특성이 정의되어야 한다. 두 개 이상의 프로그램에 의하여 액세스(access)되는 기억 장치 부분이나 레지스터(register)를 인터페이스라고도 한다.


애플리케이션 [application] 

1. 애플리케이션 프로그램, 즉 응용프로그램의 줄임말, 사용자 또는 어떤 경우에는 다른 응용 프로그램에서 특정한 기능을 직접 수행하도록 설계된 프로그램이다. 애플리케이션의 예로는 워드프로세서, 웹 브라우저, 통신 프로그램 등이 포함된다.

2. 정보기술에서 말하는 애플리케이션이란 기술, 시스템 및 제품 등을 사용하는 것을 말한다.

cp.) OS를 기본 소프트웨어라고 한다면 애플리케이션 소프트웨어는 응용 소프트웨어라고 한다.

애플리케이션은 문서 작성이나 표 계산, 이미지 처리, 게임, 웹 사이트 보기, 메일 송.수신 등 특정 목적으로 위해 만들어진 소프트웨어이다.


URI [Uniform Resource Indentifier, 보편적 자원 식별자]

인터넷 서비스를 통해서 접근하고자 하는 정보 자원에 대한 통일된 식별 체계를 가리킨다. 텍스트, 음향, 영상, 스틸, 이미지, 애니메이션 등의 다양한 인터넷 자원을 식별해주는데, URI의 하위 집합으로는 URL, URN, URC가 있다. URI는 표준문서 RFC 2396에 정의되어 있다.


URL [UniformResource Locator] 
웹 문서의 각종 서비스를 제공하는 서버들에 있는 파일의 위치를 표시하는 표준을 말한다.(인터넷상에서 존재하는 각종 자원에 대한 접근 경로를 나타낸다.) 일반적으로 웹 브라우저는 인터넷에 존재하는 다양한 형태의 서비스를 동시에 지원하는 도구로 HTTP, FTP, 유즈넷 뉴스, e-mail, 고퍼, 텔넷 등의 서비스를 동시에 지원한다. 이러한 다양한 서비스를 제공하는 수많은 서버들로부터 필요한 정보를 획득하기 위해 이들의 위치를 표시하는 체계가 필요한데 이를 위해 URL이 사용된다. URL은 웹상에서 서비스를 제공하는 각 서버들에 있는 파일들의 위치를 명시하기 위한 것으로 접속해야 될 서비스의 종류, 서버의 위치(도메인 네임), 파일의 위치를 포함한다. 일반적인 체계(syntax)는 프로토콜://정보를 가진 컴퓨터 이름/디렉터리 이름/파일 네임으로 구성된다.


URL [Uniform Resource Name]

인터넷상에서 존재하는 각종 자원을 위치 정보와 관계없이 식별할 수 있도록 붙여진 이름이다. 인터넷 에이전시(Agency)인 RSS(Resolution System Switcher)를 통해 통하여 URN이 URL로 변환된다. 자원에 대한 접근 경로가 새로 바뀌는 경우에도 RSS와 같은 에이전시들이 이를 추적 관리해 줌으로써 사용자의 편의성을 도모하고 있다.


인수 [argument , 引數] 

함수나 서브루틴, 명령(command)을 사용할 때 주어지는 변수로, 인수·인자 변수로 설명된다.

(1) 인수란 배열(array) 중의 특정 항목의 기억 위치(location)를 식별하는 데 필요한 변수나 상수 또는 그들의 조합을 말한다. 이런 의미로는 탐색 키(search key)라고도 한다. 주프로그램과 서브루틴 사이에서 값을 넘겨 주는 변수나 상수 또는 그들의 집합이며 매개변수(parameter)라고도 한다. 가인수(formal argument)는 서브루틴을 정의하기 위하여 사용하는 경우를 말하며, 실인수(actual argument)는 그것을 호출할 때 지정하는 경우를 말한다.

(2) 매개변수도 인수와 같은 의미로 사용된다.

(3) 변수란 독립 변수의 임의의 값을 말하며, 그것에 따라 함수의 값이 결정된다.


임베디드 시스템 [embedded system] 

특정한 제품이나 솔루션에서 주어진 작업을 수행할 수 있도록 추가로 탑재되는 솔루션이나 시스템.어떤 제품이나 솔루션에 추가로 탑재되어 그 제품 안에서 특정한 작업을 수행하도록 하는 솔루션을 말한다. 예를 들어 주된 용도가 전화인 휴대폰에 텔레비전 기능이 들어가 있다면, 텔레비전 기능(시스템)이 바로 임베디드시스템이다. 곧, 본 시스템에 끼워넣은 시스템이라는 뜻이다.

첨단 기능이 들어 있는 컴퓨터, 가전제품, 공장자동화 시스템, 엘리베이터, 휴대폰 등 현대의 각종 전자·정보·통신 기기는 대부분 임베디드시스템을 갖추고 있다. 대개의 경우 그 자체로 작동할 수도 있지만, 다른 제품과 결합해 부수적인 기능을 수행할 때에 한해 임베디드시스템이라고 한다.

컴퓨터의 경우에는 전용 동작을 수행하거나 특정 임베디드 소프트웨어 응용 프로그램과 함께 사용되도록 디자인된 특정 컴퓨터 시스템 또는 컴퓨팅 장치를 일컫는다. 일반적으로 범용 컴퓨터 또는 장치를 상업적으로 대체해 사용할 수는 없기 때문에, 특정한 임베디드 라이선스 제품에서 허용되는 사무자동화 및 개인 컴퓨터 기능은 사용이 제한된다. 그러나 임베디드 리눅스와 같은 프로그램은 일반 퍼스널컴퓨터와도 연동이 가능하다.

컴퓨터 외에 휴대용 개인정보 단말기(PDA)에 들어 있는 음성솔루션, 텔레비전·전기밥솥·냉장고·자동차 등에 내장되어 있는 웹기능 등도 모두 임베디드시스템이다.


IP [information provider] 

인터넷상의 한 컴퓨터에서 다른 컴퓨터로 데이터를 보내는 데 사용되는 프로토콜인터넷상의 각 컴퓨터, 즉 호스트들은 다른 컴퓨터와 구별될 수 있도록 적어도 한 개 이상의 고유한 주소를 갖는다. IP주소는 버전4(IPv4)로 네 도막으로 나눠진 최대 12자리의 번호로 이뤄져있으며, 210.113.39.224의 형식이다. 32비트로 이뤄진 IPv4는 최대 약 40억 개의 서로 다른 주소를 부여할 수 있다. 그러나 기하급수적으로 늘어나는 사용자 수요를 감안할 때, 현재 사용되고 있는 IPv4 체계로는 계속해서 요구되는 인터넷주소 수요를 충족시킬 수 없다. 2012년 현재 1600만 개의 IPv4 주소가 남아 있다.

인터넷 엔지니어링 태스크 포스(IETF : Internet Engineering Task Force)에서는 2008~2011년 사이에 IPv4 어드레스가 고갈될 것으로 예측하고, IPng(IP next generation)라고 하는 작업그룹을 형성하여 1994년부터 활동해 왔다. 이 결과 1995년 9월 18일 표준이 제안되면서 IPv6가 만들어졌다. IPv6 주소는 128비트체계로 구성되어 있으며, 그 표현방법은 128비트를 16비트씩 여덟 부분으로 나누어 각 부분을 콜론(colon, ' : ')으로 구분하여 표현하며, 각 구분은 16진수로 표현한다.

인터넷 소 관리를 책임지고 있는 IANA(Internet Assigned Numbers Authority)에서 1999년 7월 각 대륙별 레지스트리(APNIC, ARIN, RIPE-NCC)에 IPv6 공식주소 할당을 위임 한 이후, 전 세계적으로 약 10여 개 기관에서 IPv6 공식주소를 할당 받아 본격적인 IPv6 주소 할당을 위한 작업을 준비 중에 있다.


아키텍처 [architecture] 

컴퓨터의 기능적 구조 또는 물리적 구조.

(1) 프로그래머나 사용자가 본 컴퓨터 시스템의 소프트웨어와 하드웨어 전체의 기능적인 “제작”을 말한다. 이 경우, 컴퓨터 자체의 물리적 구조는 포함하지 않으나 컴퓨터 시스템의 성능이나 가격 대 성능비(cost performance)의 평가를 고려하는 경우가 있다. 아키텍처를 결정함으로써 컴퓨터 시스템의 기능, 성능이 결정되며 사용할 「하드웨어」와 「소프트웨어」가 결정된다.

(2) 하드웨어의 경우 컴퓨터의 주요한 논리적인 구성 요소의 종류, 구성 및 상호 접속 등을 기술하기 위한 용어이다. 일반적으로 이 구성 요소에는 CPU(중앙 처리 장치), 내부 기억 장치, 각종 레지스터, 제어 장치(control unit), 외부 기억 장치, 입출력 장치, 내부·외부 버스 구조 등이 포함되며, 이들이 어떻게 배치되고 결합되며, 어느 정도의 처리 능력과 용량을 갖고 있는가 라는 컴퓨터의 전체적인 구성 개념을 말하며 컴퓨터 시스템을 분류하는 경우에 편리한 연구 방법이다.


웹호스팅 [Web Hosting] 

웹 호스팅이란 컴퓨터전문업체로부터 자원의 일부를 임대받아 웹 사이트를 구축하는 것을 말한다. 즉, 인터넷상에서 정보를 제공하기 위해서는 웹 사이트를 구축할 수 있을 만한 성능을 가진 컴퓨터와 통신회선과 소프트웨어를 갖추는 비용이 적지 않게 들어간다. 따라서, 비용 때문에 독립적인 인터넷 서버를 운영하기 어려운 중소기업들에게 인터넷 서비스 제공업체(ISP)를 통하여 웹 서버를 임대해 줌으로써, 자체 도메인을 갖게 해 주는 서비스를 말한다. 웹 호스팅 서비스를 이용하면 ISP가 보유하고 있는 고속 인터넷 백본에 직접 서버를 연결, 빠르게 정보를 제공할 수 있다. 웹 호스팅 서비스는 전문인력을 투입하지 않고도 저렴한 비용으로 홈페이지를 관리할 수 있을 뿐만 아니라 ISP가 제공하는 홈페이지와 연결하여 이곳을 방문하는 이용자들을 대상으로 홍보 효과를 높일 수 있다는 장점이 있다. 웹 호스팅 서비스는 홈페이지 관리뿐 아니라 전자결재 등의 기능을 지원하는 인트라넷 환경을 구축하고 관리해 주는 등 가상 인트라넷 서비스로 발전하고 있다.


UI [user interface ] 

컴퓨터나 모바일기계 등을 사용자가 좀더 편리하게 사용할 수 있는 환경을 제공하는 설계 또는 그 결과물. 

Windows와 같은 아이콘과 마우스를 통한 작업이 가능한 컴퓨터 인터페이스를 ‘그래픽 유저 인터페이스(graphic user interface, GUI)’라고 하며 택스트 입력으로 사용하는 인터페이스를 ‘케렉터 유저 인터페이스(Character User Interface, CUI)’라고 한다. 맥킨토쉬 컴퓨터에서 키보드로 부터 마우스와 아이콘으로 발전된 유저 인터페이스는 모바일기계로 이식되면서 손가락 터치만을 이용하는 보다 편리한 방법으로 발전하고 있다.


UX [User Experience]

사용자 경험(User Experience, UX)은 사용자가 어떤 시스템, 제품, 서비스를 직·간접적으로 이용하면서 느끼고 생각하게 되는 지각과 반응, 행동 등 총체적 경험을 말한다. 사용자 경험은 HCI 연구에서 사용된 개념이며, 아직도 많은 사용자 경험의 원리가 컴퓨터 공학 분야의 소프트웨어 및 하드웨어 개발에서 비롯되고 있다. 이 개념은 현재에 와서는 컴퓨터 제품뿐만 아니라 산업을 통해 제공되는 서비스, 상품, 프로세스, 사회와 문화에 이르기까지 널리 응용되고 있다. 사용자 경험을 개발, 창출하기 위해서 학술적, 실무적으로 이를 만들어내고자 하는 일을 사용자 경험 디자인이라고 하며 영역에 따라 제품 디자인, 상호작용 디자인, 사용자 인터페이스 디자인, 정보 아키텍처, 사용성 등의 분야에서 주로 연구 개발되고 있다. 그러나 사용자 경험은 다학제적이며 다분야의 총체적 시각에서 접근해나가야 하는 핵심 원리를 바탕으로 한다.


API [application programming interface] 

운영체제와 응용프로그램 사이의 통신에 사용되는 언어나 메시지 형식을 말한다. 운영체제나 C, C++, Pascal 등과 같은 언어로 응용 프로그램을 만들 때, 윈도우를 만들고 파일을 여는 것과 같은 처리를 할 수 있도록 1000여 개 이상의 함수로 구성되어 있다. API는 프로그래머를 위한 운영체제나 프로그램의 인터페이스로서 사용자와 직접 대하게 되는 그래픽 사용자 인터페이스나 명령형 인터페이스와 뚜렷한 차이가 있다.

API는 응용 프로그램이 운영체제나 데이터베이스 관리 시스템과 같은 시스템 프로그램과 통신할 때 사용되는 언어나 메시지 형식을 가지며, API는 프로그램 내에서 실행을 위해 특정 서브루틴에 연결을 제공하는 함수를 호출하는 것으로 구현된다. 그러므로 하나의 API는 함수의 호출에 의해 요청되는 작업을 수행하기 위해 이미 존재하거나 또는 연결되어야 하는 몇 개의 프로그램 모듈이나 루틴을 가진다. 

좋은 API는 모든 building block을 제공함으로써 프로그램 개발을 쉽게 해준다. 프로그래머는 그 block을 함께 합치기만 하면 된다. API가 프로그래머를 위해서 만들어지기는 했지만, 사용자 입장에서도 같은 API를 사용한 프로그램은 비슷한 인터페이스를 가지기 때문에 새로운 프로그램의 사용법을 배우기가 쉬워진다.


ERP [Enterprise Resource Planning]

Enterprise Resource Planning의 약자로 흔히 '전사적 자원관리'라고 한다. 

기업 전체를 경영자원의 효과적 이용이라는 관점에서 통합적으로 관리하고 경영의 효율화를 기하기 위한 수단이다. 쉽게 말해 정보의 통합을 위해 기업의 모든 자원을 최적으로 관리하자는 개념으로 기업자원관리 혹은 업무 통합관리라고 볼 수 있다.

좁은 의미에서는 통합적인 컴퓨터 데이터베이스를 구축해 회사의 자금, 회계, 구매, 생산, 판매 등 모든 업무의 흐름을 효율적으로 자동 조절해주는 전산 시스템을 뜻하기도 한다. 

기업 전반의 업무 프로세스를 통합적으로 관리, 경영상태를 실시간으로 파악하고 정보를 공유하게 함으로써 빠르고 투명한 업무처리의 실현을 목적으로 한다. 


- ERP 유래

ERP는 MRP(자재소요량관리) MRPII(생산자원관리) MIS(경영정보시스템)등의 자원관리 기법의 발전과정을 거치면서 발전했으며, 지난 90년대 유럽 미국 일본 등 선진기업들이 다국적 회사를 운영하기 위해 종합적인 정보망을 구축하면서 도입됐다.

ERP란 용어는 미국의 "ERP벤더" 라는 소프트웨어 개발회사가 자사의 소프트웨어 제품에 붙인 명칭에서 유래했다. 그 후 미국의 시장조사, 컨설턴트 회사가 그것들을 ERP패키지라고 부른 것이 발단이라고 한다. 

현재 국내에서는 '전사적자원관리'로 번역되어 사용되고 있는데, 이는 SAP코리아라는 회사가 독일 본사에서 ERP 제품을 국내에 들여오면서 이렇게 번역한 것이 그대로 굳어졌다고 한다. 


- ERP 장점

ERP가 구축되면 기업의 생산, 영업, 구매, 재고관리, 회계부서 모두가 기업에 필요한 정보를 동시에 갖게돼 기업의 전 부문이 통합적으로 돌아가게 된다. 기업은 생산시간의 손실을 최소화하게 되며, 시스템상에서의 재고 정확도가 지속적으로 개선되는 효과를 거둘수 있다.

특히 제조업체들은 제품가의 60-70%를 차지하는 부품조달을 합리적으로 기획하고 긴급히 발생한 새로운 생산수주상황에 실시간으로 대처할 수 있다.

ERP시스템이 구축되면 또 기존에 1년에 한두번 또는 분기별로 시행하던 총실사방식에서 탈피, 순환실사가 가능해짐에 따라 언제든지 투명한 회계상황을 파악할 수 있게 된다. 또 주기적으로 재고부족이나 과잉순환 등의 흐름을 추적할 수 있게 돼 오류를 해결할 수도 있다.

대표적인 ERP패키지로는 SAP R/3, 오라클 Application, BPCS 등이 있으며 국내 패키지로는 삼성 SDS의 UniERP, 영림원의 K시스템, 한국기업 전산원의 탑 ERP 등이 있다.


이더넷 [Ethernet] 

근거리통신망(LAN)의 대표적인 통신 프로토콜. 오늘날 우리가 사용하는 컴퓨터 통신의 대부분은 이더넷 기술을 바탕으로 운영된다. 1973년 보브 멧칼프 박사가 처음으로 발명했고 1980년 미국의 제록스, 인텔 등이 공동 개발해 '이더넷 1세대'라는 이름으로 상용화했다. '이더넷'이라는 이름은 우주에 존재한다는 가설 속의 물질인 에테르(ether)에서 따온 것이다. 이더넷은 인터넷 프로토콜이라는 프로그램을 사용해 광범위한 통신 및 컴퓨터 기기를 연결한다. 데이터 공유 및 전송 기술, 랜카드나 라우터 등 네트워크 장비들이 이더넷 기술의 산물이라고 할 수 있다.

cp.) 

가장 대표적인 버스 구조 방식의 근거리통신망(LAN). 미국의 제록스(Xerox Corporation), 미니컴퓨터 제조회사인 디지털이퀴프먼트와 반도체 제조회사인 인텔(Intel Corporation)이 공동으로 개발하여 1980년에 상품화하고 특허를 받았다. LAN은 컴퓨터 제조회사가 각기 나름대로 개발하고 있으나 LAN의 국제표준화를 추진하고 있는 미국전기전자기술자협회(IEEE)의 표준방식의 하나로서 채용되고 있다.

이더넷은 데이터 전송을 위해 다음과 같은 내용의 CSMA/CD(carrier sense multiple access with collision detection) 방식을 사용한다. 데이터를 보내려는 컴퓨터가 먼저 통신망이 사용 중인지 아닌지 검사한 후에 비어 있을 때 데이터를 보낸다. 통신망이 사용 중이면 일정시간을 기다린 후 다시 검사한다. 통신망이 사용 중인지는 전기적인 신호로 확인할 수 있다.

만약 두 대의 컴퓨터가 동시에 검사하여 통신망이 사용 중이지 않다는 것을 확인하고 동시에 전송하게 되면 충돌이 발생한다. 이런 경우에 대비해서 데이터를 전송한 컴퓨터는 자신의 데이터가 손상되지 않았는지를 확인하여 손상이 있으면 다시 전송하게 된다. 이때 두 컴퓨터의 재전송이 동일한 시간 후에 일어나면 다시 충돌이 발생하므로 재전송 시간은 일정한 방법에 의해 변경된다.


오버플로 [overflow]

컴퓨터 용어로, 4칙 연산의 결과가 레지스터 또는 컴퓨터가 다룰 수 있는 수의 범위에서 삐어져 나오는 상태. 또는, 그 결과 최상위의 자리에서 생긴 자리올림의 수를 말한다. 컴퓨터 내부의 연산은 모두 2진법에 의해 수행된다. 그림과 같이 3+2를 계산하면 자리 올림이 생긴다.


cf.) 버퍼 오버플로 [buffer overflow]

서버에서 가동되고 있는 프로그램에, 설정되어 있는 수신 용량보다 훨씬 큰 용량의 데이터를 한꺼번에 보낼 때 서비스가 정지되는 상태. 보낸 데이터에 특수한 실행 프로그램을 넣어두면, 

정지시킨 서비스가 관리자 권한으로 움직이는 경우에 그 특수한 프로그램이 관리자 권한으로 동작한다. 이렇게 하여 서버에 침입하여 다양한 공격을 한다. 버퍼 오버 플로는 응용 프로그램을 이용하여 보내진 데이터가 수신 용량을 넘는지를 체크하도록 해두면 막을 수 있다.


어노테이션(Annotation)

java5.0부터 지원되는 기술로, 기존 설정 파일(web.xml 등)에서 설정 내용들을 설정 파일에서 설정하지 않아도 해당 소스 내에 설정할 수 있는 방법을 제공함으로써 설정 파일의 크기를 줄이거나 설정 파일 자체를 없앨 수 있는 역할을 하는 기능이다.


WAS(Web Applicatio Server)

웹 서비스용 애플리케이션들을 지원하는 미들웨어 소프트웨어를 말한다. 둘 이상의 애플리케이션의 정보 교환을 지원하는데 예를 들어, DB로부터 정보를 가져와 무선 핸드폰용 애플리케이션에게 정보를 전달하는 것도 WAS의 기능에 속한다.

WAS는 클라이언트와 서버 사이에 WAS 미들웨어라는 새로운 계층을 형성함으로써 3-tier 환경을 구축한다.


ActiveX

마이크로소프트사에서 개발한 응용 소프트웨어들이 인터넷 환경하에서도 수행될 수 있도록 해주는 플랫폼 통합 기술을 말한다. 오피스 파일과 같은 일반 문서뿐만 아니라 애니메이션, 3차원 가상현실 등을 실시간으로 인터넷 환경하에서 볼 수 있게 해준다.


USIM (Universal Subscriber Identity Module, 범용 가입자 식별 모듈)

인증을 목적으로 휴대전화 소유자의 개인 정보를 저장하는 모듈을 이르는 말로 스마트카드로 제작된다. 휴대전화가 분실되거나 교체되어도 소유자의 개인 정보에 대한 유지와 보호가 가능하다. 여기에 저장되는 개인 정보로는 통신사업자, 사용자 비밀번호, 사용자 개인 전화번호, 로밍 정보 등이 포함된다.


'IT용어' 카테고리의 다른 글

[IT용어] ㅊ  (0) 2014.12.20
[IT용어] ㅈ  (0) 2014.12.20
[IT용어] ㅅ  (0) 2014.12.20
[IT용어] ㅂ  (0) 2014.12.20
[IT용어] ㅁ  (0) 2014.12.20

[IT용어] ㅅ


스크립트 [script] 

컴퓨터 프로세서나 컴파일러가 아닌 다른 프로그램에 의해 번역되고 수행되는 명령문의 집합.

프로그래밍 언어가 아닌 언어로 작성한 짧은 프로그램이나 명령어들을 의미한다. 컴파일러로 작성된 C나 C++와 같은 언어들에 비해 제한된 능력을 지니고 실행속도도 느리지만 프로그램을 쉽고 빠르게 작성할 수 있다. 주로 제한된 능력을 가진 프로그램이나 컴파일된 기존 프로그램과 연결하여 재사용되는 프로그램들을 만드는 데 적당하다. 용도가 유용하여 기능이 꾸준히 업그레이드되고 있으며, 새로운 것도 계속적으로 개발되고 있다.

유닉스 중심의 펄(PERL)과 넷스케이프의 자바스크립트(JavaScript), 마이크로소프트의 VBSscript 등이 유명하며, IBM의 REE와 선마이크로시스템즈의 Tcl/Tk 등도 잘 알려져 있다. 웹클라이언트와 웹서버 환경에서 보면 펄은 웹서버에서, 자바스크립트는 클라이언트에서, VBSscript는 서버와 클라이언트에서 동시에 실행된다.

이 가운데 자바스크립트는 선마이크로시스템즈가 1996년 개발한 자바의 기능을 그대로 사용하면서도 프로그래밍을 쉽고 간편하게 할 수 있게 해 준다. 마이크로소프트의 인터넷 익스플로러 3.0에서도 지원되어 가장 많이 쓰이는 언어이다. VBSscript는 자바스크립트와 유사한 언어로 인터넷 환경에서 동작할 수 있게 설계된 것이다. 비주얼베이식 계열의 프로그래밍 언어로 인터넷 익스플로러에서 작동한다. 


SNS [Social Networking Service] 

온라인상에서 불특정 타인과 관계를 맺을 수 있는 서비스. 이용자들은 SNS를 통해 인맥을 새롭게 쌓거나, 기존 인맥과의 관계를 강화시킨다. 국내의 대표적인 SNS로는 '싸이월드'를 들 수 있다. 전 세계적으로 SNS의 인기는 높아졌다. 미국 마이스페이스의 2007년 전 세계 순방문자 수는 5월까지만 1억954만 명에 달했으며, 다른 SNS인 페이스북의 2007년 순방문자는 4721만 명으로 2006년 대비 235% 성장했다. 국내에서는 싸이월드가 2003년 SK커뮤니케이션즈의 인수 이후 꾸준한 성장세를 구가한다. SNS가 큰 인기를 끌면서 서비스와 형태도 다양해졌다. 휴대전화와 결합되면서 모바일 접속이 가능해졌고, 통화·회의·쇼핑 등 다양한 기능이 SNS에 부가되었다. SNS는 `도토리`로 대표되는 이머니(e-money)를 통해 수익모델의 가능성을 보여준다. 이에 따라, 미국 언론재벌 루퍼트 머독이 5억8000만 달러에 마이스페이스를 인수하는 등 미디어업체, 인터넷포털 등의 SNS에 대한 관심이 커졌다.


스레드 [thread] 

①컴퓨터 프로그램 수행 시 프로세스 내부에 존재하는 수행 경로, 즉 일련의 실행 코드. 프로세스는 단순한 껍데기일 뿐, 실제 작업은 스레드가 담당한다. 프로세스 생성 시 하나의 주 스레드가 생성되어 대부분의 작업을 처리하고 주 스레드가 종료되면 프로세스도 종료된다. 하나의 운영 체계에서 여러 개의 프로세스가 동시에 실행되는 환경이 멀티태스킹이고, 하나의 프로세스 내에서 다수의 스레드가 동시에 수행되는 것이 멀티스레딩이다. ②나무 데이터 구조(tree data structure)에서 상위 노드의 식별과 나무 내의 정보 탐색을 촉진하는 포인터. ③게시판이나 토론의 장에서 최초 메시지에 대한 댓글들의 연속. 스레드는 수없이 많은 각각의 토론들을 관련 있는 것끼리 찾아서 읽거나 참여하는 데 도움이 된다. 

cf.) 멀티 스레드 [multi-thread] 

1개의 응용 프로그램이 스레드(thread)로 불리는 처리 단위를 복수 생성하여 복수의 처리를 병행하는 것. 즉, 응용 프로그램 내에서의 다중 작업(multitasking) 처리를 말한다. 다중 작업과 같이 중앙 처리 장치(CPU)의 처리 시간을 매우 짧은 단위로 분할하여 복수의 스레드에 차례로 할당함으로써 복수의 처리가 동시에 이루어지는 것처럼 보인다.


SMTP [simple mail transfer protocol] 

simple mail transfer protocol의 약어. 

인터넷 상에서 전자 메일을 전송할 때 쓰이는 표준적인 프로토콜. SMTP 프로토콜에 의해 전자 메일을 발신하는 서버(server)를 SMTP 서버라고 한다. 메일 사이에서 발생하는 것을 전송해 주는 프로토콜로 인터넷에서 이메일을 교환할 때 그 과정을 정렬해준다.  


스키마 [schema] 

(1) CODASYL이 제안한 DBMS(DBTGCOBOL)에서의 용어. 물리적인 장치로부터 논리적인 데이터 베이스 레코드(data base record)를 매핑(mapping)하는 데 사용되는 정의 정보를 말한다. 데이터 베이스의 논리 구조에는 데이터 베이스「전체 논리 구조」와 사용자 응용마다의「개별 논리 구조」두 가지 레벨이 있다. 이들의 구조로 내장되는「데이터의 정의」에는「전체 논리 구조 기술」과「개별 논리 구조 기술」이 있고, 전자를 스키마, 후자를 서브스키마라고 한다. 데이터 정의 기술에는 데이터 정의 언어(DDL)를 사용한다.

(2) 데이터 베이스의 기본 개념으로서 데이터 베이스가 대상으로 하는 실세계를 논의 영역(universe of discourse), 논의 영역에서 데이터 베이스에 필요한 정보를 추상화하는 모델을 데이터 모델(data model), 추상한 결과를 기술한 것을 개념 스키마(conceptual schema)라고 한다. 개념 스키마를 컴퓨터의 세계로 매핑한 것을 내부 스키마(internal schema)라 하고, 각 이용자 자신의 데이터 베이스를 구축하는 데는 개념 스키마를 어떻게 구성하는가가 더욱 중요한 점이다. 이용자의 데이터 시점에서 공통 항목을 추출해서 개념 스키마에 반영시키는 것이 필요하다.

cp.) 도식 [Schema , 圖式] 

일반적으로는 내용을 어떤 형식에 따라 과학적으로 정리 또는 체계화시키는 틀을 이르는 말.


SSH [secure shell] 

secure shell의 약어. PGP와 마찬가지로 공개 키 방식의 암호 방식을 사용하여 원격지 시스템에 접근하여 암호화된 메시지를 전송할 수 있는 시스템. 따라서 LAN 상에서 다른 시스템에 로그인할 때 스니퍼에 의해서 도청당하는 것을 막을 수 있다.


SSL [Secure Socket Layer] 

보안 소켓 계층.SSL은 사이버 공간에서 전달되는 정보의 안전한 거래를 보장하기 위해 넷스케이프사가 정한 인터넷 통신규약 프로토콜을 말한다. daum, naver와 같은 주요 포털업체들이 개인정보 누출을 막기 위해 금융서비스처럼 온라인 결제를 요하는 부문에만 사용하던 SSL을 확대 적용하고 있다. SSL 규약은 서버와 클라이언트의 진위 확인이 가능하도록 해준다. 암호화키와 관련된 협상을 할 수 있을 뿐 아니라 상위 응용프로그램이 정보를 서버와 교환하기 전에 서버의 진위를 확인해 줄 수 있다.


subnet 

네트워크의 일부를 구성하는 망. 컴퓨터 네트워크는 소프트 컴퓨터를 네트워크 상에 결합한 것이며 네트워크 중 호스트 컴퓨터를 제외한 부분을 서브넷이라고 한다. 서브넷의 임무는 어느 호스트 컴퓨터로부터 지정된 다른 호스트 컴퓨터로 메시지(원하는 비트 계열)를 정확히 필요로 하는 시간 내에 보내는 것이다. 서브넷은 호스트 컴퓨터에 종속한 것이 아니라 그 스스로 자율적인 동작이 가능하다(관리, 유지). 하드웨어 호환성, 거리 제한 문제 등으로 하나의 네트워크에 모든 호스트를 연결할 수 없을 경우에 추가하여 연결하는 네트워크.


대규모 네트워크를 구성하는 개별 네트워크. 서브 네트워크라고 해서 일반적인 네트워크 보다 미약한 기능을 제공한다는 의미는 아니며, 각각의 서브넷들이 모여 하나의 논리적인 네트워크를 이루어 망간 상호접속을 위한 완전한 동작을 수행한다는 의미이다. 다시 말하면, 여러 서브넷들이 하나의 상호접속된 네트워크나 인터넷(internet)을 구성한다고 말할 수 있다. 라우터로 구분된 범위에서 서브넷의 외부로는 브로드캐스트 데이터가 전달되지 않는다.

모든 호스트는 서브넷 주소의 지원이 필요하며, TCP/IP를 이용하는 경우 IP 주소를 단순히 네트워크 ID와 호스트 ID로만 간주하지 않고, 호스트 ID 부분을 서브넷 ID와 호스트 ID로 나누어 생각한다. 이렇게 하는 이유는 클래스 A와 클래스 B 주소는 호스트 ID에 대한 할당으로, 각각 224-2, 216-2(2를 빼는 것은 호스트 ID 비트가 모두 0이거나 모두 1인 경우는 유효하지 않기 때문)라는 매우 많은 비트를 차지하므로 일반적으로 단일 네트워크에 많은 호스트를 접속하지 않는다.

예를 들어, InterNIC로부터 클래스 B 네트워크 주소(128.0.0.0~191.255.255.255)를 받는다면, 로컬 네트워크 관리자는 남아 있는 16비트 중에서 8비트는 서브넷 ID로, 8비트는 호스트 ID로 할당하여 사용할 수 있다. 이러한 서브넷팅은 254개의 서브넷과 서브넷당 254개의 호스트를 둘 수 있다.

서브넷팅으로 인하여 인터넷 라우팅 테이블의 크기를 적게 할 수 있는 이점이 있으며, 라우터는 IP 주소 가운데 서브넷 주소를 판별하기 위해서 서브넷 마스크(subnet mask)라는 정보를 갖는다. 이 마스크는 네트워크 ID와 서브넷 ID에 대해 1의 비트, 호스트 ID에 대해 0의 비트를 할당한 32 비트의 값이다. 위 예에서의 서브넷 마스크는 255.255.255.0이 된다.


subnet mask

호스트 이름으로부터의 IP 주소지에 대한 네트워크의 이름을 규정하는 것으로 32비트의 크기로 만들어진다.

cp.) 라우터가 IP 주소 중의 부분망 주소를 식별하기 위한 정보. 부분망을 이용하여 통신을 하는 경우 IP 주소 중 어느 부분이 부분망 번호인지를 식별할 수 있도록 하기 위해서는 부분망 번호의 위치를 판단하는 템플릿(패턴 인식에 사용되는 원형 패턴)을 라우터에 설정한다. 이 템플릿을 부분망 마스크라고 한다.


SSO(Single Sign-On, 싱글 사인온)

한번의 로그인으로 각종 업무 시스템이나 인터넷 서비스에 여러 번의 로그인 과정 없이 접속하여 이용할 수 있게 해주는 보안 응용 솔루션이다. 각 시스템마다 존재하는 사용 인증 절차를 매번 밟지 않고서도 하나의 계정에 대한 단일 로그인만으로 다양한 시스템에 접근할 수 있어서 사용자의 편의성이 높아지고, 사용자 인증 등의 관리가 수월해진다. 인증을 위하여 주로 공개키 기반 구조(PKI, Public Key Infrastructure)를 사용한다.


'IT용어' 카테고리의 다른 글

[IT용어] ㅈ  (0) 2014.12.20
[IT용어] ㅇ  (0) 2014.12.20
[IT용어] ㅂ  (0) 2014.12.20
[IT용어] ㅁ  (0) 2014.12.20
[IT용어] ㄹ  (0) 2014.12.20

[IT용어] ㅂ



브라우저 [Browser] 

인터넷의 가장 대중적인 서비스인 월드와이드웹(www)에서 사용되는 프로그램을 말한다. 인터넷에서 정보를 제공하는 웹 서비스를 이용하기 위해 개발된 프로그램이라는 의미에서 웹 브라우저(Web Browser)라고도 한다. 즉, 웹 페이지를 열람하기 위한 소프트웨어라고도 할 수 있다. 네트워크에서 HTML 파일·화상 파일·음악 파일·영상 파일 등을 다운로드 해서 레이아웃을 해석하여 표시 또는 재생한다. 세계 최초 그래픽 웹브라우저는 NCSA(미국 국립 수퍼 컴퓨터 응용 연구소: National Center for Supercomputing Application)에 의해 개발된 모자이크라는 소프트웨어이고, 현재는 모자이크 개발 팀이 만든 넷스케이프 커뮤니케이션 사의 '넷스케이프'와 마이크로소프트사의 '인터넷 익스플로러'가 거의 시장을 양분하고 있다.


버퍼 [Buffer] 

하나의 장치에서 다른 장치로 데이터를 전송할 경우에 양자간의 데이터의 전송속도나 처리속도의 차를 보상하여 양호하게 결합할 목적으로 사용하는 기억영역을 버퍼 또는 버퍼 에어리어라고 한다. 보통 중앙처리장치와 단말이나 다른 입출력장치사이의 데이터 송수신에는 입출력 영역으로서 버퍼를 필요로 한다. 또, 중앙처리장치와 주기억장치의 사이에 고속으로 동작하는 소용량의 버퍼 메모리(로컬 메모리라고도 한다)를 설치하여 처리의 고속화를 꾀하는 방식도 있다.

cp.) 컴퓨터의 주기억 장치와 주변 장치 사이에서 데이터를 주고 받을 때, 둘 사이의 전송 속도의 차이를 해결하기 위해 전송할 정보를 임시로 저장하는 고속 기억 장치

cf.) 버퍼 메모리 [Buffer Memory] 

일반적으로 주기억장치와 중앙처리장치의 사이에 명령이나 데이터를 일시 유지하는데 사용되는 고속의 기억장치를 가리킨다. 버퍼 메모리는 주기억장치보다 메모리용량은 작지만 보다 고속의 기억 소자를 사용함으로써 주기억장치와 중앙처리장치 사이의 정보의 흐름을 원활하게 한다. 또, 다른 견지(見地)에서 보면 기억의 계층구성을 실현하고 있다고도 표현할 수 있다.

근년에는 다중레벨을 가진 버퍼 메모리를 실현한 컴퓨터도 있다. 또한 버퍼 메모리를 달리 로컬 메모리 혹은 캐시(cache)라고도 한다.


빌드자동화 [Build automation]

빌드 자동화는 개발자가 반복적으로 수행하는 다양한 작업을 자동화 또는 스크립트로 만드는 행위로, 소스코드를 바이너리 코드로 컴파일하기, 바이너리 코드를 패키징하기, 테스트 수행하기, 운영시스템으로 배포하기, 관련된 문서 생성하기 작업을 포함한다.

cf.) 빌드툴은 소스코드를 컴파일/테스트/패키징/배포/문서화하는 작업을 지원하는 툴로 이해하면 되겠다. 작업 순서는 일반적으로 아래와 같이 수행된다.

1.개발자가 작성한 소스코드(Source Code)를 컴파일(Compile)하여 컴퓨터가 이해할 수 있는 언어(바이너리 코드)로 바꾸기, 

2.정상적으로 작동하는지 테스트하기, 

3.관련된 리소스(resource, 자원) 및 바이너리 코드를 압축하여 묶기(Packaging), 

4.실제 운영환경(또는 테스트환경)에 배포(deploy)하기 

5.관련된 문서 만들기


바인딩

프로그램 언어에서 어떤 대상물의 이름을 그것이 나타내는 실제의 대상물과 연결하는 것.

프로그래밍 용어로서, 각종 값들이 확정되어 더 이상 변경할 수 없는 구속(bind) 상태가 되는 것. 프로그램 내에서 변수, 배열, 라벨, 절차 등의 명칭, 

즉 식별자(identifier)가 그 대상인 메모리 주소, 데이터형 또는 실제값으로 배정되는 것이 이에 해당되며, 

원시 프로그램의 컴파일링 또는 링크 시에 확정되는 바인딩을 정적 바인딩(static binding)이라 하고, 프로그램의 실행되는 과정에서 바인딩되는 것을 동적 바인딩(dynamic binding)이라고 한다. 

프로그램 작성에서는 바인딩을 가급적 뒤로 미루도록 권고하고 있다.


빅데이터 [big data]

데이터의 생성 양ㆍ주기ㆍ형식 등이 방대한 데이터

데이터의 생성 양ㆍ주기ㆍ형식 등이 기존 데이터에 비해 너무 크기 때문에, 종래의 방법으로는 수집ㆍ저장ㆍ검색ㆍ분석이 어려운 방대한 데이터를 말한다. 빅데이터는 각종 센서와 인터넷의 발달로 데이터가 늘어나면서 나타났다. 컴퓨터 및 처리기술이 발달함에 따라 디지털 환경에서 생성되는 빅데이터와 이 데이터를 기반으로 분석할 경우 질병이나 사회현상의 변화에 관한 새로운 시각이나 법칙을 발견할 가능성이 커졌다. 일부 학자들은 빅데이터를 통해 인류가 유사 이래 처음으로 인간 행동을 미리 예측할 수 있는 세상이 열리고 있다고 주장하기도 하며, 이를 주장하는 대표적인 학자로는 토머스 멀론(Thomas Malone) 미국 매사추세츠공과대학 집합지능연구소장이 있다.

빅데이터는 초대용량의 데이터 양(volume), 다양한 형태(variety), 빠른 생성 속도(velocity)라는 뜻에서 3V라고도 불리며, 여기에 네 번째 특징으로 가치(value)를 더해 4V라고 정의하기도 한다. 빅데이터에서 가치(value)가 중요 특징으로 등장한 것은 엄청난 규모뿐만 아니라 빅데이터의 대부분은 비정형적인 텍스트와 이미지 등으로 이루어져 있고, 이러한 데이터들은 시간이 지나면서 매우 빠르게 전파하며 변함에 따라 그 전체를 파악하고 일정한 패턴을 발견하기가 어렵게 되면서 가치(value) 창출의 중요성이 강조되었기 때문이다.


백그라운드 프로세스

사용자가 특정 명령을 실행하고 있는 동안 뒤에서 조용히 실행되는 프로세스를 의미한다. 웹서버, FTP서버,메일서버 등의 데몬 프로세스 등이 백그라운드로 실행된다.

작업시간이 많이 걸리는 프로세스를 백그라운드로 처리함으로서 사용자는 계속 새로운 명령을 실행할수 있다.

fg 명령을 사용하여 백그라운드 프로세스를 포그라운드 프로세스로 변경할수 있다.


cf.) 프로세스란?

현재 실행중인 프로그램을 의미 한다. 프로세스에는 포그라운드와 백그라운드가 있다.


cf.) 포그라운드 프로세스란

현재 실행하고 있는 프로세스를 말한다. 포그라운드 상태의 프로세스를 중지하고자 할 경우 Ctrl + Z를 사용하여 bg명령을 사용하여 백그라운드 프로세스를 처리할 수 있다.


비트 [bit]

컴퓨터에서 다루는 데이터의 최소 단위. 디지털 회로에서는 0과 1의 상태는 일반적으로 전압이 인가되어 있거나 인가되어 있지 않은 것으로 나타낸다. 그것이 2진수(binary)의 숫자(digit) 표기와 일치라기 때문에 binary digit를 줄여서 bit라는 조어가 생겨났다. 따라서 1bit 1자리의 2진수와 같아서 0과 1의 두 종류의 데이터 표현이, 2bit에서 11,01,10,11의 4 종류의 표현이 가능하다.


바이트 [byte]

보통 컴퓨터가 처리하는 정보의 기본 단위, 8개의 비트가 묶여 있어 1바이트가 나타낼 수 있는 최대의 정수는 8개 비트가 모두 1로 되었을 때 255이다. 1바이트로 나타낼 수 있는 정보는 0에서 255까지의 256개이며, 보통 영문자 한 글자이다.


배포[deploy]

배포는 개발된 결과물(소프트웨어)을 시장에 발표하는 것을 의미한다. 웹 애플리케이션의 경우 개발된 결과물을 실제 서비스로 사용되는 서버 장비에 복사하는 과정이 배포 과정이다. 예를 들어, 개발한 JSP 파일, 서블릿 파일, 이미지 파일, 자바 스크립트 파일등을 실 운연 서버에 FTP나 SCP 등을 이용해서 복사하는 과정이 배포 과정이다.


블루투스(Bluetooth)

WPAN의 일종으로 휴대폰과 PC 주변장치 간의 효율적인 무선 인터페이스를 위해 에릭슨 사가 1994년에 도입한 기술이다. 데이터 교환 대상으로는 컴퓨터, 개인용 단말기(핸드폰, PDA), 백색 가전제품(냉장고, 세탁기) 등이 있다.



'IT용어' 카테고리의 다른 글

[IT용어] ㅇ  (0) 2014.12.20
[IT용어] ㅅ  (0) 2014.12.20
[IT용어] ㅁ  (0) 2014.12.20
[IT용어] ㄹ  (0) 2014.12.20
[IT용어] ㄷ  (0) 2014.12.20

[IT용어] ㅁ



마크업 [markup] 

①문서 처리를 지원하기 위해 문서에 추가되는 정보. 마크업 정보는 문서의 논리적 구성이나 체제와 같은 문서의 포맷을 지정하거나, 문서 내용의 찾아보기 또는 찾아보기 작업(indexing) 방법을 지정하거나, 문서 내용 중의 요소와 같은 문서 또는 다른 문서 중의 다른 요소와의 연결(link)을 지정한다. 마크업 정보를 표현하는 언어를 마크업 언어라고 한다. 

②마크업 정보를 문서 중에 삽입하는 작업.

cf.) 그 파일이 프린터로 출력되거나 화면에서 어떻게 보여야할 것인지를 나타내기 위해 또는 그 문서의 논리적인 구조를 묘사하기 위해서, 텍스트나 워드프로세싱 파일의 특정위치에 삽입되는 일련의 문자들이나 기호들을 말한다. 마크업에 사용되는 표지를 흔히 ‘태그’라고 부른다. 


모듈 [module] 

원래 건축학에서 처음 사용되었으며, 일반적으로 컴퓨터 분야에서의 모듈은 독립되어 있는 하나의 소프트웨어 또는 하드웨어 단위를 지칭하는데 사용된다. 컴퓨터 프로그래밍에서는, 특히 PL/1과 같이 오래된 언어에서 원시언어로 작성된 문장들로부터 컴파일러의 출력물을 구분해 지칭하기 위해 오브젝트 모듈이라는 용어를 썼다. IBM의 OS/360과 같은 메인프레임 시스템에서 오브젝트 모듈은 하나의 로드 모듈(load module)을 이루기 위해 다른 오브젝트 모듈들과 함께 연결되었다.

소프트웨어에서 모듈이란 한 프로그램의 일부분이다. 프로그램들은 하나 이상의 독립적으로 개발된 모듈로 구성되며, 이들은 그 프로그램이 링크되기 이전까지는 결합되지 않는다.

컴퓨터 하드웨어나 전자공학에서 말하는 모듈이란, 커다란 장치나 배열 내에서 비교적 작은 크기의 부품으로서 독립적으로 설치되고, 교체되고, 사용될 수 있도록 설계된 구성요소를 말한다. 예를 들어, SIMM(single in-line memory module)은 여러 개의 메모리 칩들을 하나의 작은 보드에 서로 연결하여 설치함으로써, 사용자들이 별도로 구입하여 개인용 컴퓨터에 쉽게 추가할 수 있도록 만들어 놓은 램을 말하는데, 이를 메모리 모듈이라고 부른다.


MIME [multipurpose internet mail extensions] 

multipurpose internet mail extensions의 약어. 인터넷에서 멀티미디어 전송을 위한 메일 규약을 뜻하는 것으로 인터넷 문서 RFC 1521, 1522에 정의되어 있으며, 전송되는 내용에 대한 자세한 구분을 헤더로 주고받아 일반 텍스트는 물론 음성이나 화상 정보까지 주고받을 수 있도록 준비된 하나의 규약이다.


MIME Type

MIME Type이란 Multipurpose Internal Mail Extensions의 약어로 메시지 콘텐츠 형식을 정의하기 위한 인터넷 표준을 말한다. MIME 메시지는 텍스트, 이미지, 오디오, 비디오 및 기타 어플리케이션의 특정 데이터를 포함할 수 있으며 일반적으로 홈페이지 상에 표현되는 멀티미디어 데이터에 대한 형식을 말한다. 클라이언트의 웹브라우저나 웹사이트를 제공하는 웹서버에서 MIME Type이 등록되지 않는다면 사용자들은 해당하는 콘텐츠를 웹브라우저에서 볼 수 없게 된다.


메타데이터 [Meta Data]

메타데이터라는 말은 영어로 Meta Data 라고 쓰고 많은 데이터를 갖고 있을 때 그 데이터를 정의하고 설명해 주는 데이터를 말합니다.

인터넷 웹html 문서에서는 메타태그(META TAG) 안의 내용이라고 할 수 있지요.이것은 어떠한 ‘무슨 데이터이다’라고 설명해 주는 데이터가 메타데이터이다 .메타데이터의 내용에는 자료 데이터의 종류나 크기 등의 설명도 포함된다.


매핑(Mapping)
매핑이란 해당 값이 다른 값을 가리키도록 하는 것이다.
다른 데이터 셋과 대응 관계를 가지고 있는 일련의 데이터 셋을 지칭한다. 
메모리나 디스크 상에 현재 저장되어 있는 데이터나 객체 목록을 지칭한다. 
디스크 드라이브에 경로나 디스크 문자 (A:, C:, R: 등)를 할당하는 것으로, 특히 드라이브 매핑이라고 부르기도 한다. 
일련의 객체들을 한 장소에서 다른 곳으로 이동시키는 것이다. 예를 들면, 디스크 상의 프로그램 모듈들은 메모리에 사상(寫像)된다. 
메모리 내의 그래픽 이미지는 비디오 화면상에 사상된다. 하나의 주소는 다른 주소에 사상된다. 
논리적 데이터베이스 구조는 물리적 데이터베이스에 사상된다. 매핑을 위해서는 대체로 한 형식에서 다른 형식으로 변환하는 것이 필요하다. 
일련의 객체들을 다른 객체들에 관련시키는 것이다. 예를 들어, 어떤 공급자의 프로토콜은 OSI 참조 모델에 사상된다. 

마이그레이션[migration, 이주(移住)]
정보기술에서, 마이그레이션이란 한 운영환경으로부터, 대개의 경우 좀더 낫다고 여겨지는 다른 운영환경으로 옮겨가는 과정을 말한다. 
예를 들어, 윈도우NT 서버를 윈도우2000 서버로 옮겨가는 것을 마이그레이션이라고 볼 수 있는데, 그 이유는 새로운 특색들이 이용된다는 것과, 
이전의 설정치들을 변경할 필요가 없다는 것에 대한 확신, 
그리고 현재의 애플리케이션들이 새로운 환경에서도 계속 운영됨을 보장하는 단계 등이 수반되기 때문이다. 
마이그레이션은 또한 윈도우NT 환경으로부터 유닉스 기반의 운영체계로 옮기는 것 (또는 그의 반대방향의 경우도 마찬가지다)을 의미할 수도 있다. 
마이그레이션은 새로운 하드웨어나, 새로운 소프트웨어, 또는 둘 모두가 바뀌는 환경으로의 이주를 포함할 수 있다. 
마이그레이션의 규모에는, 단일 시스템이 옮겨가는 것과 같은 소규모 마이그레이션도 있지만, 
많은 시스템들이 새로운 애플리케이션이나 새롭게 재설계된 네트웍으로 옮겨가게 되는 대규모 마이그레이션도 있을 수 있다.
마이그레이션은 한 종류의 데이터베이스에서 다른 종류의 데이터베이스로 데이터를 옮기는 경우도 될 수 있다. 
이것은 대체로 이전의 데이터베이스로부터의 출력이 새로운 데이터베이스의 입력이 되도록 어떤 공통된 형식으로 데이터를 변환하는 작업이 필요하다. 
새로운 데이터베이스는 다르게 구성될 수 있기 때문에, 마이그레이션이 진행중인 파일들을 처리할 수 있는 프로그램을 작성하는 것이 필요할 수도 있다.
마이그레이션은 또한 데이터를 한 저장장치에서 다른 저장장치로 옮기는 과정을 의미하는 데에도 사용된다.


'IT용어' 카테고리의 다른 글

[IT용어] ㅅ  (0) 2014.12.20
[IT용어] ㅂ  (0) 2014.12.20
[IT용어] ㄹ  (0) 2014.12.20
[IT용어] ㄷ  (0) 2014.12.20
[IT용어] ㄴ  (0) 2014.12.20

[IT용어] ㄹ



LAN [local area network] 

근거리통신망. 300m 이하의 통신회선으로 한 건물 안에서나 제한된 지역 내에서 컴퓨터 및 주변장치 등을 연결하여 정보와 프로그램을 공유할 수 있도록 해주는 네트워크를 말한다. 1970년대 말에서 1980년대 초 제록스 사의 한 연구소에서 LAN에 관한 중요한 업적이 이루어졌다. 이 연구소에서 이더넷(Ethernet)이라고 이름을 붙인 컴퓨터 연결방법이 처음으로 실용화되었다. 예를 들어 기업 내부에서 각종 정보를 컴퓨터에 입력해 놓고 각 부서에 설치되어 있는 컴퓨터와 통신망을 연결하여 부서간 업무 연락과 정보를 공유하는 것을 LAN이라 할 수 있다. LAN의 주요기능은 컴퓨터간의 파일전송, 전자우편, 대용량의 기억장치, 프로그램과 정보의 공유 등을 꼽을 수 있다. 한편 지리적으로 넓은 범위에 떨어져 있는 컴퓨터 시스템들을 연결시키는 통신망을 광역통신망(Wide Area Network ; WAN)이라고 한다.


라이선스 [license , 認可] 

(1) 예를 들면, 컴퓨터의 적용 업무 프로그램에서는 프로그램을 제작한 프로그램 메이커와 프로그램을 구입한 사용자(user)와의 사이에 라이선스 계약을 맺는다. 이로써 사용자가 부당하게 타인에게 프로그램을 카피시키지 않도록 하는 대신에 사용자는 프로그램이 버전 업(version up)되었을 때 지원받을 수 있다. 그러나 백업 등을 위하여 사용하는 프로그램의 카피는 허용된다. 또 교육용을 목적으로 한 종류이지만 대량의 프로그램을 사용할 수 있는 라이선스를 사이트 라이선스(site license)라 하며, 최근에 각광받고 있다.

(2) 공업적으로는 어떤 메이커가 특허를 취득한 장치 등에 대하여 다른 메이커가 생산할 수 있는 권리를 말한다. 즉, 다른 기업은 라이선스를 받아 생산을 행할 수 있는 것이다. 이것을 라이선스 생산이라 부르며, 라이선스를 받은 대가로서 로열티(royality)라고 하는 라이선스 사용료를 지불할 필요가 있다. 흔히 licensed의 형으로도 사용된다.


리모트(원격) [remote]

통신 회선」을 경유하여 중앙측의 컴퓨터 시스템에 연결되어 있는 장소를 원격측 또는 단순히 원격(remote)이라고 한다. 「통신 회선」의 경유와 컴퓨터 시스템과의 사이에서 행해지는 각종 조작과 기능에 흔히 사용된다.


루틴 [routine] 

컴퓨터 프로그램에서 어떤 일을 담당하는 하나의 정리된 일. 또 프로그램의 일부를 표시하는 경우도 있고, 전부를 표시하는 경우도 있다. 프로그램은 크고 작은 여러 가지 루틴을 조합시킴으로써 성립된다. 루틴은 메인 루틴(main routine)과 서브루틴(subroutine)으로 구분하고 있다. 메인 루틴이란 프로그램의 주요한 부분이며, 전체의 개략적인 동작 절차를 표시하도록 만들어진다. 이 대강의 정도는 서브루틴의 작업 정도에 의해 정해진다. 결국, 메인 루틴에서는 몇 가지의 서브루틴을 호출하고, 서브루틴에 의해서 프로그램의 세세한 실행을 행한다. 서브루틴이란 프로그램의 일부를 담당하는 부분 프로그램이며, 메인 프로그램으로부터 호출되어 실행된다.

프로그램 중에서 사용 빈도가 높은 부분은 공통화하여서 브루틴으로 함으로써 메모리의 사용 효율을 상승시키며 또 프로그래밍 효율도 상승시킨다. 그리고 흔히 사용하는 루틴을 루틴 라이브러리로서의 파일형으로 해두면 프로그래밍할 때 아주 편리하다. 또한 서브루틴에는 그 역할과 목적에 맞는 이름을 붙인다. 이로써 프로그램을 읽을 때 이해가 쉽고 읽기 쉬운 프로그램이 된다. 서브루틴과 메인 루틴은 서로 입력 데이터의 계산 결과를 파라미터로서 주고 받는다. 그 경우 파라미터는 변수형으로 주어지며 그 파라미터에 데이터값을 대입하여 서브루틴을 호출함으로써 마치 내장 함수인 것처럼 실행할 수 있다.


리소스 [resource] 

컴퓨터 시스템에 관한 여러 가지의 자원을 총칭하는 말이며, 중앙처리장치나 자기테이프 등의 주변장치, 단말장치를 가르킨다. 또한, 중앙처리장치의 처리시간, 기억장치의 에어리어 등을 가리키는 경우도 있으며, 넓은 의미로는 컴퓨터 시스템에 종사하는 인력을 포함하는 경우도 있다.

cf.) 일반적으로 리소스란 사용될 수 있는 어떤 항목을 말한다. 프린터나 디스크 드라이브와 같은 장치들이 리소스가 될 수 있으며, 메모리도 마찬가지이다. 컴퓨터 운영체계에서는 특히 프로그램들이 활용할 수 있는 데이터나 루틴들을 가리키며, 커다란 시스템의 일부를 이루는 하드웨어, 소프트웨어 또는 데이터의 한 구성요소를 말한다.

예를 들어, 네트웍 리소스는 네트웍상에서 활용 가능한 서버나 프린터 등을 지칭한다. 소프트웨어 리소스에는 프로그램, 유틸리티, 또는 심지어 프로그램 내의 작은 구성요소를 지칭할 수 있다. 데이터 리소스는 액세스 할 수 있는 파일이나 데이터베이스 등이 포함된다.

cf.) 리소스(resource)는 다음을 가리키는 말이다.

기본적으로 자원의 뜻이다.

리소스 (컴퓨터 과학)은 다음을 포함한다. 

리소스 (웹): URI가 정의한 아무 항목

리소스 (매킨토시): 맥 오에스 파일에 연결된 데이터

리소스 (윈도): EXE, DLL 파일 안에 들어 있는 데이터

리소스 (자바): 응용 프로그램 데이터


로그 [Log] 

컴퓨터의 처리 내용이나 이용 상황을 시간의 흐름에 따라 기록한 것, 혹은 기록하는 것. 사고가 발생했을 때 데이터의 복원이나 사고 원인의 규명 등에 도움이 되고, 네트워크의 부정 이용이나 데이터 파괴의 방지, 이용 요금의 산정의 기본 등에 쓰인다. 또 PC(개인용 컴퓨터) 통신에서 메일 등 통신 내용의 기록을 로그라 하고, 그 파일을 로그 파일이라고 한다.


cf.) 운용 기록[log , 運用記錄] 

①기계 작동에 관한 기록, 기계 상황의 변경, 스위치 선택, 입출력 장치에 대한 사항, 제어 콘솔에서 입력한 자료, 기계 정지 시의 상태나 원인 등에 관한 사항의 기록 등 컴퓨터 운용에 관계되는 모든 기록. 컴퓨터에 있는 로그 파일에 자동적으로 기록되게 할 수 있다. 

②어떤 트랜잭션이 데이터베이스의 어떤 값을 갱신할 때 갱신 전의 값과 후의 값을 로그 파일에 먼저 기록하는 것. 트랜잭션의 시작과 완료, 철회 등의 정보도 로그 파일에 기록된다.


RSS [RDF Site Summary, Rich Site Summary, Really Simple Syndication]

인터넷 사용자에게 자동으로 배포할 목적으로 새로운 소식이나 콘텐츠를 기술하는 방식이다. 사용자가 관심을 가지고 있는 웹 사이트의 갱신 유무를 쉽게 확인하고, 웹브라우저를 이용하여 배포된 정보를 쉽게 얻을 수 있도록 해준다. 배포되는 콘텐츠로는 문자는 물론 소리, 영상과 같은 멀티미디어 자료도 포함한다. W3C에서 제시한 RDF(Resource Description Framework, 자원 기술 개념)에 부착되는 XML로 된 애플리케이션의 일종이다.

'IT용어' 카테고리의 다른 글

[IT용어] ㅂ  (0) 2014.12.20
[IT용어] ㅁ  (0) 2014.12.20
[IT용어] ㄷ  (0) 2014.12.20
[IT용어] ㄴ  (0) 2014.12.20
[IT용어] ㄱ  (0) 2014.12.20

[IT용어] ㄷ



디버깅 [debugging] 

오류 수정. 컴퓨터 프로그램의 잘못을 찾아내고 고치는 작업. 일단 작성된 프로그램들이 정확한가(즉 잘못 작성된 부분이 없는가)를 조사하는 과정. 이 작업은

① 기계에 넣기 전에 책상 위에서 주어진 문제대로 프로그램이 작성되었는가를 순서도와 메모리의 작업 영역표에 실제 데이터를 넣어서 수동 작업으로 정확한 결과가 나오는가를 검사하는 데스크 상의 검사와

② 컴퓨터를 이용한 표준적 데이터로 메인 루틴을 조사하는(이때 예외 사항이 포함된 데이터와 오류가 있는 데이터도 함께 이용한다) 컴퓨터를 사용한 검사,

③ 실제 데이터를 사용하는 조사 등 세 단계로 나누어 진행된다. 또한 이 작업은 프로그램의 한 스텝 한 스텝씩을 추적해가는 추적(trace) 기능을 이용해도 좋지만, 프로그램 처리 내용이나 기억 장치의 내용을 덤프하여 디버그 보조기(debugging aid)를 이용하는 것이 바람직하다.


도스 [disk operating system] 

디스크(disk)에 운영체제를 저장하고, 디스크 중심으로 시스템을 관리하는 컴퓨터 운영체제를 말한다. 마이크로소프트사의 MS-DOS는 DOS라는 이름을 상품명으로 사용했다.컴퓨터 시스템을 제어하고 관리하는 소프트웨어를 운영체제(OS:operating system)라고 한다. 이 운영체제는 컴퓨터 시스템이 가동하기 시작하면 주기억장치가 이를 읽어 시스템을 관리하게 되지만, 기본적으로는 디스크나 자기 테이프 등의 보조기억장치에 저장되어 있다.

운영체제를 어떤 보조기억장치에 저장하고, 어떤 보조기억장치를 중심으로 하여 컴퓨터 시스템을 관리하는가에 따라 운영체제를 분류하거나 명명하고 있다. DOS는 디스크에 운영체제를 저장하고 있으며, 디스크를 중심으로 시스템을 관리한다. 과거에는 자기 테이프에 운영체제를 저장하고 이를 중심으로 시스템을 관리하였으나, 현재는 대부분이 디스크를 중심으로 관리하고 있기 때문에 거의 모든 운영체제를 DOS라 불러도 무방하다고 볼 수 있다.

DOS라는 용어를 상품명으로 사용하기도 하였는데 가장 유명한 것은 마이크로소프트사(社)의 MS-DOS이다. 그러나 MS-DOS가 개발되기 훨씬 이전부터 IBM도 운영체제에 DOS라는 명칭을 사용하였다. 개인용 컴퓨터가 널리 확산되면서 MS-DOS가 사람들에게 많이 알려져 DOS라 하면 MS-DOS를 먼저 연상하게 된 것이다.


데몬 [daemon] 

주기적인 서비스 요청을 처리하기 위해 계속 실행되는 프로그램을 말한다. 디먼은 수집된 요구들을 또다른 프로그램이나 프로세스들이 처리할 수 있도록 적절히 전달한다. 사전적 의미에 따르면, 신화에 나오는 디먼은 "신들과 사람들 중간에 위치하고 있는 일종의 수호신"이라고 되어 있다.


DoS [Denial Of Service, 서비스 거부 공격]

시스템이 정상적으로 서비스를 제공할 수 없도록 만드는 인터넷 상의 공격 행위의 일종이다. 주로 TCP SYN flooding, 이메일 폭탄 등의 공격을 통하여 버퍼 오버플로우의 발생을 유도하여 공격한다. 여러 곳에 분산하여 에이전트를 미리 설치한 다음에 이들을 이용하여 Dos 공격을 하는 특별한 경우를 DDoS(Distributed DoS) 공격이라고 부른다.


'IT용어' 카테고리의 다른 글

[IT용어] ㅂ  (0) 2014.12.20
[IT용어] ㅁ  (0) 2014.12.20
[IT용어] ㄹ  (0) 2014.12.20
[IT용어] ㄴ  (0) 2014.12.20
[IT용어] ㄱ  (0) 2014.12.20

[IT용어] ㄴ


NFC [near field communication] 

10cm 이내의 가까운 거리에서 다양한 무선 데이터를 주고받는 통신 기술무선태그(RFID) 기술 중 하나로 13.56MHz의 주파수 대역을 사용하는 비접촉식 통신 기술이다. 통신거리가 짧기 때문에 상대적으로 보안이 우수하고 가격이 저렴해 주목받는 차세대 근거리 통신 기술이다. 데이터 읽기와 쓰기 기능을 모두 사용할 수 있기 때문에 기존에 RFID 사용을 위해 필요했던 동글(리더)이 필요하지 않다. 블루투스 등 기존의 근거리 통신 기술과 비슷하지만 블루투스처럼 기기 간 설정을 하지 않아도 된다.

'IT용어' 카테고리의 다른 글

[IT용어] ㅂ  (0) 2014.12.20
[IT용어] ㅁ  (0) 2014.12.20
[IT용어] ㄹ  (0) 2014.12.20
[IT용어] ㄷ  (0) 2014.12.20
[IT용어] ㄱ  (0) 2014.12.20

[IT용어] ㄱ



게이트웨이[gateway] 

한 네트워크에서 다른 네트워크로 들어가는 입구 역할을 하는 장치. 근거리통신망(LAN)과 같은 하나의 네트워크를 다른 네트워크와 연결할 때 사용된다. 게이트웨이가 필요한 것은 네트워크마다 데이터를 전송하는 방식이 다르기 때문이다. 다시 말해 각각의 네트워크는 다른 네트워크와 구별되는 프로토콜(데이터를 처리하는 방식으로 미리 정해 놓은 약속)로 데이터를 전송한다. 다른 프로토콜을 사용하는 네트워크와 직접 연결하면 데이터를 공유할 수 없다. 흔히 인터넷으로 보내온 전자우편을 PC통신 서비스에서도 받아 볼 수 있는데, 이것은 인터넷과 PC통신 서비스 회사의 통신망을 중개하는 게이트웨이가 있기 때문이다



cp.)

복수의 컴퓨터와 근거리 통신망(LAN ; local area network) 등을 상호 접속할 때 컴퓨터와 공중 통신망, LAN과 공중 통신망 등을 접속하는 장치를 가리킨다. 실제로는 미니컴퓨터 등이 사용되고 있으며, 게이트웨이 프로세서(gateway processor)라고도 불린다. 일반적으로 컴퓨터와 단말기를 공중 통신망을 경유하여 접속할 경우에는 게이트웨이로서는 대규모 장치를 필요로 하지 않는다. 그러나 네트워크 간 통신을 행할 때에는 통신 속도의 제어, 트래픽 제어, 네트워크 사이에서의 컴퓨터 어드레스의 변환 등 복잡한 처리를 행하기 때문에 게이트웨이 프로세서로서는 적지 않게 미니컴퓨터 정도의 능력을 갖는 장치가 필요하게 된다. 요즘은 원래의 정의 대신에 「라우터(router)」라는 용어가 대신 사용된다. 게이트웨이는 자체 프로세서와 메모리를 가지고 있으며, 프로토콜 변환이나 대역폭 변환을 하기도 한다. 일반적으로 게이트웨이는 근거리 통신망 프로토콜이 하나 이상 설치되어 있는 큰 규모의 네트워크에서 볼 수 있는데, 예를 들어 키네틱 사의 패스트패스(fastpath)라는 애플토크(AppleTalk)와 이더넷(Ethernet) 네트워크를 연결할 수 있다.



'IT용어' 카테고리의 다른 글

[IT용어] ㅂ  (0) 2014.12.20
[IT용어] ㅁ  (0) 2014.12.20
[IT용어] ㄹ  (0) 2014.12.20
[IT용어] ㄷ  (0) 2014.12.20
[IT용어] ㄴ  (0) 2014.12.20

[JSP] 커넥션 풀

커넥션 풀(Connection Pool)


1. 커넥션 풀(DBCP)

데이터베이스와 연결된 커넥션을 미리 만들어서 풀(pool) 속에 저장해 두고 있다가 필요할 때 커넥션을 풀에서 쓰고 다시 풀에 반환하는 기법을 말한다.

웹 프로그램에서는 데이터베이스의 환경설정과 연결 관리 등을 따로 XML파일이나 속성 파일을 사용해서 관리하고, 이렇게 설정된 정보를 이름을 사용하여 획득하는 방법을 사용한다.

- 웹 컨테이너가 실행되면서 커넥션(connection) 객체를 미리 풀(pool)에 생성해 둡니다.

- DB와 연결된 커넥션(connection)을 미리 생성해서 풀(pool) 속에 저장해 두고 있다가 필요할 때에 가져다 쓰고 반환한다.

- 미리 생성해두기 때문에 데이터베이스에 부하를 줄이고 유동적으로 연결을 관리 할 수 있다.

이렇게 풀 속에 미리 생성되어 있는 커넥션을 가져다가 사용하고, 사용이 끝나면 커넥션을 풀에 반환한다.


2. 커넥션풀(DBCP) 사용 이유


만약 한명의 접속자가 웹 사이트에 접속했다고 가정한다. 해당 웹 사이트에서 접속자는 게시판을 확인하고 자신이 쓴 게시물을 수정하고 또 새로운 게시글을 등록한다고 가정해보자.

그럼 이 한명의 접속자로 인해 DB접속은 아래와 같이 발생한다.

1) 데이터 취득

2) 검색 후 데이터 취득

3) 데이터 갱신

4) 데이터 새등록


즉 한명의 접속자로 인해 단 시간에 4번의 DB 접속이 일어난다.

그럼 웹상에서 아주 짧은 시간에 몇번의 DB 접속이 일어날까? 만약 접속자가 1000명 이라면? 즉 커넥션 풀이란 미리 커넥션 객체를 생성하고 해당 커넥션 객체를 관리하는것을 의미한다.

즉 '커넥션 풀에 DB와 연결을 해 놓은 객체를 두고 필요할 때마다 커넥션 풀에서 빌려온다' 라고 이해하면 개념잡기에 쉬울듯 하다.

그리고 연결이 끝나면 다시 풀에 돌려준다.

커넥션 풀을 너무 크게 해놓으면 당연히 메모리 소모가 클것이고, 적게 해놓으면 커넥션이 많이 발생할 경우 대기시간이 발생할 것이다. 즉 웹 사이트 동시 접속자수 등 서버 부하에 따라 크기를 조정해야 할것이다.


cp.) 

서버는 동시에 사용할 수 있는 사람의 수라는 개념이 존재합니다.일반적인 커넥션을 이용하면 동시 접속자 수를 벗어나게 될 경우 에러(예외)가 발생하게 됩니다.

예외가 발생하면 그 접속자는 더이상 처리를 하지 못하므로, 사이트 이용자는 다시 접속을 시도해야하는 불편함이 있습니다.이를 해결하기 위해 탄생한 것이 커넥션 풀 입니다.

 커넥션 풀이란 동시 접속자가 가질 수 있는 커넥션을 하나로 모아놓고 관리한다는 개념입니다. 누군가 접속하면 자신이 관리하는 풀에서 남아있는 커넥션을 제공합니다.

하지만 남아있는 커넥션이 없는 경우라면 해당 클라이언트는 대기 상태로 전환시킵니다. 그리고 커넥션이 다시 풀에 들어오면 대기 상태에 있는 클라이언트에게 순서대로 제공합니다.

- JDBC를 통하여 DB에 연결하기 위해서는 드라이버(Driver)를 로드하고 커넥션(connection) 객체를 받아와야 한다.

- JDBC를 사용하면 사용자가 요청을 할 때마다 매번 드라이버를 로드하고 커넥션 객체를 생성하여 연결하고 종료하기 때문에 매우 비효율적이다.

- 이런 문제를 해결하기 위해서 커넥션풀(DBCP)를 사용한다.


3. 커넥션풀(DBCP)의 특징

 - 풀 속에 미리 커넥션이 생성되어 있기 때문에 커넥션을 생성하는 데 드는 연결 시간이 소비되지 않는다.

 - 커넥션을 계속해서 재사용하기 때문에 생성되는 커넥션 수가 많지 않다.

--> 커넥션 풀을 사용하면 커넥션을 생성하고 닫는 시간이 소모되지 않기 때문에 그만큼 어플리케이션의 실행 속도가 빨라지며, 또한 한 번에 생성될 수 있는 커넥션 수를 제어하기 때문에 동시 접속자 수가 몰려도 웹 어플리케이션이 쉽게 다운되지 않는다.


4. 그렇다면 동시 접속자 처리는..?

커넥션 풀에서 생성되어 있는 커넥션의 갯수는 한정적이다. 그렇다면 동시 접속자가 많아지면 어떻게 될까?

커넥션 풀은 누군자 접속하면 커넥션 풀에 남아 있는 커넥션을 제공하는 식이다. 하지만 남아있는 커넥션이 없을 경우 해당 클라이언트는 대기 상태로 전환이 되고, 커넥션이 반환되면 대기하고 있는 순서대로 커넥션이 제공된다.


5. 환경설정

(1) DBCP 라이브러리 추가

- 이전버전 commons-dbcp-1.4jar, commons-pool-1.6.jar, commons-collections-3.2.1-bin.zip 3개의 라이브러리는 톰캣 6.0 부터 tomcat-dbcp.jar 파일로 하나로 통합되었다.

- 톰캣설치폴더 lib 폴더에 있는 tomcat-dbcp.jar 파일을 웹프로젝트\WebContent\WEB-INF\lib 경로에 복사한다.



(2) DB 라이브러리 추가(오라클 - ojdbc.jar)



(3) \Servers\Tomcat v6.0 Server at localhost-config\context.xml 파일에 Resource 태그 추가


※ 커넥션 풀의 속성

  속성

 설명

 maxActive 

 커넥션 풀이 제공할 최대 커넥션 갯수 

 whenExhaustedAction

 커넥션 풀에서 가져올 수 있는 커넥션이 없을 때 어떻게 동작할지를 지정.

0일 경우 에러 발생

1일 경우 maxWait 속성에서 지정한 시간만큼 커넥션을 구할때까지 기다림.

2일 경우 일시적으로 커넥션을 생성해서 사용

 maxWait

whenExhaustedAction 속성의 값이 1일 때 사용되는 대기 시간.

단위는 1/1000초, 0보다 작을 경우 무한히 대기

 maxIdle 

 사용되지 않고 풀에 저장될 수 있는 최대 커넥션 갯수.

음수일 경우 제한이 없음

 minIdle

사용되지 않고 풀에 저장될 수 있는 최소 커넥션 갯수. 

 testOnBorrow 

 true일 경우 커넥션 풀에서 커넥션을 가져올 때 커넥션이 유효한지의 여부를 검사 

 testOnReturn 

 true일 경우 커넥션 풀에 커넥션을 반환할 때 커넥션이 유효한지의 여부를 검사 

 timeBetweenEvctionRunsMillis 

사용되지 않는 커넥션을 추출하는 쓰레드의 실행 주기 지정.

양수가 아닐 경우 실행되지 않는다.

시간 단위는 1/1000초. 

 numTestsPerEvictionRun 

사용되지 않는 커넥션을 몇 개 검사할 지 지정 

 minEvictableIdleTimeMillis 

사용되지 않는 커넥션을 추출할 때 이 속석에서 지정한 시간 이상 비활성화 상태인 커넥션만 추출.

양수가 아닌 경우 비활성화된 시간으로는 풀에서 제거되지 않음.

시간 단위는 1/1000초 

 testWhileIdle

 true일 경우 비활성화 커넥션을 추출할 때 커넥션이 유효한지의 여부를 검사해서 유효하지 않은 커넥션은 풀에서 제거.



(4) 웹프로젝트\WebContent\WEB-INF\web.xml 파일에 <resource-ref> 태그 추가

- <res-ref-name> 태그의 이름은 contex.xml 파일 <resource>태그의 name 속성의 이름과 같아야한다.

- (4) 작업은 톰캣 6.0 이상부터는 생략 가능하다.



(5) JAVA 코드로 연결

- 서블릿에서 작성한다. (MVC 구조로 구현할 경우)

- 예외를 가지고 있으므로 예외처리를 해준다.

import java.sql.Connection;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.sql.DataSource;

 

public class DBCP {

    /*

     * 이 코드를 아래와 같이 줄여서 작성가능하다.

    Context initContext = new InitialContext();

    Context envContext  = (Context) initContext.lookup("java:/comp/env");

    // ("java:comp/env"): JNDI 서비스에 접근하기 위한 기본 이름(이 자원을 찾겠다.--> web.xml의 <res-ref-name>

    DataSource dataSource = (DataSource) envContext.lookup("jdbc/oracle");

    Connection conn = dataSource.getConnection();

    */

     

    Context context = new InitialContext();

    DataSource dataSource = (DataSource) context.lookup("java:comp/env/jdbc/oracle");

    Connection con = dataSource.getConnection();        

}



(6) servers > context.xml 파일 복사

- 서버가 변경되거나 서버에서 프로젝트를 제거하는 경우에 다시 추가해서 실행하는 번거로움이 있다.

- \Servers\Tomcat v6.0 Server at localhost-config\context.xml 파일을 복사한다.

- 웹프로젝트\WebContent\WEB-INF\ 디렉터리에 붙여넣기 한다.


6. JNDI(Java Naming and Directory Interface) 

설정된 정보를 이름으로 획득하려면 자바의 네이밍 API를 사용해야 한다. 네이밍 패키지의 클래스를 가지고 이름으로 객체를 획득하는 것을 JNDI(Java Naming and Directory Interface)라고 한다.

- 서비스가 다른 서비스를 탐색할 때 유용하게 사용된다. (분산된 자원)

- 분산된 자원 끼리의 탐색을 원할하게 하기 위한 type casting 임. (DNS 도 이에 속함) 

- JNDI에 설정해 놓았다는것은 Context.xml에 리소스를 생성해놓은 것을 말한다.

cf.) 

이름을 이용해서 원하는 정보 혹은 자원(Connection)을 찾을 수 있는 서비스

javax.naming 서비스

initialContext 클래스


(1) META-INF/context.xml

리소스 등록하는 설정파일

<Context> 

<!-- Resource를 등록하여 웹에서 JNDI로 호출할 이름과 정보를 설정한다. -->

   <Resource name="jdbc/myconn" auth="Container" type="javax.sql.DataSource"

   factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"

   driverClassName="org.gjt.mm.mysql.Driver"

   url="jdbc:mysql://localhost:3306/web_java?autoReconnect=true"

   username="root" password="12345678" 

   maxActive="100" maxIdle="30" maxWait="10000"

   removeAbandoned="true" removeAbandonedTimeout="60"/> 

   <!-- 

1. name : JNDI로 호출될 이름을 설정한다. (접근 -> java:comp/env/jdbc/myconn)

   2. auth : DBCP를 관리할 관리자 (Container or Application)

   3. type : 해당 resource의 return type 

      (DataSource는 Connection 객체를 반환할 수 있다.)

   4. factory : dbcp를 유용하는 관리 클래스 (Tomcat 5.x에 기본으로 존재하는 클래스)

      (직접 DBCP 클래스를 지정해도 동작하는데 문제가 없다.)

      (그러나, Factory 클래스를 이용하면 좀더 안정적으로 관리할 수 있다.)

   5. driverClassName : JDBC를 이용하기 위한 드라이버 클래스

   6. url : DB의 접속 URL (속성으로 자동 재 접속을 선택했다.)

   7. username : DB의 계정 명

   8. password : 계정에 대한 비밀번호

   9. maxActive : 최대 접속 허용 개수

   10. maxIdle : DB Pool에 여분으로 남겨질 최대 Connection 개수

   11. maxWait : DB 연결이 반환되는 Timeout의 최대 시간 (-1은 무한 대기)

   12. removeAbandoned : Connection이 잘못 관리되어 버려진 연결을 찾아 재활용할 것인지의 여부 설정

       (true 설정일 때 현재 DB 연결이 적으면 버려진 연결을 찾아 재활용)

   13. removeAbandonedTimeout : 버려진 연결로 인식할 기본 시간 설정

       (초 단위로 해당 시간이 지나면 버려진 연결로 인식한다.)

   -->   

</Context>


(2) WEB-INF/web.xml
<servlet-mapping>
<servlet-name>My_06</servlet-name>
<url-pattern>/Servlet_06</url-pattern>
</servlet-mapping>
<resource-ref>
<description>My SQL Resource</description><!-- 리소스 설명 -->
<res-ref-name>jdbc/myconn</res-ref-name><!-- 리소스 이름(JNDI명) -->
<res-type>javax.sql.DataSource</res-type><!-- 리턴 Type -->
<res-auth>Container</res-auth><!-- 관리 계층 -->
</resource-ref>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>


(3) 자바코드

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.sql.*;

import javax.sql.*;//DataSource 클래스를 위해 사용

import javax.naming.*;//JNDI를 위해 사용


public class Round16_06_Servlet extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {

request.setCharacterEncoding("euc-kr");

String subject = request.getParameter("subject");

String author = request.getParameter("author");

String contents = request.getParameter("contents");

response.setContentType("text/html;charset=euc-kr");

PrintWriter out = response.getWriter();

out.println("<html><body><center><h3>");

Connection conn = null;

PreparedStatement pstmt = null;

String query = "insert into Round16_Table_01 values (null, ?, ?, ?)";

try {

Context context = new InitialContext();

//JNDI를 이용하기 위한 객체 생성

DataSource source = (DataSource)context.lookup("java:comp/env/jdbc/myconn");

  // lookup(): 등록된 naming 서비스로부터 자원을 찾고자할 때 사용하는 메서드

//context 객체를 통해 이름으로 Resource를 획득한다. 

  //("jdbc/myconn"): JNDI 서비스에 접근하기 위한 기본 이름(이 자원을 찾겠다.--> web.xml의 <res-ref-name>

//JNDI의 모든 이름은 기본적으로 java:comp/env에 등록되어 있다.

//해당 영역에서 jdbc/myconn으로 설정된 이름을 획득한다.

conn = source.getConnection();

//source로 부터 Connection 객체를 획득한다. 

//이 객체는 이제 Container의 DBCP에 의해 관리된다. 

}catch(Exception e) {}

try {

pstmt = conn.prepareStatement(query);

pstmt.setString(1, subject);

pstmt.setString(2, author);

pstmt.setString(3, contents);

int res = pstmt.executeUpdate();

if(res > 0)

out.println("Success Save!!");

pstmt.close();

conn.close();

}catch(Exception e) {

out.println("SQL Process Error : " + e.getMessage());

}

out.println("</h3></center></body></html>");

}

}



'Programing > JSP/Servlet' 카테고리의 다른 글

[JSP] HTTP 헤더  (0) 2014.12.25
[Servlet] 서블릿 이벤트  (0) 2014.12.18
[Servlet] 서블릿 필터  (0) 2014.12.10
[Servlet] 서블릿 기초  (0) 2014.12.10
[Servlet] 데이터 저장 영역  (0) 2014.12.10