컴퓨터 공학

용어 설명

혼새미로 2015. 11. 26. 22:26
반응형
  • SSL(Secure Socket Layer)은 넷스케이프사에서 전자상거래 등의 보안을 위해 개발하였다. 이후 TLS(Transport Layer Security)라는 이름으로 표준화되었다. SSL은 특히 전송계층(Transport Layer)의 암호화 방식이기 때문에 HTTP 뿐만 아니라 NNTP, FTP, XMPP등 응용계층(Application Layer) 프로토콜의 종류에 상관없이 사용할 수 있는 장점이 있다. 기본적으로 Authentication, Encryption, Integrity를 보장한다.
  • 아파치 하둡(Apache Hadoop, High-Availability Distributed Object-Oriented Platform)은 대량의 자료를 처리할 수 있는 큰 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 프리웨어 자바 소프트웨어 프레임워크이다. 원래 너치의 분산 처리를 지원하기 위해 개발된 것으로, 아파치 루씬의 하부 프로젝트이다[2]. 분산처리 시스템인 구글 파일 시스템을 대체할 수 있는 하둡 분산 파일 시스템(HDFS: Hadoop Distributed File System)과 맵리듀스를 구현한 것이다.[3].
  • 구글 크롬[주 1](Google Chrome)은 구글이 개발중인 프리웨어 웹 브라우저이다. 버전 27 까지는 웹키트 레이아웃 엔진을 이용했으나 버전 28 이후는 웹키트의 포크인 블링크를 사용한다. 구글 크롬은 간단하고 효율적인 사용자 인터페이스를 제공하며 현존하는 다른 웹 브라우저들에 비해 나은 안정성과 속도, 그리고 보안성을 갖는 것을 목표하고 있다. 2008년 9월 3일 마이크로소프트 윈도용 베타 버전이 나왔으며, 2008년 12월 11일 첫 안정화 버전이 나왔다.크롬이란 뜻은 원래 그래픽 사용자 인터페이스에서 창틀을 가리키는데, 여기서는 브라우저 틀 영역을 가리키며, 이 영역을 최소화시키자는 목표로 크롬이라고 이름을 지었다고 한다.[1] 스탯카운터 통계 기준으로 2012년 5월부터 인터넷 익스플로러를 제치고 현재 전 세계에서 가장 많이 쓰이는 웹 브라우저이다.[2]
  • OpenGL(Open Graphics Library, 오픈지엘)은 1992년 실리콘 그래픽스사에서 만든 2차원 및 3차원 그래픽스 표준 API 규격으로, 프로그래밍 언어 간 플랫폼 간의 교차 응용 프로그래밍을 지원한다. 이 API는 약 250여개 가량의 함수 호출을 이용하여 단순한 기하도형에서부터 복잡한 삼차원 장면을 생성할 수 있다. OpenGL은 현재 CAD, 가상현실, 정보시각화, 비행 시뮬레이션 등의 분야에서 활용되고 있다. 또한 컴퓨터 게임 분야에서도 널리 활용되고 있으며, 마이크로소프트사의 Direct3D와 함께 컴퓨터 그래픽 세계를 양분하고 있다. Direct3D와는 달리, 표준안이 여러 관련 업체의 토론과 제안으로 이루어지기에 버전 업데이트는 느린 편이다. OpenGL을 사용하여 개발된 대표적인 게임은 이드 소프트웨어의 퀘이크, 둠3 시리즈이다. 현재 비영리 기술 컨소시엄인 크로노스 그룹에 의하여 관리되고 있다.
  • NoSQL 데이터베이스는 전통적인 관계형 데이터베이스 보다 덜 제한적인 일관성 모델을 이용하는 데이터의 저장 및 검색을 위한 매커니즘을 제공한다. 이러한 접근에 대한 동기에는 디자인의 단순화, 수평적 확장성, 세세한 통제를 포함한다. NoSQL 데이터베이스는 단순 검색 및 추가 작업을 위한 매우 최적화된 키 값 저장 공간으로, 레이턴시와 스루풋과 관련하여 상당한 성능 이익을 내는 것이 목적이다. NoSQL 데이터베이스는 빅데이터와 실시간 웹 애플리케이션의 상업적 이용에 널리 쓰인다. 또, NoSQL 시스템은 SQL 계열 쿼리 언어를 사용할 수 있다는 사실을 강조한다는 면에서 "Not only SQL"로 불리기도 한다.
  • 몽고DB(MongoDB←HUMONGOUS)는 크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템이다. NoSQL 데이터베이스로 분류되는 몽고DB는 JSON과 같은 동적 스키마형 문서들(몽고DB는 이러한 포맷을 BSON이라 부름)을 선호함에 따라 전통적인 테이블 기반 관계형 데이터베이스 구조의 사용을 삼간다. 이로써 특정한 종류의 애플리케이션을 더 쉽고 더 빠르게 데이터 통합을 가능케 한다. 아페로 GPL과 아파치 라이선스를 결합하여 공개된 몽고DB는 자유-오픈 소스 소프트웨어이다.
  • JSON(제이슨, JavaScript Object Notation)은, 인터넷에서 자료를 주고받을 때 그 자료를 표현하는 방법이다. 자료의 종류에 큰 제한은 없으며, 특히 컴퓨터 프로그램의 변수값을 표현하는 데 적합하다. 그 형식은 자바스크립트의 구문 형식을 따르지만, 프로그래밍 언어나 플랫폼에 독립적이므로 C, C++, C#, 자바, 자바스크립트, 펄, 파이썬 등 많은 언어에서 이용할 수 있다.
  • jQuery(제이쿼리)는 브라우저 호환성이 있는 HTML 속 자바스크립트 라이브러리이며 클라이언트 사이드 스크립트 언어를 단순화 할 수 있도록 설계되었다. 존 레식이 2006년 뉴욕 시 바캠프(Barcamp NYC)에서 공식적으로 소개하였다. jQuery는 오늘날 가장 인기있는 자바스크립트 라이브러리 중 하나이다.
  • 솔리드 스테이트 드라이브(solid-state drive, SSD), 솔리드 스테이트 디스크(solid state disk[1][2][3])는 반도체를 이용하여 정보를 저장하는 장치로 반도체 드라이브, SSD라고도 일컫는다. 솔리드 스테이트 드라이브는 순수 전자식으로 작동하므로 기계식인 하드 디스크 드라이브의 문제인 긴 탐색 시간, 반응 시간, 기계적 지연, 실패율을 크게 줄여 준다. 반면에 DRAM이 아닌 플래시 메모리가 적용된 SSD의 경우, 데이터 접근 시간이 아닌 연속적인 읽기와 쓰기에 대해 하드 디스크보다 속도가 낮은 경우가 대부분이다. 하지만 최신 기술이 적용된 SSD의 경우, 하드 디스크 드라이브 이상의 읽기와 쓰기 속도를 낼 수 있는 것도 있다.
  • 데이터 마이닝(data mining)은 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아 내는 것이다. 다른 말로는 KDD(데이터베이스 속의 지식 발견, knowledge-discovery in databases)라고도 일컫는다.
  • MATLAB(매트랩)은 MathWorks 사에서 개발한 수치 해석 및 프로그래밍 환경을 제공하는 공학용 소프트웨어이다. 행렬을 기반으로 한 계산 기능을 지원하며, 함수나 데이터를 그림으로 그리는 기능 및 프로그래밍을 통한 알고리즘 구현 등을 제공한다. MATLAB은 수치 계산이 필요한 과학 및 공학 분야에서 다양하게 사용된다.
  • Qt는 컴퓨터 프로그래밍에서 GUI 프로그램 개발에 널리 쓰이는 크로스 플랫폼 프레임워크이다. 서버용 콘솔과 명령 줄 도구와 같은 비GUI 프로그램 개발에도 사용된다. 그래픽 사용자 인터페이스를 사용하는 경우에는 Qt를 위젯 툴킷으로 분류한다. 회사 내부에서는 Qt를 "cute"로 발음하고 있으며 비공식적으로는 "큐티"로 발음한다. Qt는 KDE, Qtopia, OPIE에 이용되고 있다,노르웨이 회사 트롤텍에 의해서 개발되었다. 2008년 1월에는 노키아에 인수되었다. [1] 이후, 2012년 8월에 핀란드 회사 Digia에 인수되었다. [2] Qt는 C++를 주로 사용하지만, 파이썬, 루비, C, 펄, 파스칼과도 연동된다. 수많은 플랫폼에서 동작하며, 상당히 좋은 국제화를 지원한다. SQL 데이터베이스 접근, XML 처리, 스레드 관리, 단일 크로스 플랫폼 파일 관리 API를 제공한다.
  • GTK+는 김프 툴킷(GIMP Toolkit)의 준말로, 초기에 김프를 위해서 만든 툴킷이었으며 X 윈도 시스템을 위한 위젯 툴킷 가운데 하나이다. GTK+와 Qt는 모티프에 대한 좋은 대안이 되어 주었다. GTK+는 1997년 Spencer Kimball, Peter Mattis, 조시 맥도널드(Josh MacDonald)가 함께 만든 것이다. 그들은 모두 UC 버클리에 있는 eXperimental Computing Facility (XCF) 소속이었다. LGPL로 라이선스되었기 때문에, GTK+는 자유 소프트웨어이자 오픈 소스 소프트웨어이고, GNU 프로젝트의 일부분이다.
  • MySQL(마이에스큐엘, /maɪ ˌɛskjuːˈɛl/[1] 통용 발음: 마이씨퀄 /maɪ ˈsiːkwəl/)은 세계에서 가장 많이 쓰이는[2] 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)이다.[3] 다중 스레드, 다중 사용자 형식의 구조질의어 형식의 데이터베이스 관리 시스템으로서 MySQL AB가 관리 및 지원하고 있으며, Qt처럼 이중 라이선스가 적용된다. 하나의 옵션은 GPL이며, GPL 이외의 라이선스로 적용시키려는 경우 전통적인 지적재산권 라이선스의 적용을 받는다.
  • x86 또는 80x86은 인텔이 개발한 마이크로프로세서 계열을 부르는 말이자, 이들과 호환되는 프로세서들에서 사용한 명령어 집합 구조들을 통칭하는 말이다. x86 아키텍처는 데스크톱 컴퓨터 시장에서 매우 널리 쓰이며, PowerPC 같이 좀 더 근대적인 아키텍처를 사용한 프로세서들이 x86과 경쟁했으나 그다지 많은 시장 점유율을 확보하지는 못했다.
  • 컴퓨터 과학에서 파싱((syntactic) parsing)은 일련의 문자열을 의미있는 토큰(token)으로 분해하고 이들로 이루어진 파스 트리(parse tree)를 만드는 과정을 말한다.
  • 표준 템플릿 라이브러리(Standard Template Library: STL)는 C++에서 일반적인 자료 구조와 알고리즘을 구현해 놓은 라이브러리의 집합이다. 지원하는 자료구조에는 vector, map, set 등이 있으며, 여러 가지 탐색 변경 알고리즘을 지원해 주고 있다. vector와 같은 자료 구조에 삽입할 변수의 형이 정해지 있지 않고, 일반적인 형이라고 가정한 뒤 vector와 같은 컨테이너가 구현되어 있다. 즉 이 때는 C++언어의 템플릿 기능을 이용하고 있다. 이처럼 자료의 유형에 상관없이 구현되어 있기 때문에 generic이라고 말하기도 한다.
  • 오브젝티브-C (Objective-C, 종종 ObjC로 표기) 언어는 C 프로그래밍 언어에 스몰토크 스타일의 메시지 구문을 추가한 객체 지향 언어이다.현재, 이 언어는 애플의 매킨토시의 운영 체제인 맥 오에스 텐과 아이폰의 운영 체제인 iOS에서 사용되고 있다. 오브젝티브-C는 애플의 코코아를 사용하기 위한 기본 언어이며, 원래는 넥스트의 NeXTSTEP 운영 체제에서 주 언어였다. 일반적인(Generic) 오브젝티브-C는 앞에서 언급한 라이브러리를 사용하지 않는다.
  • 루아(Lua) 프로그래밍 언어는 가벼운 명령형/절차적 언어로, 확장 언어로 쓰일 수 있는 스크립팅 언어를 주 목적으로 설계되었다. 루아는 "달"을 의미하는 포르투갈어 단어이다.
  • 파이썬[1](Python)은 1991년[2] 프로그래머인 귀도 반 로섬(Guido van Rossum)[3] 이 발표한 고급 프로그래밍 언어로, 플랫폼 독립적이며 인터프리터식, 객체지향적, 동적 타이핑(dynamically typed) 대화형 언어이다. 파이썬이라는 이름은 귀도가 좋아하는 코미디 〈Monty Python's Flying Circus〉에서 따온 것이다.파이썬은 비영리의 파이썬 소프트웨어 재단이 관리하는 개방형, 공동체 기반 개발 모델을 가지고 있다. C언어로 구현된 C파이썬 구현이 사실상의 표준이다.
  • HTML5는 HTML의 차기 주요 제안 버전으로 월드 와이드 웹의 핵심 마크업 언어이다. 2004년 6월 Web Hypertext Application Technology Working Group(WHATWG)에서 웹 애플리케이션 1.0이라는 이름으로 세부 명세 작업을 시작하였다. 2013년 4월에도 개발 중이다.HTML5는 HTML 4.01, XHTML 1.0, DOM Level 2 HTML에 대한 차기 표준 제안이다. 최신 멀티미디어 콘텐츠를 브라우저에서 쉽고 용이하게 볼 수 있게하는 것을 목적으로 한다.
  • 액션스크립트(ActionScript)는 ECMA스크립트를 기반으로 하는 스크립팅 언어이며, 주로 어도비 플래시 및 어도비 플래시 플레이어를 사용하는 소프트웨어나 웹사이트를 개발하기 위해 (웹 페이지에 SWF 파일 형식으로) 사용된다.
  • 이클립스(Eclipse)는 다양한 플랫폼에서 쓸 수 있으며, 자바를 비롯한 다양한 언어를 지원하는 프로그래밍 통합 개발 환경을 목적으로 시작하였으나, 현재는 OSGi를 도입하여, 범용 응용 소프트웨어 플랫폼으로 진화하였다.자바로 작성되어 있으며, 자유 소프트웨어이지만 막강한 기능을 자랑한다. 2004년과 2005년 졸트 어워드(Jolt Award)를 수상했다.식(蝕)을 뜻하는 이클립스란 이름은 자바를 개발한 회사의 Sun이란 이름을 염두에 두었다는 말도 있어 2003년도에 썬 마이크로시스템즈는 이클립스 파운데이션에 참여하지 않았던 이유중의 하나였지만 2005년도에 열린 EclipseCon의 키노트에서 Lee Nackman은 그 목적은 원래 마이크로소프트와 비주얼 스튜디오 생태 시스템을 겨냥한 것이었다고 말했다. [1]원래 IBM의 WebSpheare Studio Application Developer란 이름으로 개발되었던 것인데, 엔진부분을 오픈소스로 공개한 것을 기반으로 지금의 이클립스로 발전해 왔다. 최근 버전은 4.3으로, 각 목적별(C/C++ 개발자용, 자바 개발자용, 웹 개발자용 등등)의 다양한 배포판이 존재한다.
  • 액티브X(ActiveX)는 마이크로소프트사가 개발한 재사용 가능한 객체지향적인 소프트웨어 구성 요소 개발에 사용되는 기술이다. 액티브X는 컴포넌트 오브젝트 모델과 객체 연결 삽입 (OLE)을 적용해 WWW으로부터 다운로드받은 컨텐츠들을 이용하는 데 이용된다. 액티브X는 전반적인 기술 혹은 기술을 구현하는데 필요한 구성요소를 가리키며, 액티브X컨트롤은 액티브X를 이용해 만든 작은 프로그램을 말한다. 대부분 액티브X는 인터넷 익스플로러의 플러그인을 만드는 데 사용된다.
  • 깃허브(GitHub, /'ɡɪtˌhʌb/[1])는 깃을 사용하는 프로젝트를 지원하는 웹 기반의 호스팅 서비스이다. 루비 온 레일스로 작성되었다. GitHub는 영리적인 서비스와 오픈소스를 위한 무상 서비스를 모두 제공한다. 2009년의 Git 사용자 조사에 따르면 GitHub는 가장 인기있는 Git 호스팅 사이트이다.[2] 또한 2011년의 조사에서는 가장 인기있는 오픈 소스 코드 저장소로 꼽혔다.[3] 깃허브는 pastebin과 유사한 서비스와 위키를 각 저장소마다 운영하고 있으며 깃 저장소를 통해 고칠 수 있다.2010년 1월부터 깃허브는 GitHub, Inc. 라는 이름으로 운영되고 있다.
  • 루비 온 레일즈(Ruby on Rails)는 루비로 작성된 MVC 패턴을 이용하는 오픈 소스 웹 프레임워크이다. 줄여서 레일즈라 불리기도 한다. 덴마크의 David Heinemeier Hansson에 의해 시작되어 오픈 소스로 개발되고 있다. 특히 데이터베이스를 이용한 웹 애플리케이션을 개발할 때 반복되는 코드를 대폭 줄여 개발 기간을 단축하는 것으로 인기를 끌고 있다.루비 온 레일즈는 모델, 뷰, 컨트롤러의 템플릿 생성 및 테스트 등 자동화하는 툴, 테스트를 위한 웹서버 등을 포함하고 있다. 또한 루비 온 레일즈가 기반을 두고 있는 ActiveRecord는 데이터베이스 작업을 추상화하여 생성/읽기/갱신/삭제(Create/Read/Update/Delete, CRUD) 작업을 자동화 및 단순화 시켜준다. 웹 애플리케이션의 동작은 대부분 CRUD 작업을 통해 이루어지므로, 이와 같은 루비 온 레일즈의 특성은 웹 애플리케이션을 빠르게 개발할 수 있도록 도와준다.
  • 우분투(Ubuntu)는 데비안 GNU/리눅스(Debian GNU/Linux)에 기초한 컴퓨터 운영 체제로서 고유한 데스크탑 환경인 유니티를 사용하는 리눅스 배포판이다. 영국에 기반을 둔 회사인 캐노니컬의 지원을 받는다. 일반적으로 여섯 달마다 새 판이 하나씩 나오는데 이것은 GNOME의 새 판이 나오는 시기와 비슷하다. 데비안 GNU/리눅스와 견주어 볼 때 사용자 편의성에 많은 초점을 맞추고 있다.
  • CentOS(The Community ENTerprise Operating System)는 업스트림 소스인 레드햇 엔터프라이즈 리눅스와 완벽하게 호환되는 무료 기업용 컴퓨팅 플랫폼을 제공할 목적으로 만들어진 리눅스계 운영 체제 가운데 하나다. 6.4 버전부터 베타 버전은 파워PC에서 사용가능할 것으로 예상되지만, 공식적으로 물리 주소 확장 기능을 가진 x86과 x86-64 아키텍처를 지원한다.레드햇 엔터프라이즈 리눅스의 소스 코드를 그대로 가져와 빌드해 내놓으며 이 과정에서 이루어지는 변형은 레드햇의 상표가 잘리고 그 자리에 CentOS의 상표가 붙는(상표권 분쟁을 피하기 위해) 정도뿐이다. 판수 또한 레드햇 엔터프라이즈 리눅스의 판수를 그대로 가져오며(소수점 아래 숫자는 업데이트 차수를 가리킨다) 오늘날에는 레드햇 엔터프라이즈 리눅스의 행보를 가장 잘 따라가는 운영 체제라고 알려져 있다. 사용하는 꾸러미 형식은 RPM이다.
  • 라즈베리 파이(영어: Raspberry Pi)는 영국의 라즈베리 파이 재단이 학교에서 기초 컴퓨터 과학 교육을 증진시키기 위해 만든 싱글 보드 컴퓨터이다.[4][5][6][7][8] 라즈베리 파이는 그래픽 성능이 뛰어나면서도 저렴한 가격(세금을 포함하지 않은 모델 A의 경우 25달러, 모델 B의 경우 35달러)라는 특징을 갖고 있다.
  • 와이어샤(Wireshark)는 자유 및 오픈 소스 패킷 분석 프로그램이다. 네트워크의 문제, 분석, 소프트웨어 및 통신 프로토콜 개발, 교육에 쓰인다. 원래 이름은 Ethereal이었으나 2006년 5월에 상표 문제로 말미암아 와이어샤크로 이름을 바꾸었다.와이어샤크는 크로스 플랫폼으로, GTK+ 위젯 툴킷을 이용하여 사용자 인터페이스를 제공하며, pcap을 이용하여 패킷을 포획한다. 리눅스, 맥 OS X, BSD, 솔라리스를 포함한 다양한 유닉스 계열 운영 체제와 마이크로소프트 윈도에서 동작한다. GUI가 없는 터미널 기반 버전인 티샤크(TShark)도 제공한다. 와이어샤크, 또 TShark와 같은 프로그램과 함께 배포되는 여러 프로그램들은 자유 소프트웨어로, GNU 일반 공중 사용 허가서의 조건으로 공개된다.
  • tcpdump는 명령 줄에서 실행하는 일반적인 패킷 가로채기 소프트웨어이다. 사용자가 TCP/IP뿐 아니라, 컴퓨터에 부착된 네트워크를 통해 송수신되는 기타 패킷을 가로채고 표시할 수 있게 도와 준다. BSD 허가서를 통해 배포되는[1] tcpdump는 자유 소프트웨어이다.tcpdump는 리눅스, 솔라리스, BSD, 맥 OS X, HP-UX, AIX 따위의 대부분의 유닉스 계열 운영 체제에서 동작하며 여기서 libpcap 라이브러리를 사용하여 패킷을 포획한다. 윈도용 tcpdump 이식판으로는 WinDump가 있으며, 이는 libpcap의 윈도 이식판인 WinPcap을 이용한다.
  • AIX는 IBM에서 개발한 운영 체제이다. 원래는 Advanced IBM Unix의 약자였으나 현재는 Advanced Interactive eXecutive의 약자로 바뀌었다. IBM사에서 자사의 워크스테이션인 IBM RTPC를 위해 개발한 일종의 유닉스 계열 운영 체제이다.
  • BSD(Berkeley Software Distribution)는 1977년 미국 캘리포니아 대학교 버클리(University of California, Berkeley)에서 개발한 유닉스 계열의 컴퓨터 운영 체제이다.
  • HP-UX는 휴렛 팩커드사에서 나온 유닉스 계열 운영 체제이다.
  • 솔라리스(Solaris)는 썬 마이크로시스템즈에서 개발한 컴퓨터 운영 체제이다. 자유 소프트웨어 형태의 CDDL에 기반한 오픈솔라리스가 공개되었다. 유닉스 표준 인증을 받았다.
  • pcap(packet capture, 패킷 캡처)은 컴퓨터 네트워크 관리 분야에서 네트워크 트래픽 포착용 API를 구성하고 있다. 유닉스 계열 운영 체제들은 libpcap 라이브러리에 pcap을 포함하고 있다. 윈도는 WinPcap이라는 libpcap 포팅을 이용한다.감시 소프트웨어는 libpcap이나 WinPcap을 이용하여 네트워크 상에 떠돌아다니는 패킷을 포착할 수 있으며 새로운 버전에서는 링크 레이어 상의 네트워크 패킷을 전송할 수 있을뿐 아니라 libpcap이나 WinPcap과 함께 이용할 수 있는 네트워크 인터페이스 목록을 가져올 수 있다.pcap API는 C로 작성되었으며 자바, 닷넷 언어, 스크립트 언어와 같은 다른 언어들은 일반적으로 래퍼를 이용한다. 이러한 래퍼들은 libpcap이나 WinPcap 자체적으로 제공되지는 않는다. C++ 프로그램들은 C API에 직접 연결할 수도 있다. 오직 하나의 부분적인 객체 지향 C++ 래퍼는 현재 외부 소스로부터 이용할 수 있다.
  • 자유 소프트웨어(영어: free software)는 복사와 사용, 연구, 수정, 배포 등의 제한이 없는 소프트웨어 혹은 그 통칭이다. 소프트웨어의 수정 및 수정본의 재배포는 인간이 해독 가능한 프로그램의 소스 코드가 있어야만 가능하며, 소스 코드는 GPL 등의 라이선스를 통하거나, 혹은 드물게 퍼블릭 도메인으로 공개되기도 한다. 자유 소프트웨어 운동은 초창기의 컴퓨터 사용자들이 이러한 자유를 누릴 수 있도록 하기 위해서 1983년에 시작되었다.
  • TF-IDF(Term Frequency - Inverse Document Frequency)는 정보 검색과 텍스트 마이닝에서 이용하는 가중치로, 여러 문서로 이루어진 문서군이 있을 때 어떤 단어가 특정 문서 내에서 얼마나 중요한 것인지를 나타내는 통계적 수치이다. 문서의 핵심어를 추출하거나, 검색 엔진에서 검색 결과의 순위를 결정하거나, 문서들 사이의 비슷한 정도를 구하는 등의 용도로 사용할 수 있다.TF(단어 빈도, term frequency)는 특정한 단어가 문서 내에 얼마나 자주 등장하는지를 나타내는 값으로, 이 값이 높을수록 문서에서 중요하다고 생각할 수 있다. 하지만 단어 자체가 문서군 내에서 자주 사용되는 경우, 이것은 그 단어가 흔하게 등장한다는 것을 의미한다. 이것을 DF(문서 빈도, document frequency)라고 하며, 이 값의 역수를 IDF(역문서 빈도, inverse document frequency)라고 한다. TF-IDF는 TF와 IDF를 곱한 값이다.IDF 값은 문서군의 성격에 따라 결정된다. 예를 들어 '원자'라는 낱말은 일반적인 문서들 사이에서는 잘 나오지 않기 때문에 IDF 값이 높아지고 문서의 핵심어가 될 수 있지만, 원자에 대한 문서를 모아놓은 문서군의 경우 이 낱말은 상투어가 되어 각 문서들을 세분화하여 구분할 수 있는 다른 낱말들이 높은 가중치를 얻게 된다.
  • 유전 알고리즘(Genetic Algorithm)은 자연세계의 진화과정에 기초한 계산 모델로서 존 홀랜드(John Holland)에 의해서 1975년에 개발된 전역 최적화 기법으로, 최적화 문제를 해결하는 기법의 하나이다. 생물의 진화를 모방한 진화 연산의 대표적인 기법으로, 실제 진화의 과정에서 많은 부분을 차용하였으며, 변이(돌연변이), 교배 연산 등이 존재한다. 또한 세대, 인구 등의 용어도 문제 풀이 과정에서 사용된다.
  • 퀵 정렬(Quicksort)은 C. A. R. 호어가 개발한 정렬 알고리즘이다. 다른 원소와의 비교만으로 정렬을 수행하는 비교 정렬에 속한다.퀵 정렬은 n개의 데이터를 정렬할 때, 최악의 경우에는 O(n2)번의 비교를 수행하고, 평균적으로 O(n log n)번의 비교를 수행한다.퀵 정렬의 내부 루프는 대부분의 컴퓨터 아키텍처에서 효율적으로 작동하도록 설계되어 있고(그 이유는 메모리 참조가 지역화되어 있기 때문에 CPU 캐시의 히트율이 높아지기 때문이다.), 대부분의 실질적인 데이터를 정렬할 때 제곱 시간이 걸릴 확률이 거의 없도록 알고리즘을 설계하는 것이 가능하다. 때문에 일반적인 경우 퀵 정렬은 다른 O(n log n) 알고리즘에 비해 훨씬 빠르게 동작한다. 그리고 퀵 정렬은 정렬을 위해 O(log n)만큼의 memory를 필요로한다. 또한 퀵 정렬은 불안정 정렬에 속한다.
  • 해시 함수(hash function)는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 알고리즘이다. 해시 함수에 의해 얻어지는 값은 해시 값, 해시 코드, 체크섬 또는 해시 등으로 불린다. 해시 함수는 결정론적으로 작동해야 하며, 따라서 두 해시 값이 다르다면 그 해시값에 대한 원래 데이터도 달라야 한다. (역은 성립하지 않는다) 해시 함수의 질은 입력 영역에서의 해시 충돌 확률로 결정되는데, 해시 충돌의 확률이 높을수록 서로 다른 데이터를 구별하기 어려워지고 검색하는 비용이 증가하게 된다.
  • 아파치 HBase(Apache HBase)는 하둡 플랫폼을 위한 공개 비관계형 분산 데이터 베이스이다. 구글의 빅테이블(BigTable)을 본보기로 삼았으며 자바로 쓰여졌다. 아파치 소프트웨어 재단의 아파치 하둡 프로젝트 일부로서 개발되었으며 하둡의 분산 파일 시스템인 HDFS위에서 동작을 한다. 대량의 흩어져 있는 데이터 저장을 위한 무정지 방법을 제공하는 구글의 빅테이블과 비슷한 기능을 한다.HBase는 압축, 인메모리 처리, 초기 빅테이블에 제시되어 있는 Bloom 필터 기능을 제공한다.[1] HBase에 있는 테이블들은 하둡에서 동작하는 맵리듀스 잡들을 위한 입력, 출력을 제공하며 자바 API나 REST, Avro 또는 Thrift 게이트웨이를 통하여 접근할 수 있다.HBase는 기존의 SQL 데이터 베이스를 직접적으로 대체하지는 않지만 페이스북의 메시징 플랫폼[2]과 같은 데이터를 많이 사용하는 웹사이트에서 사용된다.[3][4][5]
  • 레디스(Redis)는 오픈 소스이며 네트워크화, 인메모리 데이터베이스, 선택적 영구성 키-값 데이터 저장소이다. 레디스의 개발은 2013년 5월부터 Pivotal의 지원을 받고 있으며[1], 그 전에는 VMWare의 지원을 받았다.[2][3] DB-Engines.com의 월간 랭킹에 따르면, 레디스는 가장 인기 있는 키-값 저장소이다.[4]
  • R 프로그래밍 언어(줄여서 R)는 통계 계산과 그래픽을 위한 프로그래밍 언어이자 소프트웨어 환경이다. 뉴질랜드 오클랜드 대학의 로스 이하카와 로버트 젠틀맨에 의해 시작되어 현재는 R 코어 팀이 개발하고 있다. R은 GPL 하에 배포되는 S 프로그래밍 언어의 구현으로 GNU S라고도 한다. R은 통계 소프트웨어 개발과 자료 분석에 널리 사용되고 있으며, 패키지 개발이 용이하여 통계학자들 사이에서 통계 소프트웨어 개발에 많이 쓰이고 있다.
  • SQLite는 MySQL나 PostgreSQL와 같은 데이터베이스 관리 시스템이지만, 서버가 아니라 응용 프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스이다. 영어권에서는 '에스큐엘라이트(ˌɛs ˌkjuː ˈɛlaɪt)'[2]또는 '시퀄라이트(siːˈkwɛlaɪt)'[3]라고 읽는다.일반적인 RDBMS에 비해 대규모 작업에는 적합하지 않지만, 중소 규모라면 속도에 손색이 없다. 또 API는 단순히 라이브러리를 호출하는 것만 있으며, 데이터를 저장하는 데 하나의 파일만을 사용하는 것이 특징이다. 버전 3.3.8에서는 풀텍스트 검색 기능을 가진 FTS1 모듈이 지원된다. 컬럼을 삭제하거나 변경하는 것 등이 제한된다.구글 안드로이드 운영 체제에 기본 탑재된 데이터베이스이기도 하다.
  • 개방형 데이터베이스 연결 (ODBC)의 관계형 및 비-관계형 이기종 환경에서 데이터에 액세스 하기 위한 Microsoft의 전략적 인터페이스입니다 데이터베이스 관리 시스템입니다. ODBC에서 제공 다양 한 독점 개인용 컴퓨터, 미니 컴퓨터, 및 메인프레임 데이터베이스에에서 저장 된 데이터에 액세스 하는 열기, 공급 업체 중립적인 방법으로 SQL 액세스 그룹 호출 수준 인터페이스 사양에 기반 합니다.ODBC 여러 응용 프로그래밍 인터페이스 대 한 자세한 내용은 독립 소프트웨어 공급 업체와 기업 개발자에 대 한 필요성을 줄여 줍니다. 이제 ODBC 범용 데이터 액세스 인터페이스를 제공합니다. ODBC를 사용 하 여 응용 프로그램 개발자가 동시에 액세스 하거나 보기 또는 여러에서 데이터를 수정 하는 응용 프로그램을 허용할 수 있습니다 다양 한 데이터베이스. ODBC는 Microsoft Windows 열기 서비스 아키텍처의 핵심 구성 요소입니다. 사과에서 시스템 7에 지원 앞으로 알리는 기술을 사용 하는 키로 ODBC를 지지 했습니다. 성장 산업 지원 ODBC이 빠르게 급부상 하 고 중요 한 산업으로 Windows와 Macintosh 응용 프로그램에 대 한 데이터 액세스를 위한 표준.
  • ADO.NET은 프로그래머들이 데이터와 데이터 서비스에 접근할 수 있는 컴퓨터 소프트웨어 구성 요소의 집합이다. 마이크로소프트 닷넷 프레임워크에 포함되어 있는 기본 클래스 라이브러리의 일부이다. 일반적으로 프로그래머들이 관계형 데이터베이스 시스템에 저장되어 있는 데이터에 접근하거나 수정할 때 사용한다. 그러나 비관계형 데이터에 접근할 때도 사용할 수 있다. ADO.NET은 액티브엑스 데이터 오브젝트(ADO) 기술의 혁명이라는 의견과 완전히 새로운 프로젝트라는 의견이 있다.
  • OLE DB(Object Linking and Embedding, Database) 또는 객체 연결 삽입 데이터베이스는 마이크로소프트사가 개발한 API로, 통일된 방식으로 저장된 여러 종류의 데이터에 접근하기 위해 만들어졌다. 컴포넌트 오브젝트 모델 (COM)을 사용하여 추가된 인터페이스 집합이며 객체 연결 삽입과는 관련이 없다. ODBC를 높은 수준으로 대체하면서도 그 뒤를 잇도록 설계되었으며 오브젝트 데이터베이스와 SQL 추가가 필수적이지 않은 스프레드시트 같이 더 다양한 범위의 비관계형 데이터베이스를 지원하기 위해 기능을 확장하였다.
  • HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)는 월드 와이드 웹 통신 프로토콜인 HTTP의 보안이 강화된 버전이다. HTTPS는 통신의 인증과 암호화를 위해 넷스케이프 커뮤니케이션즈 코퍼레이션이 개발했으며, 전자 상거래에서 널리 쓰인다.HTTPS는 소켓 통신에서 일반 텍스트를 이용하는 대신에, SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화한다. 따라서 데이터의 적절한 보호를 보장한다. HTTPS의 기본 TCP/IP 포트는 443이다.보호의 수준은 웹 브라우저에서의 구현 정확도와 서버 소프트웨어, 지원하는 암호화 알고리즘에 달려있다.HTTPS를 사용하는 웹페이지의 URL은 'http://'대신 'https://'로 시작한다.
  • 시큐어 셸(Secure Shell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킨다. 기존의 rsh, rlogin, 텔넷 등을 대체하기 위해 설계되었으며, 강력한 인증 방법 및 안전하지 못한 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공한다. 기본적으로는 22번 포트를 사용한다.SSH는 암호화 기법을 사용하기 때문에, 통신이 노출된다 하더라도 이해할 수 없는 암호화된 문자로 보인다.
  • XML(Extensible Markup Language)은 W3C에서 다른 특수 목적의 마크업 언어를 만드는 용도에서 권장되는 다목적 마크업 언어이다. XML은 SGML의 단순화된 부분집합이지만, 수많은 종류의 데이터를 기술하는 데 적용할 수 있다. XML은 주로 다른 시스템, 특히 인터넷에 연결된 시스템끼리 데이터를 쉽게 주고 받을 수 있게 하여 HTML의 한계를 극복할 목적으로 만들어졌다.
  • 텔넷(TELNET)은 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜이다. RFC15를 시작으로 1969년에 개발되었으며 최초의 인터넷 표준들 가운데 하나로서 IETF STD 8로 표준화되었다.telnet이라는 용어는 프로토콜의 클라이언트 일부 기능이 추가된 소프트웨어를 일컫는다. 텔넷 클라이언트는 대부분의 유닉스 시스템에서 여러 해 동안 사용할 수 있으며, 실질상 모든 플랫폼에서 사용할 수 있다. TCP/IP 스택을 갖춘 대부분의 네트워크 장비와 운영 체제들은 원격 구성(윈도 NT 기반)을 위해 몇 가지 종류의 텔넷 서비스 서버를 지원한다. 텔넷의 보안 문제 때문에 사용률이 감소하여, 원격 제어를 위해 SSH로 대체되기도 하였다.
  • WinSCP(Windows Secure CoPy)는 마이크로소프트 윈도용으로 개발된 자유 및 오픈 소스 SFTP, SCP 및 FTP 클라이언트이다. 주요 기능은 로컬 및 원격 컴퓨터 간 보안 파일 전송이다. 그뿐 아니라 WinSCP는 기본적인 파일 관리자와 파일 동기화 기능을 제공한다. 보안 전송의 경우 시큐어 셸 (SSH)을 사용하고 SFTP을 포함한 SCP 프로토콜도 지원한다. CNET 에디터 점수로 5별 만점에 5별을 받았으며 FTP 소프트웨어 인기도 분야에서 2위를 기록하였다.
  • 컴퓨팅에서 이벤트(event)란 프로그램에 의해 감지되고 처리될 수 있는 동작이나 사건을 말한다. 대체로 이벤트는 프로그램 동작 과정과 함께 동시에 처리되도록 되어 있다. 즉 프로그램은 이벤트를 처리하기 위한 하나 이상의 전용 공간(또는 핸들러)를 가지게 되는데, 보통의 경우 이벤트 루프라고 불리는 곳에서 이를 처리하게 된다. 사용자가 키보드의 키를 누르는 것이 가장 대표적인 이벤트 발생 중의 하나이며, 타이머와 같은 하드웨어 장치가 이벤트를 발생 시키기도 한다. 또한 모든 프로그램은 작업이 완료되었다는 사실 등을 알리기 위해 자체적으로 정의한 이벤트를 발생시킬 수도 있다. 컴퓨터 프로그램 중에서 특히 이벤트에 반응하여 동작을 변경하는 방식을 이벤트 드리븐(event-driven) 방식이라고 하는데, 이는 보통 대화형 프로그램을 만드는데 그 목적이 있다.
  • 어간 추출(語幹 抽出, 영어: stemming)은 형태론 및 정보 검색 분야에서 어형이 변형된 단어로부터 접사 등을 제거하고 그 단어의 어간을 분리해 내는 것을 의미한다. 여기서 어간은 반드시 어근과 같아야 할 필요는 없으며, 어근과 차이가 있더라도 관련이 있는 단어들이 일정하게 동일한 어간으로 맵핑되게 하는 것이 어간 추출의 목적이다. 1960년대부터 컴퓨터 과학 분야에서 다양한 어간 추출 관련 알고리즘들이 연구되어 왔다. 많은 웹 검색 엔진들은 동일한 어간을 가진 단어들을 동의어로 취급하는 방식으로 질의어 확장을 하여 검색 결과의 품질을 높인다.
  • 메타데이터 (metadata)는 데이터(data)에 대한 데이터이다. 어떤 데이터 즉 구조화된 정보를 분석, 분류하고 부가적 정보를 추가하기 위해 그 데이터 뒤에 함께 따라가는 정보를 말한다. 이를테면, 디지털 카메라에서는 사진을 찍어 기록할 때마다 카메라 자체의 정보와 촬영 당시의 시간, 노출, 플래시 사용 여부, 해상도, 사진 크기 등의 사진 정보를 화상 데이터와 같이 저장하게 되어 있다. 이러한 데이터를 분석하여 이용하면 그 뒤에 사진을 적절하게 정리하거나 다시 가공할 때에 아주 유용하게 쓸 수 있는 정보가 된다. GPS 기능을 사용하여 위치 정보까지 사진의 메타데이터에 입력할 수도 있는데, 이를 이용하면 사진이 어디에서 촬영되었는지를 쉽게 알 수 있고, 이로써 다시 다른 지역 정보를 검색하거나 같은 지역에서 찍은 다른 사진을 검색하게 하는 검색성을 향상시킬 수 있다.
  • 컴퓨터 클러스터(영어: computer cluster, 문화어: 콤퓨터 클라스터)는 여러 대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터들의 집합을 말한다. 클러스터의 구성 요소들은 일반적으로 고속의 근거리 통신망으로 연결된다. 서버로 사용되는 노드에는 각각의 운영 체제가 실행된다. 컴퓨터 클러스터는 저렴한 마이크로프로세서와 고속의 네트워크, 그리고 고성능 분산 컴퓨팅용 소프트웨어들의 조합 결과로 태어났다. 클러스터는 일반적으로 단일 컴퓨터보다 더 뛰어난 성능과 안정성을 제공하며, 비슷한 성능과 안정성을 제공하는 단일 컴퓨터보다 비용 면에서 훨씬 더 효율적이다.[1] 따라서 열 개 안팎의 중소 규모의 클러스터부터 수천 개로 이루어진 대형 슈퍼컴퓨터에 이르기까지 널리 사용되고 있다.
  • 웹 크롤러(web crawler)는 조직적, 자동화된 방법으로 월드 와이드 웹을 탐색하는 컴퓨터 프로그램이다. 웹 크롤러에 대한 다른 용어로는 앤트(ants), 자동 인덱서(automatic indexers), 봇(bots), 웜(worms), 웹 스파이더(web spider), 웹 로봇(web robot) 등이 있다.
  • 태그 구름(영어: tag cloud) 또는 단어 구름(word cloud)은 메타 데이터에서 얻어진 태그들을 분석하여 중요도나 인기도등을 고려하여 시각적으로 늘어 놓아 웹 사이트에 표시하는 것이다. 보통은 2차원의 표와 같은 형태로 태그들이 배치되며 이때 순서는 알파벳/가나다 순으로 배치 된다. 시각적인 중요도를 강조를 위해 각 태그들은 그 중요도(혹은 인기도)에 따라 글자의 색상이나 굵기등 형태가 변한다. 사용자는 이렇게 표시된 태그 중 마음에 드는 키워드를 발견하고 그것을 선택하여 그 메타 데이터에 원래 연결된 웹 페이지로 이동하게 된다.
  • 포크소노미(Folksonomy, 대중분류법)는 자유롭게 선택된 키워드를 이용하여 이루어지는 협업적 분류를 뜻하는 신조어이다. 보다 구어적으로, 이것은 정보를 분류하기 위해 사람들이 자발적으로 협력하는 것을 의미한다. 이러한 현상은 보통 비계층 사회에서 일어난다. 예를 들면 일반 웹사이트에서 일어나며, 반대로 다-위계의 팀이나 계층 조직에서는 일어나지 않는다. 정보의 분류자는 보통 최초의 사용자이며, 포크소노미를 사용하는 사람들은 그것이 보다 정확하게 정보에 대한 대중적인 개념 모델을 반영한다고 믿는다. 포크소노미는 도서관학의 분류법과 직접적인 관련은 없다.
  • 블로고스피어(Blogosphere)는 커뮤니티나 소셜 네트워크 역할을 하는 모든 블로그들의 집합이다.수많은 블로그는 매우 촘촘하게 연결되어 있으며, 이를 통해 블로거는 다른 사람의 블로그를 읽거나, 링크하거나, 참고해서 자신의 글을 쓰기도 하고, 댓글을 달기도 한다. 이렇게 서로 연결된 블로그가 블로그 문화를 성장시키는 근본이 된다.
  • 소프트웨어 프레임워크(software framework)는 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조이다. 간단히 뼈대, 골조(骨組), 프레임워크(framework)라고도 한다. 이렇게 매우 폭넓은 정의는 이 용어를 버즈워드(buzzword)로서, 특히 소프트웨어 환경에서 사용할 수 있게 만들어 준다.
  • RSS(Rich Site Summary)는 뉴스나 블로그 사이트에서 주로 사용하는 콘텐츠 표현 방식이다. 웹 사이트 관리자는 RSS 형식으로 웹 사이트 내용을 보여 준다. 이 정보를 받는 사람은 다른 형식으로 이용할 수 있다.RSS 리더에는 웹기반형과 설치형이 있다. 웹기반형 리더는 간단한 계정등록으로 어디에서든 이용할 수 있다는 장점을 가지고 있다.RSS가 등장하기 전에는 원하는 정보를 얻기 위해 해당 사이트를 직접 방문하여야 했으나, RSS 관련 프로그램(혹은 서비스)을 이용하여 자동 수집이 가능해졌기 때문에 사용자는 각각의 사이트 방문 없이 최신 정보들만 골라 한 자리에서 볼 수 있다 또한 RSS는 팟캐스팅과 같은 미디어 배포의 용도로도 사용된다. RSS 2.0 의 〈enclosure〉태그 내에 MP3 나 MOV 등의 미디어 파일을 첨부하여 배포하면, 팟캐스팅 클라이언트를 이용해 파일을 내려 받아 감상할 수 있다.RSS 2.0은 공식적으로 완료된 것으로 선언되었으며, 하버드 대학교가 저작권을 보유하고 있다.
  • 테크노라티(Technorati)는 블로그를 전문적으로 검색하는 검색 엔진이다.
  • 너치(Nutch)는 루씬을 기반으로 하여 만든 오픈 소스 검색 엔진이다.
  • K-평균 알고리즘(K-means algorithm)은 주어진 데이터를 k개의 클러스터로 묶는 알고리즘으로, 각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 동작한다.이 알고리즘은 EM 알고리즘을 이용한 클러스터링과 비슷한 구조를 가지고 있다.
  • 사물인터넷((영어)Internet of Things)이란 사물에 센서나 데이터 취득이 가능한 구조의 인터넷을 연결한 기술로 빅 데이터를 중심으로 각광받기 시작하였다. 정보 기술 연구 및 자문회사 가트너에 따르면 2009년까지 사물인터넷 기술을 사용하는 사물의 개수는 9억 개였으나 2020년까지 이 수가 260억 개에 이를 것으로 예상된다. 
  • SAP은 1972년 독일 만하임에서 다섯 명의 전직 IBM 출신 엔지니어가 설립한 회사이다. SAP의 업무용 애플리케이션 소프트웨어 분야 시장 점유율은 전 세계에서 가장 크다.[1] 또한 SAP는 기술 선도적인 업체이다. SAP은 데이터베이스를 이용하여 통합된 업무용 애플리케이션을 개발하였으며, 오늘날 IBM 이나 마이크로소프트 등과 같은 많은 기업들이 SAP 제품을 사용한다
  • 전사적 자원 관리(全社的 資源 管理, Enterprise Resource Planning, ERP)는 기업의 경영 및 관리에 관한 업무를 위한 컴퓨터 시스템이다. 인사ㆍ재무ㆍ생산 등 기업의 전 부문에 걸쳐 독립적으로 운영되던 각종 관리시스템의 경영자원을 하나의 ‘시스템 통합’(system integration, SI)으로 재구축함으로써 생산성을 극대화하려는 경영혁신기법을 기반으로 하고 있다.
  • 전기 전자 기술자 협회(Institute of Electrical and Electronics Engineers, IEEE)는 전기전자공학 전문가들의 국제조직이다.IEEE는 'I-Triple-E'(아이 트리플 이)라고 발음하며, 미국의 뉴욕에 위치하고 있다. 2004년 현재 150개국 35만 명의 회원으로 구성된 전기전자공학에 관한 최대 기술 조직으로 주요 표준 및 연구 정책을 발전시키고 있다.
  • Sqoop은 아파치 소프트웨어 파운데이션 재단의 오픈소스 프로젝트 중의 하나로 MySQL과 같은 관계형 데이터베이스 등의 구조화된 데이터소스와 하둡 간의 데이터 송수신을 가능하게 해주는 역할을 담당합니다. 일반적으로 Sqoop을 통해 관계형 데이터베이스에 존재하는 데이터를 HDFS로 전송된 후에 MapReduce를 통해 원하는 작업을 수행하거나 하둡에서 처리한 결과를 Sqoop으로 저장하는 용도로 사용됩니다.
  • 아파치 소프트웨어 재단(Apache Software Foundation, ASF)은 아파치 HTTP 서버를 포함한 아파치 소프트웨어 프로젝트를 지원하는 비영리 재단이다. 1999년 6월 아파치 그룹과 미 델라웨어사와 합쳐 이루어졌다.아파치 소프트웨어 재단(이하 재단)은 개발자들의 분산 커뮤니티이다. 그들이 개발하고 있는 소프트웨어는 아파치 라이선스 조항 아래 배포되고 자유 소프트웨어/오픈 소스 소프트웨어이어야 한다. 아파치 프로젝트는 공동 제작과 합의에 기반한 개발 프로세스와 오픈되고 실용적인 소프트웨어 라이선스라는 특징으로 규정된다. 각각의 프로젝트는 프로젝트에 공헌자로 활동하는 기술 전문가들로 구성된, 자발적으로 참여하는 팀에 의해 관리된다. 재단은 능력 위주 사회로, 재단의 멤버십은 아파치 프로젝트에 적극 활동에 기여하는 지원자들에게만 부여된다.
  • 시맨틱 웹(Semantic Web)은 '의미론적인 웹'이라는 뜻으로, 현재의 인터넷과 같은 분산환경에서 리소스(웹 문서, 각종 화일, 서비스 등)에 대한 정보와 자원 사이의 관계-의미 정보(Semanteme)를 기계(컴퓨터)가 처리할 수 있는 온톨로지형태로 표현하고, 이를 자동화된 기계(컴퓨터)가 처리하도록 하는 프레임워크이자 기술이다. 웹의 창시자인 팀 버너스 리가 1998년 제안했고 현재 W3C에 의해 표준화 작업이 진행 중이다.
  • 온톨로지(Ontology)란 사람들이 세상에 대하여 보고 듣고 느끼고 생각하는 것에 대하여 서로 간의 토론을 통하여 합의를 이룬 바를 개념적이고 컴퓨터에서 다룰 수 있는 형태로 표현한 모델로, 개념의 타입이나 사용상의 제약조건들을 명시적으로 정의한 기술이다. 온톨로지는 일단 합의된 지식을 나타내므로 어느 개인에게 국한되는 것이 아니라 그룹 구성원이 모두 동의하는 개념이다. 그리고 프로그램이 이해할 수 있어야 하므로 여러 가지 정형화가 존재한다.
  • 서브버전(Subversion)은 자유 소프트웨어 버전 관리 시스템이다. 명령행 인터페이스에서 사용하는 명령어를 따서 “SVN”이라고 줄여서 부르기도 한다. 제한이 있던 CVS를 대체하기 위해 2000년부터 콜랩넷에서 개발되었다.[1] 현재는 아파치 최상위 프로젝트로서 전 세계 개발자 커뮤니티와 함께 개발되고 있다.서브 버전은 서버-클라이언트 모델을 따른다. 서버는 작업하는 컴퓨터내에 둘 수도 있고, 전산망에 연결된 별도의 컴퓨터에 두고 사용할 수도 있다. 서브버전 서버와 클라이언트는 http, https, svn, svn+ssh의 규약으로 통신한다.
  • 소프트웨어 공학에서 리팩토링(refactoring)은 주로 '결과의 변경 없이 코드의 구조를 재조정함'을 뜻한다. 주로 가독성을 높이고 유지보수를 편하게 한다. 버그를 없애거나 새로운 기능을 추가하는 행위는 아니다. 사용자가 보는 외부 화면은 그대로 두면서 내부 논리나 구조를 바꾸고 개선하는 유지보수 행위이다.
  • F#(에프 샤프, 에프 샵)은 마이크로소프트가 닷넷 프레임워크의 부분으로 개발한 함수형, 명령형, 객체지향형 프로그래밍 언어이다.[1] F#은 마이크로소프트 리서치의 Don Syme이 개발하였고, 기본적인 구조는 OCaml 언어와 비슷하다. 이 언어는 ML의 일종이다.
  • 닷넷 프레임워크(.NET Framework, 이전 이름: 닷넷)는 마이크로소프트에서 개발한 윈도 프로그램 개발 및 실행 환경이다. 네트워크 작업, 인터페이스 등의 많은 작업을 캡슐화하였고, 공통 언어 런타임(Common Language Runtime)(CLR)이라는 이름의 가상 머신 위에서 작동한다.
  • 하드웨어 가속은 컴퓨팅에서 일부 기능을 CPU에서 구동하는 소프트웨어 방식보다 더 빠르게 수행할 수 있는 하드웨어의 사용을 말한다. 하드웨어 가속은 이를테면, 그래픽 처리 장치 (GPU)의 블리팅 가속 기능과 CPU의 복잡한 기능에 대한 함수가 있다.
  • 마이그레이션 : 정보기술에서 한 운영환경으로부터, 대개의 경우 좀더 낫다고 여겨지는 다른 운영환경으로 옮겨가는 과정.
  • 마이크로소프트 애저(Microsoft Azure, 이전 이름: 윈도 애저)는 2010년 시작된 마이크로소프트의 클라우드 컴퓨팅 플랫폼이다. 2011년 PaaS에 이어 2013년 IaaS 서비스를 시작하였다. 아마존 웹 서비스 등과 경쟁하고 있다
  • 소프트웨어 공학에서 리팩토링(refactoring)은 주로 '결과의 변경 없이 코드의 구조를 재조정함'을 뜻한다. 주로 가독성을 높이고 유지보수를 편하게 한다. 버그를 없애거나 새로운 기능을 추가하는 행위는 아니다. 사용자가 보는 외부 화면은 그대로 두면서 내부 논리나 구조를 바꾸고 개선하는 유지보수 행위이다.
  • C++ 11(C++0x라고도 알려짐)은 [1] ISO가 2011년 8월 12일에 승인한 C++ 프로그래밍 언어의 최신판이다. [2] 2000년대의 한 시점에 공개될 것으로 예상해 C++0x으로 불려 왔으나, 2011년에야 국제표준으로 확정되면서 최종적으로 C++11로 이름이 확정되었다. C++11은 핵심 언어에 여러가지를 추가하고 C++ 표준 라이브러리를 확장하고, C++ 기술 보고서 1(TR1)의 라이브러리의 수학적 특수 함수의 라이브러리 예외를 통합했다.[3] C++11은 ISO/IEC 14882:2011라고 출판되었다.
  • 스위프트(Swift)는 애플의 iOS와 OS X를 위한 프로그래밍 언어이다. 2014년 6월 2일 애플 세계 개발자 회의에서 소개되었다.[1]. 기존의 애플 운영체제용 언어인 오브젝티브-C와 함께 공존할 목적으로 만들어졌다. 오브젝티브-C와 마찬가지로 LLVM으로 빌드되고 같은 런타임을 공유한다. 클로저, 다중 리턴 타입, 네임스페이스, 제네릭스, 타입 유추 등 오브젝티브-C에는 없었던 현대 프로그래밍 언어가 갖고 있는 기능을 많이 포함시켰으며 코드 내부에서 C나 오브젝티브-C 코드를 섞어서 프로그래밍하거나 스크립트 언어처럼 실시간으로 상호작용하며 프로그래밍 할 수도 있다.[2] 언어 설명서도 함께 배포되었다.[3]
  • 덤프 : 주기억 장치의 내용을 그대로 화면이나 프린터, 파일 따위로 출력하는 일. 이는 기억 장치의 내용을 확인하기 위한 것으로 주로 오류 수정 목적으로 사용한다.
  • 소프트웨어 개발에서, Boost는 C++ 프로그래밍 언어를 위한 선형대수, 의사 난수 발생, 멀티스레딩, 영상 처리, 정규 표현식, 그리고 유닛 테스트와 같은 작업들과 구조들을 지원하는 라이브러리들의 집합이다. 릴리즈 1.52는 80개가 넘은 개별 라이브러리들을 포함한다.
  • 아두이노(Arduino)는 오픈소스를 기반으로 한 단일 보드 마이크로컨트롤러이다. 아트멜 AVR을 기반으로 한 보드로 이루어져 있고 최근에는 Cortex-M3를 이용한 제품(Arduino Due)도 있다. 소프트웨어 개발을 위한 통합 환경(IDE)이 있다. 아두이노는 다수의 스위치나 센서로부터 값을 받아들여, LED나 모터와 같은 외부 전자 장치들을 통제함으로써 환경과 상호작용이 가능한 물건을 만들어낼 수 있다. 또한 어도비 플래시, 프로세싱, Max/MSP와 같은 소프트웨어를 연동할 수 있다.
  • 네트워크 토폴로지(topology, 문화어: 망구성방식)는 컴퓨터 네트워크의 요소들(링크, 노드 등)을 물리적으로 연결해 놓은 것, 또는 그 연결 방식을 말한다. 로컬 영역 네트워크(LAN)은 물리적 토폴로지와 논리적 토폴로지 둘 다 보여 줄 수 있는 네트워크의 한 예이다.
  • load balancing : 병렬로 운영되는 기기 사이에서 부하가 균등하게 되도록 하는 일.
  • 무정전 전원 장치(UPS)는 상용 전원에서 일어날 수 있는 전원 장애를 극복하여 좋은 품질의 안정된 교류 전력을 공급하는 장치이다. UPS에는 오프라인과 온라인(line-interactive)의 두 가지 종류가 있다.
  • 리눅스(Linux)는 컴퓨터 운영 체제의 하나이며, 그 커널을 뜻하기도 한다. 리눅스는 자유 소프트웨어와 오픈 소스 개발의 가장 유명한 표본으로 들 수 있다. 리눅스는 다중 사용자, 다중 작업(멀티태스킹), 다중 스레드를 지원하는 네트워크 운영 체제(NOS)이다.
  • X 윈도 시스템 (X Window System, 흔히 X11, X라고 알려져 있음)은 주로 리눅스와 같은 유닉스 계열 운영체제에서에서 사용되는 윈도 시스템이다.X 윈도 시스템은 디스플레이 장치에 창를 표시하며 마우스와 키보드 등의 입력 장치의 상호작용 등을 관리해 GUI 환경의 구현을 위한 기본적인 프레임워크를 제공한다.
  • 하이퍼스레딩(Hyper-Threading Technology, 이하 HTT)은 인텔이 동시 멀티스레딩을 구현한 기술이다. 하나의 물리적 실행 유닛에 두 개의 가상 실행 유닛을 할당함으로써 성능을 높이려는 기술이다. 운영 체제는 코어 한 개당 스레드가 하나씩 추가되어 싱글코어는 두 개의 코어가, 듀얼코어는 네 개의 코어가 장착된 것으로 인식한다.
  • 이더넷(Ethernet)은 LAN을 위해 개발된 컴퓨터 네트워크 기술로, '이더넷'이라는 이름은 빛의 매질로 여겨졌던 에테르(ether)에서 유래되었다.
  • 이더넷 허브(ethernet hub, 문화어: 망집선기)는 이더넷 네트워크에서 여러 대의 컴퓨터, 네트워크 장비를 연결하는 장치이다
  • 부트스트랩(bootstrap) 또는 부트스트래핑은 "현재 상황에서 어떻게든 한다"는 뜻이다. 또, 사물의 초기 단계에서 단순 요소로부터 복잡한 체계를 구축하는 과정을 가리키는 경우도 있다.
  • IaaS(Infrastructure as a Service)는 서버, 스토리지, 네트워크를 가상화 환경으로 만들어, 필요에 따라 인프라 자원을 사용할 수 있게 서비스를 제공하는 형태이다. IaaS의 예는 다음과 같다.
  • 클리어타입(ClearType)은 마이크로소프트 윈도의 글꼴 렌더링 기술로서, 문자열의 모양을 컴퓨터 디스플레이 화면의 특정한 방식으로 개선해 준다. 특히, 평판 패널 모니터에서 효과가 좋다. 문자열을 위한 서브픽셀 렌더링의 형태이다.
  • Ajax(Asynchronous JavaScript and XML, 에이잭스)는 대화식 웹 애플리케이션의 제작을 위해 아래와 같은 조합을 이용하는 웹 개발 기법이다.
  • 윈도 커뮤니케이션 파운데이션(Windows Communication Foundation, WCF)은 응용 프로그램을 한 대의 컴퓨터나 네트워크에 연결된 여러 컴퓨터를 걸쳐 통신할 수 있게 만들어 주는 새로운 통신 하부 시스템이다. WCF 응용 프로그램들은 닷넷 런타임을 대상으로 하는 언어를 사용하여 개발할 수 있다.
  • 고속 응용 프로그램 개발(RAD)는 소프트웨어 개발 방식의 하나로, 빠르고 쉽게 응용 프로그램을 만들 수 있는 시각적 도구이다. 통합 개발 환경과 같은 높은 기능의 개발 환경을 사용하는 프로그래밍의 자동화나, 시각적인 사용자 인터페이스의 설계, 모듈개발 등의 기능을 포함하고 있다.
  • 마이크로소프트 실버라이트(Microsoft Silverlight)는 애니메이션, 벡터 그래픽스, 오디오-비디오 재생을 비롯한 리치 인터넷 애플리케이션에 대한 지원을 제공하는 웹 브라우저 플러그인이다. 실버라이트는 어도비 플래시, 어도비 플렉스, 어도비 쇼크웨이브, 자바FX, 애플 퀵타임과 같은 제품과 경쟁하고 있다.
  • 리치 인터넷 애플리케이션(Rich Internet Application; RIA)은 웹 애플리케이션의 장점은 유지하면서 기존 웹 브라우저 기반 인터페이스의 단점인 늦은 응답 속도, 데스크톱 애플리케이션에 비해 떨어지는 조작성 등을 개선하기 위한 기술의 통칭이다. 즉, 별도의 설치가 필요 없는 웹 브라우저 기반의 애플리케이션 배포 장점과 서버 측 웹 서비스와의 연동, 마크업 언어 기반의 선언적 애플리케이션 구성 등은 유지하면 서 데스크톱 애플리케이션과 대등한 사용자 경험을 주는 것을 목표로 하는 기술이다.
  • cURL (칼 [2] )은 다양한 프로토콜 을 이용하여 데이터를 전송하는 라이브러리와 명령 줄 도구를 제공하는 프로젝트이다. cURL 프로젝트는 libcurl 와 cURL 두 성과를 낳고있다.
  • SVG(Scalable Vector Graphics)는 2차원 벡터 그래픽을 표현하기 위한 XML기반의 파일 형식으로, 1999년 W3C(World Wide Web Consortium)의 주도하에 개발된 오픈 표준의 벡터 그래픽 파일 형식이다.
  • 푸시 기법 또는 서버 푸시(server push)는 인터넷 상에서 어떤 전송 요청이 중앙 서버에서 시작되는 정보 전달 방식이다. 이것은 전송 요청이 클라이언트에서 시작되는 풀 기법과 대비되는 것이다.
  • zlib은 C로 작성된 데이터 압축 라이브러리의 일종이다. 제작자는 Jean-Loup Gailly와 Mark Adler. 첫 공식 버전 0.9는 1995년 5월 1일에 출시하였으며 처음에는 libpng 이미지 라이브러리의 사용을 위해 고안되었다.
  • 코볼(COBOL)은 제3세대 프로그래밍 언어이고, 가장 오래되었으면서 지금도 쓰이는 언어의 하나이다. 풀어 쓴 이름(상업 지향적 보통 언어:COmmon Business-Oriented Language)이 이야기하듯, 상업 계산을 주로 대상으로 한 언어였다. 90년대 중반까지 한국의 대부분의 은행에서 관리하던 프로그램들은 코볼로 만들어졌다.
  • 모듈화: 모듈화 컴퓨터 프로그램 내에 독립적이고, 자신이 하위의 서브 프로그램을 다시 갖는 서브프로그램을 사용하는 것.
  • 프로그래밍에서 콜백(callback)은 다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 말한다. 콜백을 넘겨받는 코드는 이 콜백을 필요에 따라 즉시 실행할 수도 있고, 아니면 나중에 실행할 수도 있다.
  • 펄(Perl)은 래리 월이 만든 인터프리터 방식의 프로그래밍 언어 혹은 그 인터프리터 소프트웨어를 가리킨다. 펄은 고급 언어, 범용 언어, 인터프리터 언어, 동적 언어 범주에 속한다. 이 계열의 언어에는 펄 5와 펄 6가 있다.[1]
  • 폴링(polling)이란 하나의 장치(또는 프로그램)가 충돌 회피 또는 동기화 처리 등을 목적으로 다른 장치(또는 프로그램)의 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 송수신 등의 자료처리를 하는 방식을 말한다.
  • OAuth는 OpenAPI로 개발된 표준 인증 방식으로, 각종 애플리케이션에서 사용자 인증을 거칠때 활용될 수 있다.
  • 온라인 트랜잭션 처리(Online transaction processing, OLTP)는 트랜잭션 지향 애플리케이션을 손쉽게 관리할 수 있도록 도와주는 정보 시스템의 한 계열로서, 일반적으로 데이터 기입 및 트랜잭션 처리를 위해 존재한다.
  • ETL이란 데이터 웨어하우스(DW, Data Warehouse) 구축 시 데이터를 운영 시스템에서 추출하여 가공(변환, 정제)한 후 데이터 웨어하우스에 적재하는 모든 과정을 말한다. ETL은 데이터 추출(Extraction), 변환(Transformation), 적재(Loading)의 약자이다.
  • “read me”로 문자 그대로, 읽으면 도움이 되는 정보가 들어 있는 텍스트 파일. 설치 방법이나 그에 대한 보충 설명, 매뉴얼에 기재되어 있지 않은 정보가 포함되어 있으므로 반드시 읽도록 한다. 일반 문장의 서술 형식으로 디스크에 수록되어 있어 워드 프로세싱 프로그램으로 쉽게 읽을 수 있다. 
  • Box2D 는 질량 · 속도 · 마찰 등 고전 역학 법칙을 시뮬레이션 하는 게임을위한 2D 물리 엔진 이다.
  • Cocos2d-X 는 Cocos2d for iPhone을 기반으로 C + +로 작성된 멀티 플랫폼 포팅이다. iOS, Android, Windows, Marmalade , Linux, Bada, BlackBerry 10 에서 작동한다. 또한 Lua 와 JavaScript 스크립트 바인딩도있다. [4]
  • 마이크로소프트 하이퍼 V(Hyper-V, 코드이름 Viridian[1])는 x64 시스템을 위한 하이퍼바이저 기반의 가상화 시스템이다.[2] 윈도 서버 가상화(Windows Server Virtualization)라는 이름으로도 알려져 있다.
  • HCI는 인간과 컴퓨터간의 상호작용에 관한 연구. 휴먼 컴퓨터 인터렉션(Human Computer Interaction)의 약칭이다. 인간과 컴퓨터가 쉽고 편하게 상호작용할 수 있도록 작동시스템을 디자인하고 평가하는 과정을 다루는 학문으로서 이 과정을 둘러싼 중요 현상들에 관한 연구도 포함한다. 
  • DOS는 컴퓨터 운영체제 중의 하나로 DOS는 원래 16비트 컴퓨터를위해 마이크로소프트사가 개발했다.
  • 스파게티 코드프로그램에서 제어 흐름이 마치 스파게티 면발처럼 얽혀져 있는 프로그램 코드에 붙여진 이름. GOTO문의 과다한 사용이 이러한 코딩을 유도한다.
  • 파이프라인생산 라인 등과 같이 여러 공정별로 생산 라인이 나열되어 있고 동시에 공정별 프로세서가 가능하게 하는 것으로, 시스템의 효율을 높이기 위해 명령문을 수행하면서 몇 가지의 특수한 작업들을 병렬 처리하도록 설계된 하드웨어 기법.
  • 항등행렬 : 모든 정방 행렬 M에 대해 M · I=I · M=M을 만족하는 정방 행렬.
  • 고유진동수 : 고체는 형태, 치수, 장력, 탄성, 밀도 등에 의하여, 액체는 고체로 둘러싸인 형태, 치수, 탄성, 밀도 등에 의하여 일정한 진동수(하나로 한정되지 않는다)를 가지며, 이것을 고유 진동수 또는 고유 주파수라고 한다. 현을 튕기고 판을 칠 때는 고유 진동수로 진동하여 소리를 낸다. 외부에서 가해진 힘의 진동수와 고유 진동수가 일치하면 공진을 일으킨다.
  • ext 4:ext4(extended file system 4 , 확장된 파일 시스템 4)는 리눅스의 저널링 파일 시스템 중 하나로, ext3 파일 시스템의 향상된 버전이다.
  • OpenSSL은 네트워크를 통한 데이터 통신에 쓰이는 프로토콜인 TLS와 SSL의 오픈 소스 구현판이다. C 언어로 작성되어 있는 중심 라이브러리 안에는, 기본적인 암호화 기능 및 여러 유틸리티 함수들이 구현되어 있다.
  • 스프링 프레임워크(Spring Framework)는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 불린다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰이고 있다.
  • 베커스 나우어형은 비단말 기호에서 단말 기호와 비단말 기호로 이루어진 기호열을 도출하는 생성규칙으로 언어의 문법을 정의하게 되어있다.
반응형