라이브러리

From Hidden Wiki
Jump to navigation Jump to search

Library.

[목차]

도서관

해당 항목 참조.

프로그래밍의 라이브러리

* 컴퓨터 관련 정보

개요

> 소프트웨어 개발에 쓰이는 하부 프로그램들의 모임 by 위키백과

소프트웨어 개발 시 사용되는 프로그램의 구성요소로, 공통으로 사용될 수 있는 특정한 기능(들)을 모듈화한 것이다. 대상 환경(플랫폼)에서 바로 실행될 수 있는 형태로 제공되며, 실제 실행되어 기능을 수행하는 단편화된 프로그램이라는 점이 API와 다르다. 프로그래밍 언어에서 라이브러리를 사용할 수 있도록 소스 코드 수준에서 인터페이스를 노출시킨 것이 바로 Application Programming Interface(API)이다. 따라서 라이브러리는 동작하는 완전한 프로그램이 아닌, 특정한 부분 기능만을 수행하도록 제작된, 컴파일되어 기계어의 형태로 (또는 대상 플랫폼에 따라서는 바이트코드로) 존재하는 프로그램이다. 이 자체로는 사용자가 직접 일반적인 조작으로 실행할 수 없으며, 해당 라이브러리의 기능을 직접 호출하는 프로그램을 실행하거나, 사용자가 해당 라이브러리의 기능을 실행하는 API를 사용하는 프로그램을 직접 개발하면 실행할 수 있다.

* 표준 라이브러리 : 특정 언어의 개발 환경에 기본적으로 포함된 것들은 대부분 표준 라이브러리라고 불린다. 기본적인 기능 수행과 더불어 디버깅, 성능측정 등을 위한 별도의 API가 존재한다.
* 런타임 라이브러리 : 프로그램이 실제 환경에서 실행되기 위해 필요한 모듈들이다. 대부분 위의 표준 라이브러리에서 기능 수행에 필요한 것들만 제공되거나, 스크립트의 실행기 등을 말한다.

많은 회사나 개인, 단체들이 돈을받고 팔거나, 또는 자신이 사용하기 위해, 또는 순수한 잉여력으로 많은 라이브러리들을 개발하고 배포하고 있으므로 현명한 개발자라면 이것들을 잘 활용하여 개발에 필요한 시간과 노력을 절약하도록 하자.

라이선스

각종 라이브러리들이 배포될 때 주로 사용되는 라이선스들이다. 어떤 라이브러리가 원하는 기능을 제공한다고 해서 바로 사용할수는 없으며 해당 라이브러리의 라이선스가 사용 가능한 것인지 검토해 보아야 한다.

라이선스를 무시하고 사용했다간 걸리면 벌금을 물거나 돈받고 팔아야 할 프로그램의 소스코드를 공개해버려야[* GNU GPL] 하는 사태가 벌어질 수도 있다. 참고: [저작권 위원회 홈페이지의 각종 라이선스 비교 표.]

주요 라이선스
* 상용(Commercial License) : 말 그대로 돈 받고 파는 것. 돈을 주고 구입해야지만 사용 권한을 얻을 수 있다. 소스코드는 구매자에게 공개될 수도, 아닐수도 있다.
* Public Domain : 원 개발자가 모든 권리를 포기한 경우. 아무런 제약 없이 마음껏 사용할 수 있다.
* GPL, LGPL, AGPL : 오픈 소스 프로젝트에서 많이 사용되는 라이선스. -- 당신이 작성한 코드를 벗겨버리는 변태들-- 
* 아파치 라이선스 : 아파치 소프트웨어 재단에서 개발된 라이브러리들에 사용되는 라이선스.
* zlib license : GPL/LGPL보다 제약이 적은 오픈소스 라이선스.
* MIT 허가서 : 소스코드 공개의 의무가 없는 자유로운 라이선스. 최근 들어 많이 사용되고 있다.

프로그래밍 언어별 유용한 라이브러리

C++

* MFC : Microsoft Foundation Classes.
윈도우 환경에서 동작하는 GUI 프로그램을 개발하기 위한 라이브러리. Visual Studio의 Professional 이상 에디션을 구매하면 기본적으로 포함되어 있다.
* Qt
리눅스, OS X, 윈도 및 모바일 운영체제에서 사용 가능한 GUI 라이브러리.
* DirectX
윈도우 환경에서 게임에 특화된 기능을 제공하는 라이브러리.
* STL : Standard Template Library
C++ 언어 표준으로 타입 독립적인 컨테이너에 대한 프로그래밍을 구현해놓은 라이브러리.

Python

*NumPy : 파이썬을 이용해 데이터 분석을 할 수있는 라이브러리
*matplotlib
*scipy

Java

*lwjgl: OpenGL을 Java로 사용할 수 있게 하는 라이브러리. 현제 3.0 버전이 나왔다.
*joml: 3D 벡터와 메트릭스 등을 연산할 수 있는 라이브러리. lwjgl이 3.0이 되며 벡터 등이 빠지게 되어 이게 필요해졌다.

JavaScript

* jQuery: 자바스크립트 라이브러리 중 가장 인지도가 높다.
* React: 페이스북에서 만든 라이브러리. UI 개발에 사용된다.
* Jindo: 네이버에서 만든 라이브러리. 스마트에디터에서 쓰인다.[* 2017년 이후 서비스를 중단하였다.] 

관련 문서

* DLL
* 프레임워크

분류:동음이의어/ㄹ 분류:영어 단어 분류:라이브러리