라이브러리 무엇인가?

권태형·2023년 3월 14일
0

지식정리

목록 보기
29/72
post-thumbnail

저번 포스팅에서 프레임워크는 소프트웨어나 서버의 개발을 위한 틀이라고 설명했었는데, 그렇다면 우리가 npm패키지로 설치하는 라이브러디들은 무엇일까?

라이브러리란?

위키백과에서의 라이브러리에 대한 정의는 아래와 같다

주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임이며, 여기에는 구성 데이터, 문서, 도움말 자료, 메시지 틀, 미리 작성된 코드, 서브루틴(함수), 클래스, 값, 자료형 사양을 포함할 수 있다.

내가 생각했던 라이브러리의 개념으로 미리 작성된 코드의 집합체를 포함하는 의미를 보여주고 있다.

다른 포스팅이나 검색결과에서 말하는 라이브러리 또한 비슷한 의미로 아래와 같은 설명을 한다.

다른 프로그램에서 사용할 수 있는 코드 모음이며, 이러한 코드 모음은 일반적으로 특정 프로그래밍 언어로 작성되어 있고, 기능적으로 연관된 일련의 함수, 클래스 및 메서드 등을 포함한다.

결국 라이브러리는 우리가 npm을 통해서 설치했을 때 가져오는 외부 코드 모음이며, 직접 코드를 작성하지 않고도, 간단하게 사용할 수 있게 누군가 만들어둔 도구라고 생각하면 쉬울 것이다.

라이브러리의 특징

라이브러리는 일반적으로 프로그램 개발을 더욱 효율적으로 만들어준다. 개발자는 이미 작성된 코드를 사용하여 동일한 작업을 수행할 필요 없이 라이브러리를 호출하여 해당 작업을 수행할 수 있다. 따라서 개발 시간을 단축시키고 오류 가능성을 줄여준다.

  • 재사용성: 라이브러리를 사용하면 개발자는 기존 코드를 재사용할 수 있으므로 코드 양을 줄이고 개발 시간을 단축시킬 수 있다.

  • 호환성: 라이브러리는 일반적으로 특정 프로그래밍 언어로 작성되므로 해당 언어와 호환된다. 각 언어에 맞게 그 언어로 작성된 라이브러리는 그 언어로 작성된 프로젝트 및 소프트웨어 코드에서만 사용할 수 있다.

  • 업그레이드 및 유지보수: 라이브러리는 주로 다른 사람이 작성한 코드이기 때문에 업그레이드 및 유지보수가 수월하다.

라이브러리를 사용했을 때 장단점

라이브러리를 사용하면 내가 코드를 짤 필요없이 가볍게 가져다 쓸 수 있지만, 그에 따른 문제점도 야기한다.
라이브러리를 도구에 비유한다면 우리가 무언가 작업을 할 때 1개의 도구가 완벽한 모든 작업을 할 수 있지 않을 뿐 더러, 도구의 사용법을 따로 익혀야하며, 그 도구가 못하는 일은 다른 도구를 가져와서 처리해야하거나, 직접 수작업을 해야할 수도 있다.

장점

  • 생산성 향상: 이미 구현된 기능을 사용하므로 개발 시간을 단축시킬 수 있다.

  • 재사용성: 기존의 코드를 재사용함으로써 유지보수성이 향상시킬 수 있다.

  • 성능 향상: 라이브러리는 최적화된 코드를 제공하므로 성능 향상에 도움이 된다.

단점

  • 따로 학습 필요: 새로운 라이브러리를 사용하려면 해당 라이브러리에 대한 학습이 필요할 수 있고, 이에 따른 코스트가 발생한다.

  • 의존성 문제: 라이브러리를 사용하면 해당 라이브러리와의 의존성 문제가 발생할 수 있다.

  • 제한된 유연성: 라이브러리는 이미 구현된 기능을 사용하기 때문에 개발자가 원하는대로 수정하기 어렵다.


참고자료(출처)
위키백과 라이브러리 (컴퓨팅)
세모잡 블로그 포스팅 라이브러리란?
코딩 잡화점 포스팅 라이브러리란?

profile
22년 12월 개발을 시작한 신입 개발자 ‘권태형’입니다. 포스팅 하나하나 내가 다시보기 위해 쓰는 것이지만, 다른 분들에게도 도움이 되었으면 좋겠습니다. 💯컬러폰트가 잘 안보이실 경우 🌙다크모드를 이용해주세요.😀 지적과 참견은 언제나 환영합니다. 많은 댓글 부탁드립니다.

0개의 댓글