Libraries

jiin lee·2024년 1월 1일
0

frontend-javascript이론

목록 보기
3/15

libraries의 필요성

대부분의 언어는 함수, 키워드, 연산자를 나타내기 위해 라틴 문자로 된 기호를 사용합니다.
그러나 이는 기계가 이해할 수 있는 언어가 아니기 때문에 해석기, 컴파일러, 어셈블러 등을 사용합니다.

따라서 기계 코드를 생성하는 과정을 더 쉽게 만들기 위해서는 우리가 말로 된 명령을 다룰 수 있는 고수준 인터페이스가 필요합니다. 이러한 명령은 프로그램 자체에서 '0과 1'로 변환됩니다.

고수준은 호출하는 각 함수가 낮은 수준의 작업을 대신 처리한다는 것을 의미합니다. 예를 들어 가상의 함수 WRITE_DATA는 파일을 열고 데이터를 기록한 다음 파일을 닫습니다.

high-level로 해당 함수를 호출하기만 하면, low-level process를 대신 실행해주는 함수들이 모여있는, 라이브러리

A library provides you with high-level functions and methods. We can expect that a library has documentation to get familiar with the behavior of the inner implementation. You should treat a library as a black box: you have the documentation of its interface, but you don't need to know an implementation. Just like programming languages isolate you from working with machine code, libraries isolate you from working with low-level operations.

사용성 측면에서 중요한 라이브러리가 갖춰야할 주요 기능

  1. belongs to one domain of knowledge, for example reading and writing to files, nothing more

  2. provides the documentation

  3. has a clear interface, where the name of each object reflects its function

  4. does not have malicious code in it

  5. has tests

  6. follows programming language's code style

라이브러리 중 표준 라이브러리

프로그래밍 언어 구현은 컴퓨터에 설치할 수 있는 일반적인 소프트웨어이며, 대부분의 구현은 표준 라이브러리와 함께 제공됩니다. 표준 라이브러리는 개발 프로세스의 필수적인 요구에 대한 안정적이고 표준화된 모듈의 모음입니다. 일반적으로 표준 라이브러리에는 파일 시스템 작업, 네트워크 연결 작업 또는 JSON 파일 파싱과 같은 일반적인 유틸리티가 포함되어 있으며, 프로그래밍 언어 사양의 일부입니다.

라이브러리 중 third-party 라이브러리

표준 라이브러리만으로는 모든 요구 사항을 충족시키기 어렵습니다. 예를 들어 데스크톱 응용 프로그램이나 웹 크롤러를 만들고 싶을 수 있지만, 표준 라이브러리는 해당 작업에 유용한 도구를 제공하지 않습니다.
이 경우에는 Github와 같은 사이트에서 서드파티 라이브러리를 찾을 수 있습니다. 서드파티 라이브러리는 프로그래밍 언어의 표준 라이브러리 이외의 모듈의 모음이며, 이 라이브러리들은 종종 오픈 소스입니다.

라이브러리를 프로그램에 포함시키는 법

라이브러리를 프로그램에 포함시키려면 키워드와 그 이름을 사용해야 합니다.
서드파티 도구를 사용하는 경우에는 먼저 컴퓨터에 설치하는 방법을 라이브러리의 작성자가 README 파일에 제공합니다.

지금까지 우리가 배운 내용을 요약해 보겠습니다. 본질적으로 라이브러리는 특정 상황을 위해 만들어진 이해하기 쉬운 인터페이스와 코드의 컴필레이션입니다. 라이브러리는 표준과 서드파티로 나뉘며, 자신의 코드를 작성하는 대신 서드파티 라이브러리를 사용하는 것은 많은 경우에 시간과 노력을 절약하는 이유가 될 수 있습니다. 게다가 인기 있는 라이브러리는 보통 잘 테스트되어 있으며, 그들의 지원자들의 커뮤니티에 참여할 수 있습니다.

profile
creative engineer

0개의 댓글

관련 채용 정보