라이브러리


Exercism은 언어의 문법과 관용구, 표준 라이브러리에 대한 유창성을 가르치는 것을 목표로 해요. 여기서 외부(내장이 아닌) 라이브러리는 명시적으로 다루지 않아요. 그건 능숙함 에 속하기 때문이에요. 따라서 연습 문제는 몇 가지 예외를 빼면 라이브러리 없이도 풀 수 있어야 해요.

라이브러리를 지원하는 이유

트랙에서 그래도 라이브러리를 지원하고 싶을 만한 이유는 몇 가지가 있어요:

  1. 언어의 표준 라이브러리가 (매우) 최소한만 갖춰진 경우예요. 이런 언어의 예로 Rust가 있어요.
  2. 라이브러리가 테스트 기능을 더해 주는 경우예요. 속성 기반 테스트 지원을 추가하는 라이브러리가 그 예예요.
  3. 라이브러리를 사용해야만 풀 수 있는 연습 문제인 경우예요. lens-person 연습 문제가 그 예인데, 대부분의 언어에서 라이브러리를 사용해야만 풀 수 있어요.

테스트 러너에서 라이브러리 지원하기

테스트 러너는 실행 중에 인터넷에 접근할 수 없기 때문에, 실행 시점에 라이브러리를 내려받을 수는 없어요. 이 문제의 유일한 해결책은 인터넷에 접근할 수 있는 빌드 시점에 라이브러리를 설치하거나 내려받는 것이에요. 실제로는 Dockerfile 안에서 라이브러리를 설치하거나 내려받아야 한다는 뜻이에요.

예를 들어, Prolog 테스트 러너의 Dockerfile은 date_time 라이브러리를 설치해요:

RUN swipl pack install date_time -y

문서

트랙에서 라이브러리를 지원한다면, 이 내용을 트랙 문서에 기록해야 해요. 또한 exercises/shared/.docs/help.md 문서에서 이 문서로 (전체 URL을 사용해) 링크를 걸어 주세요.